The physical operator panel. Five buttons, six LEDs, a key switch, an Arduino UNO R4 WiFi, and a USB cable to Helm. The only piece of Northstar your day-of staff ever touch.
The Bridge is built for the reality of seasonal staffing in themed entertainment. Operators are hired Friday and run the show Saturday. The UI is three buttons, two restricted controls, and six lights that mean what they look like they mean.
Green button. Transitions HelmOS from IDLE to RUNNING. Fires the boot sequence. Show LED begins to blink. Idempotent — safe to double-press.
Red button. Cuts off in-flight sequences. Effects stop where they are. Show LED goes solid (stopped state). Reset is required to clear.
Amber button. Returns to IDLE. Fires off=1 on every latched and held channel — clears stuck effects. Safe to press between groups.
A physical key switch. Engaged: pauses scheduled triggers, lights the Maintenance LED. Manual triggers still work — for safe testing during install.
Hardware-debounced 3-second hold. Restarts the HelmOS Windows service via NSSM. ~10 second outage. Last-resort recovery.
Power, Show, Network, Maintenance, Activity, Error. An operator who can read four colors knows everything about the show's state without asking anyone.
The Bridge protocol is small, human-readable, and stable. Stable enough that you can open a serial monitor and read it directly during diagnosis.
| Microcontroller | Arduino UNO R4 WiFi (Renesas RA4M1) |
|---|---|
| Transport | USB serial (CDC ACM) |
| Baud rate | 115200, 8N1 |
| Framing | Newline-delimited (\n), 7-bit ASCII |
| VID:PID | 2341:0070 |
| Power | USB-B from Helm — no separate supply |
| Max cable run | 5 m USB 2.0, or active extender for longer |
| Inputs | 5 momentary buttons + 1 key switch (all D2–D7, INPUT_PULLUP) |
| Outputs | 6 status LEDs (D8–D13) |
| Heartbeat | PING every 5 s, PONG reply, 15 s timeout |
| Boot identification | HELLO:BRIDGE:1.0.0 |
The Bridge speaks a handful of ASCII commands. Buttons send BTN: lines. The key switch sends KEY: lines. HelmOS replies with LED: commands. PING/PONG keeps the link alive.
When something is wrong with the Bridge, you don't need a logic analyzer. You open PuTTY, set 115200 baud, and watch the traffic. That's the whole debug story.
BTN:START, BTN:STOP, BTN:RESET, KEY:MAINT:ON, KEY:MAINT:OFF, BTN:SRVRESET, PINGLED:9:BLINK, LED:10:ON, LED:12:PULSE, PONGHELLO:BRIDGE: identifier.← HELLO:BRIDGE:1.0.0 → LED:8:ON → LED:10:ON ← PING → PONG // operator presses START ← BTN:START → LED:9:BLINK // activity during show → LED:12:PULSE → LED:12:PULSE ← BTN:STOP → LED:9:ON ← BTN:RESET → LED:9:OFF // maintenance work ← KEY:MAINT:ON → LED:11:ON
Mechanical click. No "did it register?" There is only one thing to press for STOP and you can find it without looking.
No tablet to charge, no app version mismatch, no PIN forgotten by the new employee. Buttons work or they don't.
The maintenance key is physical. There's no "guess the admin password" attack surface. The key lives in the tech locker.
Pulled USB? HelmOS continues running. Schedules fire. When you replug, the Bridge re-handshakes within 10 seconds and LEDs restore.
Every Helm ships with a Bridge in the same box. They are paired at imaging and serial-number tracked. Replacements ship same-day from Orlando.