Engineering

Virtualization during embedded pre-development – Case study on Renode

Nov 12, 2025

Content

Title

Title

Title

Authors

Nico Renner

Professional Embedded Software Engineering

Virtualization in Embedded Development: Opportunities, Challenges, and Goals

The development of embedded systems faces major challenges. Complex hardware, tight deadlines, and the dependence on the physical availability of components complicate the work. In our recent research and testing projects, we have investigated how virtualization technologies like Renode can help make development processes more efficient. It became clear that there is a lot of potential if the right approach is used for the specific application case. Our goal is to support companies in effectively and profitably deploying these technologies.

Virtualization as the Key to Greater Efficiency

Hardware is often the limiting factor in embedded development. Development cycles are delayed because prototypes are not sufficiently available. By replacing physical setups, additional logistical efforts in international collaboration can be avoided. Virtualization offers a promising alternative here. With tools like Renode, development and testing processes can be conducted independently of physical hardware. This allows the simulation to begin even in the early stages of the project.

An example from our practice shows how effective this can be: For a client, we tested products in the field using simulated variants. Instead of physical hardware, configuration files were used to represent the variety of variants. This allowed tests to be conducted faster and significantly reduced development time.

The Right Strategy for Using Virtualization

However, virtualization is not a cure-all. Success depends on how and where it is used. In our tests, we compared various tools and approaches, including Docker, QEMU, and Renode. Each of these systems has its strengths and weaknesses depending on the application case.

Docker is excellent for quick setups

QEMU offers target-platform close emulation

Renode enables synchronized emulations with simulated peripherals

In the conducted investigations, Renode proved to be particularly suitable for emulating microcontrollers; for example, a microcontroller with the real-time operating system Zephyr was used to conduct tests of CAN communication. It allows the time-synchronous emulation of multiple controllers, which is crucial for complex systems and debugging. However, there are also challenges; peripherals that are not already supported in the simulation environment must be modeled independently depending on the application case, which can be more demanding. Emulation can be too slow in certain scenarios, complicating integration into cloud-based infrastructures. Careful consideration is necessary to find the right solution for each use case.

Opportunities and Limitations of Virtualization

Virtualization opens up new possibilities but also brings challenges. Timing issues can complicate usage, especially when cloud systems rely on quick responses and emulation cannot keep up.

Another exciting approach is the combination of virtualization with artificial intelligence. In our experiments, we explored how AI can be utilized to generate peripheral elements from datasheets. Early tests were promising and could fundamentally change the way hardware is emulated.

Our Consulting Approach

The introduction of virtualization in embedded development requires a sound strategy. We assist companies in making the right decisions by analyzing and evaluating use cases in detail. We consider their development approach end-to-end. Virtualization is not always worthwhile for every application, and not every tool fits every scenario. Our experts help to understand the requirements, develop a tailored testing strategy, and choose the best technologies.

When selecting suitable virtualization and emulation environments, a balance between effort and benefit is necessary.

The stronger the focus on hardware-related tests, for example, when precise timings or bus-related communication need to be examined, the more suitable the use of Renode is.

For application cases where primarily functional aspects are evaluated, and precise timing sequences play a lesser role, QEMU may be a suitable alternative.

If it is merely about representing software environments without reference to specific hardware, the use of Docker is often sufficient.

We look at each case individually and work with our clients to develop a solution that is both technically and economically sensible.

CarByte

CarByte