๐Ÿ› ๏ธ Hardware, Pinouts & Firmware Guide

Everything you need to build, wire, power, and flash your 8 XIAO ESP32-C3 remotes and ESP32 DevKit V1 Base Station.

๐Ÿ“ฑ 1. Seeed Studio XIAO ESP32-C3 (Kid Remotes 1โ€“8) ESP-NOW TRANSMITTER

The XIAO ESP32-C3 is ultra-compact (21ร—17.5mm), has built-in LiPo/Li-Ion USB-C charging circuitry, and enters a ~44ยตA deep sleep state that wakes up instantly when any button is pressed.

๐Ÿ“Œ Exact Pin Mapping Table:

Button / Function XIAO Pin ESP32-C3 GPIO Wiring Instructions
Button A (Red / True) D0 GPIO 2 Switch Pin 1 to D0, Switch Pin 2 to GND (Internal Pullup)
Button B (Blue / False) D1 GPIO 3 Switch Pin 1 to D1, Switch Pin 2 to GND (Internal Pullup)
Button C (Yellow) D2 GPIO 4 Switch Pin 1 to D2, Switch Pin 2 to GND (Internal Pullup)
Button D (Green) D3 GPIO 5 Switch Pin 1 to D3, Switch Pin 2 to GND (Internal Pullup)
Status LED / NeoPixel D4 GPIO 6 NeoPixel DIN or standard LED Anode (+) through 220ฮฉ resistor to GND
Common Ground GND GND Connect ground return of all 4 button switches here
18650 / LiPo Battery (+) BAT+ Pad Bottom Pad Wire through SPST slide power switch to 3.7V battery (+)
18650 / LiPo Battery (-) BAT- Pad Bottom Pad Wire directly to 3.7V battery (-)
โšก Flashing Note: Change #define REMOTE_ID 1 to 2, 3, ... 8 for each remote before uploading via Arduino IDE (Board: XIAO_ESP32C3) or PlatformIO.
๐Ÿ“ป 2. ESP32 DevKit V1 Base Station Hub ESP-NOW HUB / WEBSERIAL

The Base Station connects via standard USB to your laptop or presentation PC. It listens for sub-millisecond ESP-NOW bursts, resolves fastest buzzes, sends confirmation packets back to remotes, and streams JSON data to the host browser.

Function DevKit V1 Pin Description
USB Serial Micro-USB Port 115200 baud WebSerial stream to Chrome/Edge
Activity Blue LED GPIO 2 Onboard LED, blinks on packet reception
Piezo Buzzer (Optional) GPIO 25 Positive lead to GPIO 25, negative to GND
Manual Reset Button GPIO 0 (BOOT) Press onboard boot button to open/lock buzzers without laptop