Case study

PixelWall.nl

Een LED-informatiescherm voor thuis: vluchten, weer, P2000-meldingen en energie op één 128×64 pixel-paneel.

ESP32-S3 C++ firmware Laravel MQTT OTA-updates Home Assistant

De uitdaging

Wie thuis van alles wil volgen — welk vliegtuig er overkomt, of het straks gaat regenen, wat de brandweer in de buurt doet, of de zonnepanelen leveren — heeft daar al snel vijf apps voor nodig. Een LED-paneel aan de muur kan dat in één oogopslag laten zien, maar de bestaande panelen draaien op gesloten firmware met vaste functies, zonder updates en zonder koppelingen. Wij wilden een scherm waarop je zelf kiest wat er in beeld komt, dat zichzelf bijwerkt, en dat net zo makkelijk te installeren is als een gewoon apparaat.

Wat PixelWall doet

PixelWall maakt van een betaalbaar 128×64 HUB75 LED-paneel (aangestuurd door een Huidu HD-WF2 met ESP32-S3) een slim informatiescherm. Via pixelwall.nl kies je welke apps er om de beurt in beeld komen:

  • Vluchten — vliegtuigen en helikopters boven je scherm, met maatschappij, route, hoogte en snelheid
  • Vlucht volgen — op vluchtnummer en datum: vertrektijd, vertraging, gate, live positie en landing
  • Weer — nu, regen in de komende twee uur, verwachting per uur en per dag, met buienalarm
  • 112Radar — nieuwe P2000-meldingen verschijnen direct, via een koppeling met 112Radar
  • SlimHuys — live stroomschema van je huis: zonnepanelen, net, thuisbatterij en verbruik, met het tarief van vandaag via SlimHuys
  • Qmusic — wat er nu speelt, met hoesje, ook voor de themazenders
  • Klok — digitaal, analoog, in woorden of als wereldklok
  • Home Assistant — meldingen uit je eigen automatiseringen, zoals de deurbel of een klaar wasprogramma

Een scherm deel je eenvoudig met huisgenoten, de helderheid volgt een eigen schema, en de hele interface is beschikbaar in het Nederlands en Engels.

De techniek

De belangrijkste keuze: het scherm is een thin client. Alle logica, databronnen en opmaak zitten op de server; het paneel ontvangt een compacte scene in JSON en tekent die. Daardoor kunnen we nieuwe apps en verbeteringen uitrollen zonder dat er op het apparaat iets hoeft te veranderen, en blijft de firmware klein en stabiel.

Architectuur

  • Firmware — eigen C++-firmware (PlatformIO/Arduino) voor de ESP32-S3, met DMA-aansturing van het HUB75-paneel en eigen fonts met Nederlandse tekens
  • Laravel-backend — collectors en scheduler die vluchten, weer, P2000, energie en radio ophalen en per scherm scenes opbouwen
  • MQTT over TLS — scenes, status en events gaan via een eigen broker, met een apart account per apparaat
  • OTA-updates — nieuwe firmware wordt automatisch geïnstalleerd, met SHA-256-controle en automatische rollback als een update niet goed opstart
  • Installeren vanuit de browser — een kaal paneel flash je via pixelwall.nl/install met ESP Web Tools over Web Serial, zonder software te installeren
  • Lokale API — op het scherm zelf, voor de Home Assistant-integratie zonder cloud ertussen
  • Browser-preview — elke scene is ook pixel-exact in de browser te bekijken, handig bij het ontwerpen van apps

Interessante uitdagingen

Koppelen zonder gedoe

Een apparaat zonder toetsenbord moet je account kunnen vinden. Na de eerste start toont het paneel een koppelcode; die vul je in op pixelwall.nl/koppel en het scherm is van jou. Geen IP-adressen, geen configuratiebestanden. Elk scherm krijgt daarna eigen MQTT-inloggegevens, zodat een apparaat alleen bij zijn eigen berichten kan.

Updates die nooit een scherm mogen breken

Een apparaat dat bij iemand thuis aan de muur hangt, kun je niet even opnieuw flashen als een update misgaat. De firmware bevestigt een nieuwe versie daarom pas als die aantoonbaar werkt; lukt dat niet, dan valt het scherm automatisch terug op de vorige versie. Samen met een crashlog en een heartbeat met geheugen- en stackgegevens zien we problemen in de praktijk voordat gebruikers ze melden.

Realtime op een microcontroller

De ESP32-S3 doet tegelijk wifi, TLS, MQTT, een lokale webserver en het verversen van 8.192 pixels. We hebben de taken bewust over de twee processorkernen verdeeld, zodat een trage netwerkverbinding nooit het beeld laat haperen en de watchdog niet onnodig ingrijpt. Geheugen wordt bewaakt, omdat JSON-parsing en TLS samen veel vragen van een klein apparaat.

Veel databronnen, één consistent beeld

Vluchtdata komt uit meerdere ADS-B-bronnen met elkaars fallback, aangevuld met route- en toestelgegevens; het weer komt van Open-Meteo; P2000 en energie via onze eigen platforms 112Radar en SlimHuys. De backend normaliseert al die bronnen en bepaalt per scherm wat er in beeld komt. Urgente meldingen zoals P2000 onderbreken de rotatie, Home Assistant-meldingen komen daarna, en de gewone apps vullen de rest.

Home Assistant zonder cloud

Voor de open-source Home Assistant-integratie (installeerbaar via HACS) praat Home Assistant rechtstreeks met het scherm in het eigen netwerk. Het scherm wordt automatisch gevonden, en met een koppelsleutel uit pixelwall.nl stuur je meldingen met titel, icoon, kleur en duur, of bedien je helderheid en apps vanuit je automatiseringen.

Het resultaat

PixelWall is een compleet eigen product: van firmware op de chip tot webplatform en smart-home-integratie. Het brengt de data van 112Radar en SlimHuys naar de muur en laat zien hoe onze producten op elkaar aansluiten. Gebruikers installeren het scherm vanuit de browser, koppelen het met een code en krijgen daarna automatisch nieuwe functies en updates.

Wat dit project laat zien

  • Embedded ontwikkeling in C++ voor ESP32, inclusief realtime display-aansturing
  • IoT-architectuur met MQTT, TLS en per-apparaat-authenticatie
  • Veilige OTA-updates met verificatie en rollback
  • Laravel-backend met meerdere externe databronnen en scheduling
  • Browser-gebaseerde installatie via Web Serial
  • Home Assistant-integratie en HACS-publicatie
  • Productontwikkeling van hardware-keuze tot gebruikerservaring

Een IoT-product of koppeling laten bouwen?

Wil je een apparaat aan je platform koppelen, data van sensoren of schermen centraal beheren, of een eigen smart-home-integratie? Bekijk de API-integraties en webapplicatiepagina, of vraag direct een offerte aan.

Heb je een vergelijkbaar idee?

We bouwen graag jouw volgende product. Vertel ons over je plannen.