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
21 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 →