A MicroEJ® Firmware is a binary instance of MicroEJ Operating System for a dedicated board. MicroEJ Studio allows application developers to write Java applications, run them on a virtual (simulated) or real device, and publish them to the MicroEJ Application Store.

The MicroEJ firmware has the capabilities to locally deploy applications created with MicroEJ Studio.

Visit http://communitystore.microej.com for more information (download MicroEJ Studio, virtual device, firmware and demos).


Foundations Libraries

This firmware implements the following libraries of MicroEJ 4.1, named MICROEJ-HEADLESS-RUNTIME-1.3:

  • EDC 1.2 (java.io, java.lang, java.lang.annotation, java.lang.ref, java.lang.reflect, java.util, java.security)
  • BON 1.2 (ej.bon) : all except immortals
  • NET 1.1 (java.net): 3 socket max
  • SSL 2.0 (javax.net.ssl): 1 secured socket max
  • MicroUI 2.0 (ej.microui): support of LEDs and buttons only
  • ECOM 1.1 (ej.ecom)
  • ECOM-COMM 1.1 (ej.ecom-ecomm)

To view this API, check in Help > MicroEJ Resource Center > Javadoc > MICROEJ-HEADLESS-RUNTIME-x.y.

Included Add-on Java Libraries

  • Wadapps 1.0 (ej.kf, ej.wadapps)
  • Storage 1.0 (ej.wadapps.storage)
  • Components 3.1 (ej.components)
  • Connectivity Manager 1.1 (android.net)

Preinstalled MicroEJ Resident Applications

  • Localserver-socket: TCP/IP server for application management through the Wadapps Administration Console or MicroEJ companion (Android smartphone app)

Firmware API Javadoc

Javadoc can be viewed in MicroEJ Studio Resource Center view (after the corresponding virtual device is imported).


Demo applications and getting started are available from http://communitystore.microej.com.

Going further

Visit http://developer.microej.com to get more libraries and examples.

The following add-on Java libraries are compatible with this firmware (this list is indicative and not exhaustive):

  • Eclasspath elements 1.0 (e.g: streams, collections, lists, properties, queues, stringtokenizer, uri, url)
  • Logging 1.0 (java.util.logging)
  • REST client 1.0 (ej.rest)
  • MQTT client 1.0.2 (org.eclipse.paho.client.mqttv3)
  • HTTPS client 1.0 (javax.net.ssl)
  • HTTP client 1.1 (java.net)
  • SNTP client 1.0 (android.net)
  • XML KXML 2-2.3.0 (org.kxml2)
  • XML MxParser 1.1.4c (org.xmlpull.mxp)
  • JSON 1.0 (org.json.me)


1.3.3 (February 20th 2018)

  • Added missing KF converters for all wrapper types, for Date and List. Fixed Map converter to allow more complex use cases.

1.3.2 (November 10th 2017)

  • Fixed an issue with decoding DER certificates on some targets.

1.3.0 (October 27th 2017)

  • Updated to MicroEJ Headless Runtime 1.3.0
  • Added command to set or get shared properties.
  • Add "run" and "show" commands to start and show applications.
  • Use Bootlist 2.0 to customize the boot sequence.
  • Reduced memory consumption of the connectivity manager.
  • Firmware available in the Virtual Device can be extended with new resident applications provided as WPKs.
  • Added a new execute-on-device mode that actually adds the application as a resident application.
  • Increase available BSS size for resident apps from 2048 to 4096.
  • Increase maximum number of resident apps from 5 to 10.
  • Removed automatic execution of the ShieldedPlug server in the simulator.
  • Solved issue with the startup of the simulator that could lead to a black screen and no application execution.

1.2.2 (September 29th 2017)

  • Fixed an issue where applications with icons cannot be installed with the Android companion.

1.2.1 (July 8th 2017)

  • Display application name and version (if available) in the list command
  • Fixed an issue with Wadapps console randomly leaving a java.exe hanging consuming CPU

1.2.0 (June 28th 2017)

  • Fixed issue with DNS not retrying in case of timeout on slow networks
  • Support more than 1 parameter to uninstall command.
  • Fixed issue with no appplication metadata being stored on the device.
  • Fixed issue with command socket server missing the reuseadddress option.

1.1.0 (May 16th 2017)

  • Fixed issue with NTP not retrying in case of failure
  • Added a bootlist management mechanism

1.0.0 (March 31th 2017)

  • Initial release for MicroEJ Studio 4.1