-
Notifications
You must be signed in to change notification settings - Fork 1
CLI Commands
Besides the Serial JSON Protocol, the firmware accepts plain-text commands on the USB serial console — type them in any serial terminal at 115200 baud, one per line, and press Enter. There are two families:
-
#Lxxdiagnostics — quick read-outs for SBUS and WCB health without the config tool. -
?-prefixed commands — record & replay control, direct Maestro drive and 2-way queries, forgetting learned WCB peers, and firmware OTA.
Both families run through the same command handler, so the exact same lines also work from the config tool's remote terminal over the WCB Network — see Remote Management over WCB. The #Lxx table below is not the whole CLI surface; the ? commands are documented further down.
Type the command and press Enter.
| Command | Does |
|---|---|
#L01 |
Print board identity (NaviCore — WCB HW 3.2). |
#L02 |
Restart the board. |
#L09 |
SBUS state dump — detected variant (16/24‑ch), frame count, fps, age, lost/failsafe flags, and the first 24 channel values. |
#L10 |
Toggle 1 Hz live SBUS dump on/off (repeats #L09 once a second). |
#L11 |
WCB status — this board's device ID, system quantity, and an up/down list of every known WCB. Peers auto‑discovered beyond the configured quantity are flagged with a trailing * (the output prints the legend (* = auto-discovered beyond quantity)). |
#L12 |
RC state — current mode, decoded matrix button, and raw matrix value. |
#L13 |
Raw SBUS frame hex dump — every byte with header/flags/footer annotated (shows whether CH17–24 carry data on an SBUS‑24 link). |
#L20 |
HCR test on S3 (GPIO15) — sends SetEmotion(Happy,80) straight to the port, bypassing config + button mapping. |
#L21 |
HCR test on S4 (GPIO17) — same, on S4. |
An unknown #L code prints Unknown #L code N. Valid: 1,2,9,10,11,12,13,20,21.
#L20 / #L21 drive the serial port directly — no config, no mapping in the way. So:
-
HCR reacts to
#L20but not to a mapped button → the problem is in config or mapping (HCR destination not saved, or the button isn't mapped to an HCR action), not the wiring. -
#L20does nothing either → it's wiring (TX/RX swapped, no common ground, 3V3 vs 5V level) or the aux‑serial port itself.
See WLED and HCR Audio for how HCR destinations are configured, and Troubleshooting for more.
These share the same console and remote terminal as the #Lxx codes. All are case‑insensitive.
Bench control for the Record & Replay engine — the same clips the config tool's Clips panel manages. See Record and Replay.
| Command | Does |
|---|---|
?REC,START |
Start recording a take (in the current function‑switch mode). |
?REC,STOP |
Stop recording, or abort an in‑progress replay. |
?REC,PLAY[,<name>] |
Replay the in‑RAM take, or load and replay a saved clip. |
?REC,SAVE[,<name>] |
Save the current take. No name → auto‑named rec_N. |
?REC,LOAD,<name> |
Load a saved clip into the buffer. |
?REC,LS |
List saved clips (and the clips‑partition free/used space). |
?REC,RM,<name> |
Delete a saved clip. |
?REC,RENAME,<from>,<to> |
Rename a saved clip. |
?REC,CLEAR |
Clear the in‑RAM buffer. |
?REC or ?REC,INFO
|
Print recorder status. |
The config tool's timeline editor also drives a set of machine‑facing
?REC,EDIT…transport commands (EDITLOAD/EDITBEGIN/EDITEV/EDITEND/EDITCANCEL). You don't type these by hand — the editor uses them to stream a clip out for editing and upload the result back.
Drive a Maestro channel directly (this is what powers the config tool's timeline scrub/preview) and read values back over the Pololu 2‑way protocol. Slots are logical Maestro slots 1–8; channels 0–31. See Maestro Setup.
| Command | Does |
|---|---|
?MAE,<slot>,<ch>,<pos> |
Set target on a channel — pos in quarter‑µs. |
?MAE,FREE,<slot>,<ch> |
Set speed and accel to 0 so the channel snaps straight to targets. |
?MAE,GET,<slot>,<ch> |
Get Position → [MAE:<slot>]{"q":"pos","ch":…,"val":…}. |
?MAE,MOVING,<slot> |
Get Moving State → [MAE:<slot>]{"q":"mov","val":0/1}. |
?MAE,ERR,<slot> |
Get Errors → [MAE:<slot>]{"q":"err","val":…} (clears the error flags on read). |
Query replies come back as compact [MAE:<slot>]{…} JSON markers. A local Maestro slot replies synchronously; a remote slot (on another WCB) replies asynchronously once the hosting board relays the answer back.
The WCB mesh auto‑learns peers that advertise themselves. These commands remove a learned peer from the runtime table and NVS. See WCB Network.
| Command | Does |
|---|---|
?FORGET,<id> |
Forget one learned peer — id 1–20. |
?FORGET,ALL |
Forget every learned (auto‑joined) peer. |
A malformed id prints the usage hint [WCB] usage: ?FORGET,<id 1-20> or ?FORGET,ALL.
?OTALOCAL,… and ?OTA,… carry firmware OTA updates. These are driven by the config tool rather than typed by hand — see Flashing the Firmware and Remote Management over WCB.
Any other ? line that isn't recognised prints Unknown command: ….
At power‑up the board prints its board profile, SBUS layout, WCB join status, and firmware version. Between these lines you'll also see memory/config/clips log lines; a representative run looks like:
=== NaviCore ===
[BOARD] WCB HW 3.2 pin profile
[SBUS] IN+OUT share Serial1/UART1 — RX GPIO5 / TX GPIO4, 100k 8E2 inverted. UART0 = hardware S3.
[WCB] Joined network as device ID 20 (quantity=4)
[NaviCore] Firmware v0.2.0_… — setup complete.
On WCB HW 3.2 both SBUS IN and OUT share one full‑duplex UART (UART1 / Serial1): RX on GPIO5, TX on GPIO4, 100k 8E2 inverted. That frees UART0 to serve as the hardware S3 aux port. (On the NaviCore v2 profile the same shared‑UART layout applies with SBUS RX/TX on GPIO4/GPIO5.)
If you see [WCB] ERROR: wcb->begin() failed — check WCB Network settings in GUI, check your WCB Network settings.
Next: Troubleshooting
See also: Record and Replay · Maestro Setup · Remote Management over WCB · Serial JSON Protocol
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