Firmware die je apparaat jaren achter elkaar laat doen wat het moet.

Firmware die stabiel draait op je eigen printplaat, veilig bij te werken is als het apparaat al bij de klant staat, en waarvan de broncode van jou is.

Plan een gratis intake

Je hebt een apparaat bedacht, of je hebt er al een. Een sensor die in een kas hangt, een besturing in een machine, een kastje in de meterkast van je klant. De hardware werkt op de werkbank. Maar de code erop is gegroeid uit voorbeeldcode van de chipfabrikant en niemand durft er meer aan te komen. Af en toe loopt het apparaat vast en moet iemand langs om de stekker eruit te trekken. Wij schrijven de firmware die je apparaat betrouwbaar laat doen wat het moet, jaren achter elkaar.

Waarom voorbeeldcode geen product is

Elke microcontroller komt met voorbeeldcode. Die is bedoeld om te laten zien dat de chip werkt, niet om vijf jaar in een vochtige schuur te draaien. Er zit geen foutafhandeling in, geen watchdog en geen manier om te zien wat er misging als het apparaat midden in de nacht is gestopt. Zolang je één prototype op je bureau hebt, merk je daar weinig van. Zodra er honderd bij klanten staan, wordt elke vastloper een rit met de auto.

Wij bouwen firmware zoals we software bouwen: met een duidelijke structuur, met tests en met logregels die je later ook echt kunt lezen. De aansturing van de hardware zit in een aparte laag, zodat een andere sensor of een nieuwe printplaat niet betekent dat alles opnieuw moet. We kiezen bewust tussen een kale lus, een klein besturingssysteem of Linux op een module, afhankelijk van wat het apparaat moet doen en hoeveel stroom het mag verbruiken.

Van schema naar draaiende firmware in tien dagen

We beginnen bij wat het apparaat in de praktijk moet doen, niet bij de chip. Welke sensoren lees je uit, hoe vaak, wat gebeurt er bij een stroomstoring en wat moet het apparaat nog kunnen als het netwerk wegvalt. Daarna kijken we naar het schema en de printplaat. Bestaat die nog niet, dan werken we op een ontwikkelbord met dezelfde microcontroller en schuiven we aan bij PCB & elektronica, zodat wat we in de software ontdekken nog in het ontwerp terechtkomt.

Binnen tien werkdagen draait er een eerste versie die de kern van het apparaat doet: meten, sturen, opslaan of versturen. Geen afgewerkt product, maar iets wat je in je eigen opstelling kunt laten draaien. Je ziet direct of het gedrag klopt en waar het wringt. Vanuit die versie bouwen we verder, functie voor functie, en gooien we weg wat niet nodig blijkt.

Updates, tests en het veld

Een apparaat dat bij een klant staat, kun je niet even opnieuw opstarten. Daarom bouwen we vanaf het begin een bootloader in die een nieuwe versie eerst controleert en terugvalt op de vorige als de nieuwe niet opstart. Zit het apparaat aan een netwerk, dan gaan updates op afstand, in lijn met wat we bij IoT-apparaten & sensoren opzetten. Zit het los, dan via een kabel of een geheugenkaart die een monteur meeneemt.

Testen doen we niet alleen door te kijken of het lampje brandt. We zetten een opstelling neer die de firmware automatisch door de belangrijkste situaties heen jaagt: sensor valt weg, voeding dipt, geheugen loopt vol. Voor een groter product groeit dat uit tot een echte Test- & meetopstelling. En omdat we weten wat een keuring later vraagt, houden we bij het schrijven al rekening met de eisen van CE- & EMC-certificering, zoals het gedrag na een reset of een storing op de voeding.

De code en de buildomgeving zijn van jou

Firmware die alleen op de laptop van één ontwikkelaar compileert, is een risico voor je bedrijf. Wij leveren de broncode, de complete buildomgeving en de documentatie van de architectuur en de hardware-aansturing. Iedereen die na ons komt, kan de code bouwen en begrijpen. Je zit niet vast aan ons, niet aan één specifieke ontwikkelomgeving en niet aan een leverancier die zijn licentiemodel verandert.

Wil je later meer? Beeldherkenning of een klein taalmodel op het apparaat zelf regelen we via Edge AI. Een tweede printplaat, een andere sensor, een nieuwe klantwens: de structuur is er al op ingericht. En bestaat het apparaat nog helemaal niet, dan beginnen we samen met Hardware-prototyping en groeit de firmware mee met elke versie van de hardware.

01, RESULTAAT

Firmware die draait op je eigen microcontroller of printplaat
Een bootloader met veilige updates in het veld
Geautomatiseerde tests op een testopstelling
Documentatie van de architectuur en de hardware-aansturing
Broncode en buildomgeving waar jij de eigenaar van bent

Procesdiagram

ProcesdiagramProcesdiagram: Voorbeeldcode van de chipfabrikant → Vastlopers bij de klant → Firmware op maat. Knelpunt: Vastlopers bij de klant. Geoptimaliseerd: Stabiel apparaat met veilige updates.MCONTROLEVoorbeeldcode van dechipfabrikantKNELPUNTVastlopers bij deklantFirmware op maatStabiel apparaat metveilige updatesProcesdiagramProcesdiagram: Voorbeeldcode van de chipfabrikant → Vastlopers bij de klant → Firmware op maat. Knelpunt: Vastlopers bij de klant. Geoptimaliseerd: Stabiel apparaat met veilige updates.MCONTROLEVoorbeeldcode van dechipfabrikantKNELPUNTVastlopers bij de klantStabiel apparaat met veiligeupdatesFirmware op maat

02, WERKWIJZE

  1. We kijken naar je hardware, je schema en wat het apparaat in de praktijk moet doen.

  2. We bepalen samen welke microcontroller, welk besturingssysteem en welke updatestrategie passen.

  3. We bouwen binnen tien werkdagen een eerste versie die op je eigen printplaat of een ontwikkelbord draait.

  4. Je test die versie in je eigen opstelling terwijl wij de meetwaarden en foutlogs meelezen.

  5. We werken de firmware af met geautomatiseerde tests, documentatie en een veilige manier om te updaten.

VEELGESTELDE VRAGEN

Veelgestelde vragen

Onze printplaat bestaat nog niet, kunnen jullie dan al beginnen?

Ja. We beginnen dan op een ontwikkelbord met dezelfde microcontroller, zodat de firmware klaar is als de eerste printplaat uit PCB & elektronica komt. Vaak ontwerpen we beide tegelijk, zodat wat we in de software ontdekken nog in het schema terechtkomt.

Kunnen jullie verder werken aan firmware die iemand anders heeft geschreven?

Meestal wel. We lezen de code, zetten hem in een buildomgeving die op elke machine werkt en leggen vast wat er precies gebeurt. Is de code onbruikbaar of ontbreekt de broncode helemaal, dan vertellen we je dat direct.

Hoe werkt een update als het apparaat al bij de klant staat?

We bouwen een bootloader in die een nieuwe versie eerst controleert en terugvalt op de vorige als de nieuwe niet opstart. Zit het apparaat aan een netwerk, dan sluit dat aan op wat we bij IoT-apparaten & sensoren opzetten. Zit het los, dan gaat het via een kabel of een geheugenkaart.

Plan een gratis intake.

Plan een gratis intake

Open het contactmenu

Carlos Kroon Optimi

Goedemiddag 👋

Kan ik je ergens mee helpen?

Ma t/m vr, 09:00–18:00 · Meestal binnen een uur antwoord op werkdagen.