Inicio

Referencias de más de tres décadas de desarrollo embebido

Clientes de automoción e industria confían en mi experiencia embebida desde la fundación de SCHMITT CONSULTING. Dos proyectos ilustran mi forma de trabajar.

Como consultor embebido independiente desarrollo para clientes que necesitan software próximo al hardware, comportamiento de tiempo real, o la combinación de ambos. Mi actividad va del contrato a tanto alzado con compromiso firme de entrega, pasando por las cuotas horarias, hasta el acompañamiento de departamentos de desarrollo durante varios meses.

Por motivos de confidencialidad, no todos los proyectos pueden presentarse públicamente. Los dos ejemplos siguientes describen proyectos de los que puedo mencionar los datos clave — y que ilustran mi forma de trabajar.

Stihl — rediseño completo de un control de motor para motosierra

Para Stihl en Waiblingen rediseñé íntegramente el software de control de motor de una motosierra. El punto de partida fue una tarea de análisis: el software de control existente provenía de un proveedor japonés y estaba escrito en ensamblador. Stihl quería entender en detalle qué hacía ese software. Analicé el código en ensamblador y documenté las funciones de modo que los desarrolladores de Stihl pudieran seguir íntegramente la lógica.

Sobre esa base recibí el encargo de un rediseño — esta vez en C, con el objetivo de entregar más funcionalidad que el software original. Las restricciones eran duras: el mercado de motosierras es extremadamente competitivo en precio, por lo que solo había disponible un microcontrolador muy pequeño y barato. La memoria estaba tan ajustada que un sistema operativo de tiempo real quedaba descartado. El software debía funcionar bare-metal y procesar de forma fiable, en paralelo, señales de tiempo real procedentes del hardware.

Durante todo el desarrollo solo tuve la placa con el hardware y mi código sobre la mesa — sin entorno de prueba, sin motor. La primera prueba práctica tuvo lugar en el banco de pruebas de Stihl en Waiblingen. Tras meses de análisis y desarrollo no habría sido inusual que el motor no arrancara a la primera. Arrancó de inmediato y funcionó fundamentalmente bien. El resto fue ajuste fino de los puntos de encendido, optimizado iterativamente en el banco — un proceso normalmente cubierto por software de aprendizaje adaptativo, pero que aquí debía hacerse manualmente por motivos de memoria.

Al final entregué a Stihl un software de control que hacía más que la versión japonesa anterior, corría sobre el mismo microcontrolador económico y se entregó con documentación completa. El marco comercial es destacable: en la negociación final en el departamento de compras de Stihl, el precio previamente acordado no se redujo. El comprador simplemente dejó claro que cada euro debía ser justificable — pero rebajar el precio no era el objetivo. Esta experiencia — un cliente que paga precios justificables por calidad justificable — es rara en el mercado y marca hasta hoy mi entendimiento de una buena cooperación.

El proyecto se gestionó como contrato a tanto alzado. El desarrollo se realizó íntegramente fuera de las instalaciones de Stihl; la coordinación con el contacto de Stihl solo se produjo en decisiones fundamentales. Esta forma de cooperación se ha demostrado extraordinariamente eficaz.

Audi — simulación MOST y desarrollo propio de un hardware CAN

Para Audi en Ingolstadt mi encargo original fue la creación de un software de simulación de bus MOST para un sistema de infoentretenimiento — una simulación en tiempo real que permitía probar unidades de control contra un bus MOST virtual.

In situ resultó que Audi tenía en paralelo un segundo problema: una placa de simulación CAN existente, suministrada por un proveedor externo, no funcionaba de forma fiable bajo determinadas condiciones de operación — simplemente dejaba de enviar datos en momentos decisivos. Como mi trabajo MOST me había proporcionado un conocimiento detallado de las interacciones entre buses CAN y MOST, el contacto de Audi me preguntó si podía reconstruir esa simulación CAN de forma independiente.

Acepté, con la observación de que el primer paso sería un prototipo funcional — no bonito, pero operativo. En menos de cinco días laborables había sobre la mesa una placa electrónica de mi propio diseño con un ATmega128, junto con software de simulación escrito por mí. El prototipo estaba cableado a mano pero funcionaba — incluso bajo las condiciones de operación en las que había fallado la placa del proveedor anterior.

Audi preguntó entonces si podía fabricar y suministrar unidades — pero en calidad industrial, totalmente fabricadas a máquina, no a mano. Diseñé el enrutamiento de la placa de serie y trabajé con un fabricante de PCB del entorno de Audi que se encargó de la fabricación a máquina. Tras resolver una incidencia en la prueba a máquina del fabricante, la placa entregaba resultados fiables — precisamente donde había fallado la placa del proveedor original.

Este proyecto muestra un caso en el que un encargo creció por sustancia técnica concreta: a la tarea de software original se sumó un desarrollo propio de hardware con producción en serie — porque conocía la arquitectura del bus con suficiente profundidad como para proponer a demanda un camino de solución funcional.

Otros clientes

Más allá de los proyectos descritos en detalle, he trabajado para otros clientes en automoción, industria y médico. La selección anterior sigue el criterio de que los datos clave son públicamente presentables. Referencias más concretas para tareas comparables a su entorno se discuten gustosamente en una primera consulta — bajo confidencialidad si se desea.

Lo que estos proyectos tienen en común

Tres propiedades atraviesan ambos proyectos y la mayor parte de mi actividad:

Responsabilidad completa autónoma
Ambos proyectos comenzaron con una tarea de análisis y terminaron con una solución acabada y entregada. Especificación, diseño, implementación, prueba y entrega estuvieron en mis manos — en Audi incluso hasta la producción en serie del hardware a través de un socio.
Trabajo embebido próximo al hardware bajo restricciones reales
Stihl: bare-metal en un microcontrolador con memoria mínima. Audi: simulación MOST en tiempo real más hardware CAN propio. En ambos casos no se trataba de aplicaciones estándar, sino de tareas en las que las restricciones moldean la solución.
Cooperación en contrato a tanto alzado con compromiso firme de entrega
Ambos proyectos se desarrollaron fuera de las instalaciones del cliente, con coordinación selectiva en decisiones fundamentales. Esta forma de cooperación es mi modelo preferido — protege al cliente de un trabajo de dirección innecesario y me da la concentración que exige el desarrollo próximo al hardware.

Esquema de colores

Idioma