Reference build
One board, one switch, one afternoon.
The wiring is genuinely trivial — a switch between a pin and ground. Most of the work is mechanical: getting it into a box that survives being stood on.
Parts
What you need, in general terms
- An ESP32-C3 board — SuperMini Pro recommended, for the external antenna.
- A momentary SPST footswitch — normally open. The kind used in guitar pedals.
- An LED — a WS2812 gives you colour; a plain LED plus a 330 Ω resistor works.
- An enclosure — anything that takes a stomp. Metal helps it stay put.
- USB-C power — a phone charger or a USB power bank.
Board profiles and pins
The firmware ships three build profiles. Pick the one matching your board — the pin assignments are compiled in, so this table is the wiring diagram.
| Profile | Board | Footswitch | LED |
|---|---|---|---|
esp32c3-prorecommendedDefault. External U.FL antenna, which is why it is the recommended board for a room full of 2.4 GHz. | ESP32-C3 SuperMini Pro | GPIO 7 — normally open to ground | WS2812 RGB on GPIO 8 |
esp32c3Legacy wiring for boards already built to the older pinout. | ESP32-C3 DevKitM-1 / SuperMini | GPIO 5 — normally closed to ground | Plain LED on GPIO 8 |
esp32devNo Bluetooth build, so no app pairing and no Extended tier on this profile. | Classic ESP32 dev board | GPIO 5 | Plain LED on GPIO 2 |
Wiring
The switch shorts a pin to ground; the internal pull-up does the rest. There is no resistor, no debounce circuit and no level shifting to get wrong — debouncing is handled in firmware.
ESP32-C3 SuperMini Pro
GPIO 7 ──────────┐
│
[FOOTSWITCH] momentary, normally open
│
GND ──────────┘
GPIO 8 ────────── WS2812 DIN
3V3 ────────── WS2812 VCC
GND ────────── WS2812 GND
GPIO 9 ────────── BOOT button (already on the board)
held at power-on = Bluetooth pairing windowFlash it
git clone https://github.com/jan-beranek/pedal
cd pedal
npm install # builds the pedal's own web page
make deps
make flash ENV=esp32c3-pro PORT=/dev/tty.usbmodem1101First setup
It makes its own network
With no Wi-Fi stored, the pedal starts an access point called
pedal-XXXX. Join it from a phone or laptop and the setup page opens by itself.Give it your Wi-Fi
Enter your network details. It retries across three rounds before falling back to the access point, so a console that boots slower than the pedal is not a problem.
Point it at the console
Open
http://pedal-XXXX.localon the same network. Add your console's address — X32 on port 10023, Soundcraft Ui on port 80 — and it will connect and start caching state.Make your first mapping
Pick a template, choose a channel, save. The page confirms changes back from the device, so you can see it landed. Try one of the worked examples.
About "open hardware"
We are not claiming that phrase yet, because it would not be true. Open hardware means published, editable source files and an explicit licence — schematics and enclosure files that you can modify, not a photograph of a breadboard.
The wiring above is complete and accurate, and the firmware is on GitHub. The editable mechanical and electrical sources, and the licence they ship under, are not published yet. We will use the phrase when that is done.
Already have one working?
Copy it onto a blank board from your browser, no toolchain required.