Setpointby Datum Labs ← Back to Start

Setpoint DIY Kit β€” Build Guide (Module Carrier)

For the module-based carrier board: an ESP32-C3 SuperMini, a TP4056 charging module (with protection), a slide switch, and a DS18B20 probe, soldered onto the carrier. All through-hole / module soldering β€” no fine-pitch SMD. Budget ~30 min.

Finished Setpoint unit: probe, carrier board, and 18650
The finished build β€” probe, carrier, and 18650.

What's in your kit

Part Notes
Carrier PCB The through-hole board
ESP32-C3 SuperMini The brain; has its own USB-C (for flashing)
TP4056 module (with protection) Charges the cell over its own USB-C; DW01+FS8205 protection on-board
SPDT slide switch Power on/off (stops shelf drain)
DS18B20 waterproof probe Temperature sensor
4.7 kΞ© resistor DS18B20 pull-up (+ any others per silk)
Header pins To mount the SuperMini + TP4056 module
18650 holder (optional) For the cell
Kit contents laid out
Everything in the kit (the bundled USB-C data cable isn't pictured here).

You supply: an 18650 cell. Protected or unprotected is fine here β€” the TP4056 module provides protection. (This is the one product where your unprotected cells are OK.)

Tools

Soldering iron + solder Β· flush cutters Β· USB-C data cable (not charge-only) Β· Chrome / Edge / Opera on desktop Β· multimeter (for the battery polarity check).


Step 1 β€” Solder the modules & parts

Solder header rows first, then seat each module onto them. Point both USB-C ports toward the board edge.

  1. ESP32-C3 SuperMini β€” solder its header rows to the carrier; USB-C facing out.
  2. TP4056 module β€” solder in place; its USB-C facing out.
  3. 4.7 kΞ© resistor β€” in the DS18B20 pull-up position (marked on silk).
  4. SPDT slide switch β€” seat flat, solder the 3 pins.

Trim leads flush. Check for solder bridges on the header rows.

ESP32-C3 header pins soldered to the carrier
ESP32-C3 pins soldered (trace side).
TP4056 module soldered onto the carrier
TP4056 mounted level with the ESP β€” tweezers under the far edge help keep it flat.

Two USB-C ports: the SuperMini's port is for flashing & data; the TP4056's is for charging only. Don't mix them up in Step 5.

Step 2 β€” Wire the probe

Connect the DS18B20's three wires at the DS18B20 pads: VCC / DATA / GND (follow the silk). The 4.7 kΞ© pull-up you just soldered handles the DATA line.

Switch, resistor, and DS18B20 connector soldered on the trace side
Trace side complete β€” switch, 4.7k, and the DS18B20 connector. Orient the JST notch toward the board edge.

Step 3 β€” Wire the battery ⚠️

  1. Connect the 18650 holder to the carrier's battery pads (to the TP4056 module's B+ / Bβˆ’).
  2. Confirm polarity with a multimeter β€” holder red (+) β†’ B+, black (βˆ’) β†’ Bβˆ’. Reversed polarity can damage the module/board.
  3. Protected or unprotected cell both work (module has protection). Insert the cell with the switch OFF.
18650 holder wires passed through the board to the TP4056
Pass the holder leads through the back first, then solder redβ†’B+, blackβ†’Bβˆ’.
The completed module with the holder wired
All soldering done β€” module complete.

Step 4 β€” Power check

With the switch OFF, plug in the SuperMini USB-C: the onboard LED should light β€” USB powers the board directly, the switch only gates the battery. Then unplug USB and flip the switch ON: the LED should light again, now running from the cell. If anything gets warm either way, unplug and re-check Step 1 for bridges.

Step 5 β€” Flash the firmware (browser)

  1. Open the Setpoint web flasher in Chrome/Edge/Opera.
  2. Plug the SuperMini's USB-C into your computer with the power switch OFF. USB powers the board on its own for flashing; keeping the switch off stops USB power from back-feeding the cell through the TP4056.
  3. Click Install/Connect, choose the port, flash. The C3 flashes natively over USB β€” no adapter.
Browser serial port picker showing USB JTAG/serial debug unit
Pick "USB JTAG/serial debug unit." If it keeps disconnecting: hold BOOT, tap RST, release BOOT.
Installation complete dialog
Installation complete.

βœ… Firmware just works: the stock v2.9.4 image already targets this board β€” DS18B20 on GPIO5, status LED on the SuperMini's GPIO8 (auto-selected for the ESP32-C3 target). One image fits both the kit and the finished product; no special build needed.

Step 6 β€” Join Wi-Fi

On first boot the board opens its setup portal. Connect to it, pick your 2.4 GHz network, save. It reconnects on its own afterward.

WiFiManager setup page at 192.168.4.1
The setup portal (if it doesn't pop up, browse to 192.168.4.1) then Configure WiFi.

Step 7 β€” Verify

Open your Setpoint dashboard β€” the probe should appear and report temperature. Pinch the tip; the reading should rise. Set a threshold and confirm the alert fires.

Blue LED flashing on data upload
The blue LED flashes on each successful upload.
Live temperature data on the dashboard
Live data on the dashboard β€” you're done.

πŸ›‘οΈ First launch β€” a security prompt is normal. The dashboard installer isn't code-signed yet, so on Windows you may see "Windows protected your PC" β€” click More info β†’ Run anyway. On macOS you may see "can't be opened because Apple cannot check it" β€” right-click the app β†’ Open β†’ Open (once). This is expected and safe; it just means we haven't purchased a signing certificate yet. Full install steps β†’

βœ… Done.


Safety

Troubleshooting

Symptom Fix
No LED on USB Bridge Β· charge-only cable β€” use a data cable Β· wrong USB-C port (use the SuperMini's)
No LED on battery (USB works) Power switch is OFF Β· cell flat or reversed β€” recheck B+/Bβˆ’ polarity
Warm/hot Short β€” unplug, re-inspect header rows and battery polarity
Flasher can't see port Chrome/Edge/Opera, over HTTPS, data cable (not charge-only)
Port drops / board keeps re-connecting Force download mode: hold BOOT, tap RST, release BOOT, then flash. Common on a blank C3/S3.
No temperature Probe VCC/DATA/GND order wrong Β· cold joint at the DS18B20 pads (DATA = GPIO5)
Won't join Wi-Fi Must be 2.4 GHz Β· re-enter password
No charge Use the TP4056 USB-C port for charging (not the SuperMini's)