Did I mention that the heart of the device is an ESP32-C3? Well, now I have. I’m using the WROOM module since it features castellated pins, making it easy to inspect solder joints and probe signals directly at the pads.
The device is designed to support different hardware and software variants. More on those in a later update.
Battery Operation
A key requirement is battery-powered operation. I want the device to run from a Li-ion cell—either reclaimed vape batteries or old power-tool cells that deserve a second life. For charging, I chose the well-known TP4056. Thanks to [Chris] CRAPi2040 logs, I learned that a PMOS transistor is preferable over a diode when powering the system via USB while still charging the battery. The chip’s CHRG and STDBY pins are routed to the controller. I skipped dedicated LEDs for status indication the battery state is visible through the OLED or the web interface anyway.
The battery voltage is monitored by the controller via a voltage divider. I’m curious how well this works at low battery levels. The ADC reference is specified at 1100 mV, though it may drift slightly before the device eventually powers down when reaching 3V.
Additional safty comes from a battery monitoring IC that disconnects the battery when the voltage is to high or to low.
Optional Sensors
I added a footprint for the BMP388 barometric pressure sensor from Bosch. I’ve never worked with it—and haven’t checked library availability either—but footprints are free, so adding one is simply extra potential without any cost.
Buttons & User Interaction
The device includes a reset button tied to the reset pin and a boot button on GPIO9, which is a strapping pin. I likely won’t need it for flashing, since I intend to program the ESP32-C3 via USB. Holding the boot button at power-up would also enable serial download mode, if ever required. Additionally, the button doubles as a user input—possible use cases include waking the device from deep sleep or re-activating the OLED display after it powers off automatically. The software will make good use of it.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.