Skip to content
Snowbird Power Systems

Documentation

Safety

Five independent protection layers, the temperature windows, what each fault does, and how to handle lithium cells.

Five layers

A lithium charger is the kind of product where one bug should not be able to cause a fire. Snowbird has five protection layers, each independent of the others, and a firmware fault has to misconfigure two separate chips before a cell can be overcharged.

Layer What it does Depends on firmware?
1. Chemistry jumper Sets the voltage ceiling in hardware. Software can select at or below it. The PRIMARY position disables charging No
2. Charger Charge voltage, current and the JEITA temperature profile, enforced by the charger's own TS pin No, once configured; defaults are the jumper's chemistry
3. BMS Independent per-cell cutoffs for overcharge, overdischarge, overcurrent, short circuit and temperature. Safe defaults in non-volatile memory No
4. Comparator A hard over-temperature cutoff at 65 °C that pulls both regulators' enable pins low No
5. Fuse 5 A on the 1S boards, 8 A on the Pack, on the battery input No

The BMS switch is on the high side, so battery ground stays common with system and Qwiic ground when protection trips. Your host keeps its ground reference and the supervisor keeps reporting.

Temperature windows

The thermistor on the battery connector (10 kΩ, B = 3435 by default, other B values a firmware setting) feeds the charger's TS pin, the BMS and the supervisor. The defaults are the chemistry's; setTempLimits() can narrow them and cannot widen them.

Chemistry Charge Reduced-current charge Discharge
Li-ion / LiPo / LiHV 0 to 45 °C 0 to 10 °C at half current −20 to 60 °C
LiFePO4 0 to 45 °C 0 to 10 °C at half current −20 to 60 °C
LiSOCl2 never −40 to 85 °C

Outside the charge window the charger holds. The load keeps running from USB or solar through the power path, and the battery waits. Outside the discharge window the supervisor turns the outputs off and keeps reporting; if the fault lasts more than ten minutes it opens the battery switch and enters ship mode, from which an input wakes it.

With no thermistor connected the board refuses to charge by default. The NTC-SRC jumper selects an on-board sensor near the connector instead, which reads board temperature rather than cell temperature; use it only for a cell that sits against the board.

What each fault does

Every fault sets a bit in faults(), pulses INT, sets the BTHome problem flag, and appears in the BLE event log with a timestamp.

Fault Trigger Action LED
OverVoltage Cell above the chemistry's limit plus 50 mV Charging stops; BMS opens the charge FET both off
UnderVoltage Cell below the cutoff Outputs off; BMS opens the discharge FET; recovery below both off
OverCurrent Discharge above the BMS limit for 10 ms Discharge FET opens; retries after 1 s, three times, then latches both off
ShortCircuit Above 20 A for 200 µs Discharge FET opens; latched until the load is removed both off
OverTemp Cell above the discharge maximum, or board above 65 °C Outputs off; comparator holds them regardless of firmware yellow blink
UnderTemp Cell below the charge minimum Charging held; load runs from the input yellow blink
NtcOpen, NtcShort Thermistor out of range Charging held yellow blink
InputOverVoltage Solar above 24 V Input disconnected until it falls below 23 V green blink
ReversedBattery Reversed cell detected at plug-in Switch stays open; nothing powered both off
CellCountMismatch Balance connector disagrees with the cell-count resistor (Pack) Switch stays open both off
BmsTripped Any BMS protection active As above; cleared when the BMS recovers

Overdischarge recovery

A cell that has been run flat latches the BMS off. Plug in USB or solar: the charger pre-charges the cell at 50 mA until it is above the cutoff, then the BMS closes and normal charging starts. A cell below 2.0 V (Li-ion) or 1.5 V (LiFePO4) is treated as damaged; the board charges it at the pre-charge rate for at most 30 min and then stops with Fault::UnderVoltage set permanently until the cell is replaced.

Reverse battery and solar

Cheap 1S pouch cells arrive with the JST-PH wires reversed often enough that the board checks polarity before closing the switch. A reversed cell is reported and nothing powers up. The solar input has an ideal-diode P-FET, a 26 V TVS and programmable overvoltage protection; a reversed panel does nothing, and a surge from a long panel lead is clamped.

Ship mode

shipMode() opens the battery switch, turns the radio off and puts the supervisor in its deepest sleep, drawing 3 µA from the cell. USB or solar wakes it. Use it before a board goes into a box, into the post, or onto a shelf. It needs the unlock sequence because it takes the host down with it.

Handling lithium cells

Snowbird ships without a cell, so what is in the parcel is not dangerous goods. The cell you add is.

  • Use cells with a built-in protection circuit for the Snowbird Lite 1S, which has no BMS. The other boards protect raw cells.
  • Match cells in a pack. The balancer corrects a few tens of millivolts, not a mixed pack.
  • Never charge below 0 °C. The board enforces this; do not defeat it with the NTC-SRC jumper on a cell that is not against the board.
  • Mount the board where it can shed heat. At 10 W in, the charger area reaches 40 °C above ambient in still air.
  • Keep the 5 V terminal block's screws tight. A loose bare wire at 2 A is the most common cause of an OverCurrent trip.
  • If a cell swells, smells or gets hot, disconnect it outdoors and do not charge it again.

Reporting an incident

If a Snowbird board is involved in any incident that caused or could have caused injury or damage, tell us through the safety incident form. We are required by the Canada Consumer Product Safety Act to report within two days of learning of an incident, and the form starts that clock immediately. Include which board, the serial number if you have it, the cell, and what happened.