From static embedded systems to dynamic embedded software extensions

microej for embedded systems


This is a summary of the different types of embedded systems, from programmable embedded systems or completely static systems to dynamic embedded software extensions. MicroEJ Store can help manufacturers adapt features to technical changes and business environments across all their deployed devices.

Programmable Embedded Systems


– Custom software content is developed and programmed in ROM.

– Will not evolve and will last the electronic product’s lifetime.

Requirements: Hardware in-system programming (ISP), programming on the production line.

Results (evolution, BOM, system update, maintenance):

  • Static device, no evolution possible.
  • Quick obsolescence.
  • Hard maintenance (Product MUST be taken to repair shop).

Re-Programmable Embedded Systems


– Custom SW content is developed and programmed in flash memory.

– Can be updated in the course of the electronic product’s lifetime = firmware update.

– Over-the-air (OTA, wireless), over-the-wire (OTW, wired)


– Hardware/Software in-application programming (IAP): can re-programming by the system itself.

– Network: constant, reliable, low-latency/high-bandwidth connectivity to load large firmware.

– Infrastructure/operations: server, fleet management if thousands of devices deployed.

– Security: identification of client (device) and server, communications, integrity of downloaded software.

Results (evolution, BOM, system update, maintenance):

  • Enabling software evolutions and maintenance.
  • Risk of losing service while doing the update + hard reset of system required.
  • Increased BOM: extra storage & memory space required to store & install new firmware.
  • Costly development: integration and testing of full embedded software.

External Software Computing


– Software functionality is not delivered by embedded system but in the cloud.

– Allows leveraging larger computing and storage capabilities. E.g.: weather, maps, voice recognition, hand writing recognition, etc.


– Interfacing with web services like PC or mobile clients do.

– IP-based networking


Results (evolution, BOM, system update, maintenance):

  • Expanding Software capabilities without expanding hardware capabilities
  • No BOM increase, no interruption of service/reboot.
  • Has to be part of initial firmware development, not really flexible.
  • Subject to online service availability & response time.

Dynamic Embedded Software Extensions

MicroEJ platform solution


– Dynamic installation/uninstallation of apps on top of the firmware (like on PC or mobile).

– App development and deployment are independent from firmware.


– The firmware has to become a true OS providing an open multi-application execution platform. App install, update, uninstall, start, stop.

– The firmware has to provide a way to browse, fetch, store, verify, install and securely execute apps coming from PC (Windows, Linux) or mobile (Android, iOS), or IoT (MicroEJ OS).

– The device operator has to provide a way to develop, test, publish, store, and deliver apps = online application store.

Results (evolution, BOM, system update, maintenance):

  • True dynamic software content management: smaller/more frequent than firmware update, no reboot required.
  • Lower development cost, faster software delivery. Can fit IoT networks/connectivity, lower BOM increase compared to firmware update.
  • Can be combined with firmware update for bigger system upgrades.
  • Needs online server infrastructure for delivering apps.