ESP32 Smart Battery Dashboard V1

Wiring Schematic

View full-size circuit ↗
LT

YOUR PROJECT LEARNING PATH

Build it with confidence.

Progress saves on this device
01

Project overview

Know what you’re building before you start wiring.

Build a wireless battery-monitoring system using an ESP32 for practical IoT and electronics learning. It measures battery voltage through an ADC input and monitors charging status while providing remote access through a responsive browser dashboard.

The dashboard displays estimated battery percentage, voltage, charging status, and animated battery graphics. Wi-Fi connectivity lets users view updated readings from phones or computers on the same network.

Before you power up

Never connect a battery directly to an ESP32 ADC pin. Keep divider output below 3.3 V and use battery protection.

PROJECT ROADMAP3 project stages
✓
Prepare your kitConfirm the components and tools
⌁
Assemble the circuitFollow the build steps in order
⌘
Upload and testCheck the output and resolve issues
Start the build
02

Components required

Gather these parts before you begin.

ESP32 Development BoardReads battery voltage and manages network requests and dashboard data.× 1
Battery or Power SupplyProvides the monitored voltage source for the measurement circuit.× 1
Voltage Divider ResistorsScale battery voltage down to a safe ADC measurement level.× 4
Charger Detection CircuitOutputs a compatible logic signal indicating charger connection status.× 1
BreadboardSupports circuit assembly and stable temporary component connections.× 1
Conecting WiresConnect the battery divider and detection circuit to ESP32 pins.× 10
USB CablePowers the ESP32 and uploads the monitoring firmware.× 1
03

Build the project

Work through one focused step at a time. You can revisit any step whenever you need.

STEP 010 / 5 complete
BUILD STAGE 0120% of guide

Prepare the Circuit and Shared Ground

Disconnect USB power and place the ESP32, breadboard, and monitoring components securely. Establish a shared ground rail for the ESP32, battery circuit, and compatible charging-detection hardware before connecting signal wires.

Connect ESP32 GND to the breadboard ground rail, and connect battery negative and detection-circuit ground to this same reference point.

1 of 5
04

Software & tools

Install these before uploading the firmware.

Arduino IDEEdits, compiles, and uploads the battery-monitoring firmware.
ESP32 Board PackageProvides ESP32 board definitions and required development libraries.
ESP32 Wi-Fi LibraryConnects the ESP32 to an existing wireless network.
ESP32 WebServer LibraryHosts the dashboard and serves battery data through HTTP requests.
USB Serial DriverEnables USB serial communication when your board requires a separate driver.
05

Expected output

Compare your build with the result described here.

FINAL CHECKPOINT

After uploading firmware, open Serial Monitor at 115200 baud and observe Wi-Fi messages. Once connected, the ESP32 prints its local IP address, which you can open on a device using the same network.

The dashboard displays battery voltage, estimated percentage, and charging status alongside an animated battery graphic. Readings refresh regularly, and charging animations respond to the detection input when configured correctly and connected properly.

06

Troubleshooting & fixes

Choose the issue that best matches what you’re seeing.

01Battery voltage readings or percentage appear incorrect
Try these checks

Verify the 2kΩ and 1kΩ resistor positions and divider calculation. Measure GPIO34 voltage with a multimeter, confirm it stays below 3.3 V, and adjust percentage calibration for your battery chemistry.

02ESP32 fails to connect to Wi-Fi
Try these checks

Check the network name and password, including capitalization. Confirm the network is available and within range, restart the board, and inspect Serial Monitor messages for connection errors or a missing IP address.

03Dashboard readings or charging status do not update
Try these checks

Confirm GPIO35 receives a valid digital signal from the detection circuit and shares ground with the ESP32. Check network access, browser refresh requests, JSON responses, and Serial Monitor readings.

Let’s get your project working.

When you contact us, include the project name and the step where you got stuck.

Get project support