-
Notifications
You must be signed in to change notification settings - Fork 1
Hardware and Wiring
NaviCore runs on the Espressif ESP32‑S3, and one firmware image drives two different boards: the NaviCore v2 PCB (default) and the older WCB HW 3.2. The pin map is chosen at boot from a runtime board profile, so most GPIOs differ depending on which board you selected. This page covers both pin maps and how to wire the receiver and peripherals.
⚠️ Pick your board first. The pins below are only correct once the right profile is active. Set it in the config tool (Board selector → NaviCore v2 PCB or WCB HW 3.2), save, then reboot — pins are assigned only at boot, so a profile change takes effect on the next power‑up. Default is NaviCore v2. See Config Tool Guide.
Pins are runtime globals set by the firmware's applyBoardProfile() at boot from rcConfig.boardType. The Maestro bus, status LED, and UART roles are the same on both boards; SBUS IN/OUT swap and the three aux ports move.
| Function | UART / type | NaviCore v2 | WCB HW 3.2 | Notes |
|---|---|---|---|---|
| SBUS IN | Serial1 / UART1 RX | GPIO4 | GPIO5 | From RC receiver. 100k 8E2 inverted. Shares one full‑duplex UART1 with SBUS OUT. |
| SBUS OUT (passthrough) | Serial1 / UART1 TX | GPIO5 | GPIO4 | Re‑emits the received frame. Shares UART1 TX with SBUS IN. |
| Local Maestro | Serial2 / UART2 | TX GPIO6, RX GPIO7 | TX GPIO6, RX GPIO7 | Pololu Maestro command bus. Default 115200 baud. RX optional. |
| Aux serial S3 | Serial0 / UART0 (hardware) | TX GPIO8, RX GPIO9 | TX GPIO15, RX GPIO16 | Hardware UART — up to 115200 (e.g. WLED). v2 silkscreen "Serial 1" / WCB "Serial 3". |
| Aux serial S4 | SoftwareSerial | TX GPIO10, RX GPIO21 | TX GPIO17, RX GPIO18 | Bit‑banged, ≤57600 baud. v2 "Serial 2" / WCB "Serial 4". |
| Aux serial S5 | SoftwareSerial | TX GPIO38, RX GPIO47 | TX GPIO9, RX GPIO10 | Bit‑banged, ≤57600 baud. v2 "Serial 3" / WCB "Serial 5". |
| Status LED | onboard NeoPixel | GPIO48 | GPIO48 | Boot/run indicator. Same pin on both boards. |
| USB (debug + config tool) | native USB‑CDC | USB‑C | USB‑C | No UART consumed. 115200. |
The ESP32‑S3 has only three hardware UARTs (UART0/1/2). With the debug console on native USB‑CDC (no UART consumed), both current boards use the shared‑SBUS layout:
- UART1 / Serial1 → SBUS IN + OUT on one full‑duplex port (RX + TX, 100k 8E2 inverted). A byte‑tee re‑emits each received frame out the same UART's TX line.
- UART2 / Serial2 → local Maestro.
- UART0 / Serial0 → aux port S3 — freed up because SBUS IN and OUT now share UART1.
That leaves only S4 and S5 to be bit‑banged as SoftwareSerial (which is why they're capped at ~57600 baud). S3 is a real hardware UART, so it can run up to 115200 — the rate a WLED controller wants.
- Wire the receiver's SBUS signal to the SBUS‑IN pin for your board (GPIO4 on v2, GPIO5 on WCB 3.2), plus GND and the receiver's supply (per your receiver's spec — typically 5 V).
- SBUS is inverted UART at 100000 baud, 8E2 — the firmware handles inversion internally; just feed it the raw SBUS line.
-
16‑ and 24‑channel SBUS are auto‑detected (25‑byte vs 36‑byte frames). You'll see the detected variant in the config tool's monitor and via the
#L09/#L13CLI commands.
See Transmitter Setup for channel mapping and Failsafe and Signal Loss for what happens when SBUS drops.
- SBUS OUT re‑emits the exact channel data received, so you can daisy‑chain a downstream SBUS consumer (another controller, a servo decoder, etc.).
- It is not a separate port — on both boards SBUS OUT shares the UART1 TX line with SBUS IN (GPIO5 on v2, GPIO4 on WCB 3.2), 100k 8E2 inverted. Sharing the full‑duplex UART is what frees UART0 to become the hardware S3 aux port.
- The re‑emit is a byte‑for‑byte passthrough with negligible added latency.
- Connect the Pololu Maestro's RX to GPIO6 (NaviCore TX), and GND common. Both boards use GPIO6/GPIO7 for the Maestro.
- Default baud 115200. Each wired Maestro must either be set to that fixed baud in Maestro Control Center → Serial Settings, or be in Detect Baud Rate mode.
- NaviCore always speaks Pololu protocol (not compact), so every Maestro must have a unique device number (0–127) set in Maestro Control Center. This is what lets multiple Maestros share one bus (and the ESP‑NOW broadcast bus) without all responding to every command.
- Configure which logical Maestro (slot 1–8) is local vs remote, and its device number, in the config tool's Maestro Locations panel. See Maestro Setup and Actions Reference.
Three general‑purpose serial ports for:
- an HCR vocalizer (9600 baud),
- a SparkFun MP3 Trigger v2 (38400 baud),
- a WLED controller (115200 baud),
- or any device you drive with raw Serial actions.
S3 is a hardware UART (up to 115200); S4 and S5 are SoftwareSerial (keep ≤57600). All three are valid targets for a Serial action (S3 / S4 / S5) and as the destination for HCR, MP3, and WLED. Wire NaviCore TX → device RX, share GND, and set the matching baud in Config → Aux Serial. One port = one device = one baud.
🚀 WLED wants 115200, which only S3 (hardware UART0) drives reliably — put a WLED controller on S3, not S4/S5.
The config tool's baud pane labels these ports by your board's silkscreen: Serial 1/2/3 on NaviCore v2, S3/S4/S5 on WCB HW 3.2. See WLED and HCR Audio for the audio/lighting devices and Actions Reference for the Serial action.
Remote Maestros and WCB boards are reached over ESP‑NOW — there's no physical wire from NaviCore to them. NaviCore broadcasts Maestro bytes on the Kyber path; any WCB with Kyber_Remote enabled forwards them to its own Maestro port. See WCB Network.
- Power the board per your hardware's spec.
- The onboard NeoPixel (GPIO48 on both boards) shows boot/run state:
- Red — booting
- Steady orange — WCB network failed to initialize (latched fault; check WCB Network settings)
- Flashing orange — running, but no SBUS signal (receiver unplugged, transmitter off, or wiring fault)
- Steady dim blue — running normally (receiving SBUS)
- Brief cyan pulse — a new WCB peer was just detected on the network
Next: Flashing the Firmware · Transmitter Setup · See also: PCB Assembly and BOM
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