TheSolderBenchnotes from my electronics bench

Log #93 · Nov 2, 2026

Battery Charging Modules Compared: TP4056, IP5306, TP5100 and BMS Boards

Which lithium charging module should you use? A clear comparison of the TP4056, IP5306 power bank module, TP5100 1S/2S charger and 2S/3S BMS boards, with what each one actually does, its limits and the project it suits.

Power & Batteries · 6 min read · Beginner

Search for "battery charging module" and you'll find a dozen small boards that look alike: a USB socket, a chip, a couple of LEDs and pads for a cell. They do very different jobs. Some only charge, some charge and boost to 5 V, some charge two cells in series, and some, the BMS boards, don't charge at all. Picking the wrong one is the most common reason a battery project doesn't work or, worse, slowly damages its cells. This guide compares the four modules you'll meet most often.

Four module drawings: TP4056 for one cell up to 1 amp; IP5306 that charges one cell and boosts to 5 volts like a power bank; TP5100 that charges one or two cells at up to 2 amps from 5 to 18 volts; and a 3S BMS board that only protects a pack and needs a 12.6 volt charger
Four boards, four different jobs: charge, charge + boost, charge two cells, protect only.

How lithium charging works (in 30 seconds)

A single Li-ion or LiPo cell is charged with CC/CV: first a constant current (for example 1 A) until the cell reaches 4.2 V, then a constant voltage of 4.2 V while the current tapers off. When the current falls to about a tenth of the starting value, charging stops. Going above 4.2 V per cell or discharging below roughly 2.5–3.0 V damages the cell. Every module below handles some part of this; none handles all of it for every situation. More background is in LiPo vs Li-ion vs NiMH.

The comparison

Module Cells Input Charge current Output Protection
TP4056 (protected version) 1 cell (1S) 5 V USB (4.5–5.5 V) up to 1 A (set by resistor) Battery voltage, ~2.5–4.2 V Yes, on the 6-pad version
IP5306 module 1S 5 V USB up to about 2 A Boosted 5 V, about 2 A Built into the chip
TP5100 1S or 2S (jumper) 5–18 V (more than 9 V for 2S) up to 2 A Battery voltage No discharge protection
2S/3S BMS 2 or 3 in series Needs a CC/CV charger of 8.4 V or 12.6 V — (it doesn't charge) Pack voltage Over-charge, over-discharge, over-current

TP4056: the default for one cell

The TP4056 is a linear charger for a single cell. It's cheap, simple and accurate. Buy the version with six pads (IN+, IN−, B+, B−, OUT+, OUT−): it has a second chip (DW01A) and a dual MOSFET that disconnect the load if the cell drops below about 2.5 V or if there's a short. The four-pad version only charges and offers no protection.

Limits to know:

  • Input must stay below 8 V; a 9 V adapter will destroy it.
  • At 1 A it gets hot, because the extra input voltage turns into heat. Lower the current (change the R3 resistor) for small cells: a 500 mAh LiPo shouldn't be charged at 1 A.
  • It doesn't handle a load very well while charging: a large load can stop it from noticing that the cell is full.

It's covered in detail in how to use a TP4056, and paired with a solar panel in the solar-powered Arduino build.

IP5306: a power bank on a board

The IP5306 module is the inside of a cheap power bank. It charges one cell from USB and boosts the cell up to 5 V on a USB-A socket or pads, so you can run an Arduino, LED strip or Raspberry Pi Zero straight from it. Many versions have four LEDs that show the charge level.

Limits to know:

  • It turns its output off when the load is small. If your project draws less than roughly 50 mA, the module decides nothing is connected and shuts down after about 30 seconds. A sleeping Arduino will simply lose power. The same issue affects store-bought power banks.
  • Some versions need a button press to turn the output on.
  • 5 V at 2 A from one cell means about 3 A from the cell. Use a good 18650 rated for it.

Great for projects that draw a steady 100 mA or more and want "charge it with a phone charger" convenience.

TP5100: one or two cells, faster

The TP5100 is a switching charger, so it runs much cooler than the TP4056 at high current. A jumper or pad selects 4.2 V (1S) or 8.4 V (2S), and it accepts a wide input range.

Limits to know:

  • For 2S charging, the input must be well above 8.4 V; a 12 V adapter is the usual choice.
  • It doesn't balance two cells in series. Pair it with a 2S BMS that includes balancing, or use matched cells.
  • No over-discharge protection on the output.

Choose it when you need 2 A charging or a 2S (7.4 V) pack, for example for a robot whose motor driver needs more than 5 V.

BMS boards: protection, not charging

A 2S or 3S BMS (battery management system) board sits between a pack of cells in series and everything else. It watches each cell and disconnects the pack if any cell goes above about 4.25 V, below about 2.5–3.0 V, or if the current gets too high. Boards labeled "balance" or "with equalization" also bleed a little current from the fullest cell so the cells stay matched.

What it doesn't do: it doesn't regulate charging. You still need a CC/CV charger set to the pack voltage: 8.4 V for 2S and 12.6 V for 3S, with a current limit suited to your cells. Connecting a random 12 V adapter to a 3S BMS is not a charger.

Use one for any pack of two or more cells in series, wired to every cell junction (B−, B1, B2… B+) exactly as printed on the board.

Which one should you buy?

Your project Use
One 18650 or LiPo, low current (sensors, ESP32, Arduino Nano) TP4056, protected version
One cell and you need 5 V out, project draws over 100 mA IP5306 module
One cell, solar input TP4056 with current matched to the panel, or a CN3791 MPPT module
2S pack (7.4 V) for motors TP5100 set to 2S + 2S BMS with balancing
3S pack (11.1 V) 3S BMS + a 12.6 V CC/CV charger

Safety rules for every module

  • Use protected cells or a protection board. Never rely on code alone to stop discharging.
  • Don't charge below 0 °C or above about 45 °C.
  • Match the charge current to the cell: a common safe rule is no more than 0.5 C (half the capacity in amps) unless the datasheet says otherwise.
  • Charge on a non-flammable surface the first few times you test a new setup, and touch-check the module and cell for heat.
  • Never solder directly to a cell; use a holder or buy cells with tabs.

— TheSolderBench · found a mistake? tell me

More pages from this notebook

How to Power an Arduino Project

USB, barrel jack, VIN or the 5 V pin? Every way to power an Arduino, how much current each can supply and how to add motors without resets.

→ always join the grounds

Voltage Regulators Explained

Linear regulators, LDOs and buck and boost converters compared, with heat calculations and advice on choosing the right one for your supply.

→ heat = (Vin − Vout) × I

Choosing Capacitors for Your Circuit

Ceramic, electrolytic and film capacitors compared, how to read their markings, and which values to use for decoupling, filtering and motor noise.

→ 100 nF next to every chip's power pins