Polaris Firmware Bootstrap
NORTHSTARSHOW SYSTEMS
Polaris Firmware Bootstrap
First-time USB flash procedure for Polaris nodes
| Document Number | Revision | Date | Platform Version |
|---|---|---|---|
| NSSS-DOC-0055 | A | 2026-05-20 | 1.0 |
Why USB First
A factory-fresh Arduino UNO R4 WiFi has no Polaris firmware. There is nothing on it that can listen for a Wi-Fi update. The first firmware load on every board must therefore happen via USB. After the first flash, the Polaris firmware includes an ArduinoOTA listener, and every subsequent update can be performed wirelessly via Cuemaster.
Procedure — Arduino IDE
- Connect the UNO R4 to the design machine with a USB-C cable.
- Open Arduino IDE 2.x.
- Tools → Board → Arduino Renesas UNO Boards → Arduino UNO R4 WiFi.
- Tools → Port → COMxx (Windows assigns automatically).
- File → Open → select the per-node .nsss.ino file produced by Compose's Export NorthLink firmware command.
- Sketch → Verify — confirms the sketch compiles.
- Sketch → Upload — about 15 seconds. The board reboots into Polaris firmware.
- Tools → Serial Monitor at 115200 baud — confirm the board joins TrueNorth Wi-Fi and registers with HelmOS.
Procedure — arduino-cli (scriptable)
# Compile a single .nsss.ino sketch
arduino-cli compile --fqbn arduino:renesas_uno:unor4wifi <sketch-dir>
# Identify the COM port
arduino-cli board list
# Upload
arduino-cli upload --fqbn arduino:renesas_uno:unor4wifi -p COM5 <sketch-dir>
Bulk Bootstrap
A simple shell loop plus a USB hub turns Polaris bootstrapping into a one-afternoon job for a 100-board venue. Pseudocode:
for sketch in exported-firmware/*.nsss/; do
read -p "Plug board for $sketch; press Enter when ready..."
PORT=$(arduino-cli board list | grep "UNO R4" | awk '{print $1}')
arduino-cli upload --fqbn arduino:renesas_uno:unor4wifi -p "$PORT" "$sketch"
done
Recovery — Bricked Board
If both flash banks become corrupted (rare; the dual-bank design typically prevents this), double-tap the reset button on the board to enter the Arduino bootloader. Then re-flash via USB.
After the First Flash
- The board joins TrueNorth Wi-Fi using credentials baked into the firmware
- Registers with HelmOS via HTTP POST /api/nodes/register
- Begins emitting UDP heartbeats every 5 seconds, including its current fw_version
- Opens an ArduinoOTA listener on TCP 65280 for future Wi-Fi updates
- Cuemaster's Nodes tab populates with the new board
Related Documents
- NSSS-DOC-0050Polaris Family Overview
- NSSS-DOC-0061Firmware OTA Update Guide
- NSSS-DOC-0074ArduinoOTA Integration
Revision History
| Revision | Date | Description |
|---|---|---|
| A | 2026-05-20 | Initial publication |