A single-cell Li-Ion/Li-Po/LiFePO4 battery solar charger board for the natWatch platform (tomato-series solar chargers)


  • Solar panel and battery input overvoltage and overcurrent protection
  • Single-cell Li-Po/Li-Ion/LiFePO4 compatible
  • 7-28V solar panel input
  • 5V/1A bus output for base and extension boards with power-or
  • MPPT (software adjustable MPP voltage or perturb&observe with future firmware versions)
  • The baord conforms to the NaatWatch platform specification (QWHD size).


Input connection to the board is provided by a Molex Micro-Fit 4×2 pin connector. Pinout of the connector is shown below and also on the top PCB silk screen of the charger board. Solar input is current protected by a 3A slow fuse and filtered by C1/L1 filter. C2, C7 and C25 provide an input reservoir for the LT2652 SMPS step-down converter. MPP input voltage regulation is set by the R1/R2 voltage divider adjusted with R10/C10 filter together with R9 connected to a MCU PWM output. Input UVLO is set by R13/R14 voltage divider.

Output voltage of the MPPT charger is set by the R3/R4 voltage divider adjusted by R11, C11, R12 filter connected to a MCU PWM output. Resistor R5 sets the maximum charging current (2A with 0R05). C4 and C5 are SMPS output capacitors. D5 provides transient protection of the battery input/output, L3/C6 is an output filter and the F2 3A fuse provides battery overcurrent protection. Negative pole of the battery is connected through the R8 resistor with a STC3100 battery fuel gauge. Changing the R8 value can be used to adjust the maximum battery capacity (~8Ah with 0R025).

5V bus voltage is generated by a LTC3422 SMPS step-up converter (IC5). VBUS_SHDN signal connected to a MCU GPIO pin is used to disconnect the output if battery undervoltage is detected. C14, C15 are SMPS output capacitors, R16/R17 voltage divider sets the output voltage to about 4.9V. LTC4411 (IC6) ideal-diode provides the power-or'ing capability. L5, C22, C23 is a low pass filter.

The MCU type is STM32F031 in a QFN28 package. It is powered with 2.5V provided by a LDO (IC4) directly from the battery. The MCU can be flashed and debugged using a standard debugger for Cortex-M0 microcontrollers with a 10pin Cortex debug connector.

Front connector pinout

Top row Signal Battery NEG Battery NEG/temp sensor NEG Solar panel NEG
Pin 8 7 6 5
Bottom row Pin 4 3 2 1
Signal Battery POS Temp sensor POS Solar panel POS

Maximum ratings / Electrical characteristics

Ambient temperature -40 - 60°C
Solar panel input voltage 7 - 28V (input TVS trips)
Software selectable MPP voltage 5.4 - 32.4V
Self consumption max. 3mA (HW version 1.0.1, preliminary firmware
UXB output voltage   4.9V
Battery voltage low cut-off 3.3V falling, 3.5V rising
Software selectable battery voltage 3.63 - 4.33V
Maximum charging voltage 2A (adjustable with HW change)
Solar panel overcurrent protection yes, 3A fuse
Battery overcurrent protection yes, 3A fuse
Maximum battery capacity 8Ah (adjustable with HW change & compile-time option)

Known issues

  • Bad availablity of the LTC3422 SMPS regulator
  • Audible sound from the LTC3422 output capacitors
  • The MCU is not powered when the battery is disconnected
  • tomato-single-cell/index.txt
  • Last modified: 2018/03/14 13:18
  • by qyx