Complete wiring reference for the Phase 1 prototype
System Diagram
How all four components connect together.
Power (red)
Ground (black)
Clock (orange)
Word Select (yellow)
Data (green)
Connection 1: Battery + Charger
Battery → TP4056 (Soldered)
The LiPo battery wires are soldered directly to the TP4056 charging board pads.
Battery Wire
TP4056 Pad
Notes
Red (+)
B+
Solder to pad — JST connector doesn't fit
Black (-)
B-
Solder to pad
Polarity matters! Red to B+, black to B-. Reversing this can fry the ESP32-CAM (we learned this the hard way).
LED indicators: Red = charging, Blue = fully charged. Both on = loose connection.
Connection 2: Charger → ESP32-CAM
TP4056 → ESP32-CAM (Soldered jumper wires)
Jumper wires are soldered to the TP4056 OUT pads, then plugged into the ESP32-CAM pins.
TP4056 Pad
ESP32-CAM Pin
Notes
OUT+
3V3
Use 3.3V, NOT 5V — LiPo outputs ~3.7V
OUT-
GND
Any GND pin works
Why 3V3 not 5V? The LiPo battery outputs 3.0-4.2V. The 5V pin's voltage regulator needs >4.5V input. Feeding 3.7V to the 3.3V pin works because it bypasses the regulator and the ESP32 runs on 3.3V natively.
Connection 3: Camera
OV2640 Camera Module → ESP32-CAM
The camera connects via a ribbon cable to the white connector on the ESP32-CAM board.
Lift the brown/black clip on the connector (gently pull up)
Slide the ribbon cable in — gold contacts face the board (down)
Push the clip back down to lock it in place
Do NOT insert a microSD card while using GPIO 13, 14, 15 for the microphone — these pins are shared with the SD card slot.
Connection 4: Microphone
INMP441 → ESP32-CAM (Jumper wires via breadboard)
The INMP441 is a digital I2S microphone. It needs 5 wires to the ESP32-CAM plus one self-connection.
INMP441 Pin
Wire Color
ESP32-CAM Pin
Purpose
VDD
Red
3V3
Power (shared via breadboard rail)
GND
Black
GND
Ground (shared via breadboard rail)
SCK
Orange
IO14
Clock — ESP32 sends timing pulses
WS
Yellow
IO15
Word Select — tells mic when to send data
SD
Green
IO13
Serial Data — actual audio signal
L/R
Black
GND
Tied to GND = left channel (just a setting)
Sharing 3V3: Since 3V3 is already used for power, use a breadboard — run 3V3 to the + rail, then connect both the TP4056 OUT+ and the mic VDD to that rail.
Flashing Firmware
USB-to-Serial → ESP32-CAM (Temporary for programming)
Only needed when uploading new firmware. Disconnect battery power first or use the USB-to-serial for data only (GND + TXD + RXD, no 5V).
USB-to-Serial
ESP32-CAM
5V
5V (only if not using battery)
GND
GND
TXD
UOR (GPIO 3)
RXD
UOT (GPIO 1)
To enter flash mode: Connect IO0 → GND, then press reset or re-power the board.
To run normally: Remove the IO0 → GND wire, then press reset.