
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.
MicroEJ VEE supports several languages. The tag next to each library name shows the language of its API: Java or C (ManagedC).
- Core Libraries:
| B-ON Java | 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) Java | The Embedded Device Configuration specification defines the minimal standard runtime environment for embedded devices. | Documentation and Javadoc |
| KF (Kernel and Features) Java | 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 |
| Lua C | 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 |
| Service Loader Java | Contains service management base interfaces and classes. | Javadoc |
| SNI (Simple Native Interface) Java | SNI provides a simple mechanism for implementing native Java methods in the C language. | Documentation and Javadoc |
| WASI (POSIX APIs) C | 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 |
- 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:
| Drawings (Raster Graphics Engine) Java | The raster graphics engine allows the use of shapes rendering and image with transformation rendering algorithms. | Javadoc |
| MicroUI Java | MicroUI Foundation Library provides access to a pixel-based display and inputs. | Documentation and Javadoc |
| MicroVG Java | MicroVG Foundation Library provides vector drawing capabilities. | Documentation and Javadoc |
| Motion Java | Motion is a library that provides some of the most commonly used easing functions and allows users to define new ones. | Documentation and Javadoc |
| MWT Java | MWT is a toolkit that simplifies the creation and use of graphical user interface widgets on a pixel-based display. | Documentation and Javadoc |
| Navigation Framework Java | 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 |
| NLS Java | 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 |
| Widgets Java | The Widget library provides very common widgets with basic implementations. | Documentation and Javadoc |
- Connectivity Libraries:
| Android Connectivity Java | Network connection state and notifications. | Documentation and Javadoc |
| Bluetooth Java | The Bluetooth API Library provides APIs to use BLE (Bluetooth Low Energy) in an Application. | Documentation and Javadoc |
| Bluetooth Utility Java | Utility methods for developing a Bluetooth Application, built on top of the Bluetooth API Library. | Documentation and Javadoc |
| Ecom Java | A lightweight connection framework. | Javadoc |
| Ecom-network Java | Network interfaces management and IP configurations. | Documentation and Javadoc |
| Ecom-wifi (Wi-Fi Configuration Agent) Java | Wi-Fi connectivity manager. | Documentation and Javadoc |
| libev C | 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 |
| libuv (Asynchronous I/O) C | 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 |
| Network Java | Client and Server TCP/IP sockets. | Documentation and Javadoc |
| Serial Java | A serial connector library. | Documentation and Javadoc |
- Communication Libraries:
| AWS IoT Core Client Java | AWS IoT Core client, providing publish/subscribe functionalities. | Documentation and Javadoc |
| Hoka (HTTP Server) Java | HOKA is a tiny extensible Java web server for embedded applications. | Documentation and Javadoc |
| HTTP Client Java | OpenJDK HTTP client. | Documentation and Javadoc |
| libwebsockets C | 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 |
| MQTT Client (MicroPaho) Java | Tiny footprint MQTT 3.1.1 client based on Eclipse Paho Java APIs. | Documentation and Javadoc |
| NTP Client Java | Simple Network Time Protocol (SNTP) client, used to retrieve the current time from an NTP server. | Documentation and Javadoc |
| REST Client (Resty) Java | REpresentational State Transfer (REST) client. | Documentation and Javadoc |
| Websocket Java | WebSocket client. | Documentation and Javadoc |
- Security Libraries:
| Crypto Java | 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 |
| Monocypher (Cryptography) C | MicroEJ port of Monocypher, a compact cryptographic library. Provides authenticated encryption, hashing, key exchange, and Ed25519 signatures in a small code footprint. | Contact Us |
| SSL/TLS Java | Client and Server secure sockets layer using Transport Layer Security (TLS) protocols. | Documentation and Javadoc |
- Device Management Libraries:
| Device Java | 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 Java | 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) Java | 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 |
| Logging Java | An implementation of the standard java.util.logging API, providing named loggers and adjustable log levels for application and library code. | Documentation and Javadoc |
| SP (Shielded Plug) Java | 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 |
| Time Java | The library introduces different classes for date, time, date-time, and variations for offset and time zone. | Documentation. |
| Trace Java | A trace library used for code introspection. | Documentation and Javadoc |
| Watchdog Java | 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 Java | 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 |
| SQLite C | 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 |
| Storage Java | The storage library uses an identifier to store, retrieve or remove an entry. | Documentation and Javadoc |
- Multimedia Libraries:
| Audio Java | The Audio API Library provides APIs to record and play audio in an Application. | Documentation and Javadoc |
| FLAC (Free Lossless Audio Codec) C | 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 |
- AI Libraries:
| MicroAI Java | The MicroAI Library provides APIs to interact with trained Machine Learning models, especially to run inferences. | Documentation and Javadoc |
- Location Libraries:
| GNSS/GPS Java | GNSS stream data retriever. | Documentation and Javadoc |
- Serialization and Data Format Libraries:
| CBOR Java | CBOR Encoder and Decoder Library. | Documentation and Javadoc |
| Flatbuffers Java | FlatBuffers Runtime library to support encoders/decoders generated by the FlatBuffers schema compiler. | Module |
| Jansson (JSON) C | 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 |
| java.io.DataInput & DataOutput Java | For serialization of Java primitive types and UTF-8 String. From the EDC library. | Javadoc DataInput and Javadoc DataOutput. |
| JSON (streamed) Java | JSON Writer and Reader Library. | Javadoc |
| libarchive C | 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 |
| libexpat (XML Parser) C | MicroEJ port of Expat, a stream-oriented XML parser. Parses XML documents incrementally, without holding the whole document in memory. | Contact Us |
| org.json.me (buffered) Java | An org.json.me port. Manipulates JSON objects in Java. | Documentation and Javadoc |
| Protobuf Java | Protobuf Library. | Javadoc |
| ResourceBuffers Java | MicroEJ ResourceBuffers provides a compact format with random read access from an Application resource. From the B-ON library. | Javadoc |
| XML Java | org.kxml2 port. | Documentation and Javadoc |
All the Java libraries are available through MicroEJ Module Repositories and integrated to application projects.

