External libraries and applications. More...

Detailed Description

External libraries and applications.

Using packages

To add a package to the list of compiled modules you have to add it to the USEPKG macro in your application's Makefile. If the package provides header files you might need to update the INCLUDE macro, too:

USEPKG += <pkg_name>
INCLUDE += $(RIOTPKG)/<pkg_name>/...

Porting an external library

Structure of a package

This module provides porting information for libraries and applications to use with RIOT (to build an external module). If you'd like to add a package to RIOT you need to add a directory with the name of your package to this directory. This directory should contain at least two files:

Creating a patch with git

Assuming your upstream library resides in a git repository, you can create the patch files as follows:


 Cayenne Low Power Payload (LPP)
 Provides a RIOT support for Cayenne LPP format.
 Color graphics library for embedded systems
 Provides a color graphics library for OLED and LCD displays.
 Cross platform fixed point maths library
 Provides a cross platform fixed point maths library to RIOT.
 FAT file system
 Provides FAT file system support.
 GPS parser library
 Provides a GPS parser library to RIOT.
 HACL High Assurance Cryptographic Library
 Support for HACL* (High Assurance Cryptographic Library)
 JSON parser library
 Provides a JSON parser library to RIOT.
 Lightweight ASN.1 decoding/encoding library
 Lightweight ASN.1 decoding/encoding library.
 Lightweight Morse encoder
 Provides slim Morse encoding functionality.
 Lightweight compression library
 Provides a lightweight compression library to RIOT.
 Lua ported to RIOT
 Provides a Lua interpreter for RIOT.
 Micro-ECC for RIOT
 Micro-ECC for RIOT.
 Monocypher cryptographic library
 Provides the Monocypher cryptographic library.
 NimBLE BLE stack
 RIOT port of the NimBLE BLE stack.
 Nordic Softdevice BLE
 Provides a RIOT adaption for Nordic Softdevice BLE library.
 OpenThread network stack
 Provides a RIOT adaption of the OpenThread network stack.
 Relic toolkit for RIOT
 Provides the Relic cryptographic toolkit to RIOT.
 SPI flash file system
 Provides a file system for SPI NOR flash devices.
 Semtech LoRaMAC implementation
 Provides a RIOT adaption of Semtech LoRaMAC implementation.
 TLSF-based malloc.
 TLSF-based global memory allocator.
 TinyDTLS for RIOT
 Provides the Eclipse TinyDTLS to RIOT.
 TweetNaCl high-security cryptographic library
 Provides the TweetNaCl high-security cryptographic library.
 Two-Level Segregated Fit memory allocator
 TLSF is a general purpose dynamic memory allocator specifically designed to meet real-time requirements:
 U8G2 graphic library for monochome displays
 Provides a monochrome graphics library for OLED and LCD displays.
 Ultra-lightweight Javascript for Internet Of Things
 Provides Javascript support for RIOT.
 Vendor library for EFM/EFR/EZR32 MCUs
 Vendor library for EFM/EFR/EZR32 targets by Silicon Labs.
 Wakaama LwM2M implementation
 Provides the Wakaama implementation of LwM2M.
 A constrained node implementation of CBOR in C.
 littlefs file system
 A little fail-safe filesystem designed for embedded systems.
 Small and Secure Digital Signatures with Curve-based Diffie-Hellman Key Pairs.
 tinycrypt crypto library
 Memory optimized crypto library for embedded devices.