ESP32/IoT B.Tech/Diploma Beginner

DIY ESP32 Board for Battery Powered IoT Applications

Design your own DIY ESP32 Board for Battery Powered IoT Applications with circuit, PCB Gerber Files, test C++ Arduino example code

  • Suitable forB.Tech/Diploma ESP32/IoT students
  • Build time1-2 weeks
  • LevelBeginner
  • Available atAjvika Labs, Kakinada

About this project

Overview
In this post, we will learn how to design our own Low Power DIY
ESP32 board for Battery Powered IoT Applications
. The
ESP32 microcontrollers
from Espressif have become the backbone of modern IoT designs due to their integrated Wi-Fi, Bluetooth connectivity, and robust processing capabilities.
Ready-made development boards such as
ESP32 DevKitC
or
NodeMCU
are widely used among hobbyists, makers, and engineers. However, these boards are relatively large in size and include power-hungry voltage regulators, USB-to-UART chips, and other components that may not be suitable for compact and ultra-low-power battery-operated projects. Earlier, we used
Battery Powered ESP8266 Board
, which was quite good.
To overcome these limitations, it becomes necessary to design a
custom ESP32 board
optimized for a small form factor and low power consumption. In this article, we will go through the circuit design and PCB considerations for building a compact ESP32 board specifically for
battery-powered IoT devices.
Our design incorporates several important features:
A
buck-boost converter (TPS63020)
to provide a stable 3.3 V supply from a single-cell Li-ion battery.
A
dedicated Li-ion charging circuit (BQ24092D)
with battery management for safe and efficient charging via USB.
A
battery sensing network
to monitor the battery voltage directly with the ESP32 ADC.
Minimal external circuitry for programming: we avoid an on-board USB-to-UART chip (like CP2102 or CH340). Instead, the ESP32 can be programmed using an external
FTDI adapter.
By eliminating unnecessary ICs and using efficient power converters, the DIY ESP32 Board reduces both
power consumption
and
board size
, making it ideal for IoT nodes powered by small lithium-ion batteries.
Circuit Design & Schematic
Here is the
DIY ESP32 Board
schematic that can be powered by Battery. We are using the raw
ESP32-WROOM
Module as the controller. The board consists of a buck-boost converter for a stable
3.3 V output,
a
battery charging IC
for safe USB charging, and a simple battery sense circuit for monitoring.
Fig: Schematic for ESP32 Board for Battery Powered IoT Applications
A PROG header is used for programming via external FTDI, and the design avoids on-board USB-to-UART chips to save power and space. The rest of the sections are explained in detail.
Download:
Schematic PDF
Download:
Bill of Materials (BOM)
Download:
Pick & Place File
About ESP32-WROOM Module
ESP32-WROOM
is a powerful
Wi-Fi + Bluetooth
module from Espressif designed for
IoT applications
. The core of the module is the ESP32 SoC, a highly integrated dual-core
32-bit processor
with built-in wireless connectivity and rich peripheral support. It can function as a standalone microcontroller or be used to add
Wi-Fi
and
Bluetooth
capability to other systems. The module is compact, efficient, and suitable for both
low-power designs
and
high-performance
IoT projects.
Fig: ESP32-WROOM-32 Chip
ESP32-WROOM
offers enhanced performance compared to older ESP8266 modules, providing a dual-core CPU, higher clock speed, more GPIOs, and integrated Bluetooth support for BLE and Classic modes. It features
low-power modes
, fast wake-up, and on-chip power management, making it suitable for battery-operated devices.
Frequency Range: 2.412 – 2.484 GHz
CPU: Dual-core Tensilica Xtensa LX6, up to 240 MHz
RAM: 520 KB SRAM, with external flash support
Interfaces: SPI, I²C, I²S, UART, CAN, PWM, ADC, DAC, Touch sensor
Wireless: Wi-Fi 802.11 b/g/n + Bluetooth 4.2 (BR/EDR + BLE)
Security: WPA/WPA2, encryption with AES, SHA, RSA, ECC
Operating Voltage: 3.3 V
Maximum GPIO current: 12 mA typical
Deep sleep current: < 10 µA
Wake up and transmit packets in < 2 ms
Operating Temperature: -40 ºC to +125 ºC
Onboard PCB antenna and support for external antenna options
Buck-Boost Converter
Most of the ESP32 based boards use
linear regulators
like AMS1117, which are
inefficient
for battery powered applications. These regulators have a
large dropout voltage
and waste considerable power as heat, making them unsuitable when operating from a small Li-ion cell.
As an alternative, this design uses the
TPS63020
Buck-Boost Converter IC
, which can efficiently regulate the battery voltage to a stable
3.3V output
Fig: TPS63020 Buck-Boost Converter Schematic
The advantage of a buck-boost regulator is that it can both
step-down
and
step-up
the input voltage, ensuring the ESP32 receives a constant
3.3V
even when the battery voltage drops below 3.7V. The TPS63020 also has
high efficiency
and
low quiescent current
, which makes it ideal for
battery powered IoT devices
. This IC directly powers the ESP32 module and other circuits, maintaining reliable operation over the entire discharge range of the battery.
Battery Management & Charging
Since the device is powered by a
Lithium-Ion battery
, there is a need to charge and manage the battery safely. This task is performed by the
BQ24092D IC
. The BQ24092D is a highly integrated linear charge and power-path management controller designed for space-limited and portable applications. It supports a
constant-current/constant-voltage
charging algorithm with automatic preconditioning and
charge termination
Fig: BQ24092D Battery Charger Schematic
The IC can manage charging from a
USB source
while powering the system at the same time. It provides built-in safety features such as
thermal regulation
, current limiting, and over-voltage protection, making it reliable for battery-powered IoT applications. By using this charger IC, the board can efficiently
recharge the Li-ion cell
through the USB port while ensuring safe and
stable operation
of the ESP32 and other peripherals.
GPIOs & Power Pins
Since this board is designed for multiple
IoT applications
, you can connect
digital sensors
and
I²C devices
directly to the available GPIO pins. The GPIO output pins brought out are
IO5, IO18, IO19
, and
IO23
. Among them,
IO21 (SDA)
and
IO22 (SCL)
are dedicated for
I²C communication
The ESP32 module also includes ADC channels. In this design, the
battery voltage
is connected to I
O34
through a resistor divider (R11 & R12), allowing the ESP32 to measure the
battery voltage
and calculate the
battery percentage
Fig: ESP32 Battery Sensing Circuit
There is also a
header
provided in the circuit with multiple pins for power connections. Out of these, 3 pins supply
VCC (3.3V)
and the other 3 are
GND
, making it easy to connect external modules and sensors.
OLED Display (Optional)
The
OLED Display
is optional for this project. But you can use the OLED Display when you want to add a display to your IoT project. The Display that you can use here is the
SSD1306 0.96″ I2C OLED Display
This is how you can design your own Battery Powered
ESP32 Powered Board
for low power IoT applications.
Programming the ESP32 Chip
The above
circuit
also supports
automatic programming
. You just need an external
FTDI Module
to program the raw ESP32 chip. There is no need to press or release push buttons manually during the upload process. The programming is handled automatically by two transistors (Q1 and Q2), along with a few supporting components connected to the
EN
and
IO0
pins of the ESP32 module.
Fig: ESP32 Programmer Circuit
The
RTS
signal from the FTDI is used to reset the ESP32, while the
DTR
signal is used to pull the IO0 pin low, putting the chip into flash mode. Transistors
Q1
and
Q2
ensure proper level shifting and isolation so that the ESP32 is not held in reset when both signals are low. When an upload command is issued from the
Arduino IDE
or
esptool
, the ESP32 is automatically put into
programming mode
and a new sketch can be uploaded. In normal operation, when no upload is triggered, the ESP32 starts in
run mode
and executes the previously flashed program.
Project PCB Design, Gerber File & PCB Ordering Online
The above schematic is designed using
EasyEDA
, and it can be directly converted into a PCB layout.
Fig:

Technologies used

ESP32ESP8266ArduinoBluetoothBLESSD1306OLEDI2CSPIUARTPWMADC

Hardware components

  • ESP32
  • ESP8266
  • Arduino
  • SSD1306
  • OLED

Software & tools

  • Arduino IDE
  • EasyEDA

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.