Skip to main content

:stars: List of software (HW interfaces, libs, protocols, etc) specifically suitable for resource-constrained Embedded Systems (low-memory and low-power) like 8-bit, 16-bit and 32-bit microcontrollers.

1.1k
GitHub Stars
265
Curated Resources
13
Categories
4 hours ago
Last Refreshed
CommonMemoryStorageProtocolsData processingCryptographyOSUser InterfaceGUIHardwareOthersCompilersUncategorized

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me radio frequency protocols resources from awesome-embedded-software"

Installation instructions →

What's inside

Protocols

  • Adafruit's RadioHeadRadio Frequency Protocols

    Packet Radio library for embedded microprocessors with

  • aem-modbus-simulator

    Open-source Python Modbus RTU/TCP slave simulator emulating an industrial DC monitor (147 holding registers, 6 baudrates). Useful for testing embedded firmware Modbus master implementations without physical slave hardware on the bench.

  • atatProtocol Parsers

    Lib for AT-like custom commands processing.

  • atcommanderProtocol Parsers

    Portable C++ library for sending AT commands and parsing their responses.

  • ATParserProtocol Parsers

    An mbed-os compatible AT command parser.

  • cATProtocol Parsers

    Plain C library for parsing AT commands for use in host devices.

Cryptography

  • µAESGeneral

    Lightweight, highly flexible, portable and ANSI-C compatible implementation of the AES encryption and block cipher modes.

  • arduinolibsGeneral

    Arduino Cryptography Library.

  • c25519-and-ed25519Elliptic Curve Cryptography

    Curve25519 and Ed25519 for low-memory systems (Curve25519 scalar multiplication uses less than half a kB of peak stack usage).

  • CycloneCRYPTOGeneral

    A cryptographic toolkit designed for use in embedded systems. It provides a comprehensive set of cryptographic primitives (hash functions, stream and block ciphers, public key cryptography) that can be used to add security features to your embedded application.

  • kryptonGeneral

    Embedded TLS/DTLS library, source and binary compatible OpenSSL subset.

  • LibHydrogenGeneral

    Lightweight, secure, easy-to-use crypto library suitable for constrained environments.

GUI

  • AFGUI

    Embedded GUI Library.

  • bitmap-OSD-fontFont utils

    A 'C' bitmap font for on screen display.

  • EasyGUI

    EasyGUI for embedded systems (highly optimized for STM32).

  • eGUI

    An eGUI embedded graphic library.

  • Embedded-graphics

    2D graphics library that is focused on memory constrained embedded devices to draw graphics without using any buffers (Rust).

  • emGUI

    Simple C UI Library for embedded platforms.

OS

  • Apache NuttXRTOS

    Apache NuttX is a mature, real-time embedded operating system (RTOS).

  • Arm Mbed OSRTOS

    Platform operating system designed for the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices.

  • asyncEvent based scheduler

    Asynchronous framework in C for systems where low memory usage is important.

  • Azure RTOS ThreadXRTOS

    Advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.

  • chaos

    Bare metal multicore ARM® Cortex®-A operating system based on a microkernel architecture.

  • ChibiOS/RTRTOS

    Compact and fast real-time operating system supporting multiple architectures designed for embedded applications on microcontrollers of 8-, 16-, and 32-bits.

Uncategorized

  • Apache NuttX Apps

    Collection of tools, shells, network utilities, libraries, interpreters and can be used with the NuttX RTOS.

  • cembed

    Small utility for embedding files in a C header.

  • incbin

    One-header library for compile-time embedding binary and textual files.

  • modm

    Barebone embedded C++20 library generator for AVR, SAM and ARM Cortex-M Microcontrollers (supported 3534 devices).

User Interface

  • BBmenuMenu

    Simple portable CLI menu for misc tasks (it is based on text menus, easily defined in a file).

  • cliCLI

    CLI (Command Line Interface) example build in pure C. Designed for MCU, support block/non-block mode input.

  • cmd-lCLI

    Command line handler for embedded devices.

  • EasyLoggerLogging

    Ultra-lightweight (ROM<1.6K, RAM<0.3k), high-performance C/C++ log library.

  • elogLogging

    Log system is thinked for embedded systems with mininmal resource utilization. The log system is designed to minimize memory compsumition in flash or RAM, enable an eficient in-ram loggin buffer with very efficient storage.

  • embedded-cliCLI

    Single-header CLI with history and autocompletion for embedded systems.

Data processing

  • caffepressoAI ML

    Optimized Library for Deep Learning on Embedded Accelerator-based platforms.

  • CMSIS-DSPDSP and Filtering

    Embedded compute library for Cortex-M and Cortex-A.

  • CraniumAI ML

    Portable, header-only, feedforward artificial neural network library written in vanilla C99.

  • ECLCompression

    Embedded Compression Library is not only for embedded, it is mostly oriented for small data and has special optimized low-memory modes for restricted environments.

  • edge-agents (ForestHub)AI ML

    Open-source (AGPL-3.0) 30 MB AI agent runtime for edge devices. Offline by default; GPIO/UART/MQTT as first-class nodes; local SLMs alongside cloud LLMs. Runs on Raspberry Pi, Jetson, STM32MP25.

  • EigenMath

    C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

Hardware

  • CanBootCAN bus

    Can Bootloader for MCUs (Currently lpc176x, stm32 and rp2040 MCUs are supported).

  • Canbus-MessageCAN bus

    CAN message assembly and disassembly library for teensy & stm32.

  • CherryUSBUSB

    Tiny, beautiful and portable USB host and device stack for embedded system with USB.

  • embedded-driver

    Embedded driver library for various peripheral.

  • FastIOIO

    Fast GPIO forked from

  • libcanardCAN bus

    Compact implementation of the UAVCAN/CAN protocol in C for high-integrity real-time embedded systems.

Showing a sample of 265 resources. View the full list on GitHub →