Polaris Firmware Bootstrap

NORTHSTARSHOW SYSTEMS

Polaris Firmware Bootstrap

First-time USB flash procedure for Polaris nodes

Document NumberRevisionDatePlatform Version
NSSS-DOC-0055A2026-05-201.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
  • NSSS-DOC-0050Polaris Family Overview
  • NSSS-DOC-0061Firmware OTA Update Guide
  • NSSS-DOC-0074ArduinoOTA Integration

Revision History

RevisionDateDescription
A2026-05-20Initial publication