Programmable network architecture

From CMS to pixel —
open and auditable.

Three layers, every component replaceable. Open-source where it's available, industry-standard where it isn't — so any layer can be swapped without swapping the screen.

Cloud
Schedule · telemetry · triggers
Edge
Playback · cache · sensors
Screen
Controller · LED cabinets
≤ 5 Mbps
Sustained WAN per site
Explore the stack
Open-source player · variants

One open stack.
Many hardware paths to pixel.

Every BrightSpot install runs the same open playback layer — HTML5 / SMIL / WebRTC on balenaOS — but you pick the engine that fits the budget, the form factor, and the warranty story. The CMS doesn't care which one you choose. Swap any of them out without swapping the screen.

RK3588 8-CORE · 8K AV1 ROCKCHIP · FANLESS
Edge engine · 2 / 4

Rockchip RK35888-core · 8K AV1 decode · NPU 6 TOPS

For 8K product launches, broadcast walls, and AV1-encoded campaigns. Fanless. Higher cost, but two HDMI streams + 4K NDI ingest in one box.

Output2× HDMI 2.1 Decode8K30 AV1 Power12 V · 3 A CostR 6 800 ex.
OSSbalenaOSNDI
LS445 HDMI-CEC · POE+ BRIGHTSIGN · APPLIANCE
Edge engine · 3 / 4

BrightSign LS445Appliance · CEC · PoE+ · SOC2

For fleets where vendor-warranty and zero-touch deploys matter more than openness. HDMI-CEC display control, PoE+, BrightAuthor:connected CMS native.

Output1× HDMI 2.0 Decode4K60 H.265 PowerPoE+ · 25 W CostR 11 400 ex.
STDBrightAuthorPoE+
x86 INTEL NUC · MULTI-OUT
Edge engine · 4 / 4

Intel NUC · i5x86 · 4× DisplayPort · Linux/Win11

For multi-display walls, video-wall processors, and broadcast graphics. Four synced outputs, full GPU acceleration, runs anything the operator wants on it.

Output4× DP 1.4 Decode4K120 / multi Power19 V · 65 W CostR 18 500 ex.
STDbalenaOS4×4K
Same stack across all four balenaOS image HTML5 / SMIL playback MQTT triggers WireGuard tunnel Telegraf telemetry 256 GB offline cache
Programmable · time-of-day · engagement

The screen reads the clock.
The clock reads the audience.

Every BrightSpot install ships with a dayparting engine — the same logic broadcast TV uses to stack ads, but per-screen and triggered by real sensors. Brightness, slot length, and content category all shift with the audience curve that the screen actually exists to move: opportunity-to-see, dwell, recall, conversion.

24-hour programme · weekday default JHB · screen-id 042
Brightness
30 % · dark-sky
70 % · auto-dim
90 %
70 %
30 %
Slot length
60 s loops
30 s slots
15 s
30 s slots
Playlist
Civic · safety
Narrative
POS · trigger
Narrative
Peak stack
Narrative
Civic
Triggers
PIR
RAIN
POS
BLE
LUX
000306091215182124
×3.4
Peak vs off-peak OTS
14.6 s
Avg dwell · peak
82 %
SLA uptime · 90 days

Industry metrics, on a schedule.

DOOH measurement is no longer hand-wavy. ROUTE, COMMB, OOH-OS and Geopath all measure on the same vocabulary — opportunity-to-see, dwell, recall — and that vocabulary maps directly to time-of-day. BrightSpot wires the screen, the network, the CMS and the sensors to that map.

Peak-hour pricing & pacing

17:00–19:00 weekday peak runs 15-second slots at 90 % brightness with the highest-CPM content. Off-peak collapses to 60-second loops at 30 % — civic content, dark-sky compliant.

Audience-curve aware

Schedule template tuned to South African footfall curves: morning commute (06:30–08:30), lunch (11:30–14:00), home-time peak (17:00–19:30), late spike on event nights.

Sensor-triggered overrides

PIR · weather · POS · BLE · lux — any of these can override the scheduled slot. A rain alert across Sandton can flip 200 screens to weather copy in under 4 seconds via MQTT.

Bylaw-aware curfews

Provincial signage bylaws differ — Gauteng / Western Cape / KZN each have separate dwell, flash-rate and brightness rules. Schedule profiles are signed at install and enforced per-screen.

Focus layer Tap any node in the diagram for details

Architecture overview

Click any node to inspect it. Connection lines show live data flow — the actual protocols that carry between layers in production.

Cloud Edge Screen Click a node →
CLOUD EDGE SCREEN CMS Xibo · Screenly BrightAuthor:connected scheduling · proof-of-play MQTT broker EMQX · Mosquitto trigger bus · low-latency Programmatic SSP Vistar · Broadsign · Hivestack optional · ad-supported Telemetry Telegraf · InfluxDB · Grafana temp · power · uptime Local cache 256 GB SSD 30-day buffer · offline-tolerant EDGE MEDIA PLAYER Raspberry Pi 5 · RK3588 · BrightSign balenaOS · HTML5 / SMIL WebRTC ingest · WireGuard 256GB cache · auto-failover Sensors / triggers PIR · weather · BLE · POS over MQTT LED CONTROLLER Novastar · Colorlight LED CABINETS · daisy chain P1.5 / P2.5 / P3.9 / P6 / P10 MQTT 8883 · HTTPS · WebRTC HDMI 2.1 / DP 1.4 CAT6A · OM3 fiber

Stack reference

Every label is replaceable. OSS open-source · STD industry-standard · BS BrightSpot-specified.

SCHEDULE
Cloud · CMS
Xibo / Screenly OSE
OSS Schedule layouts, manage users, store proof-of-play. AGPL / open-core.
MQTT
Cloud · trigger bus
EMQX / Mosquitto
OSS MQTT 5.0 broker. TLS-mutual auth, ACL per screen.
TEMP · POWER · FPS
Cloud · telemetry
Telegraf → InfluxDB → Grafana
OSS Per-screen temp, power, frame-rate, uptime. SLO alerting.
OS OTA
Edge · OS
balenaOS
OSS Container-native, OTA-updatable. Runs Pi 5, RK3588, x86.
RASPBERRY PI 5 SOC
Edge · player
Raspberry Pi 5 · Rockchip RK3588
STD 4K60 HDR. BrightSign LS445 for HDMI-CEC fleets.
<video autoplay muted />
Edge · runtime
HTML5 / SMIL · WebRTC
OSS Open playback. Drop in your own player container if needed.
NOVASTAR · MCTRL LIVE
Screen · controller
Novastar MCTRL · Colorlight Z6
STD Hot-swappable. Fault-detection over network.
P2.5 · 800 NITS
Screen · cabinet
P1.5 → P10 · common cathode
BS Specified per environment. See environments.html.
SERVICE KIT PSU 4-HR NATIONAL SLA
Screen · service tools
Front-service modules · spare PSU on truck
BS 4-hour SLA nationally on service plan.

Protocols & ports

LayerProtocolPortDirectionPurpose
Cloud → EdgeHTTPS / REST443Edge → CloudPull schedules, content, OTA
Cloud ↔ EdgeMQTT 5.0 over TLS8883Bi-directionalTriggers, sensor events, commands
Cloud ↔ EdgeWireGuard51820/UDPBi-directionalOperator remote management
Edge → CloudInfluxDB line protocol443 (HTTPS)Edge → CloudTelemetry push
Edge → ScreenHDMI 2.1 / DisplayPort 1.4One-wayPixel data
Edge → ScreenRS-485 / EthernetBi-directionalBrightness, scaler, fault
Screen ↔ CabinetsCAT6A / OM3 fiberDaisy chainScan-line / video

Bandwidth & resilience

Bandwidth budget

Edge plays from local cache; the WAN link only carries scheduling, telemetry and triggers. Typical site: ≤ 5 Mbps sustained, with content sync windowed off-peak.

Failure modes

WAN drop → edge keeps playing scheduled loop from cache. Controller fault → backup signal path engaged. Cabinet PSU fault → hot-spare or cabinet swap (front-service). MQTT broker down → triggers gracefully degrade to schedule-only.

Security posture

Mutual-TLS on MQTT and HTTPS. Per-screen credentials, no shared secrets. WireGuard tunnel for operator access — no inbound ports open on edge. OS image signed; OTA updates require operator approval. Telemetry stripped of PII. ICASA-compliant for spectrum on any wireless link used.