Best LiPo Battery and Charger for Arduino and ESP32 Projects

If you want your Arduino or ESP32 project to run without a USB cable, you need two things: a lithium polymer battery and a way to charge it safely. Most guides gloss over the details and just say “use a 3.7V LiPo.” This one covers the actual decisions: what capacity to choose, why JST polarity matters more than people realise, and how to pick a charger module that will not damage your battery or your board.

This guide covers the best LiPo battery and charger for Arduino and ESP32 projects, four LiPo batteries across a range of capacities, two TP4056-based charger modules (with clear differences between them), and an MPPT solar charge controller for anyone building outdoor or off-grid projects. All seven products are available on Amazon and work directly with Arduino and ESP32 hardware.

Planning a wireless or portable build? Our guides on the Best ESP32 Development Boards and Best Arduino Sensor Kits cover the boards and components you will want to pair with these batteries.


Quick Comparison Table

ProductCapacity / TypeConnectorBest For
EEMB 3.7V 2000mAh LiPo2000mAh batteryJST PH 2.0Best all-round capacity for most projects
Adafruit 3.7V 1200mAh LiPo1200mAh batteryJST PH 2.0Best for Feather boards, safe polarity
EEMB 3.7V 320mAh LiPo320mAh batteryJST PH 2.0Best compact battery for wearables
TalentCell 3.7V 6000mAh Pack6000mAh batteryJST + USBBest high-capacity pack for long runtimes
HiLetgo TP4056 Type-C (5-pack)Charger moduleType-C inputBest charger module with dual protection
HiLetgo TP4056 Micro USB (10-pack)Charger moduleMicro USB inputBest budget module for breadboard prototyping
MPPT Solar Power Manager (900mA)Solar chargerSolar + USBBest for solar-powered outdoor projects

1. Best Overall Battery: EEMB 3.7V 2000mAh LiPo

EEMB LP654060 3.7V 2000mAh Lithium Polymer Battery

Best for: General Arduino and ESP32 projects that need several hours of runtime from a single charge.

Best LiPo Battery and Charger for Arduino and ESP32 – EEMB 3.7V 2000mAh

EEMB is one of the more reliable names in hobbyist LiPo cells, and this 2000mAh pack covers the sweet spot for most maker projects. It is large enough to run an ESP32 with WiFi active for several hours, but compact enough to fit inside a project enclosure or a small robot chassis. The cell comes with a JST PH 2.0 connector and a built-in protection circuit that handles overcharge, over-discharge, and short circuit.

The 2000mAh capacity works well as a starting reference: an ESP32 drawing around 80mA during active WiFi operation will get roughly 20-25 hours from this cell in a lightly loaded scenario, or significantly less if you are running the radio continuously at full power. For most sensor nodes and data-logging builds, this capacity is more than enough for a full day of operation. EEMB includes a protection PCB on the cell itself, which is worth paying attention to when comparing against cheaper unprotected cells.

Specifications:

  • Chemistry: Lithium Polymer (LiPo)
  • Nominal voltage: 3.7V
  • Capacity: 2000mAh
  • Charge cutoff voltage: 4.2V
  • Discharge cutoff voltage: 3.0V
  • Connector: JST PH 2.0 (2-pin)
  • Built-in protection: Yes (overcharge, over-discharge, short circuit)

Why it stands out:

  • Built-in protection PCB is included, which cheaper cells often omit
  • JST PH 2.0 connector is the most common standard across maker boards
  • 2000mAh is a practical capacity for a wide range of projects without being too bulky
  • EEMB has consistent quality control compared to generic Amazon cells
  • Works directly with Adafruit Feather, SparkFun Thing Plus, TTGO, and similar boards that have JST charging circuits

Things to keep in mind:

  • JST polarity is not universal. Some boards (notably older SparkFun designs) use reversed polarity. Always check before plugging in.
  • The 2000mAh cell is larger than smaller options, so check physical dimensions against your enclosure
  • Not rated for outdoor temperature extremes

👉 Buy EEMB 3.7V 2000mAh LiPo Battery on Amazon

Verdict: This is the battery to buy for most projects. The built-in protection, known connector standard, and practical capacity make it a reliable default. If you are not sure what size to get, start here.


2. Best for Feather Boards: Adafruit 3.7V 1200mAh LiPo

Adafruit Lithium Ion Polymer Battery 3.7V 1200mAh

Best for: Adafruit Feather boards and any build where JST polarity compatibility needs to be certain.

Adafruit 3.7V 1200mAh LiPo battery for ESP32 and Arduino Feather

The Adafruit LiPo is the safest pick if you are using any Adafruit board, and there is a specific reason for that: Adafruit uses a JST PH 2.0 connector with a defined polarity standard, and their batteries are wired to match it exactly. Connecting a battery with reversed polarity to an Adafruit Feather board will damage it immediately. Adafruit’s own cells eliminate that risk entirely.

Beyond the polarity guarantee, the 1200mAh capacity is genuinely useful for projects that do not need all-day runtime but want several hours of independent operation. It is lighter and thinner than the 2000mAh cell, which matters for wearables, compact enclosures, and anything you are mounting to a small robot or drone frame. Adafruit also publishes clear datasheets and charge rate guidance, which is more useful than the vague “3.7V LiPo” labelling you get from most generic cells.

Specifications:

  • Chemistry: Lithium Ion Polymer
  • Nominal voltage: 3.7V
  • Capacity: 1200mAh
  • Charge cutoff voltage: 4.2V
  • Connector: JST PH 2.0 (Adafruit polarity standard)
  • Built-in protection: Yes

Why it stands out:

  • Polarity is guaranteed to match Adafruit Feather, Adafruit HUZZAH32, and all Adafruit boards
  • Slim profile fits into tighter enclosures than larger-capacity cells
  • Adafruit’s quality control and documentation are among the best in the maker space
  • Charges correctly via the onboard JST charging circuit on compatible boards, no separate charger needed
  • Good capacity for IoT sensor nodes, handheld devices, and wearable projects

Things to keep in mind:

  • Costs more per mAh than the EEMB option
  • 1200mAh will not last as long as the 2000mAh cell under the same load
  • Only the ideal pick if you are using Adafruit ecosystem hardware

👉 Buy Adafruit 3.7V 1200mAh LiPo Battery on Amazon

Verdict: The right pick for any Adafruit Feather build, and the safest option if you are unsure about your board’s JST polarity. Pay the small premium for the peace of mind.


3. Best Compact Battery: EEMB 3.7V 320mAh LiPo

EEMB 3.7V 320mAh Lithium Polymer Battery

Best for: Wearables, small sensor badges, and any project where size and weight matter more than runtime.

EEMB 3.7V 320mAh compact LiPo battery for small Arduino projects

The 320mAh cell is the right answer when space is the primary constraint. It is thin, light, and fits into project cases that a standard-size LiPo simply will not. Common use cases include wearable electronics, small display projects, Bluetooth sensor beacons, and any build where the battery is tucked behind a PCB or inside a 3D-printed case with tight tolerances.

At 320mAh, runtime is limited. An ESP32 running with Bluetooth active at around 130mA will drain this cell in roughly 2 hours. Deep sleep mode changes the picture significantly: an ESP32 waking every 30 seconds to take a sensor reading and transmit it can easily run for days on this capacity, because the actual active draw is a tiny fraction of total time. If you are building a low-power sensor node using esp_deep_sleep_start(), a 320mAh cell can last far longer than the numbers suggest at first glance.

Specifications:

  • Chemistry: Lithium Polymer
  • Nominal voltage: 3.7V
  • Capacity: 320mAh
  • Charge cutoff voltage: 4.2V
  • Connector: JST PH 2.0
  • Built-in protection: Yes

Why it stands out:

  • Smallest form factor in this roundup, ideal for space-constrained builds
  • Sufficient capacity for deep-sleep sensor nodes with infrequent wake cycles
  • JST PH 2.0 connector is compatible with most Feather and ESP32 boards that include battery charging
  • EEMB quality control is consistent at this size class
  • Light enough to be practical in wearable and clip-mounted builds

Things to keep in mind:

  • Short runtime for anything with continuous radio activity
  • Not suitable for projects that need all-day or overnight standalone operation at full power
  • Confirm physical dimensions against your enclosure before ordering

👉 Buy EEMB 3.7V 320mAh LiPo Battery on Amazon

Verdict: The right battery for small, low-power builds. Pair it with deep sleep firmware and you will be surprised how long it lasts. Not the right pick for power-hungry projects.


4. Best High-Capacity Pack: TalentCell 3.7V 6000mAh LiPo

TalentCell Rechargeable 3.7V 6000mAh Lithium Polymer Battery Pack

Best for: Projects that need long runtimes, high current draws, or a battery that can power multiple components.

TalentCell 6000mAh LiPo battery pack for Arduino and ESP32 high-capacity projects

The TalentCell 6000mAh pack is a different class of product from the slim cell batteries above. It is a full battery pack with its own protection circuitry, USB output, and a JST connector, making it compatible with both boards that accept direct LiPo input and projects that need 5V USB power. This flexibility makes it useful for builds like outdoor data loggers, camera traps, wireless sensor hubs, and anything that needs to run unattended for extended periods.

At 6000mAh, you have three times the capacity of the EEMB 2000mAh cell. An ESP32 drawing a conservative 100mA average could theoretically run for 60 hours before needing a recharge. The TalentCell pack includes a micro USB charging port and a charge indicator, so you can top it up without removing it from your project. The built-in protection handles overcharge, over-discharge, and short circuit, and the pack is CE and RoHS certified, which matters if you are building something that needs to meet basic safety standards.

Specifications:

  • Chemistry: Lithium Polymer
  • Nominal voltage: 3.7V
  • Capacity: 6000mAh
  • Output: JST connector (3.7V) and USB (5V)
  • Input: Micro USB charging
  • Built-in protection: Yes (multi-layer)
  • Certifications: CE, RoHS

Why it stands out:

  • 6000mAh capacity enables multi-day runtimes for low-to-moderate power projects
  • Dual output (JST 3.7V and USB 5V) makes it compatible with a wide range of hardware
  • Built-in charge indicator and USB charging port, no separate charger module needed
  • CE/RoHS certified for projects that need to meet basic compliance
  • Useful for outdoor projects, camera systems, and any build where frequent recharging is inconvenient

Things to keep in mind:

  • Physically larger and heavier than single cells, so check fitment carefully
  • USB 5V output passes through a boost converter, which adds a small efficiency overhead
  • Overkill for simple indoor sensor projects

👉 Buy TalentCell 3.7V 6000mAh LiPo Pack on Amazon

Verdict: The best option when runtime is the priority and physical size is not a hard constraint. The USB output adds versatility for projects that mix 5V and 3.7V power requirements.


5. Best Charger Module with Protection: HiLetgo TP4056 Type-C (5-pack)

HiLetgo TP4056 Type-C USB Charger Module with Dual Protection (5-pack)

Best for: Projects where the TP4056 board also powers the circuit, requiring both charging and load output protection.

HiLetgo TP4056 Type-C charger module with dual protection for LiPo batteries

The TP4056 is the most widely used LiPo charger chip in the maker world, and for good reason: it handles the full CC/CV charging algorithm for a single lithium cell, terminates automatically at 4.2V, and costs almost nothing per module. This HiLetgo version uses a Type-C USB input, which is the upgrade most people want, and includes a dual-chip design with a separate DW01A protection IC alongside the TP4056 charger chip.

That dual-chip distinction matters. A basic TP4056 module (the older single-chip variant) charges the battery correctly but provides no protection on the output. If you connect your circuit to the OUT+ and OUT- pads on a single-chip module, you have no over-discharge protection: the battery can be drained below 2.5V, which permanently damages it. The dual-protection modules add a separate IC that monitors the battery voltage, cuts the output if it drops too low, and also protects against overcurrent on the load. For any design where the TP4056 module sits between the battery and the rest of the circuit, the dual-protection version is the correct choice.

Specifications:

  • Charger IC: TP4056
  • Protection IC: DW01A (separate, dual protection)
  • Input: USB Type-C, 5V
  • Charge current: Up to 1A (adjustable via RPROG resistor)
  • Charge cutoff voltage: 4.2V ±1%
  • Over-discharge cutoff: 2.5V
  • Overcurrent protection: 3A
  • Module size: ~25 x 19mm
  • Quantity: 5 per pack

Why it stands out:

  • Type-C USB input is more convenient than older Micro USB versions
  • Dual-chip design provides both charging (TP4056) and load protection (DW01A)
  • OUT+ and OUT- pads are safe to connect your circuit to, with battery protection active
  • Red/green LED indicators show charging and full status clearly
  • Five modules per pack makes prototyping affordable and gives spares

Things to keep in mind:

  • Single-cell only: charges one 3.7V cell at up to 1A
  • The TP4056 generates heat at 1A; if thermal headroom is tight, reduce charge current by swapping the RPROG resistor
  • Do not power the circuit directly from B+ and B-: always use the OUT+ and OUT- pads when using the load output

👉 Buy HiLetgo TP4056 Type-C Charger Module (5-pack) on Amazon

Verdict: The correct TP4056 module for any design where the board also powers external circuitry. The Type-C input and dual-protection make this a meaningfully better pick than older single-chip Micro USB variants.


6. Best Budget Charger Module: HiLetgo TP4056 Micro USB (10-pack)

HiLetgo TP4056 Micro USB Charger Module (10-pack)

Best for: Bench charging a battery separately from the project circuit, or rapid prototyping where you need a lot of cheap modules.

HiLetgo TP4056 Micro USB charger module 10-pack for LiPo batteries

This is the classic single-chip TP4056 module: Micro USB input, one IC, and a very low price per unit. It does exactly one job: charge a single lithium cell from a 5V USB source. It does not provide load output protection. The OUT+ and OUT- pads exist on the board, but connecting your project circuit to them without an additional protection IC risks draining the battery below its safe minimum voltage.

The correct way to use this module is to charge the battery, then disconnect it from the module and connect it to your project. For bench use, a sensor testbed, or a workflow where you swap batteries between the charger and the circuit, this approach is completely fine and the 10-module pack becomes excellent value. This is also the right pick for projects that use a development board with its own onboard LiPo charging circuit: if your Adafruit Feather or TTGO board already handles charging, you do not need a separate protection module at all.

Specifications:

  • Charger IC: TP4056 (single chip)
  • Input: Micro USB, 5V
  • Charge current: Up to 1A (adjustable)
  • Charge cutoff voltage: 4.2V ±1%
  • Load output protection: None (charge only)
  • Module size: ~25 x 19mm
  • Quantity: 10 per pack

Why it stands out:

  • Lowest cost per module in this roundup, good for building multiple units or keeping spares
  • 10-module pack is useful for classroom projects, workshop kits, or prototyping multiple builds simultaneously
  • Reliable TP4056 charging performance for bench charging use
  • Works with any 5V Micro USB charger or power bank

Things to keep in mind:

  • No load protection: do not power your project from OUT+ and OUT- on this module
  • Micro USB is less convenient than Type-C for daily charging use
  • For any permanent installation where the circuit draws from the battery through the module, use the dual-protection version (#5) instead

👉 Buy HiLetgo TP4056 Micro USB Charger Module (10-pack) on Amazon

Verdict: An honest budget option for bench charging and prototyping. Know the limitation: no load protection. Use it for charging only, and connect your circuit directly to the battery rather than through this module’s output pads.


7. Best for Solar Projects: MPPT Solar Power Manager (900mA)

900mA MPPT Solar Panel Controller – Solar Power Manager Module

Best for: Outdoor builds, off-grid sensor stations, and any project that needs to recharge from a solar panel.

MPPT Solar Power Manager Module for LiPo battery and Arduino ESP32 outdoor projects

The solar power manager module adds a dimension none of the TP4056 boards can match: it accepts input from a solar panel and uses MPPT (Maximum Power Point Tracking) to extract the most power available from the panel at any given light level. MPPT is significantly more efficient than simple resistive charging, particularly in variable or low-light conditions, and it is the technology used in professional solar charge controllers. Getting it at this price point and form factor for maker projects is genuinely useful.

The module manages the full charge cycle for a single lithium cell, accepts solar panel input between 4.5V and 6V (ideal for a small 5V or 6V panel), and provides a regulated output for powering your project simultaneously. It handles the balance between solar input, battery charging, and load output automatically: if the panel is producing enough power, it runs the load and charges the battery at the same time. If input drops below load demand, it draws from the battery. Practical applications include outdoor weather stations, soil moisture monitors, wildlife cameras, and any ESP32 build running ArduinoYard’s IoT water tank monitoring style projects off-grid.

Specifications:

  • Charging method: MPPT (Maximum Power Point Tracking)
  • Solar input voltage: 4.5V to 6V
  • Max solar charge current: 900mA
  • Battery: Single-cell LiPo/Li-Ion 3.7V
  • Output: 5V regulated
  • Battery protection: Overcharge and over-discharge
  • Indicators: LED for charge status

Why it stands out:

  • MPPT algorithm extracts significantly more energy from a solar panel than simple PWM or resistive charging
  • Simultaneous solar charging and load output: the project keeps running while the battery charges
  • 900mA max charge current supports larger solar panels for faster charging in good light
  • 5V regulated output is compatible with Arduino UNO, ESP32 dev boards, and most 5V projects
  • Enables genuinely off-grid deployments that the TP4056 modules cannot support

Things to keep in mind:

  • Requires a 4.5V to 6V solar panel (a standard 5V or 6V panel works, a 12V panel does not)
  • Output is 5V: boards that need 3.3V directly will require a regulator or use a board with onboard 3.3V regulation
  • Not suitable for indoor or USB-only charging workflows

👉 Buy MPPT Solar Power Manager Module on Amazon

Verdict: The obvious pick for any outdoor or off-grid build. MPPT charging from a small solar panel is a step up in efficiency from anything TP4056-based, and the simultaneous charge-and-run capability makes it practical for unattended deployments.


Which LiPo Battery and Charger Should You Buy?

For most Arduino and ESP32 projects, the EEMB 2000mAh is the right battery. It has enough capacity for a full day of moderate use, a built-in protection circuit, and the standard JST PH 2.0 connector that works with the majority of boards. If you are building on Adafruit hardware specifically, buy the Adafruit 1200mAh instead: the polarity match is worth paying for.

If your build needs to be small and light, the EEMB 320mAh is the compact option. Pair it with deep sleep firmware and you can still achieve multi-day runtimes from a project that fits in a shirt pocket. For long-running installations where recharging is inconvenient, the TalentCell 6000mAh pack gives you a substantial runtime buffer and a built-in USB charging port.

On the charger side, the choice comes down to how the module is used. If the TP4056 board sits in the circuit and the load draws from its output pads, buy the HiLetgo Type-C dual-protection version (#5): the DW01A protection IC is not optional in that configuration. If you are bench-charging batteries separately and connecting them directly to the project circuit, the HiLetgo Micro USB 10-pack is the better value buy.

The MPPT Solar Manager is for a different use case entirely. If your project lives outdoors and you want it to run indefinitely from a small solar panel, this is the piece that makes that possible.


Understanding LiPo Charging and Protection

The CC/CV Charging Cycle

A LiPo battery cannot be charged like an AA battery. Overcharging above 4.2V causes permanent damage and is a fire risk. The correct charging method is constant current followed by constant voltage: the charger pushes a fixed current into the battery until the voltage reaches 4.2V, then holds that voltage while the current tapers off. The TP4056 chip handles this automatically. When the current drops below about 10% of the programmed charge rate, the chip terminates charging and the green LED lights. Do not try to charge a LiPo with a fixed voltage source or a simple resistor.

JST Polarity: The Connector That Destroys Boards

The JST PH 2.0 connector is not universal in polarity. Adafruit uses positive on the left pin (from the battery side), and many boards in the Adafruit ecosystem follow this. SparkFun older designs use the opposite polarity. Connecting a battery wired for one standard to a board designed for the other will damage the board’s charging circuit immediately, and in some cases damage the battery. Always check the polarity of your specific board before connecting a LiPo. If you are buying an Adafruit battery for an Adafruit board, this is handled for you. If you are mixing brands, check the datasheet.

Protection Circuits: What They Do and Why They Matter

The three protection functions you want on any LiPo in a maker project are overcharge protection (cutoff above 4.2V), over-discharge protection (cutoff below 2.5-3.0V), and short circuit protection (current limiter or cutoff on dead short). The EEMB and Adafruit cells include a protection PCB on the cell itself. The TP4056 dual-protection modules add these functions at the charger module level. Running an unprotected cell without either form of protection is possible but increases the risk of battery damage from deep discharge, especially in projects that drain the battery completely before the microcontroller shuts down.

Estimating Runtime

Divide capacity in mAh by average current draw in mA, then multiply by 0.85 for real-world losses. An ESP32 averaging 80mA on a 2000mAh battery gives roughly 21 hours. Deep sleep changes the picture significantly: sleeping 30 seconds and waking for 1 second at 200mA averages about 7mA, stretching the same cell to around 240 hours. ArduinoYard’s ESP32 sleep modes guide covers the implementation, and the DC voltage sensor tutorial shows how to monitor remaining charge in your sketch.


Final Recommendation

The EEMB 2000mAh and the HiLetgo TP4056 Type-C dual-protection module are the combination most makers should start with. The battery has enough capacity for serious projects, the protection circuit is built in, and the Type-C charger handles the full charge cycle safely with load protection on the output. For outdoor builds, swap the TP4056 for the MPPT Solar Manager and pair it with any 5V solar panel.

Before finalising your power system, it is worth reading ArduinoYard’s ESP32 deep sleep guide to understand how much runtime you can extract from your chosen battery, and the DC voltage sensor tutorial if you want to monitor battery level in your sketch.


Putting together a complete wireless build? Our guides on the Best ESP32 Development Boards, Best Temperature and Humidity Sensors, and Best ESP32 Camera Boards cover the rest of what you need.

Leave a Comment