Systemen bouwen die werken in het veld
Op den Kamp IT Solutions is gevestigd in Landgraaf, Zuid-Limburg. De focus ligt op embedded systems engineering: software, firmware, hardware bring-up en de rest van de stack daaromheen. Het grootste deel van mijn ervaring zit in ProAV, broadcast en high-tech industriële systemen waar producten 24/7 jarenlang in het veld draaien, maar dezelfde aanpak past overal waar software lang mee moet.
Bij veel opdrachten is de firmware alleen het beginpunt. Control-protocols, frontends, unit-to-unit coördinatie, backend-integratie. Die lagen schrijf ik meestal ook.
Een langlopende ProAV-opdracht
Een van mijn langstlopende opdrachten is bij Pulse-Eight in het Verenigd Koninkrijk, fabrikant van ProAV-producten voor het custom-installer kanaal: HDMI-matrices, HDBaseT-distributie, AV-over-IP en audio-matrix versterkers. De producten gaan via professionele installateurs naar residentiële en commerciële AV-installaties, waar ze 24/7 jarenlang draaien. Een ongeplande reboot betekent een service-bezoek.
Sinds 2013 ben ik hoofdauteur van MatrixOS, het firmware-OS over de hele productlijn. Naast het firmware-werk doe ik schematic-review, waarbij ik issues signaleer die de hardware-engineer vóór fabricage kan aanpassen. Daarnaast ben ik het laatste escalatie-eindpunt voor customer support: issues die het reguliere team niet kan oplossen, komen bij mij. Dat schematic-review, firmware-ownership en field-escalatie bij één engineer liggen, vertaalt goed naar vergelijkbaar embedded-werk in andere markten.
De productlijn omvat zowel video als audio. Naast het AV-over-IP video-werk schrijf ik op dit moment de firmware voor de volgende generatie van de ProAmp8 matrix-versterker, diep in het audio-signaalpad: FPGA audio-crosspoint, ADC/DAC clock-distributie en de on-board DSP.
Bench-gedreven engineering, niet alleen code
Een aanzienlijk deel van het werk gebeurt aan een werkbank met een oscilloscoop, logic analyzer en multimeter, om uit te zoeken waarom de silicon niet overeenkomt met de datasheet. Ik breng boards op vanaf de eerste power-on, schrijf drivers vanuit datasheet-PDFs en leg de bus vast om te bevestigen dat de realiteit overeenkomt met de code.
Het werk loopt ook upstream van bring-up: schematic-review vóór fabricage, signal-integrity- en bus-loading-checks en een gestage stroom board-respins die voortkwamen uit problemen die in firmware bring-up naar boven kwamen.
Ik schreef ook de productielijn-testfixture firmware die tijdens board-productie draait. Dat is een andere discipline dan productfirmware, met eigen betrouwbaarheidseisen.
Tijdens het COVID-era chip-tekort, toen de primaire NXP MCU onverkrijgbaar werd, heb ik de hele firmware-familie geport naar TI TM4C als drop-in vervanging, met een parallelle BGA100 LPC-variant ernaast. Bench-zijde: met de hand SD-RAM op een TM4C dev-board gesoldeerd om te bewijzen dat de silicon de bestaande peripherals kon aansturen, daarna peripheral-compatibiliteit gevalideerd tegen een echt productboard vóór commitment. De productlijn bleef leveren tijdens de tekorten. Snel ingrijpend werk onder deadline-druk: moeilijk te plannen, maar waardevol op het moment dat het nodig is.
Mijn kantoor draait een productie-grade Pulse-Eight ProAV install op dezelfde schaal die ProAV-integrators voor hun eindklanten neerzetten. Een bewust gekozen referentie-opstelling, geen bench-rig. Dagelijks ermee werken betekent dat ik de veld-realiteit zie van elk product waar ik firmware voor schrijf. Dat voedt de engineering direct.
Open-source fundament
Ik ben de oorspronkelijke auteur en hoofdmaintainer van libCEC, de feitelijke open-source HDMI-CEC library. Het levert HDMI-CEC bus-access op commodity hardware in Kodi, LibreELEC en een lange staart van integrator-tooling wereldwijd. Het zit verpakt in vrijwel elke Linux-distributie. Ik leverde ook core-architectuur aan het Kodi-project zelf: het peripherals-subsysteem en het meerjarige PVR-werk dat onderdeel werd van mainline.
Die open-source basis is deels waarom commerciële klanten mij direct hebben ingehuurd. Eerdere directe opdrachten waren onder meer voor silicon-leveranciers, set-top-box fabrikanten, ProAV-fabrikanten, motorsport-teams en broadcasters. Datzelfde patroon is nu beschikbaar, en ik sta evenzeer open voor langere embedded-firmware opdrachten in andere markten.
Aangrenzende kennisgebieden
Naast de embedded-systems kern zijn dit gebieden waar ik in bouw, adviseer en architectureel meedenk — deels hands-on, deels advies, ook als de productie-code elders vandaan kwam:
Home automation: het inrichten en integreren van complete domotica-systemen op platformen als Home Assistant, KNX, Z-Wave, DMX / Art-Net en MQTT, het visualiseren ervan in eigen dashboards, control-apps en wandpanelen, en het schrijven van de integratie — de drivers en modules — wanneer er voor een stuk hardware nog geen bestaande integratie is.
Video-surveillance pipelines: Frigate, hardware-versnelde transcoding, IP-camera integratie.
Edge ML inference op microcontrollers: TensorFlow Lite.
Virtualisatie en infra-plumbing: QEMU/KVM, ZFS, Linux performance-tuning.
Moderne AI-development tooling: Claude Code, Cursor, Copilot, als productiviteitsversneller en als advies voor team-adoptie.
Bruikbaar wanneer een project in deze gebieden reikt naast het kern-engineeringwerk.
Beschikbaar voor
Naast bestaande opdrachten ben ik beschikbaar voor nieuw werk over de hele stack: embedded systemen en firmware in de diepte, de software eromheen en erachter — backend en server-side, control-protocols, frontends, CI en automated testing — en de AV- en home-automation-integratie die het vaak met elkaar verbindt. Hardware bring-up, custom protocol-ontwerp en bench-gedreven debuggen zijn waar de lastigste problemen meestal zitten, maar server-side en backend-development zit ook al jaren in mijn werk.
Het grootste deel van mijn ervaring zit in ProAV, broadcast en high-tech industrieel-embedded systemen, en dezelfde engineering werkt evengoed in consumer electronics, IoT, smart-home, motorsport-telemetrie en designer-hardware. Ik neem het aan als hands-on ontwikkelpartner én als consultant, afhankelijk van wat de opdracht vraagt.
Heeft u iets op de werkbank dat zou moeten werken maar niet werkt? Dat is precies waar ik het liefst over hoor.
Plan een kennismakingsgesprek →