SEGGER emApps Brings Sandboxed Modular Firmware to Microcontrollers

At Embedded World 2026, SEGGER showcased a technology called emApps, which introduces a modular approach to firmware development on microcontrollers. Traditional embedded firmware typically runs as a single monolithic application with full access to all system resources. While this model is efficient, it can make it difficult to extend functionality or safely allow third-party customization. emApps provides a lightweight sandboxing mechanism that allows developers to run small applications within a controlled execution environment on a microcontroller.

Rethinking Firmware as Modular Applications

In many embedded devices, firmware is built as one complete software image where every part of the application has direct access to the system’s memory, peripherals, and drivers. This works well for tightly controlled systems, but it can become challenging when new functionality needs to be added later or when different partners need to modify specific parts of the firmware.

With emApps, functionality can be separated into smaller applications that run within a host firmware environment. Instead of modifying and revalidating the entire firmware image, developers can add or replace individual modules. This modular structure makes it easier to expand device capabilities while keeping the main firmware stable.

A Lightweight Virtual Core for Microcontrollers

The system is built around a small execution layer that acts as a virtual core running on the microcontroller. This executor is extremely compact, requiring roughly 2KB of ROM. Because of its small footprint, it can be integrated into embedded systems without significantly increasing firmware size or reducing available resources.

The executor loads and runs emApps within its environment, handling interactions with the underlying hardware. By managing how applications interact with the system, it enables a form of application isolation that is uncommon in traditional microcontroller firmware designs.

Sandboxing and Controlled API Access

One of the key ideas behind emApps is sandboxing. Applications do not automatically gain access to all system functions. Instead, the executor defines which APIs are available and what memory regions an application can access.

emApps Firmware

If an emApp attempts to access memory or functionality outside its permitted range, the executor stops the application. This protects the core firmware and the rest of the system from unintended behaviour. The result is a development model that brings concepts similar to application sandboxing in larger operating systems into resource-constrained embedded environments.

Enabling OEM Customization and Extensions

A practical use case for emApps is in products developed by original equipment manufacturers that are later customized or rebranded by partners. The manufacturer can ship a stable firmware platform and define which parts of the system partners are allowed to extend through emApps.

This means partners only need to develop and validate the specific functionality they are adding, rather than rebuilding the entire firmware stack. Developers interested in experimenting with the system can use SEGGER’s online compiler to create emApps and run them either in a PC-based executor environment or on supported hardware such as SEGGER flashers.

Leave your feedback...