Auftraggeber aus Automotive und Industrie vertrauen seit der Gründung von SCHMITT CONSULTING auf meine Embedded-Expertise. Zwei Projekte stehen exemplarisch dafür, wie ich arbeite.
Als selbstständiger Embedded-Berater entwickle ich für Auftraggeber, die hardware-nahe Software, Echtzeit-Verhalten oder die Kombination aus beidem brauchen. Meine Tätigkeit reicht vom Werkvertrag mit fester Lieferzusage über Stundenkontingente bis zur Begleitung von Entwicklungsabteilungen über mehrere Monate.
Aus Vertraulichkeitsgründen sind nicht alle Projekte öffentlich darstellbar. Die folgenden zwei Beispiele beschreiben Projekte, deren Eckdaten ich nennen darf — und die exemplarisch zeigen, wie ich arbeite.
Für die Firma Stihl in Waiblingen habe ich die Motorsteuerungssoftware einer Kettensäge komplett neu entwickelt. Den Anfang machte eine Analyse-Aufgabe: die bestehende Steuerungssoftware stammte von einem japanischen Zulieferer und war in Assembler geschrieben. Stihl wollte verstehen, was diese Software im Detail tat. Ich habe den Assembler-Code analysiert und die Funktionen so dokumentiert, dass die Stihl-Entwickler die Logik vollständig nachvollziehen konnten.
Auf Basis dieser Analyse erhielt ich den Auftrag für eine Neuentwicklung — diesmal in C, mit dem Ziel, mehr Funktionalität zu liefern als die ursprüngliche Software. Die Randbedingungen waren hart: Der Markt für Kettensägen ist preislich extrem umkämpft, also war nur ein sehr kleiner, kostengünstiger Mikrocontroller verfügbar. Speicher war derart knapp, dass ein Echtzeit-Betriebssystem nicht in Frage kam. Die Software musste bare-metal arbeiten und gleichzeitig Echtzeit-Signale aus der Hardware verlässlich verarbeiten.
Während der gesamten Entwicklungszeit hatte ich nur die Platine mit der Hardware und meinen Code auf dem Schreibtisch — keine Testumgebung, kein Motor. Der erste Praxistest fand erst auf dem Stihl-Prüfstand in Waiblingen statt. Nach monatelanger Analyse- und Entwicklungsarbeit wäre es nicht ungewöhnlich gewesen, wenn der Motor zunächst nicht angesprungen wäre. Er sprang sofort an und lief grundsätzlich rund. Der Rest war Feinabstimmung der Zündzeitpunkte, die wir iterativ auf dem Prüfstand optimierten — ein Verfahren, das normalerweise eine adaptive Lern-Software übernimmt, das hier aber aus Speichergründen manuell stattfinden musste.
Am Ende lieferte ich Stihl eine Steuerungssoftware, die mehr leistete als die vorherige japanische Version, auf demselben kostensparenden Mikrocontroller lief und vollständig dokumentiert übergeben wurde. Bemerkenswert war der wirtschaftliche Rahmen: Bei der finalen Vertragsverhandlung im Stihl-Einkauf wurde der zuvor verhandelte Preis nicht reduziert. Der Einkäufer machte mir lediglich klar, dass jeder Euro nachvollziehbar begründet sein müsse — eine Reduzierung des Preises sei aber nicht das Ziel. Diese Erfahrung — ein Auftraggeber, der für nachvollziehbare Qualität auch nachvollziehbare Preise bezahlt — ist im Markt selten und prägt bis heute mein Verständnis von guter Zusammenarbeit.
Das Projekt wurde als Werkvertrag abgewickelt. Die Entwicklung fand vollständig außerhalb der Stihl-Räume statt, Abstimmung mit dem Stihl-Ansprechpartner gab es nur bei grundsätzlichen Entscheidungen. Diese Form der Zusammenarbeit hat sich als außerordentlich performant erwiesen.
Für Audi in Ingolstadt war mein eigentlicher Auftrag die Erstellung einer MOST-Bus-Simulationssoftware für ein Infotainment-System — eine Echtzeit-Simulation, mit der Steuergeräte gegen einen virtuellen MOST-Bus getestet werden konnten.
Vor Ort stellte sich heraus, dass Audi parallel ein zweites Problem hatte: Eine bestehende CAN-Bus-Simulationsplatine, geliefert von einem externen Anbieter, funktionierte unter bestimmten Betriebsbedingungen nicht zuverlässig — sie sendete in entscheidenden Momenten einfach keine Daten mehr. Da ich durch meine MOST-Arbeit die Wechselwirkungen zwischen CAN- und MOST-Bus im Detail kannte, fragte mich der Audi-Ansprechpartner, ob ich diese CAN-Simulation eigenständig nachbauen könne.
Ich sagte zu, mit dem Hinweis, zunächst einen funktionierenden Prototyp zu bauen — nicht schön, aber funktionsfähig. In weniger als fünf Arbeitstagen lag eine selbst entworfene Elektronikplatine mit einem ATmega128 auf dem Tisch, mit einer von mir geschriebenen Simulationssoftware. Der Prototyp war freiverdrahtet, aber er funktionierte — auch unter den Betriebsbedingungen, an denen die Platine des vorherigen Anbieters versagt hatte.
Daraufhin fragte mich Audi, ob ich Geräte herstellen und liefern könne — allerdings in Industriequalität, also vollständig maschinell gefertigt, nicht als Handarbeit. Ich entwarf das Layout für die Serienplatine und arbeitete mit einem Leiterplatten-Hersteller im Audi-Umfeld zusammen, der die maschinelle Fertigung übernahm. Nach Beseitigung eines Problems beim maschinellen Test auf Herstellerseite lieferte die Platine zuverlässige Ergebnisse — und zwar genau dort, wo die ursprüngliche Lieferantenplatine versagte.
Dieses Projekt zeigt einen Fall, in dem ein Auftrag durch konkrete fachliche Substanz wuchs: Aus der ursprünglichen Software-Aufgabe wurde zusätzlich eine eigenständige Hardware-Entwicklung mit Serienfertigung — weil ich die Bus-Architektur tief genug kannte, um auf Zuruf einen funktionierenden Lösungsweg vorzuschlagen.
Über die hier ausführlich beschriebenen Projekte hinaus war ich für weitere Auftraggeber aus Automotive, Industrie und Medizintechnik tätig. Die Auswahl der oben genannten Beispiele erfolgt nach dem Kriterium, dass die Eckdaten öffentlich darstellbar sind. Konkretere Referenzen zu vergleichbaren Aufgaben in Ihrem Umfeld besprechen wir gerne im Erstgespräch — unter Vertraulichkeit, falls gewünscht.
Drei Eigenschaften ziehen sich durch beide Projekte und durch den Großteil meiner Tätigkeit: