Summary of uMesh – A self-contained, battery operated ESP32 module
This article introduces Umesh, a compact 1x1 inch ESP32 module designed to solve power system issues in inexpensive IoT boards. It features an integrated lithium battery charge and protection circuit, a buck-boost power supply for stable 3.3V output across the battery range (3.0V–4.2V), and castellated headers for direct soldering to host boards. The module supports hot-swapping between USB and battery power, charges while powered off, and allows flexible single-cell battery attachment.
Parts used in the Umesh:
- ESP32 module
- Lithium battery charge circuit
- Lithium battery protection circuit
- Buck-boost power supply
- Antenna
- Castellated headers
- USB connector
- Solder pads for single-cell battery
- Programmable charge speed resistor
uMesh
I’ve been working on an ESP32 module.
Part of the problem I’ve been seeing with inexpensive IoT dev boards, is that the design around the power system hasn’t been very good. Here’s my attempt to fix that. This is a battery-ready module with a proper lithium battery charge circuit, lithium battery protection circuit, power supply, and antenna, all in a 1 inch by 1 inch package.
The goal is to have a tiny, inexpensive module that can immediately accept a battery and be deployed in the field, along with 30 of its mates.
The battery/power circuitry is surprisingly complex, which is why the built-to-a-price-point applications often don’t have the “proper” battery control, opting instead for “good enough”.
And when I say tiny, I really do mean tiny.
The main interface to the world (other that WiFi or Bluetooth) are castellated headers on the left and right side. Those grant access to input voltage, battery voltage, output voltage, TX/RX pins, bootmode selection, and a few GPIO. Because of them, this module can be soldered directly down to a larger host board if necessary, and can even provide regulated 3.3V output to it if given battery power.
What sets this apart in terms of battery handling are a few things:
- There is a buck-boost power supply to provide a constant 3.3V to the ESP32 through a battery’s entire range (3.0V-4.2V)
- There is a cut off for battery when it hits 3.0V, to prevent over discharging it
- When the module is plugged in (through castellations or through the USB connector), it will switch over to using that as a power source. It can be hot-swapped
- Also while plugged in, there is circuitry for constant-current/constant-voltage charging of the battery
- The battery will still charge while the device is switched off
The battery just solders on to some pads on the back. Any size of single-cell will do, although the programmable charge speed relates to a resistor value that is soldered at manufacture time.
Read more: Umesh – A self-contained, battery operated ESP32 module
- What is the main purpose of the Umesh module?
To provide a tiny, inexpensive, battery-ready ESP32 module with proper power management for field deployment. - How does the module maintain constant voltage during battery discharge?
It uses a buck-boost power supply to provide a constant 3.3V throughout the battery's entire range from 3.0V to 4.2V. - Can the Umesh module be powered by both USB and battery simultaneously?
Yes, it switches over to using the plugged-in source as power when connected and supports hot-swapping. - Does the battery charge while the device is turned off?
Yes, the circuitry ensures the battery will still charge while the device is switched off. - What prevents the battery from being over-discharged?
A cut-off mechanism activates when the battery hits 3.0V to prevent over discharging. - How is the battery attached to the module?
The battery solders directly onto specific pads located on the back of the module. - Can different sizes of batteries be used with this module?
Yes, any size of single-cell battery can be used with the module. - What controls the programmable charge speed?
The charge speed relates to a resistor value that is soldered at the time of manufacture.
