-
Notifications
You must be signed in to change notification settings - Fork 1
WCB Network
NaviCore joins your WCB system over ESP‑NOW (no Wi‑Fi AP, no router — peer‑to‑peer). This is how it reaches remote Maestros, remote WCB boards, HCR/MP3 over WCB, and how the config tool's Via WCB bridge works.
The WCB network values are stored in the config file (/config.json on LittleFS) and editable from Config → WCB Network in the tool. The compile‑time values in wcb_config.h are only the factory defaults for a fresh board.
| Setting | What it is | How to find it |
|---|---|---|
| MAC octet 2 | 2nd octet of the shared WCB MAC scheme | query a WCB: ?WCBM
|
| MAC octet 3 | 3rd octet | ?WCBM |
| Password | ESP‑NOW network password (≤39 chars) | ?WCBP |
| WiFi channel | ESP‑NOW mesh channel (1–13); must match every WCB or the boards won't hear each other |
?WCBCH |
| Quantity | Pre‑registered floor of WCBs in the system — extra boards auto‑join over WDP without being counted here | ?WCBQ |
| Device ID | This controller's ID on the network | see below |
Query any WCB over its own USB serial port with
?WCBM,?WCBP,?WCBQ,?WCBCHto read the values your system already uses, then enter the same ones here.
By convention an RC controller claims device ID 20 — the WCB "special‑peer" slot. This keeps IDs 1–19 free for regular WCBs and gives the config tool's Via WCB bridge a single, known target (it always addresses the RC at ID 20). The field is editable for unusual multi‑controller setups, but leave it at 20 unless you have a reason not to.
⚠️ WCB network changes require a reboot. The WCB client initializes once at startup. Saving new credentials — including the WiFi channel — writes them to/config.jsonon LittleFS, but the running radio keeps using the old values until the board restarts. The tool shows a "dirty / needs reboot" indicator to reflect this — use REBOOT (or power‑cycle) after changing them.
Remote Maestros can be reached two ways.
Kyber broadcast (raw bytes). NaviCore sends one packet, every WCB receives it, and any WCB that has Kyber forwarding enabled (?KYBER,REMOTE, or ?KYBER,LOCAL,S<port>) and a Maestro port configured forwards the raw bytes to that Maestro serial port. Both are required on the receiving WCB — without them the broadcast is silently dropped. On this path there's no per‑slot WCB/port routing to set up on the NaviCore side.
WCB‑native (;M<dev>,verb). A remote Maestro slot can instead be driven with WCB‑native text verbs: NaviCore emits a ;M<dev>,<verb> ETM command that the hosting WCB runs against its own locally wired Maestro. A Via‑WCB Maestro action can target a specific WCB ID (unicast) or broadcast. This path also supports 2‑way query readback — getPosition, getMovingState, and getErrors come home over the mesh as :MQR,<id>,<chan>,<KIND>,<value> replies, which the skip‑if‑running gate and remote Read‑live consume. See Maestro Setup for slot setup.
Because a Maestro is addressed by its device number on both paths, every Maestro must have a unique Pololu device number (set in Maestro Control Center, and matched in the Maestro Locations panel). The device‑number filter is what stops every Maestro from reacting to every command. See Actions Reference.
-
HCR over WCB is unicast to one WCB ID (1–20). NaviCore sends it as an ETM
;Hcommand; the serial port is chosen on the receiving WCB via?HCR,PORT(not on NaviCore — the legacy port field is ignored by the firmware and no longer shown), and that WCB's HCR driver writes to its locally wired vocalizer. Broadcast isn't supported — an HCR vocalizer is a single device at a known WCB. -
MP3 over WCB is unicast to one WCB ID; that WCB's own MP3 driver (set up there via
?MP3,S<port>) does the serial work.
Set both destinations in their respective config tabs. See WLED and HCR Audio and Actions Reference.
NaviCore beacons lightweight telemetry on the WCB network so the config tool can discover and monitor it without a USB cable:
- a periodic heartbeat (~0.5 Hz) that always broadcasts — a low‑cost "I'm alive" presence beacon the tool (and the WCB Wizard's discovery) uses to find the RC even when nothing is listening,
- a higher‑rate channel snapshot (~20 Hz) for the live SBUS/PWM visualizer that is subscription‑gated: it streams only while a tool is actively live‑monitoring and stops ~15 s after the last inbound WCB message. The tool sends a periodic
PINGin Via WCB mode to keep the subscription alive; a direct‑USB‑only setup never starts the stream, so no airtime is wasted on networks where no one's listening, - event‑driven trigger and mode‑change notices the instant they happen.
When you enable Via WCB in the tool (while tethered to any WCB), it relays GET_CONFIG / SET_CONFIG / TRIGGER / monitoring to the RC at device ID 20. Big config payloads are fragmented to fit ESP‑NOW packets. Firmware flashing still requires direct USB. See Remote Management over WCB for the full bridge workflow.
- The tool's WCB Status panel polls which boards are online (
GET_WCB_STATUS). - The reply also tags temporary / management peers — a WCB that advertised the WDP
temporaryflag (a mesh/management relay) shows as · temp; these are live‑only and never persisted, so they drop off once their advert ages out. - It reports each board's per‑serial‑port device labels (ports 1–5, advertised over WDP) so the tool can name ports instead of showing plain Serial n. This travels on the USB path only; the Via‑WCB bridge's smaller frame can't carry it, so a bridged tool falls back to plain names.
- CLI
#L11prints the same up/down list over USB serial. See CLI Commands. - A failed network init at boot lights the status LED orange.
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