Klanten uit automotive en industrie vertrouwen sinds de oprichting van SCHMITT CONSULTING op mijn embedded expertise. Twee projecten illustreren mijn werkwijze.
Als zelfstandig embedded consultant ontwikkel ik voor klanten die hardware-nabije software, realtime-gedrag of de combinatie ervan nodig hebben. Mijn werk strekt van vaste-prijscontract met harde leverbelofte, via urencontingenten, tot maandenlange begeleiding van ontwikkelafdelingen.
Vanwege geheimhouding kunnen niet alle projecten openbaar gepresenteerd worden. De twee onderstaande voorbeelden beschrijven projecten waarvan ik de kerngegevens mag noemen — en die illustreren hoe ik werk.
Voor Stihl in Waiblingen heb ik de motorbesturingssoftware van een kettingzaag volledig opnieuw ontwikkeld. Het uitgangspunt was een analyseopdracht: de bestaande besturingssoftware kwam van een Japanse leverancier en was in assembler geschreven. Stihl wilde in detail begrijpen wat die software deed. Ik heb de assembler-code geanalyseerd en de functies zo gedocumenteerd dat de Stihl-ontwikkelaars de logica volledig konden volgen.
Op die basis kreeg ik de opdracht voor een herontwikkeling — dit keer in C, met als doel meer functionaliteit te leveren dan de oorspronkelijke software. De randvoorwaarden waren streng: de markt voor kettingzagen is extreem prijsgevoelig, dus was er alleen een zeer kleine, voordelige microcontroller beschikbaar. Het geheugen was zo krap dat een realtime besturingssysteem uitgesloten was. De software moest bare-metal draaien en tegelijk realtime-signalen vanuit de hardware betrouwbaar verwerken.
Tijdens de hele ontwikkeling had ik alleen de print met de hardware en mijn code op tafel — geen testomgeving, geen motor. De eerste praktijktest vond plaats op het Stihl-testbank in Waiblingen. Na maanden van analyse en ontwikkeling zou het niet ongebruikelijk zijn geweest als de motor niet meteen had gestart. Hij startte direct en liep fundamenteel goed. De rest was fijnregeling van de ontstekingstijdstippen, iteratief geoptimaliseerd op de testbank — een procedure die normaal door adaptieve leersoftware wordt afgedekt, maar die hier vanwege geheugen handmatig moest gebeuren.
Uiteindelijk leverde ik aan Stihl een besturingssoftware die meer kon dan de eerdere Japanse versie, op dezelfde voordelige microcontroller draaide en met volledige documentatie werd overgedragen. Het commerciële kader is opmerkelijk: bij de slotonderhandeling op de Stihl-inkoopafdeling werd de eerder afgesproken prijs niet verlaagd. De inkoper maakte alleen duidelijk dat elke euro verantwoord moest zijn — maar prijsverlaging was niet het doel. Deze ervaring — een klant die verantwoorde prijzen betaalt voor verantwoorde kwaliteit — is zeldzaam op de markt en bepaalt tot vandaag mijn opvatting van goede samenwerking.
Het project werd als vaste-prijscontract afgewikkeld. De ontwikkeling vond volledig buiten de Stihl-locaties plaats; afstemming met de Stihl-contactpersoon vond alleen plaats bij fundamentele beslissingen. Deze samenwerkingsvorm is buitengewoon effectief gebleken.
Voor Audi in Ingolstadt was mijn oorspronkelijke opdracht het maken van een MOST-bus-simulatiesoftware voor een infotainmentsysteem — een realtime simulatie waarmee stuurapparaten tegen een virtuele MOST-bus konden worden getest.
Ter plekke bleek dat Audi parallel een tweede probleem had: een bestaande CAN-simulatiekaart, geleverd door een externe leverancier, werkte onder bepaalde bedrijfsomstandigheden niet betrouwbaar — zij stopte op beslissende momenten gewoonweg met het verzenden van gegevens. Omdat mijn MOST-werk mij gedetailleerde kennis had gegeven van de wisselwerking tussen CAN- en MOST-bus, vroeg de Audi-contactpersoon of ik deze CAN-simulatie zelfstandig kon herbouwen.
Ik stemde toe, met de opmerking dat de eerste stap een werkend prototype zou zijn — niet mooi, maar functioneel. Binnen vijf werkdagen lag een door mijzelf ontworpen elektronische print met een ATmega128 op tafel, met simulatiesoftware die ik had geschreven. Het prototype was met de hand bedraad, maar het werkte — ook onder de bedrijfsomstandigheden waarin de print van de eerdere leverancier had gefaald.
Audi vroeg vervolgens of ik exemplaren kon vervaardigen en leveren — maar in industriële kwaliteit, volledig machinaal vervaardigd, niet handmatig. Ik ontwierp de layout voor de seriekaart en werkte samen met een PCB-fabrikant in de Audi-omgeving die de machinale fabricage op zich nam. Na het oplossen van een probleem in de machinetest van de fabrikant leverde de kaart betrouwbare resultaten — precies daar waar de oorspronkelijke leveranciersprint had gefaald.
Dit project toont een geval waarin een opdracht door concrete technische substantie groeide: bij de oorspronkelijke softwareopdracht kwam een eigen hardware-ontwikkeling met serieproductie — omdat ik de busarchitectuur diep genoeg kende om op aanvraag een werkbaar oplossingspad voor te stellen.
Naast de hierboven gedetailleerd beschreven projecten heb ik voor andere klanten in automotive, industrie en medische technologie gewerkt. De selectie hierboven volgt het criterium dat de kerngegevens publiekelijk presenteerbaar zijn. Concretere referenties voor vergelijkbare taken in uw omgeving worden graag in een kennismakingsgesprek besproken — onder geheimhouding indien gewenst.
Drie eigenschappen lopen door beide projecten en door het grootste deel van mijn werk: