emApps is a revolutionary software package that brings the familiar flexibility of the smartphone to the world of embedded systems.
Our brands
Our brands
Related articles
EU CRA Compliance with Insyde Software at Embedded World 2026
The EU Cyber Resilience Act introduces mandatory cybersecurity requirements for embedded and edge products sold in the EU. From 2026 onwards, manufacturers are required to adopt secure-by-design development practices, manage...
Read more
InsydeH2O UEFI BIOS Accelerates Embedded and Edge Development Toward Embedded World 2026
Read more
The Top 5 Vulnerabilities in Embedded Software and How to Prevent Them
Read more
Why continuous monitoring for vulnerabilities is essential in embedded systems
Read more
SEGGER Flasher BitStreamer Brings Universal FPGA Programming to In-System Flashers
Read more
To accomplish this, emApps can create apps, which are small programs that can be dynamically loaded and executed in a protected environment known as a sandbox. Each app operates in its own memory space, the sandbox, isolated from the firmware and other apps.
These apps enable the user to add new capabilities, features, or enhancements to embedded devices while keeping firmware small and maintaining system stability and security. They also make it possible for the manufacturer to run tests on such embedded systems using apps.
Since the apps can be dynamically loaded, they do not increase the size of the firmware. Thus, any number of tests can be written and performed, including functionality and performance tests on the embedded system.
App capabilities are defined by an API table in the firmware, giving a firmware developer full control over the exact functionalities available to them. It is even possible to grant different rights (API tables) to different apps running in a system.
Key features
Small firmware size
emApps requires only a tiny executor and loader inside the firmware, with a footprint of around 2.5 KB in flash memory, with no static data required.
Small app size
Running in RAM, these apps start under 100 bytes and scale without complexity limits, fitting MCUs with only 64 KB of flash. The framework integrates into any existing firmware and supports all RTOS options.
High performance
Apps run on a specialized SEGGER virtual CPU via an executor that implements its custom instruction set. This architecture ensures high performance through efficient scheduling and code density that often outperforms ARM Thumb-2 or RISC-V.
Sandboxing
Apps are fully sandboxed in their own memory space and isolated from the host program. Illegal operations are instantly detected, returning control to the host while restricting communication to a specific API.
Easy integration
Integrating emApps into existing firmware is simple because the host code is written entirely in C. The package also includes an assembly-optimized executor specifically for ARM cores to ensure maximum performance.
Trial version
A downloadable PC trial version includes various pre-built apps and their full source code. These apps run on both the PC and the flasher for testing within real embedded systems.
Download TrialUse cases
Apps can be used to dynamically extend a host’s capabilities or to enable customization by manufacturers, OEMs, and end customers. Use cases include test apps, communication (web server, customization), automation, and many more.
Flasher and production systems
Apps can implement flash programming routines, custom test logic, or communication protocols without modifying the device firmware.
Third-party app development
A development kit can be provided to external partners. Apps can be created independently and deployed securely thanks to sandboxing.
Safety-critical environments
Non-essential features — such as GUI control or display logic — can be isolated as apps and excluded from certification scope.
Dynamic product customization
Apps allow feature expansions in the field, supporting new languages, new algorithms, or additional connectivity standards.
How emApps works
emApps consists of a PC development environment with a compiler for creating apps, as well as source code for host integration. Also included is a PC-based executor for running, testing, tracing, and even profiling apps on a desktop.
emApps adds a minimal runtime engine — the executor — into the firmware. This tiny component (~1 KB) acts as a virtual CPU that executes applications and manages their interaction with the embedded system. Apps are statically or dynamically linked and can be downloaded at any point in the device lifecycle.
Each application runs inside a dedicated memory space. The firmware assigns memory to the app only for the duration of execution. Any attempt to access memory outside this space is intercepted by the executor, which immediately returns control to the firmware. System stability and safety remain intact at all times.
The executor and its API together form a complete architecture for application management. Instead of assembling low-level components or configuring memory protection manually, the framework delivers a finished and scalable structure — a ready-to-use engine, instead of a box of parts. While similar goals can be attempted using standard RTOS mechanisms or an MPU, such solutions remain complex to configure and maintain. They provide isolation but not modularity, and they do not enable dynamic loading or field-based updates. emApps solves all of that in one integrated model.
Additional features
Resource usage
The resource usage is approximately 2.5 KB in flash memory, and no static data is required. API implementation depends on functionality provided. Fits on small MCUs — no large memory overhead.
Performance and code density
The virtual instruction set is highly efficient. Fewer instructions are required, and execution remains close to native speed — even for compute-intensive tasks.
Execution model
Multiple apps can run under RTOS control, even in parallel. Apps can be statically or dynamically linked and downloaded at any time.
Gevorg Melikdjanjan
Security | Reliability | Data Solutions
Licensing
If you are interested in emBoot-Secure, please contact me to discuss your requirements. I will help define a the solution that fits your application and security needs.