From static embedded systems to dynamic embedded software extensions

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

  • Characteristics:
    • 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):

koStatic device, no evolution possible.

koQuick obsolescence.

koHard maintenance (Product MUST be taken to repair shop).


Re-Programmable Embedded Systems

  • Characteristics:
    • 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)
  • Requirements:
    • 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):

koEnabling software evolutions and maintenance.

koRisk of losing service while doing the update + hard reset of system required.

koIncreased BOM: extra storage & memory space required to store & install new firmware.

koCostly development: integration and testing of full embedded software.


External Software Computing

  • Characteristics:
    • 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.
  • Requirements:
    • Interfacing with web services like PC or mobile clients do.
    • IP-based networking
    • HTTPS, REST, JSON…
  • Results (evolution, BOM, system update, maintenance):

koExpanding Software capabilities without expanding hardware capabilities

koNo BOM increase, no interruption of service/reboot.

koHas to be part of initial firmware development, not really flexible.

koSubject to online service availability & response time.


Dynamic Embedded Software Extensions

MicroEJ OS solution

  • Characteristics:
    • Dynamic installation/uninstallation of apps on top of the firmware (like on PC or mobile).
    • App development and deployment are independent from firmware.
  • Requirements:
    • 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):

koTrue dynamic software content management: smaller/more frequent than firmware update, no reboot required.

koLower development cost, faster software delivery. Can fit IoT networks/connectivity, lower BOM increase compared to firmware update.

koCan be combined with firmware update for bigger system upgrades.

koNeeds online server infrastructure for delivering apps.