
Libraries
MicroEJ Library
Check out our available APIs from a large number of software libraries and discover how to add APIs specific to your projects.
- Core Libraries:
| B-ON | B-ON introduces new concepts tailored to these constrained environments, while still adhering to the boundaries of Java semantics, hence the term “Beyond.” | Documentation and Javadoc |
| EDC (Embedded Device Configuration) | The Embedded Device Configuration specification defines the minimal standard runtime environment for embedded devices. | Documentation and Javadoc |
| KF (Kernel and Features) | The Kernel & Features semantic (KF) extends the runtime for managing Multi-Sandboxed Applications. KF also has focus on software security and resources control. | Documentation and Javadoc |
| SNI (Simple Native Interface) | SNI provides a simple mechanism for implementing native Java methods in the C language. | Documentation and Javadoc |
| Service Loader | Contains service management base interfaces and classes. | Javadoc |
- Featured VEE:
| VEE Wear | Documentation and Javadoc | |
| LPFE (Low Power Facer Engine) | VEE Wear supports the Facer Engine, expanding Facer’s extensive watch face catalog of 500,000 faces across all smartwatches, including low-power RTOS watches, enriching the user experience for all users. | Documentation |
| Power | Library available to control an MCU’s power modes. | Documentation |
| VEE Script | VEE Script is a scripting language supported on MICROEJ VEE. Its syntax is a subset of JavaScript. | Documentation |
| VEE Energy | Documentation | |
| DLMS | A library supporting the metering metrology standard DLMS. | On demand |
| Energy Metrology | The Energy Metrology Library is responsible for accessing meter metrology data and parameters. | Javadoc |
- UI/UX Libraries:
| MicroUI | MicroUI Foundation Library provides access to a pixel-based display and inputs. | Documentation and Javadoc |
| Drawings (Raster Graphics Engine) | The raster graphics engine allows the use of shapes rendering and image with transformation rendering algorithms. | Javadoc |
| MicroVG | MicroVG Foundation Library provides vector drawing capabilities. | Documentation and Javadoc |
| Motion | Motion is a library that provides some of the most commonly used easing functions and allows users to define new ones. | Documentation and Javadoc |
| Navigation Framework | The Navigation Framework structures a multi-page application. It navigates between pages identified by a key, maintains the navigation history, and animates each page change with a transition. It builds on MWT. | Documentation and Javadoc |
| MWT | MWT is a toolkit that simplifies the creation and use of graphical user interface widgets on a pixel-based display. | Documentation and Javadoc |
| Widgets | The Widget library provides very common widgets with basic implementations. | Documentation and Javadoc |
| NLS | Native Language Support (NLS) allows the application to facilitate internationalization. It provides support to manipulate messages and translate them in different languages. | Documentation and Javadoc |
- Connectivity Libraries:
| Android Connectivity | Network connection state and notifications. | Documentation and Javadoc |
| Bluetooth | The Bluetooth API Library provides APIs to use BLE (Bluetooth Low Energy) in an Application. | Documentation and Javadoc |
| Bluetooth Utility | Utility methods for developing a Bluetooth Application, built on top of the Bluetooth API Library. | Documentation and Javadoc |
| Ecom | A lightweight connection framework. | Javadoc |
| Ecom-network | Network interfaces management and IP configurations. | Documentation and Javadoc |
| Ecom-wifi (Wi-Fi Configuration Agent) | Wi-Fi connectivity manager. | Documentation and Javadoc |
| Network | Client and Server TCP/IP sockets. | Documentation and Javadoc |
| Serial | A serial connector library. | Documentation and Javadoc |
- Communication Libraries:
| AWS IoT Core Client | AWS IoT Core client, providing publish/subscribe functionalities. | Documentation and Javadoc |
| HTTP Client | OpenJDK HTTP client. | Documentation and Javadoc |
| Hoka (HTTP Server) | HOKA is a tiny extensible Java web server for embedded applications. | Documentation and Javadoc |
| MQTT Client (MicroPaho) | Tiny footprint MQTT 3.1.1 client based on Eclipse Paho Java APIs. | Documentation and Javadoc |
| NTP Client | Simple Network Time Protocol (SNTP) client, used to retrieve the current time from an NTP server. | Documentation and Javadoc |
| REST Client (Resty) | REpresentational State Transfer (REST) client. | Documentation and Javadoc |
| Websocket | WebSocket client. | Documentation and Javadoc |
- Security Libraries:
| SSL/TLS | Client and Server secure sockets layer using Transport Layer Security (TLS) protocols. | Documentation and Javadoc |
| Crypto | Cryptographic operations library, implementing a subset of the Java Cryptography Architecture: cipher, digest, MAC, signature, secure random, and key and certificate management. | Documentation and Javadoc |
- Device Management Libraries:
| Device | The Device Foundation Library provides access to the device information. This includes the architecture name and a unique identifier of the device for this architecture. | Documentation and Javadoc |
| Event | The Event Queue Foundation Library provides an asynchronous communication interface between the native world and the Managed world based on events. | Documentation and Javadoc |
| HAL (Hardware Abstraction Layer) | The Hardware Abstraction Layer (HAL) Foundation Library features API that target IO devices, such as GPIOs, analog to/from digital converters (ADC / DAC), etc. The API are very basic in order to be as similar as possible to the BSP drivers. | Documentation and Javadoc |
| SP (Shielded Plug) | The Shielded Plug (SP) library provides data segregation with a clear publish-subscribe API. The data-sharing between modules uses the concept of shared memory blocks, with introspection. | Documentation and Javadoc |
| Trace | A trace library used for code introspection. | Documentation and Javadoc |
| Logging | An implementation of the standard java.util.logging API, providing named loggers and adjustable log levels for application and library code. | Documentation and Javadoc |
| Time | The library introduces different classes for date, time, date-time, and variations for offset and time zone. | Documentation. |
| Watchdog | The WatchdogTimer Foundation Library provides a way to handle hardware watchdog timer. A watchdog is particularly useful if you want to monitor different items of your software system during the runtime. | Documentation and Javadoc |
- Persistent Data Libraries:
| File System | The FS Foundation Library defines a low-level File System framework for embedded devices. It allows you to manage abstract files and directories without worrying about the native underlying File System kind. | Javadoc |
| Storage | The storage library uses an identifier to store, retrieve or remove an entry. | Documentation and Javadoc |
- Multimedia Libraries:
| Audio | The Audio API Library provides APIs to record and play audio in an Application. | Documentation and Javadoc |
- AI Libraries:
| MicroAI | The MicroAI Library provides APIs to interact with trained Machine Learning models, especially to run inferences. | Documentation and Javadoc |
- Location Libraries:
| GNSS/GPS | GNSS stream data retriever. | Documentation and Javadoc |
- Serialization and Data Format Libraries:
| java.io.DataInput & DataOutput | For serialization of Java primitive types and UTF-8 String. From the EDC library. | Javadoc DataInput and Javadoc DataOutput. |
| CBOR | CBOR Encoder and Decoder Library. | Documentation and Javadoc |
| Flatbuffers | FlatBuffers Runtime library to support encoders/decoders generated by the FlatBuffers schema compiler. | Module |
| JSON (streamed) | JSON Writer and Reader Library. | Javadoc |
| org.json.me (buffered) | An org.json.me port. Manipulates JSON objects in Java. | Documentation and Javadoc |
| Protobuf | Protobuf Library. | Javadoc |
| ResourceBuffers | MicroEJ ResourceBuffers provides a compact format with random read access from an Application resource. From the B-ON library. | Javadoc |
| XML | org.kxml2 port. | Documentation and Javadoc |
All these libraries are available through MicroEJ Module Repositories and integrated to application projects.
- ManagedC Libraries:
MicroEJ VEE supports several languages allowing to enrich your application further, here are some of the supported managedC libraries.
| FLAC (Free Lossless Audio Codec) | MicroEJ port of the libFLAC reference implementation from the Xiph.Org Foundation. Decodes and encodes lossless audio streams, preserving the original samples bit for bit. | Contact Us |
| Jansson (JSON) | MicroEJ port of Jansson, a C library for encoding, decoding, and manipulating JSON. The parse buffer is sized in a single allocation, which lowers the peak memory needed for large documents. | Contact Us |
| libarchive | MicroEJ port of libarchive, a multi-format archive and compression library. Creates and extracts tar.gz archives on the device, using zlib as the compression library. | Contact Us |
| libev | MicroEJ port of libev, a compact event loop library. Dispatches socket, timer, and signal events from a single loop, for client and server applications. | Contact Us |
| libexpat (XML Parser) | MicroEJ port of Expat, a stream-oriented XML parser. Parses XML documents incrementally, without holding the whole document in memory. | Contact Us |
| libuv (Asynchronous I/O) | MicroEJ port of libuv, a multi-platform asynchronous I/O library. Provides an event loop with non-blocking file system, network, and timer operations, extended with threads created at a chosen stack size. | Contact Us |
| libwebsockets | MicroEJ port of libwebsockets, a lightweight HTTP and WebSocket library. Implements HTTPS clients and servers, with TLS provided by the WASI SSL extension. | Contact Us |
| Lua | MicroEJ port of Lua 5.3, an embeddable scripting language with a small interpreter. Application logic can be scripted and updated on the device without rebuilding the firmware, with garbage collection paced for constrained heaps. | Contact Us |
| luv (Lua bindings for libuv) | MicroEJ port of luv, the libuv bindings for Lua. Gives Lua scripts direct access to the event loop for non-blocking network, file, and timer operations. | Contact Us |
| Monocypher (Cryptography) | MicroEJ port of Monocypher, a compact cryptographic library. Provides authenticated encryption, hashing, key exchange, and Ed25519 signatures in a small code footprint. | Contact Us |
| SQLite | MicroEJ port of SQLite, a self-contained transactional SQL database engine. Stores structured application data in a single file on the device, with no separate server process. | Contact Us |
| WASI (POSIX APIs) | MicroEJ implementation of the WASI 0.1 specification, extended with POSIX APIs that wasi-libc does not provide. C sources compiled to WebAssembly with the wasi-sdk toolchain reach the file system, sockets, DNS, clocks, POSIX threads (pthreads), and TLS. | Contact Us |

