Hardware, Pinouts & Firmware Guide

Specifications, schematics, and pin maps for Seeed XIAO ESP32-C3 wireless remotes and the ESP32 DevKit V1 Base Station.

1. Seeed Studio XIAO ESP32-C3 (Wireless Remotes) ESP-NOW TRANSMITTER

The XIAO ESP32-C3 is 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.

Pin Mapping Table:

Button / Function XIAO Pin ESP32-C3 GPIO Wiring Instructions
Button A (Red) D0 GPIO 2 Switch Pin 1 to D0, Switch Pin 2 to GND (Internal Pullup)
Button B (Blue) 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
Battery (+) BAT+ Pad Bottom Pad Wire through SPST slide power switch to 3.7V battery (+)
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.

Remote Smart Features & Pairing Guide:

1. Auto-Pairing Sequence

Hold Button A for 2 seconds. The remote flashes cyan/white and sends a pairing burst. It instantly registers on the Host console and TV display with its assigned team color.

2. Soft-Glow Indicator

While waiting in the Lobby or between rounds, the remote's LED softly pulses its assigned player color. Pulsing pauses once the round begins.

3. Button Choice Feedback

Pressing an answer flashes the button's choice color for immediate visual confirmation:
A: Red • B: Blue • C: Yellow • D: Green

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 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