
Artificial intelligence can accelerate embedded software development, but generating code through isolated prompts rarely delivers consistent results. In a Design News article, embedded systems expert Jacob Beningo shares five lessons from integrating AI into high-reliability firmware development, particularly for aerospace and space applications.
The first lesson emphasizes replacing occasional AI prompting with repeatable engineering workflows. Instead of simply generating code, AI agents should gather requirements, examine hardware documentation, implement software, conduct static analysis, and execute tests. Beningo demonstrates this approach using a lunar simulation involving a propulsion controller, flight computer, and orbital physics engine.
Second, AI requires complete system context. Hardware constraints, peripheral behavior, timing requirements, and software architecture influence engineering decisions. Beningo describes debugging SPI communication timeouts in a Renode microcontroller simulation. The problem originated in an incorrect emulator configuration rather than faulty firmware, demonstrating why AI must examine interacting system components.
Third, engineering decisions should become reusable project instructions. Documenting architectural constraints, coding standards, and verification requirements allows AI agents to maintain consistency across development tasks. Reusable AI skills can also prevent developers from repeatedly explaining established design rules.
Fourth, engineers should establish verification criteria before AI generates solutions. Compiling successfully does not guarantee that software satisfies architectural or safety requirements. Static analysis, automated testing, and engineering reviews remain essential, particularly when following standards such as MISRA C.
Fifth, AI should challenge engineering assumptions before implementation. For example, analyzing battery capacity, transmission frequency, and power consumption can reveal whether a proposed sensor design can achieve its intended operating life.
Beningo recommends beginning with one recurring task, creating reusable instructions, and requiring AI to demonstrate that its work meets defined expectations.
The central message is that AI delivers greater value when integrated into disciplined engineering processes. Reliable embedded software still depends on accurate system knowledge, measurable verification, and human engineering judgment.
