Open FC V1_3 bring-up

Diagnostic firmware for the new dual-MCU prototype. Not the production protocol — see the panels below for what each subsystem needs to pass before trusting it. Flash both MCUs from the V1.3 flasher; procedure and wire protocol in the docs.

Field control (ports A + B)

The ported OpenFC-Smart session engine. Engage, wait for link/session on each port (power-cycle a stubborn controller while engaged), then command states. Driver/auton queue per port until its robot radio reaches field mode.

Legacy ports (RJ1-RJ4, unison)

One ENABLE/DISABLE + one DRIVER/AUT net drives all 4 legacy ports. Use the raw toggles first, with the board disconnected from anything that can move, to confirm which pin level means what on this hardware.

ED pin (ENABLE/DISABLE)
—
AD pin (DRIVER/AUT)
—

Smart port A

No captures yet.

Smart port B

No captures yet.

RP2350 link

RUN is held low (reset) at boot. Release it, give the RP2350 a moment to start its SPI-slave loop, then try the ping. To (re)flash the RP2350 use the V1.3 flasher at /flash/v1_3 — it releases RUN and programs the chip over the ESP32's SWD bridge.

run
—
boot_ctrl
—
irq
—
spi ping
—

Smart port C (via RP2350)

No captures yet.

Smart port D (via RP2350)

No captures yet.

Status LEDs

3x SK6812RGBW, level-shifted from GPIO8. Identify cycles all three through red/green/blue for 3s.

Wire log

Nothing yet. Events appear here as the board sends them.

Unlisted diagnostic page for unreleased hardware. Everything here drives the board directly. Legacy-port polarity is confirmed against a live V5 (2026-09-01); the RS-485 Smart ports' wire protocol is not — see the note on rs485_linktest in firmware-bringup-v1_3/esp32/src/main.cpp before assuming a failed link test means broken hardware.