-
Notifications
You must be signed in to change notification settings - Fork 1
Setup Guide
End‑to‑end: from a bare WCB board to a fully configured droid controller. This is the walkthrough — each step links to its detailed reference page for the deep dive. If you just want the tool reference, jump to Config Tool Guide.
New here? Read Home first for the one‑paragraph "how it works." The short version: your transmitter multiplexes its buttons onto one matrix SBUS channel; NaviCore decodes each frame, works out which button/tap/mode, and fires the actions you mapped — to Maestros, WCBs, HCR vocalizers, MP3 triggers, or raw serial.
| You need | Notes |
|---|---|
| WCB v3.2 board (ESP32‑S3) | The controller itself |
| FrSky radio + SBUS receiver | X18, X20, or Twin X‑Lite — see Transmitter Setup |
| USB‑C cable | For flashing and for the config tool |
| Chrome or Edge (desktop) | The config tool uses Web Serial — Firefox/Safari won't work |
| (optional) Pololu Maestro(s) | Servo control, local or remote — see Maestro Setup |
| (optional) Other WCBs, HCR vocalizer, MP3 trigger | Remote action targets |
- Flash the firmware
- Wire it up
- Set up your transmitter
- Open the config tool and connect
- Calibrate your controls
- Map buttons, switches, and knobs
- Set up Maestros (and the Kyber gotcha)
- Set up destinations & the WCB network
- Save to the board
- First light — test it
Flash the three firmware artifacts (app, bootloader, partition table) with the in‑browser flasher or esp‑flasher‑companion. Full details: Flashing the Firmware.
- A blank board needs all three — app‑only onto a blank board won't boot. The flasher handles this.
- On first boot the firmware initializes its config storage automatically (LittleFS — see step 9). Nothing extra to upload.


Connect the receiver's SBUS to the board, and wire any outputs (local Maestro bus, aux serial, SBUS passthrough, power). Pin map and wiring: Hardware and Wiring.
The single most important wire is SBUS in — everything keys off it.
Load the NaviCore model onto your FrSky radio so its buttons land on the matrix channel (default CH7) as discrete PWM bands, and its switches/knobs land on their own channels. Channel map and model files: Transmitter Setup.
In the config tool, set your radio under Config → Transmitter (X18 / X20 / Twin X‑Lite). This swaps the on‑screen graphic and the default channel/label set to match your hardware.

Everything is configured from the browser — no IDE, no app. Full tool reference: Config Tool Guide.
- Open
config_tool/index.html(locally or the hosted page) in Chrome/Edge. - Plug the board in over USB.
- Click Connect — a small modal offers three ways in:
| Option | What it does |
|---|---|
| 🔌 Connect via USB | Plug straight into a NaviCore over USB and pick its port. The normal path. |
| 📡 Via a WCB | Plug into a USB‑tethered WCB instead; commands relay over ESP‑NOW to the NaviCore at special‑peer slot 20. Slower, and can't flash firmware or calibrate — fine for editing. |
| 🔗 Shared port (across tabs) | Reuse the WCB port already open in your WCB Wizard tab — no second cable. Same‑origin tabs only; it relays through that WCB. |
For USB, pick the board's port in Chrome's Web Serial dialog.

On connect the tool reads the firmware version, pulls the current config, and starts the live monitor — every SBUS channel value, SBUS health (frames/sec, lost‑frame/failsafe flags, 16‑ vs 24‑channel), and the active control highlighted on the graphic.
Can't tether the controller? The Via a WCB and Shared port options both bridge over ESP‑NOW instead of a direct cable — handy for editing a board you can't reach. Neither can flash firmware or calibrate. See Connecting and Remote Management over WCB.

Config → 🎯 Calibrate RC walks you through each control on your model and captures its SBUS values for you (so the matrix button bands and switch/knob channels are exact).
- The wizard highlights one control and shows its live SBUS value.
- Press/move that control — it captures (with optional auto‑advance), or hit Force Capture.
- Next/Previous to step through; switches/knobs let you type the channel manually.
While the wizard is open, all action dispatch is muted, so nothing fires while you wiggle sticks. Calibration needs a direct USB connection (Via‑WCB channel data is too slow).


A mode switch (1/2/3) lets the same control do different things in each mode. Map a button, then switch the mode tab and map it again — three layouts on one set of controls.

- Click a button on the graphic to open its editor.
- Three tap tiers — single, double, triple — each with up to 5 actions (Actions Reference).
- Exclusive (only the matched tier fires) vs Cumulative (single → then double → then triple).
- The tap window (how long the board waits for more taps) defaults to 500 ms. A value below 100 ms would silently disable multi‑tap, so the firmware rejects it and resets the field to the 500 ms default.
- Test without the radio: Shift+Click = single · Shift+Ctrl+Click = double · Shift+Alt+Click = triple.

Each switch SA–SJ is 2‑ or 3‑position; assign its SBUS channel and per‑position actions. A switch fires when it changes to a position.

Analog sources — knobs S1/S2, sliders LS/RS/S3, gimbal axes J1–J6 — continuously map position to an output:
- Maestro Pass‑Through — drive a servo: pick a Maestro (1–8), its servo channel (0–31), and the target positions (quarter‑µs, e.g. 4000–8000) at the stick's min/max. One source can drive up to 10 outputs.
- HCR Volume — map position to an HCR audio channel's volume (0–99).
- Reverse inverts the source around center.
Analog sources dispatch every frame — keep the number of active outputs reasonable to avoid flooding the bus.


Pololu Maestros are addressed by their device number (set in Pololu Maestro Control Center). Full setup: Maestro Setup.
In Config → Maestro, each of the 8 slots has a location:
| Location | Where the bytes go |
|---|---|
| Disabled | Nothing (default) |
| Local (Serial2) | A Maestro wired to this board's Serial2 bus |
| Remote (broadcast) | Broadcast over the WCB ESP‑NOW network to a Maestro on another WCB |

A Remote Maestro command is broadcast over WCB. For the servos to actually move, the receiving WCB (the one wired to the Maestro) must be told to forward those broadcasts — it does not by default:
- On that WCB:
?KYBER,REMOTE(or?KYBER,LOCAL,Sxif Kyber + Maestro are on the same board). - Verify with
?KYBER,LIST— it must say Remote or Local, not "Not used." - Make sure a Maestro serial port is reserved on that WCB (
?MAESTRO), or rely on the Remote‑mode Serial1 fallback.
If a remote Maestro "does nothing," this is almost always why. See WCB Network.
- HCR and MP3 actions use a global destination (set once in Config → HCR / Config → MP3 Trigger), so every HCR/MP3 action shares one wiring. HCR functions (emotions, muse, WAV playback, volume, override) are in Actions Reference. Audio setup in depth: WLED and HCR Audio.
-
WLED actions are different — they route through a per‑id destination table (Config → WLED Lighting), up to 4 slots. Each slot pairs a WLED id (1–9) — the id your
;L<id>,VERBactions address — with either a Local aux serial port (S3/S4/S5) or a Remote WCB (the command is forwarded over ESP‑NOW). WLED wants 115200 baud, which only S3 (the hardware UART) drives reliably. See WLED and HCR Audio. - WCB Network (Config → WCB Network) sets the ESP‑NOW credentials, the mesh WiFi channel (1–13), and this controller's device ID. The channel must match every other WCB on the mesh — the ESP32 has one radio, so a mismatch leaves this RC silently unreachable. The RC always claims device ID 20. Network changes (credentials, channel, device ID) need a reboot to take effect. See WCB Network.



Save to Board sends the config (SET_CONFIG) and the firmware writes it to flash as a single /config.json file on LittleFS. The board replies with an ACK — the tool waits for it.
What changed (and what it means for you):
- No more per‑mode size wall. Older firmware stored config in NVS with a hard 4000‑byte‑per‑section limit that could silently drop a densely‑mapped mode. LittleFS removes that — config is one file, written atomically.
-
Your existing config carries over. The first boot after updating to the LittleFS firmware auto‑migrates your old NVS config; you'll see
migrated existing config: NVS -> LittleFSin the serial log, thenRC config loaded from LittleFS.on later boots. - Save big configs over USB. Practical ceilings: ~50 KB over USB, ~15 KB over the WCB bridge (the WCB fragmenter cap). Realistic configs are far under both, but if you push a huge one, use USB.
- Baud changes apply live (no reboot). WCB‑network changes need a reboot.
- Refresh re‑reads from the board · Restore Defaults resets · Export/Import for backup and cloning.
A failed save is now reported (
ACK ok:false) instead of silently dropping data, and the live config in RAM is never corrupted by a bad write.

- With the tool connected, shift‑click a few buttons to fire their mappings without touching the radio; watch the targets respond.
- Watch the live monitor highlight the control you move on the radio and light up the matrix button you press.
- Do a set → Save → Refresh on one setting to confirm it persists (it should round‑trip cleanly now).
- Power‑cycle the board and reconnect — your config should load from LittleFS unchanged.
If something's off, the Troubleshooting page covers the usual suspects.
With everything mapped, hit 📋 Cheat Sheet in the header to generate a printable card of what every button, tap, switch, and knob does in each mode. Save it as HTML or Save as PDF, flip between the command view and your own notes, or Share (QR) to pull it up on your phone at the field. Full builder: Cheat Sheet.
Export writes your whole config to a file; Import loads it back. Use it to back up before big changes, to clone a setup onto another board, or to move config across a partition change. The exported shape is documented in Configuration Schema.
| Symptom | First thing to check |
|---|---|
| No live monitor / "no SBUS" | Receiver SBUS wiring; SBUS health flags in the monitor |
| Port won't connect | Chrome/Edge only; close other apps holding the port; re‑plug native USB |
| Remote Maestro does nothing | Kyber forwarding on the receiving WCB (step 7); device numbers match |
| Double/triple tap does nothing | Tap window not too small; the multi‑tap tier actually has actions |
| Config "won't save" | Save over USB (not Via‑WCB) for big configs; watch for an ACK ok:false
|
| HCR silent | Global HCR destination + transport; over WCB the receiving board's HCR port |
Full details: Troubleshooting.
The walkthrough above is now illustrated. A handful more would round it out:
- Hardware photos — the WCB v3.2 board labeled (USB‑C OTG port, SBUS‑in, GPIO6 Maestro bus), the receiver→SBUS wire, and the GPIO0 4.7k pull‑up mod.
- Pololu Maestro Control Center — the device‑number / serial‑settings screen (see Maestro Setup).
- FrSky radio screens — the model's matrix mix and channel outputs on the radio (see Transmitter Setup).
NaviCore — Astromech Animation Controller · Home · WCB v3.2 / ESP32‑S3
Setup
- Setup Guide — start here
- PCB Assembly and BOM
- Hardware and Wiring
- Flashing the Firmware
- Transmitter Setup
- Connecting
- Config Tool Guide
- Maestro Setup
Reference
- Action Editor and Command Library
- Actions Reference
- WLED and HCR Audio
- Record and Replay
- Cheat Sheet
- Configuration Schema
- WCB Network
- Remote Management over WCB
- Serial JSON Protocol
- CLI Commands
- Failsafe and Signal Loss
- Glossary
Help