Special
Will developers become redundant due to AI?
Andreas Pfeiffer from customer service talks about experiences with programming embedded systems using AI
![[Translate to Englisch:] [Translate to Englisch:]](/fileadmin/_processed_/4/5/csm_KI_programmiert_Software_web_f37564e930.jpg)
Have you ever tried to create programs using AI? I have to admit, I was amazed. The result was much better than expected and worked straight away. But does it also work when programming sophisticated embedded systems that require a high degree of precision, efficiency and know-how? What challenges and advantages does the use of AI bring in this area?
Accelerated development process
Traditionally, programming embedded systems required extensive manual work, from analyzing the hardware to writing low-level code and optimizing performance. AI tools have noticeably accelerated the development process. These tools can recognize patterns in data and code, make suggestions for optimization, and automate repetitive tasks.
One tool that is frequently used is AI-based code generators, which can create executable code from hardware descriptions or abstract specifications. Developers report that this not only reduces the time required, but also minimizes the likelihood of errors in the code. AI-based optimizations are particularly valuable for real-time applications where every millisecond counts.

AI tools enable developers to focus more on system architecture and testing while AI takes over routine tasks. Automatic detection of errors and vulnerabilities in the code significantly improves quality. AI algorithms can analyze code and the hardware environment to make suggestions for improving efficiency.
Despite the obvious advantages, there are also challenges. Some developers report a considerable learning curve in order to be able to use the new tools productively. In addition, AI-based tools are often designed for specific frameworks or hardware platforms, which limits their universal applicability.
Another problem is that developers do not know exactly how the AI reaches its decisions. In safety-critical and regulated applications, such as in medical technology or the automotive industry, this can lead to concerns regarding traceability.
Rethink required
The experience with programming embedded systems using AI tools is overwhelmingly positive. The technology saves time, reduces errors, and facilitates the implementation of complex functions. However, using these tools also requires an adjustment in approach and a change in thinking during development. Without further analysis and testing, I cannot say whether the program I mentioned at the beginning will function robustly and error-free in all cases.
AI will certainly not replace experienced embedded developers, but it is proving to be a powerful partner that can significantly increase productivity and efficiency. The future of embedded programming will undoubtedly be characterized by close collaboration between humans and machines.

AI-supported programming tools
GitHub Copilot
This tool, developed by OpenAI, offers intelligent code completion directly in the development environment, which speeds up the programming process and increases productivity.
Tabnine
As an AI-based code assistant, Tabnine supports developers with contextual code completions and suggestions based on machine learning.
CodeWhisperer from Amazon
This tool provides AI-powered code suggestions and helps developers write more efficient and secure code.
CodeT5
An AI model developed by Salesforce that is used for various code processing tasks such as code generation and completion.
Polycoder
An open source AI model that specializes in generating code in various programming languages.
Specialized tools for embedded systems programming
AIfES (Artificial Intelligence for Embedded Systems)
An AI framework developed by Fraunhofer IMS that enables machine learning algorithms to be executed directly on embedded systems.
DAVE (Digital Application Virtual Engineer) from Infineon
A software development tool for microcontroller applications that provides automatic code generation based on configurable software components.
YAKINDU Statechart Tools
A tool for the specification and development of reactive, event-driven systems using state machines, which enables graphical editing, validation and simulation of statecharts.
AI in embedded code: Trust is good, validation is mandatory!
Verifying the results of AI-powered tools when programming embedded systems is crucial to ensuring that the generated code is reliable, efficient, and error-free. Careful validation is essential, especially in the safety-critical domain of many embedded applications. The following best practices support structured and effective verification.
Code review by experts
- Developers should review the code generated by AI to ensure that it meets specifications and standards.
- The code should be checked for compliance with industry standards such as MISRA-C (for safety-critical applications).
- The code generated by AI should be compared with manually written code for similar tasks. This helps to identify deviations and potential problems.
Iterative approach
- Regression tests ensure that new changes do not impair existing functions.
- In addition, feedback from tests can be used to improve the AI models used in a targeted manner – whether by adjusting the training data or optimizing the architecture.
- The integration of tests and validations into the continuous development process ensures consistent quality assurance.
functional tests
- Unit tests: Individual functions or modules should be tested specifically for correct functionality.
- System tests: The software should be tested on the target hardware or in realistic environments under real-time conditions.
- Limit value analysis: Tests under extreme load conditions—such as maximum or minimum system utilization—are also necessary.
simulation and perfomance analysis
- Simulation of the target hardware environment helps to verify the behavior of the code under real conditions.
- Emulators enable testing before deployment on the actual hardware.
- It should be checked whether the code is optimized in terms of runtime, memory requirements, and energy efficiency.
security checks
- Static analysis tools such as SonarQube, Coverity, or Clang Static Analyzer can identify potential errors, vulnerabilities, or security gaps at an early stage.
- Dynamic tests are used to detect runtime problems such as memory leaks or race conditions.
documentation and transparency
- Modern AI tools should be expected to provide a comprehensible justification or audit trail for the proposed solutions, especially in safety-critical applications.
- Supplementing the generated code with comments helps to better understand logic and decision-making processes.
Many of the measures and testing procedures mentioned should not actually be new to successful programming teams. The AI tool could also simply be viewed as another team member whose creations are quality assured. The use of AI tools can therefore not only shorten development times, but also deliver reliable, high-quality results that meet the requirements of embedded systems.
How much AI can embedded tolerate?
The use of these AI tools can significantly speed up the development process of embedded systems and improve the quality of the code, but requires careful planning and implementation. It is important to consider the specific requirements of the project and select the appropriate tool accordingly. The balance between the benefits of AI and the stringent requirements of embedded and real-time systems must be carefully considered in order to develop successful and reliable applications.
