Speed Up Embedded Development Using Virtual Devices

A MicroEJ Virtual Device includes the same MicroEJ Runtime (VEE), libraries and system applications as a real device. It makes it possible to develop, test and validate embedded software from a desktop station when hardware hasn’t yet been defined or is inaccessible. The code is exactly identical on real and simulated devices, as the virtual device runs a mockup of the real hardware with all its functionalities.

Fast path from prototyping to production

Simulate Your Product on a Virtual Device

Create your future product without your hardware in hand: test several possible hardware configurations, evaluate the best compromise between features and electronic cost, interact with different teams to define the right specification and simulate your system inputs/outputs such as sensors or actuators.

… Execute on a Real Electronic Device

Porting your code to the real electronic board is a one click operation. The code created for your virtual prototype is portable without modifications, including the test tools. Once you run the code on the hardware, you have already performed extensive tests and iterations and the path to production is accelerated manifold.

Hardware Independent Development

MICROEJ VEE software container keeps hardware and Board Support Package apart from software application levels. Hardware and software developments can therefore be parallelized which provides great economic advantages in time savings and speed.

Easier Hardware Qualification

Finding the best compromise between hardware ideal performance and cost efficiency is tricky. Virtual Devices make it possible to assess different electronic chips from all major silicon manufacturers according to exact needs and requirements (bandwidths, RAM, Flash, Power, etc.)

Fast Concepts Validation

Since development can be achieved quickly and swiftly on a desktop simulator, functionalities can be tested and validated all along the development process, instead of waiting for the whole software to be reviewed on real hardware. Teams interact more frequently and seamlessly, which translates in more productivity and increased efficiency.

Extensive Test Automation

Speed up your application development process by using automated testing and simulation on virtual devices. Automating testing is faster, more repeatable, improves code quality, and gives you more actionable feedback about your software earlier in the process.



Wearable Demo for NXP i.MX RT595

MICROEJ VEE technology allows to run the real binary embedded code on Virtual Devices: try it! This is not yet another simulator, it is a true binary code simulator.

Download Virtual Device

MicroEJ Widget Demo on the STM32F7508-DK

Download Virtual Device

Front Panel for Virtual Devices

MicroEJ allows for applications to be developed and tested on a simulator rather than on the actual physical device. To make it possible, the simulator must connect to a “mock” of the control panel (“front panel”) that generates a graphical representation of the device on a desktop environment. Explore our documentation to learn how to create and manage a front panel project.

More Info

Create a Mock Project

A Mock is a jar file containing some Java classes that simulate natives for the Simulator. Mocks allow applications to be run unchanged in the Virtual Device while still appearing to interact with native code.
Follow our how-to guide on GitHub to learn how to create a mock for SNI and SP functions (with or without UI) using a simulator.

More Info

Download MicroEJ SDK


Get access to our featured starter kits (with or without hardware) to let you try and evaluate MicroEJ technology. Happy coding!

Get Started