Hardware

Polaris

The field-deployable effect node. ESP32-S3 Wi-Fi with a single frozen HTTP API on port 80. Four variants — audio, video, GPIO, mixed — covering every effect a themed venue can throw at it.

ESP32-S3 2.4 GHz Wi-Fi 4 variants Frozen API
Request a Quote Read the Docs
A
Audio
V
Video
G
GPIO
X
Mixed
The four variants

One Hardware Platform, Four Personalities.

Every Polaris is the same ESP32-S3 module running the same NorthLink firmware. The only difference between variants is which outputs are populated on the daughterboard. That sameness means one spare unit on the shelf can replace any failure on-site.

A

Polaris A — Audio

2× 3.5 mm line out · 16 MB media flash

Stereo audio playback. Pre-stored audio files trigger by channel. Music beds, dialogue, stingers, and ambient loops.

V

Polaris V — Video

2× HDMI out · 16 MB media flash

Dual HDMI video playback. Frame-accurate. Pepper's ghosts, projection mapping plates, queue-line video walls.

G

Polaris G — GPIO

10× relay · 10 A @ 250 VAC

Ten mechanical relays. Lights, pneumatics, foggers, motors — anything with a contact closure. The workhorse of the lineup.

X

Polaris X — Mixed

12× configurable channels

Per-channel-configurable audio, video, or GPIO. One node for kitchens, finales, and any zone that mixes effect types.

Why this design

The Frozen API Is the Whole Point.

Polaris exposes one tiny HTTP API and we promise never to change it. A show authored against NorthLink 1.0.0 will run against NorthLink 9.9.9 unchanged. Forever.

Frozen HTTP API

GET /trigger?ch=N on port 80. That's the entire production contract. New capabilities arrive as new endpoints, never breaking changes.

Sub-200 ms Latency

From HelmOS HTTP call to first electron through a relay: typical 20–50 ms. Worst case under load: under 200 ms.

Cooldown Protection

Each channel has a per-effect cooldown. Misclicked sequences can't damage hardware — Polaris returns 429 and refuses to retrigger inside the window.

AP-Mode Fallback

If TrueNorth is unreachable for 60 seconds, Polaris broadcasts its own SSID. Connect a phone, reconfigure, reboot.

OTA Updates

Flash new firmware via Compose over the network. 30-second flash window. Always backed up by USB-C recovery.

Field-Replaceable

Hot-swap in 10 minutes. Power off, swap, re-reserve DHCP, fire-test channels. No show file changes. No HelmOS restart.

Specifications

Common Across Every Variant.

MCUESP32-S3 (dual-core 240 MHz, 8 MB PSRAM, 16 MB flash)
Wi-Fi802.11 b/g/n, 2.4 GHz only
Boot time~3 seconds power-on to ready
Power5 V DC, USB-C or screw terminal (1 A typical, 2.5 A peak)
Storage16 MB onboard flash for media (A / V variants)
Network IPDHCP from TrueNorth, pinned by MAC
HTTP port80 (HTTP only — no TLS on the air-gapped network)
Operating temp0 °C to 50 °C
Indicator LEDsPower (green), Wi-Fi (blue), Activity (amber)
Dimensions120 × 80 × 35 mm
The API contract

Two HTTP Calls. That's the Whole Production API.

Polaris does one thing: it fires effects when HelmOS tells it to. That contract is so small it fits on a sticky note — and so stable we've never had to change it.

This is by design. The frozen API is what lets us ship hardware that will outlast its show. The Polaris in your venue today will run a show authored in 2031 without a firmware update.

  • Fire channel N: GET /trigger?ch=N
  • Fire every channel: GET /trigger?ch=all
  • Force latch off: GET /trigger?ch=N&off=1
  • Get status: GET /status
  • Get device info: GET /info
$ curl http://10.0.0.11/trigger?ch=3
{
  "ok": true,
  "ch": 3,
  "mode": "pulse",
  "durationMs": 200
}

$ curl http://10.0.0.11/info
{
  "device": "POLARIS-A1B2C3",
  "model": "POLARIS-G",
  "firmware": "northlink-1.0.0",
  "channels": 10,
  "uptime": 14283,
  "wifi": {
    "ssid": "TRUENORTH",
    "rssi": -52
  }
}

Spec the right mix for your venue.

Most haunted attractions ship with a mix of G nodes for relays plus one or two A nodes for audio. Talk to us and we'll model your room map against the variants.