Build a firmware image for your exact hardware and flash it over USB — no toolchain required.
Checking latest release…
1
Select Hardware
2
Connect & Flash
3
Done
Tell us about your build
These are compile-time hardware choices — pick the ones that match your droid. Everything else (WiFi, audio, buttons, gestures) is configured later through the web UI.
Check the label on your ESP32-S3 module (or your PCB order) for "N8R2" or "N16R8" — this can't be changed later without reflashing.
Whichever motor controller drives your legs.
Whichever motor controller spins your dome.
Enter bootloader mode
The ESP32-S3's USB port has no auto-reset circuitry, so you'll need to put it into bootloader mode by hand before connecting:
Plug the board in over USB, if it isn't already.
Hold the BOOT button.
Tap and release RESET (while still holding BOOT).
Release BOOT.
Click Connect below and select the board's serial port.
⚠ Before you flash
This installs fresh firmware and erases all saved settings on the board (WiFi credentials, config, calibration) — this is meant for first-time setup or a full reset, not an incremental update. Do not disconnect the board once flashing starts.
Preparing…
0%
Log
✓
Flash complete — your board is rebooting into the new firmware.
Next steps
Once the board reboots, it broadcasts its own WiFi access point — connect to it and open the web UI to finish setup (WiFi, audio, buttons, gestures, and more).
Migrating an existing Stealth RC or OG Amidala config? Use the Config Converter to bring your old settings forward.