← Project Hub  ·  Download PDF

ProofGuard — Men's Shed worksheet

Wednesday 26 August 2026 · Paul Cowen · the job is connecting a battery to the XIAO ESP32-S3

The one-line ask

“I need to solder two fine wires onto two small pads on the underside of this board, so it can run off a rechargeable battery. The battery stays disconnected while we solder. Can someone with steady hands help?”

1 · Before you leave the house

Pack

ItemWhy
XIAO ESP32-S3 (POC board)The board being wired
2–3 × 500mAh LiPo, one chargedSpares matter — a botched cell ends the session
2 × JST-PH pigtailsOne to fit, one spare
MultimeterPolarity and continuity — the critical tool
Micro Lipo charger + USB-C cableCharging and power
LiPo bagTransport, and a visible precaution to point at
Kapton or electrical tapeStrain relief and insulating bare ends
LaptopReflash and read serial output on the spot
The diymore C3 boardFor the regulator check in §4

2 · Safety brief — say this before anyone picks up an iron

Never apply heat to a battery tab. Cell tabs are spot-welded, not soldered. Our cells come with leads already fitted, so nobody needs to go near the cell with an iron. This is the single rule that matters.

Nothing is soldered with a cell connected. The battery is plugged in last, after the meter checks pass.

The cell holds about 1.9 Wh — roughly a tenth of a phone battery. Real hazard, manageable scale. Charging happens at home, not here, so the Shed is only being asked for the soldering.

3 · Main task — fit the JST socket to the XIAO

The XIAO has bare solder pads on the underside, not a socket. We fit a pigtail so the battery becomes plug-in and keyed, rather than soldering the cell on permanently.

Polarity — from Seeed's own documentation:

Negative (−) = the pad on the side closest to the USB-C port.
Positive (+) = the pad on the side away from the USB-C port.

  1. Cell disconnected. Keep it in the bag, on the other side of the bench.
  2. Tin both pads with a small amount of solder. Fine tip, 300–330 °C, in and out quickly — the pads are small and close together.
  3. Tin the pigtail's bare wire ends, trimmed short (3–4 mm of exposed copper, no more).
  4. Tack each wire to its pad, matching the polarity above and the mark made at home.
  5. Strain relief — a small tab of Kapton tape over the joints and along the wire so a tug pulls on tape, not on the pads. Ripped-off pads are the usual way these boards die.
  6. Meter it, still with no cell:
    • Continuity from each pad to the correct pin of the JST socket
    • No continuity between + and − — this is the check that prevents a short across a live cell
  7. Now plug the cell in.

Immediate tests once the cell is in

TestExpectedResult
Unplug USB — does the board still run?Yes. It should boot and keep advertising on battery alone
Plug USB back inRed charge LED lights or flashes
Leave on USB until chargedRed LED goes out when full
Measure voltage across the cell3.7–4.2 V. Below 3.0 V = retire the cell, do not recharge
5 V pin while on batteryDead — this is normal and documented, not a fault

3b · Small extra job — make a "measurement pigtail" (5 minutes)

Ask for a second JST-PH pigtail with the RED wire cut, and both cut ends brought out to small loops or pin ends. This drops the multimeter straight into the battery's positive line, so measuring current is a plug-in job rather than a soldering job every time.

Why it is worth five minutes: M0 needs a deep-sleep current figure, and every future battery-life measurement needs the same connection. Without it, each measurement means unsoldering something.

Your CHY A830L will read this fine — full procedure in §3c below.

3c · Measuring current with the CHY A830L

This is the other half of M0. Range tells you whether the radio reaches; current draw tells you how long a cell will last, and it is the number that decides how small the production battery can be.

Your meterFigureGood enough?
DC current ranges200µA · 2mA · 20mA · 200mA · 10AYes — the 200µA range is the one
Resolution on 200µA0.1µA (1999-count display)Yes
DC current accuracy±1.8%Fine — you are telling 14µA from 300µA, not calibrating
Meter battery9V PP3 (6F22 / NEDA1604)Carry a spare — a dying 9V drifts rather than dies

Setup

  1. Flash the sleep sketch (see commands below) and confirm the banner on serial.
  2. Unplug USB. The board must run from the battery alone, or you measure the USB rail instead.
  3. Meter in series on the POSITIVE lead, using the measurement pigtail from §3b. Red probe to the battery side, black probe to the board side.
  4. Dial to DC current, 200µA range. Probes in the mA/µA sockets — not 10A.
  5. Wait 2–3 seconds for the boot burst to finish. It will over-range briefly; that is expected.
  6. Read it once the number settles.

What the reading means

ReadingVerdictImplied standby on 500mAh
~14µACorrect — matches Seeed’s spec for the S3Years in theory; months in practice
50–200µAAcceptable, some leakage~3–12 months
~43µA (C3, LED removed) / ~400µA (C3, as shipped)Expected for the C3 SuperMini — documented, not a fault. See §4Weeks to months / days
Hundreds of µA to mASomething is leaking — usually the power LED or a lazy regulator. Fixable by desoldering the LED, or gone entirely on a bare production moduleDays to weeks — not viable

Record the figure for both boards. The C3 vs S3 sleep-current gap is the second half of the board decision, alongside range.

Two rules. Never probe a voltage while the meter is still in current mode — in current mode the leads are a near short through the shunt, and that is how these meters die.

You cannot measure a board that wakes up and transmits. On the 200µA range a BLE burst is a thousand times over-range; the burden voltage collapses the rail and the board resets, so you would be measuring a reset loop. That is the entire reason for the dedicated sleep sketch.

Flash commands

Sleep test — sleeps 5 minutes at a time so the reading settles:

arduino-cli compile --fqbn esp32:esp32:esp32c3:CDCOnBoot=cdc --upload -p /dev/cu.usbmodemXXXX "POC Firmware/06_deep_sleep_test"

Back to the range/app sketch afterwards:

arduino-cli compile --fqbn esp32:esp32:esp32c3:CDCOnBoot=cdc --upload -p /dev/cu.usbmodemXXXX "POC Firmware/05_ble_range_test"

For the XIAO S3 swap the FQBN to esp32:esp32:XIAO_ESP32S3. Always use compile --upload as one command when switching between boards — a bare upload can pick up the other board’s image from the build cache (it fails on chip ID, 5 vs 9, but only after wasting a flash).

4 · Second task — the C3’s power design (2 minutes, needs a magnifier)

The board is marked SuperMini, and that design is documented by the community: it carries an ME6211 LDO. That is a low-dropout regulator, so it can hold 3.3 V as a LiPo sags toward 3.0 V. The fear that the C3 simply could not run from a cell looks unfounded.

diymore is a reseller and clones vary, so the job here is now confirmation, not discovery. Borrow a magnifier and read the marking on the small 3-pin SOT-23 chip near the USB-C connector. Photograph both sides of the board while you have the loupe out.

If the marking reads…It means
ME6211 (expected)Confirms the documented design. Low dropout — a LiPo works
XC6206, 662K, SGM2212 or similarAlso low dropout — fine
AMS1117 or 1117Unexpected. ~1.1 V dropout, so it could not hold 3.3 V from a sagging cell. Would rule the board out for battery use

The question that actually matters now is the power LED, not the regulator. The SuperMini is documented at roughly 43µA in deep sleep — but only with the POW LED physically removed. As shipped, with the LED in place on the 5 V rail through a 5.1k resistor, community reports put it nearer 400µA.

Against the XIAO S3’s specified 14µA, that is around 3× worse at best and roughly 30× worse as shipped. On a 500mAh cell that is the difference between months of standby and days. So if the C3 reads in the hundreds of µA tomorrow, that is the documented behaviour of the board, not a fault to debug — record it and move on.

Worth keeping in proportion: at production neither board is used as-is. A bare module has no power LED and no dev-board regulator, so this particular penalty disappears. It still counts against the C3 for the MVP units, which are built on dev boards.

While the magnifier is out, also note whether the board has a U.FL / IPEX socket for an external antenna. The XIAO S3 has one; if the C3 does not, that is a real difference for a device that has to work inside a pocket or bag.

5 · The C3 range test — do this at home, not at the Shed

The C3 is already flashed and advertising as PG-ESP32-C3. It needs no buttons and no second person.

  1. Install nRF Connect (Nordic, free) on your phone.
  2. Leave the board plugged in at a fixed spot. Walk away with the phone — the phone has the screen, so you can see the moment it drops.
  3. Record where RSSI falls and where the link drops. Mark the spot, pace it or drop a map pin.
  4. Repeat with the S3 flashed with the same sketch — same day, same places, or the comparison is worthless.
RunC3 resultS3 result
Bedroom → kitchen (through walls) — the product case
Open street, distance at drop-out — the antenna comparison
Phone locked, app backgrounded — still receiving?

Transmit power is pinned in the sketch so both boards transmit at the same level. Don't change it between runs — otherwise you measure the setting, not the antenna.

6 · Worth asking while you are there

7 · Do not do these tomorrow

8 · Notes