Accueil

Références sur plus de trois décennies de développement embarqué

Des clients de l'automobile et de l'industrie font confiance à mon expertise embarquée depuis la fondation de SCHMITT CONSULTING. Deux projets illustrent ma manière de travailler.

En tant que consultant embarqué indépendant, je développe pour des clients qui ont besoin de logiciel proche du matériel, de comportement temps réel ou de la combinaison des deux. Mon activité va du contrat au forfait avec engagement de livraison ferme, en passant par les contingents horaires, jusqu'à l'accompagnement de départements de développement sur plusieurs mois.

Pour des raisons de confidentialité, tous les projets ne peuvent pas être présentés publiquement. Les deux exemples ci-dessous décrivent des projets dont je peux mentionner les éléments clés — et qui illustrent ma manière de travailler.

Stihl — refonte complète d'une commande moteur de tronçonneuse

Pour la société Stihl à Waiblingen, j'ai entièrement repensé le logiciel de commande moteur d'une tronçonneuse. Le point de départ a été une mission d'analyse : le logiciel de commande existant venait d'un fournisseur japonais et était écrit en assembleur. Stihl voulait comprendre en détail ce que faisait ce logiciel. J'ai analysé le code assembleur et documenté les fonctions de telle sorte que les développeurs Stihl puissent suivre intégralement la logique.

Sur cette base, j'ai reçu la mission d'une refonte — cette fois en C, avec l'objectif de livrer plus de fonctionnalité que le logiciel d'origine. Les contraintes étaient dures : le marché des tronçonneuses est extrêmement concurrentiel sur les prix, donc seul un microcontrôleur très petit et bon marché était disponible. La mémoire était si serrée qu'un système d'exploitation temps réel était hors de question. Le logiciel devait fonctionner bare-metal et traiter en parallèle, de manière fiable, des signaux temps réel issus du matériel.

Pendant toute la durée du développement, je n'avais que la carte avec le matériel et mon code sur le bureau — pas d'environnement de test, pas de moteur. Le premier test pratique n'a eu lieu qu'au banc d'essai Stihl à Waiblingen. Après plusieurs mois d'analyse et de développement, il n'aurait pas été inhabituel que le moteur ne démarre pas du premier coup. Il a démarré immédiatement et tourné fondamentalement bien. Le reste fut un réglage fin des points d'allumage, optimisé itérativement au banc d'essai — une procédure normalement assurée par un logiciel d'apprentissage adaptatif, mais qui devait ici être faite manuellement pour des raisons de mémoire.

Au final, j'ai livré à Stihl un logiciel de commande qui faisait davantage que la version japonaise précédente, tournait sur le même microcontrôleur économique et a été remis avec documentation complète. Le cadre commercial est notable : lors de la négociation finale au service achat de Stihl, le prix précédemment convenu n'a pas été réduit. L'acheteur m'a simplement fait comprendre que chaque euro devait être justifiable — mais une réduction du prix n'était pas le but. Cette expérience — un client qui paie des prix justifiables pour une qualité justifiable — est rare sur le marché et marque jusqu'à aujourd'hui ma compréhension d'une bonne coopération.

Le projet s'est déroulé en contrat au forfait. Le développement s'est fait entièrement hors des locaux Stihl, la coordination avec l'interlocuteur Stihl n'a eu lieu qu'aux décisions fondamentales. Cette forme de coopération s'est révélée extraordinairement efficace.

Audi — simulation MOST et développement propre d'un matériel CAN

Pour Audi à Ingolstadt, ma mission initiale était la création d'un logiciel de simulation de bus MOST pour un système d'infodivertissement — une simulation temps réel permettant de tester des calculateurs contre un bus MOST virtuel.

Sur place, il s'est avéré qu'Audi avait en parallèle un second problème : une carte de simulation CAN existante, livrée par un fournisseur externe, ne fonctionnait pas de manière fiable dans certaines conditions — elle cessait simplement d'envoyer des données aux moments décisifs. Comme mon travail MOST m'avait donné une connaissance fine des interactions entre bus CAN et bus MOST, l'interlocuteur Audi m'a demandé si je pouvais reconstruire cette simulation CAN de manière indépendante.

J'ai accepté, en signalant que la première étape serait un prototype fonctionnel — pas joli, mais opérant. En moins de cinq jours ouvrés, une carte électronique de ma conception avec un ATmega128 était sur la table, accompagnée d'un logiciel de simulation que j'avais écrit. Le prototype était câblé à la main, mais il fonctionnait — y compris dans les conditions où la carte du fournisseur précédent avait échoué.

Audi m'a alors demandé si je pouvais fabriquer et livrer des unités — mais en qualité industrielle, entièrement fabriquées en machine, pas à la main. J'ai conçu le routage de la carte de série et travaillé avec un fabricant de PCB de l'environnement Audi qui a pris en charge la fabrication en machine. Après résolution d'un problème dans le test machine côté fabricant, la carte livrait des résultats fiables — précisément là où la carte du fournisseur d'origine avait échoué.

Ce projet illustre un cas où une mission a grandi par substance technique concrète : à la mission logicielle initiale s'est ajouté un développement matériel propre avec production en série — parce que je connaissais l'architecture bus assez profondément pour proposer à la demande un chemin de solution fonctionnel.

Autres clients

Au-delà des projets décrits en détail, j'ai travaillé pour d'autres clients en automobile, industrie et médical. La sélection ci-dessus suit le critère que les éléments clés sont publiquement présentables. Des références plus concrètes pour des tâches comparables à votre environnement se discutent volontiers en premier entretien — sous confidentialité si souhaité.

Ce que ces projets ont en commun

Trois propriétés traversent les deux projets et la majeure partie de mon activité :

Responsabilité complète autonome
Les deux projets ont commencé par une mission d'analyse et se sont terminés par une solution finie, livrée. Spécification, conception, implémentation, test et livraison étaient entre mes mains — chez Audi, jusqu'à la production en série du matériel via un partenaire.
Travail embarqué proche du matériel sous contraintes réelles
Stihl : bare-metal sur un microcontrôleur à mémoire minimale. Audi : simulation MOST temps réel plus matériel CAN propre. Dans les deux cas, il ne s'agissait pas d'applications standard, mais de tâches où les contraintes façonnent la solution.
Coopération en contrat au forfait avec engagement de livraison ferme
Les deux projets se sont déroulés hors des locaux du client, avec coordination ponctuelle aux décisions fondamentales. Cette forme de coopération est mon modèle préféré — elle protège le client d'un travail de pilotage inutile et me laisse la concentration que demande le développement proche du matériel.

Palette de couleurs

Langue