The carrier board takes all its power through one port,
J5, and that power always arrives the same way: along
the battery wire. The solar panels never reach J5
directly. They charge the battery, the battery feeds J5,
and in sunshine part of the panels' current runs straight past the cells to the
board.
Companion to battery-pack-wiring.html
(the cells up to the plug) and buoy-parts-book.html
(every part). Topology from architecture-power-and-wiring.md
and ADR 0014; the carrier's side from connection-table.csv.
The one idea on this page
The cells, the charger's LIPO pad and the carrier's
J5 are one electrical point. Copper joins them with
nothing in between that decides anything. Nothing draws power through the
charger: the charger only pushes current onto that point when the sun is up, and
the board takes current off it whenever it needs some. So J5
sees the battery's own voltage, about 4.2 V [D] when the cells are full
and falling as they empty — while the pack fuse and the JST-PH plugs are sound.
A resistive fuse puts a drop between the cells and that point: pack 3's did, on
2026-11-02, and the gauge, which sits on the charger's side of it, read the
charger's 4.23 V over a 3.54 V cell [M] while the module reset.
The whole path, on one drawing
Thick lines carry the probe's power. The charger sits beside the
battery wire, not in it: its LIPO pad is a stop on
that wire, where the charger can add current. The pack's red and black leads
reach the gauge on a JST-PH plug; the gauge's right port feeds the charger's
pads; a second pair from the same pads runs to J5. The dotted
line is the Qwiic cable: it carries the gauge's readings, not the probe's power.
Three moments in a day
Nothing switches between these. There is no relay and no decision in the
copper: the same copper does all three, and which way current flows follows
from who is pushing and who is drawing. The one decider sits beside the wire, the
charger, and it decides twice: it stops when the cells are full and when the pack
is cold.
Arrow thickness is a hint at size, not to scale. Yellow is current
that came from the sun; red is current from the cells.
When the cells are full, the charger stops charging. The probe then
runs from the cells even in sunshine, and the charger starts again once they
have drained a little. That is ordinary charger behaviour, not a design choice
of this project.
When the pack is cold, the charger stops too, sun or no sun: its
thermistor gate stops charging a little below freezing and lets go just above it
(the cold-charge gate, below). The probe runs from the cells meanwhile.
The probe's share is small. Asleep, the whole probe is budgeted at
about 650 µA [C], nine-tenths of it two status LEDs left in on purpose
(the FireBeetle's and the gauge's, decided 2026-11-03); board 1 read
0.73 mA at JP1 [M], the other two boards still owed
(FW-30). So on a sunny day almost all of the panels' output goes into the
cells.
The charger never sees the modem's burst as something it must
supply. It pushes what the sun gives, and the cells, sitting on the same wire,
cover whatever more is drawn. That is why the modem runs straight from the
battery and needs no supply of its own (ADR 0014).
What J5 does with it
Two wires arrive on J5: battery plus on pin 1, ground
on pin 5. Behind the port the carrier turns them into two supplies, one always
on and one switched.
Ground returns on J5 pin 5 and is a copper
pour on the back of the board, not drawn. JP1 and
JP2 are removable links: pulled, they cut a supply;
a meter across their two pins reads the current without cutting a wire.
Supply
Made by
Feeds
When
3.3 V rail
U1, the MCP1700 regulator, behind the F1 polyfuse
The ESP32 with the FireBeetle's WS2812 LED, the BME280 and BMP581, the gauge's green LED and the bus pull-ups (not its chip), the DS18B20, and the GPS, with a second BMP581 on its Qwiic port, through its own switch
Always. The sensors idle in microamps and cost less left on than switched. The two LEDs are the exception: the WS2812 through the uncut Low Power Pad (~500 µA [D]) and the gauge's (~100 µA [C]), neither cut (2026-11-03). The second BMP581 is powered only while the GPS rail is up (FW-29)
Raw battery, switched
U3, a load switch the ESP32 turns on through IO26
The RockBLOCK modem on J6
Only for a transmit window, ~48.5 s each [C]: one a day on LAND, eight (~6.5 min) on SEA
What protects what
Each protection guards only what lies after it. Read down the path from the
cells and the list says what a fault at each point would meet.
Protection
Where
What it covers
Each cell's own protection board
inside every cell
A short anywhere. Each cuts at about 8 A (no datasheet in the tree gives that figure, so it carries no tag), and a short pulls through all six at once. This is the primary protection; the audit of 2026-10-15 disputes this (FW-25)
Pack fuse, 1.6 A slow-blow
the red lead, right at the cells
Everything after it, the modem included. Redundant beside the cells, kept because it is cheap; the audit of 2026-10-15 disputes this (FW-25). A uxcell T1.6A micro fuse soldered inline: five of the twenty owned are bad and the part is in question (FW-28); the fitting rule is under On the bench
Q1, a MOSFET
behind J5 pin 1
A pack plugged in backwards, but only the carrier. The gauge and the charger sit ahead of it and have no reverse protection, so a plug is metered for sign before it mates: red probe on position 1, black on the ground position, a plus sign expected, on the unmated plug. One pack plugged into the gauge backwards (before 2026-10-25) opened the fuse and killed a MAX17048 and both owned chargers. The bench cable's XH end has no key against J5; a pack lead that mates one way only is wanted (FW-27)
F1 polyfuse, 1.1 A hold [D]
on the carrier, after VBAT
Only the 3.3 V branch. The modem's branch leaves before it
The low-voltage lockout
firmware, reading the gauge
The cells themselves: below about 3.2 V at rest the probe is meant to stop transmitting, but FW-05 is blocked and nothing is built. The lockout must also see its gauge move (FW-26): two gauges answered at 0x36 with a fixed reading (3.547 V against a 3.95 V cell; 3.19 V against 3.55 V) [M]. And at 3.2 V resting the modem's charge leaves about 2.98 V at its pin 8 [C], so FW-20 sets the transmit threshold higher
On the bench
Whatever powers J5 has to behave like the
battery. One cell at 3.0–4.2 V [D] does; so does the six-cell pack. The
solar side never needs to be on the bench for the carrier to work.
One source at a time. The carrier runs from a cell on
J5 with the JP1 link fitted,
or from USB on the module with JP1 pulled. Never both
with the link in: USB's 3.3 V and the carrier's regulator would meet on one rail
(Carrier Assembly, the rules at the top). With
the link pulled and JP3 unbridged, as every board ships, the two can share the bench — the split supply the modem's
bring-up runs on: USB feeds the 3.3 V rail, and the cell only the modem's branch
and the regulator's dead end at JP1.
Fuse the bench cell's red lead too, as close to the cell as it will
go. A fuse protects only the wire after it. Solder it with pliers gripping each
leg as a heat sink and only a few seconds of iron; meter it on the Klein's
2k range first (a good one reads 0.000); and read
0.00 V across it with the board drawing, before the hull closes. Five of the
twenty are bad — three open, two resistive (FW-28).
Read the cell at the J5 plug, positions 1 and 5,
never across the charger's LIPO and GND
edge holes. They are neighbours: two meter tips there short the cell through the
pack fuse alone, and two tips blew two fuses.
Read the sleeping floor on 20m. Put the meter across
JP1 with the shunt in; once the board sleeps, take the
shunt out and read, and put it back before the wake. The µA range collapses
the rail at the wake (FW-30).
The gauge needs a cell on one of its JST-PH ports to answer at all.
Its measuring chip runs from the battery side; the Qwiic cable powers only its
green LED and the bus pull-ups. With no cell it is silent on I²C even though
its LED is lit. Adafruit's own example sketch says as much when it cannot find
the chip: “Make sure a battery is plugged in!”
Settled by the bench, and still not to be guessed
ADR 0018
The cold-charge gate, as built. Charging a lithium cell below
0 °C ruins it, and the charger's THERM pad stops that in
hardware: a 10 kΩ thermistor in parallel with 200 kΩ. Ice on all three chargers
(2026-11-01 and 02) found it stops at about −2.3 °C, about −2.0 °C and between
−0.4 and −1.0 °C, and every one resumes just above 0 °C [C]; the lead accepted the
pairs as built on 2026-11-03. It is proven with ice on the pair and the
ISET pad falling to zero, never with the charge light:
charger 1's went dark in a stop and stayed dark while it charged [M], so the
light proves nothing either way.
FW-02
The modem's burst through the gauge. The modem's
charge peak crosses the gauge between its two ports — 0.45 A for ~13 s,
then 0.13 A for ~10 s [M] — and neither Adafruit page states what those
ports may carry. It has gone through: three sends on 2026-10-17 with the gauge
inline, the first OK in 12.0 s from cold (2026-10-25), and both modems sent from
outdoors on 2026-11-03 [M]. What is left is the pack's low end, which FW-20 sets.
PROC-19
Wire size against the connectors. The wiring rules
say 20 AWG for the pack; a JST-PH contact takes up to 24 AWG [D], and the
carrier's JST-XH up to 22 [D]. The carrier's own leads were bought as
pre-crimped 22 AWG XH, so what stays open is the pack link: which gives way
there is undecided.
Part of SouthPing — southping.org.
This page is licensed CC BY 4.0:
reuse it, adapt it, publish it, with credit to SouthPing and a link back.
Source code in the project is Apache-2.0. Manufacturers' datasheets and product
photographs remain theirs and are not covered by this grant.