Skip to content
SM
Tillbaka till alla projekt
2024 – presentIn production on multiple screens

Raspberry Pi Digital Signage Platform

Cloud-managed TV screens that boot straight into content, update remotely and survive network failures — built for restaurants, generalizable to any business.

~€40
one-time hardware cost per screen (vs €20–50/month SaaS)
30s
power-on to live content
<60s
content update propagation
24/7
unattended operation with auto-recovery

Problemet

Commercial signage solutions cost €20–50 per screen per month, lock content into proprietary CMSs and still fail when the internet drops. Small businesses need screens that just work: plug in power, content appears, prices always current.

Lösningen

A signage stack built on €40 Raspberry Pis: each Pi boots Raspberry Pi OS Lite into a Chromium kiosk session with no keyboard or desktop, loads its assigned screen URL and polls a central API for content. All management happens in a web dashboard — change a price, toggle a night surcharge, and every screen updates within a minute. A watchdog loop relaunches the browser on crash; cached content keeps screens alive through outages.

Arkitektur

Raspberry Pi Digital Signage Platform
editpoll 60spoll 60spoll 60son outageDashboardContent & pricingContent APIJSON · per-screen configDatabaseMenus · schedulesPi Kiosk #1Chromium fullscreenPi Kiosk #2Chromium fullscreenPi Kiosk #NAny site, any layoutLocal cacheOffline fallback
  • Boot chain: auto-login → startx → Openbox → Chromium kiosk, ~30 seconds from power to content.
  • Per-screen URL parameters (screen ID, branch) let one codebase drive unlimited layouts and locations.
  • Content API returns menu/pricing JSON; screens poll every 60 s and diff against cache.
  • Display hardening: screen blanking and DPMS disabled, cursor hidden, Chromium crash watchdog with 5 s relaunch.
  • Scheduling engine: time-window rules (e.g. night surcharge 22:00–06:00) evaluated client-side from server config.
  • Fleet operations: SSH-based remote management; new screens provisioned from a documented setup script.

Nyckelfunktioner

Zero-touch boot

Power on → fullscreen content in ~30 seconds. No keyboard, mouse or manual steps.

Remote content management

All screens follow the central dashboard; updates propagate in under a minute.

Time-based scheduling

Configurable time windows switch pricing and content automatically (e.g. night menus).

Failure resilience

Browser watchdog, cached data on network loss, automatic recovery when connectivity returns.

Multi-screen, multi-site

One platform drives different layouts per TV and per location via URL parameters.

Commodity hardware

Runs on Raspberry Pi 3B+; one Pi 4 can drive two screens via dual HDMI.

Teknikstack

Raspberry PiRaspberry Pi OS LiteChromium kioskOpenboxBashsystemd / boot automationHTML/CSS/JSREST APILinux

Lärdomar

  • Treat screens as cattle, not pets: a documented provisioning script makes replacing a failed Pi a 10-minute job.
  • Poll-based sync beats push for signage — it needs no inbound connectivity, no VPN and no static IPs.
  • The cheapest reliability wins: a while-loop watchdog around Chromium eliminated 100% of 'black screen' call-outs.

Nästa fallstudie

Cloud Infrastructure & IaC — OpenTofu on GCP