Skip to content
80

Awesome Embedded Resources for Developers

: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 stars107 forks267 entriesLast push Aug 27, 2026 (1 month ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

General

Permanent URL to this list:

Common

wiselib

Generic algorithms library for heterogeneous, distributed, embedded systems.

util.embedded

Useful support code for embedded development.

embxx

Embedded C++ Library.

embedded-libs

Libraries for embedded software (mainly for STM32).

ETLCPP

Embedded Template Library where the user can declare the size, or maximum size of any object upfront.

In 4 listsDetails

eFLL

Embedded Fuzzy Logic Library is a standard library for Embedded Systems.

Collection of miscellaneous portable C snippets

Collection of miscellaneous portable C snippets.

In 2 lists

sc

Portable, stand-alone C libraries and data structures (C99).

In 3 lists

MicroTBX

Open source Microcontroller ToolBoX consisting of software components commonly needed in embedded software applications. MicroTBX is written in the C programming language (C99) with MISRA compliance in mind.

umlibc

A bare-bones libc for memory constrained systems.

µClibc-ng

Embedded C Library.

Embedded Artistry's libc

A stripped-down C standard library implementation targeted for microcontroller-based embedded systems. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup.

HWlib

C++ OO micro-controller library for close-to-the-hardware programming.

ctl

C Container Template Library. There is a fast compiling, type safe, header only, template-like container library for ISO C99/C11.

In 2 lists

FSMLang

State machine description language with C language generator. Supports flat and hierarchical machines and event subsystem.

Memory >Memory management

libmemory

Memory management library with implementations for malloc(), free(), and other useful memory management functions.

lwmem

Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions.

umm_malloc

Memory Manager For Small(ish) Microprocessors.

o1heap

A highly deterministic constant-complexity memory allocator designed for hard real-time high-integrity embedded systems.

Memory >Buffers

EmbeddedProto

C++ Protocol Buffers implementation specifically suitable for ARM Cortex-M microcontrollers. It is small, reliable and easy to use.

protobuf-embedded-c

Protocol buffers generator for resource constrained embedded applications written in the C programming language.

Memory >Ring Buffer

LwRB

Lightweight generic ring buffer manager library.

In 2 lists

RingBuffer

Simple Interrupt Safe Ring (Circular) Buffer Queuing Library for Embedded platforms.

lfbb

Lock-free bipartite buffer, a variant of the ring buffer which can always provide contigous space inside the buffer for reading, writing or modifying the data in-place.

Memory >FIFO

fifofast

A fast, generic fifo for MCUs.

Storage >Filesystems

lwext4

An ext2/ext3/ext4 filesystem library for microcontrollers.

FatFS

FAT filesystem implementation.

LevelX

Provides Flash Wear Leveling for FileX and Stand Alone purposes.

ufat

Low-memory feature-complete VFAT implementation.

fat_io_lib

Small footprint, low dependency, C code implementation of a FAT16 & FAT32 driver.

SdFat

Arduino FAT16/FAT32 exFAT Library.

fat32

Lighweight FAT32 file system written in C with no thirdparty dependencies. It requires a small port which provide functions for initializing, reading and writing to the MSD.

emfat

FAT32 emulation library for stm32f4.

OpenFAT

FAT filesystem implementation for embedded processors.

uC-FS

Compact, reliable, high-performance, and thread-safe embedded file system for microprocessors, microcontrollers, and DSPs. An optional journaling component provides fail-safe operation while maintaining FAT compatibility.

littlefs

Little fail-safe filesystem designed for microcontrollers.

In 2 lists

UFFS

Filesystem for NAND devices with wear leveling and good fault tolerance.

Storage >Data Bases

FlashDB

Ultra-lightweight database that supports key-value and time series data.

In 3 lists

PureDB

Portable and tiny set of libraries for creating and reading constant databases.

UnQLite

Embedded NoSQL, Transactional Database Engine.

In 5 listsDetails

Vedis

Embedded Implementation of Redis (an embeddable datastore C library built with over 70 commands similar in concept to Redis but without the networking layer since Vedis run in the same process of the host application).

microkvs

Tiny key-value store for persisting configuration data on microcontrollers.

Storage >Flash Memory

EasyFlash

Lightweight embedded flash memory library.

In 2 lists

FlashAlgo

Framework for building Arm Cortex-M "FLM" style flash programming algorithms.

FCB

Flash Circular Buffer provides an abstraction through which you can treat flash like a FIFO.

Protocols

nanoPB

Small code-size Protocol Buffers implementation in ANSI C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.

In 4 listsDetails

interchange

Request/response mechanism for embedded development, using atomics.

xmodem

XMODEM Library for embedded, mobile, iot, and desktop systems.

TinyFrame

Simple library for building and parsing data frames for serial interfaces (like UART / RS232).

nanoMODBUS

A compact MODBUS RTU/TCP C library for embedded/microcontrollers.

In 2 lists

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.

In 3 lists

rcobs

Reverse-COBS encoding (rCOBS) is a variant of COBS encoding designed to allow encoding with zero lookahead.

Protocols >Radio Frequency Protocols

RadioHead

Packet Radio library for embedded microprocessors.

Adafruit's RadioHead

Packet Radio library for embedded microprocessors with docs.

Protocols >Network protocols

uIP

Very small implementation of the TCP/IP stack that is written by Adam Dunkels.

In 2 lists

LwIP

Small independent implementation of the TCP/IP protocol suite that has been initially developed by Adam Dunkels. lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room for around 40 kilobytes of code ROM.

HttpClient

Http Client Library.

httpio

Stand-Alone Cross Platform request parser and response generator for the HTTP protocol.

PicoTCP

Small-footprint, modular TCP/IP stack designed for embedded systems and the Internet of Things.

RawTCP_Lib

C library for creating and using TCP/IP packets with raw network sockets.

LRNDIS

Ethernet over USB (rndis + lwip).

CycloneTCP

A dual IPv4/IPv6 stack dedicated to embedded applications. The stack is distributed as a full ANSI C and highly maintainable source code (examples not included in GitHub's sources).

StaticNet

C++ TCP/IP and SSH stack with all-static allocations designed for bare metal (no operating system) embedded applications with minimal footprint.

LiveKit

ESP32 SDK for LiveKit: real-time audio, video, and data streaming.

Protocols >Web Server

mongoose

Embedded Web Server and Embedded Networking Library. It implements event-driven non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT.

In 5 listsDetails

libevhtp

Extremely-fast and secure embedded HTTP servers with ease.

libμhttpd

Very flexible, lightweight and fully asynchronous HTTP server library based on libev and http-parser.

In 2 lists

sandbird

Tiny (800sloc) embeddable HTTP server written in C89.

Protocols >MQTT

libemqtt 1

Embedded C client library for the MQTT protocol.

libumqtt 2

Lightweight and fully asynchronous MQTT client C library based on libev.

Paho MQTT

C client library for embedded systems.

Protocols >Protocol Parsers

RegExp

Regular expressions library for embedded systems.

LwGSM

Library for SIMCOM GSM modules to communicate with AT commands and RTOS from host device.

GSM_Engine

Generic AT parser for AT command based modules.

TinyGSM

Small Arduino library for GSM modules, that just works.

In 2 lists

LwGPS

Lightweight GPS NMEA parser for embedded systems.

minmea

Lightweight GPS NMEA 0183 parser library in pure C.

In 2 lists

atat

Lib for AT-like custom commands processing.

cAT

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

gzat

Portable AT command parsing library in C++ language.

ATParser

An mbed-os compatible AT command parser.

atcommander

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

LwESP

Lightweight ESP AT commands parser library to communicate with ESP8266 or ESP32 Wi-Fi module using AT commands.

lwpkt

Lightweight packet protocol structure for multi-device communication focused on RS-485.

lwow

Lightweight onewire protocol library optimized for UART hardware on embedded systems.

panStamp-SWAP

Simple Wireless Abstract Protocol for any existing ISM radio.

panStamp-uSWAP

Micro SWAP stack for MCU's connected via UART.

MIN

Microcontroller Interconnect Network protocol version 2.0.

libCoAP

C implementation of a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwidth, or network packet sizes. This protocol, CoAP, is standardized by the IETF as RFC 7252.

In 4 listsDetails

Data processing >Math

liquid-fpm

Software-Defined Radio Fixed-Point Math Library for embedded signal processing.

FPM

C++ header-only fixed-point math library.

In 2 lists

Eigen

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

In 2 lists

Data processing >DSP and Filtering

liquid-dsp

Digital signal processing library for software-defined radios.

minfft

Small and fast Discrete Fourier Transform library.

iir1

DSP IIR realtime filter library written in C++.

In 3 lists

kalman-clib

Microcontroller targeted naive Kalman filter implementation in pure C.

libdspl

Cross-platform digital signal processing algorithm library, written in C language.

pocketfft

Heavily modified implementation of FFTPack.

In 3 lists

KISS FFT

Mixed-radix Fast Fourier Transform based up on the principle, "Keep It Simple, Stupid".

In 3 lists

CMSIS-DSP

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

In 2 lists

SigLib

Digital Signal Processing and Machine Learning Library (x86, Cortex-A and Cortex-M, RISC-V, DSPs from TI, ADI etc).

lsp-dsp-lib

DSP library for digital signal processing provides set of functions that perform SIMD-optimized computing on several hardware architectures. All functions currently operate on IEEE-754 single-precision floating-point numbers.

Data processing >Compression

heatshrink

Data compression library for embedded/real-time systems.

In 3 lists

shoco

C library to compress and decompress short strings. It is very fast and easy to use. The default compression model is optimized for english words, but you can generate your own compression model.

SMAZ

Compression for very small strings.

In 3 lists

ECL

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.

Unishox2

Hybrid encoder for Short Unicode Strings (Unishox provides the best compression for short text and not to be compared with general purpose compression algorithm like lz4, snappy, lzma, brottli and zstd).

TCOBS

Short messages compression with COBS framing using implicit run-length-encoding, optimized for data containing statistically a bit more 0 and FF bytes in a row, as data often carry 16, 32 or 64 bit numbers with small values.

Data processing >AI ML

Cranium

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

In 2 lists

μTensor

TinyML AI inference library.

In 2 lists

Fido

Lightweight C++ machine learning library for embedded electronics and robotics.

In 3 lists

nnom

Neural Network on Microcontroller (NNoM) is a high-level inference Neural Network library specifically for microcontrollers.

In 2 lists

caffepresso

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

libonnx

Lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.

In 2 lists

TinyMaix

A tiny inference Neural Network library specifically for microcontrollers (TinyML). Designed to follow the rule: Easy-to-Use > Portable > Speed > Space.

edge-agents (ForestHub)

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.

In 2 lists

Data processing >CV

Embedded SOD

Embedded Computer Vision & Machine Learning Library (CPU Optimized & IoT Capable).

In 2 lists

QR-Image-embedded

QR library fork for embedded systems.

Cryptography >General

trussed

Minimal, modular way to write cryptographic applications on microcontroller platforms (Rust).

wolfSSH

Lightweight SSHv2 client and server library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments - primarily because of its small size, speed, and feature set.

LibHydrogen

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

In 3 lists

krypton

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

wolfTPM

Highly portable TPM 2.0 library, designed for embedded use.

mbedTLS

Open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API.

In 2 lists

liblithium

Lightweight cryptography library that is portable by design. It requires only standard C99 and does not assume 8-bit addressability, making it suitable for use on some DSP architectures as well as mainstream architectures.

trezor-crypto

Heavily optimized cryptography algorithms for embedded Devices.

In 2 lists

poly1305-donna

Implementations of a fast Message-Authentication Code (8 bit, 16 bit, 32 bit and 64 bit multiplies versions).

arduinolibs

Arduino Cryptography Library.

tlse

Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library.

In 3 lists

LibTomCrypt

Fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.

In 4 listsDetails

Monocypher

Easy to use, easy to deploy, auditable crypto library written in portable C.

minicrypt

Library of crypto primitives for embedded systems.

tinycrypt

Library of cryptographic algorithms provides an implementation for constrained devices of a minimal set of standard cryptography primitives.

tiny-AES-c

Small portable AES128/192/256 in C.

In 3 lists

µAES

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

CycloneCRYPTO

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.

Cryptography >Elliptic Curve Cryptography

salty

Ed25519 signatures with assembly optimizations for Cortex-M4 and Cortex-M33.

micro-ecc

ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors.

In 2 lists

libuecc

Very small generic-purpose Elliptic Curve Cryptography library compatible with Ed25519.

c25519-and-ed25519

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

Cryptography >Random Number Generation

pcg-c-basic

Code provides a minimal implementation of one member of the PCG family of random number generators, which are fast, statistically excellent, and offer a number of useful features.

pcg-c

Code provides an implementation of the PCG family of random number generators, which are fast, statistically excellent, and offer a number of useful features.

OS

citrus

Bare metal ARM® Cortex®-A5 operating system.

vanilla

Bare metal ARM® Cortex®-M7 operating system.

chaos

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

LK kernel

The Little Kernel Embedded Operating System is SMP-aware kernel designed for small systems ported to a variety of platforms and cpu architectures.

In 3 lists

QuarkTS

OS for embedded applications that supports prioritized cooperative scheduling, time control, inter-task communications primitives, hierarchical state machines and CoRoutines.

micro-ROS

Micro-ROS puts ROS 2 onto microcontrollers.

OS >RTOS

FreeRTOS™

FreeRTOS.

In 3 lists

Zephyr

New generation, scalable, optimized, secure RTOS for multiple hardware architectures.

In 6 listsDetails

Apache NuttX

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

scmRTOS

Tiny Real-Time Preemptive Operating System intended for use with Single-Chip Microcontrollers. scmRTOS is capable to run on tiny uCs with as small amount of RAM as 512 bytes. The RTOS is written on C++ and supports various platforms.

ChibiOS/RT

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

In 2 lists

Azure RTOS ThreadX

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

eCos

Real-time operating system intended for embedded applications (Closed source).

embox

Configurable RTOS designed for resource constrained and embedded systems. Embox main idea is using Linux software without Linux.

In 2 lists

RIOT

Real-time multi-threading operating system that supports a range of devices that are typically found in the Internet of Things (IoT): 8-bit, 16-bit and 32-bit microcontrollers. RIOT is based on the following design principles: energy-efficiency, real-time capabilities, small memory footprint,…

In 5 listsDetails

Arm Mbed OS

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.

In 2 lists

RT-Thread

RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS). RT-Thread has Standard version and Nano version. For resource-constrained microcontroller (MCU) systems, the NANO kernel version that requires only 3KB Flash and 1.2KB RAM memory…

In 5 listsDetails

distortos

Object-oriented C++ RTOS for microcontrollers.

In 2 lists

R3-OS

Experimental static (μITRON-esque) RTOS for deeply embedded systems, testing the limit of Rust's const eval and generics (Rust).

Tock Embedded OS

Embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers (Rust).

In 5 listsDetails

dandelion

Microkernel Real-Time Operating System in Rust.

MuditaOS

Mobile operating system based on FreeRTOS optimized for E Ink displays - developed for Mudita Pure minimalist phone.

µC/OS-II

Preemptive, highly portable, and scalable real-time kernels. Designed for ease of use on a huge number of CPU architectures.

µC/OS-III

Preemptive, highly portable, and scalable real-time kernel. Designed for ease of use on a huge number of CPU architectures.

In 2 lists

QP/C

Real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines (FuSa, MISRA-C 2023 compliance).

In 2 lists

Quite Ok RTOS

Tickless, minimal, 500 lines of code, 7 functions.

OS >Event based scheduler

uevloop

Fast and lightweight event loop for embedded platforms.

lwevt

Lightweight event management system for embedded systems.

async

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

Protothreads

Provide linear code execution for event-driven systems implemented in C designed for severely memory constrained systems, such as small embedded systems or wireless sensor network nodes.

EventOS

Event based system designed for Arduino Framework.

vsf

Versaloon Software Framework - a tiny preemptive-capable event-driven incremental software framework for Embedded Systems.

User Interface >CLI

cli

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

terminal

Command Line Interface for microcontrollers. Flexible terminal settings allow you to integrate it with any microcontroller, without much effort.

SerialMenu

Arduino library to easily create menus on the serial console.

terminal-server

Terminal server for MCU.

microsh

Shell for Small Embedded Devices.

cmd-l

Command line handler for embedded devices.

embedded-cli

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

microshell

Lightweight pure C implementation of virtual shell, compatible with VT100 terminal. Support root tree, run-time mounting paths, global commands, and much more.

microrl

Micro read line library for small and embedded devices with basic VT100 support.

User Interface >Menu

ProMenu

Advanced Generic Application Menu Library. ProMenu Library is used for fast implementing advanced user menus. It supports nesting, numeric settings, text settings, boolean values and events. Library is implemented in C++ with build-in Arduino port, but it is easy to port to different architecture.

BBmenu

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

micromenu-v2

Tiny text-orientated menu library in C for embedded use.

User Interface >printf

lwprintf

Lightweight printf library optimized for embedded systems.

Embedded_Printf

Embedded version of the famous "printf( )" function. The idea is create an simple and efficient library to meet some common needs in embedded systems.

tinyprintf

Tiny printf and sprintf library for small embedded systems.

xprintf-fp

Printf for embedded system with floating point support.

xprintf-io

Compact string I/O library. It is ideal for tiny microcontrollers that has insufficient program memory for regular printf function. The recommended use is: writing formatted strings into LCD or UART and for debug/maintenance console.

xprintf

Complete fprintf() formatting implementation, suitable for embedded use.

tiny-printf

Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.

In 2 lists

tiny-printf new

Enhanced and maintained fork of tiny-printf. Tiny, fast(ish), self-contained and fully loaded printf, sprinf etc.

mini-printf

Minimal printf() implementation for embedded projects.

nanoprintf

The smallest public printf implementation for its feature set.

fmt

Modern formatting library providing a fast and safe alternative to C stdio and C++ iostreams.

In 5 listsDetails

emio

Very small binary footprint std::format like formatting using C++20.

In 3 lists

User Interface >scanf

scanf

Portable implementation of scanf input functions in C.

ft_scanf

Simple scanf %s %c %d.

User Interface >Logging

embedded-log

Small and beautiful embedded log library for mcu.

EasyLogger

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

In 3 lists

trice

Super fast and tiny embedded device C printf-like trace code (works also inside interrupts) and real-time PC logging (trace ID visualization).

In 2 lists

embedded-diagnostic-logger

Lightweight logger framework for small microcontroller based projects. Multilevel log and token based string transfer.

spdlog

Very fast, header-only/compiled, C++ logging library.

In 10 listsDetails

elog

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.

GUI

lvgl

Powerful and easy-to-use embedded GUI with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).

In 3 lists

EasyGUI

EasyGUI for embedded systems (highly optimized for STM32).

TouchGFX

User-friendly graphical C++ tool integrated as a free tool in the STM32 ecosystem.

eGUI

An eGUI embedded graphic library.

ESLowGraphics

Low level software graphics library by ErrorSoft (ESLGL).

ftk

GUI library for embedded system.

u8glib

Universal Graphics Library for 8 Bit Embedded Systems.

u8g2

U8glib library for monochrome displays, version 2.

In 2 lists

SGFX

Lightweight embedded library for displays and touchscreens providing everything required to build a fully featured embedded GUI.

GUIX

Provides a complete, embedded graphical user interface (GUI) library and design environment, facilitating the creation and maintenance of all graphical elements needed by your device.

GUILib

GUI library for embedded systems.

HMI_Library

Human Machine Interface suitable for embedded system.

AFGUI

Embedded GUI Library.

MakiseGUI

Graphics and GUI library for embed systems.

emGUI

Simple C UI Library for embedded platforms.

HAGL

Lightweight Hardware Agnostic Graphics Library for embedded devices. It supports basic geometric primitives, bitmaps, blitting, fixed width fonts. Library tries to stay lightweight but targets reasonably powerful microchips such as ESP32. There is no dynamic allocation.

Embedded-graphics

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

LovyanGFX

Display (LCD / OLED / EPD) graphics library (for ESP32 SPI, I2C, 8bitParallel / ESP8266 SPI, I2C / RP2040 SPI / ATSAMD51 SPI and more).

UGUI (µGUI)

A graphic library. It supports color, grayscale, monochrome and multiple displays, touch screen, windows and objects, basic geometric primitives, fonts, console. There is no required dynamic allocation and memory for screen buffer. Documentation available on developer's website.

GUI >GUI editors

lv_gui_designer

Drag-and-drop, simple GUI designer built with LittlevGL.

walv

Online, WYSIWYG GUI designer for LittlevGL. Cross-platform supported(Even Android and IOS).

GUI >Font utils

bitmap-OSD-font

A 'C' bitmap font for on screen display.

ttf2mesh

Library for TrueType font tessellation. Allows to convert font glyphs to mesh objects without rasterization.

In 2 lists

sfam_generator

Simple scripts for generating bit fonts for STM32, AVR, Arduino or other MCU.

mcufont

A font rendering library for microcontrollers.

picon

Pico-icon set with Hackable Ligature (Designed on a 8-grid: to be readable at 8px 16px 24px 32px 48px).

In 2 lists

GUI >Picture manupulation tools

lcd-image-converter

Tool to create bitmaps and fonts for embedded applications; allows you to create bitmaps and fonts, and transform them to "C" source format for embedded applications.

Hardware

embedded-driver

Embedded driver library for various peripheral.

Hardware >IO

FastIO

Fast GPIO forked from http://os.mbed.com/users/Sissors/code/FastIO/ .

Hardware >USB

tinyusb

Cross-platform USB stack for embedded system.

In 4 lists

libusb_stm32

Lightweight USB device Stack for STM32 microcontrollers.

In 2 lists

CherryUSB

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

Hardware >Flash

SFUD

Serial Flash Universal Driver (using JEDEC's SFDP standard serial (SPI) flash universal driver library).

Hardware >CAN bus

libcanard

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

Canbus-Message

CAN message assembly and disassembly library for teensy & stm32.

CanBoot

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

Hardware >Sensors

stm32-async-1wire

Non-blocking, register-level 1-Wire master for STM32 (DS18B20 temperature driver on top). Hardware-timed (TIM1+DMA, DMAMUX on G0), interrupt-free, RTOS-agnostic; header-only backends for STM32F1/F0/G0; hardware-validated on Blue Pill (F103) and STM32G031; strong-pull-up parasite powering; released…

In 2 lists

Others >Thread management

C-Thread-Pool

Minimal but powerful thread pool in ANSI C.

In 2 lists

Others >Bootloaders

mcuboot

Secure boot for 32-bit Microcontrollers.

OpenBLT

Open source bootloader for STM32, XMC, HCS12 and other microcontroller targets. It supports communication interfaces such as: RS232, CAN, USB, TCP/IP and it ships with the easy-to-use MicroBoot PC tool for initiating and monitoring the firmware update. Performing firmware updates directly from an…

In 3 lists

TinyUF2

Bootloader based on TinyUSB for embedded devices such as ESP32, STM32 and iMX RT10xx.

wolfBoot

Portable, OS-agnostic, secure bootloader for microcontrollers, supporting firmware authentication and firmware update mechanisms.

Others >Firmware updates

UF2

USB Flashing Format specification for flashing microcontrollers over MSC (Mass Storage Class; aka removable flash drive).

SWupdate

Software Update for Embedded Linux Devices to update system in field. SWUpdate supports local and OTA updates, multiple update strategies and it is designed with security in mind.

Others >Touch Screen

tslib

Touchscreen access library.

Others >Time Management Libs

TimeLib

Time management library for embedded devices.

μtz

Time zone library for tiny embedded systems.

Others >Embeddable Scripts and Languages

little

A small, fast, easily embeddable language implemented in a single .c file.

Compilers

SDCC

Small Device C Compiler (that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (Z80, Z180, SM83, Rabbit 2000, 2000A, 3000A, TLCS-90), Padauk (pdk14,…

tcc

Tiny C Compiler (~ 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker).

In 2 lists

lcc

Retargetable ANSI C Compiler (fork for ULP in ESP32).

In 2 lists

pcc

Portable C Compiler (mirror).

In 2 lists

TinyGo

Go compiler for small things: Microcontrollers, WebAssembly (WASM/WASI), and command-line tools (Based on LLVM).

In 5 listsDetails

chibicc

Yet another small C compiler that implements most C11 features.

In 2 lists

rvcc

Bootstrapped C compiler for 32-bit RISC-V and ARM ISAs (generates executable Linux ELF binaries for RV32IM and ARMv7).

Uncategorized

Apache NuttX Apps

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

modm

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

cembed

Small utility for embedding files in a C header.

incbin

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

In 4 listsDetails

WTX

A set of web-oriented tools.

In 8 listsDetails
See category
94

Awesome OpenClaw Skills

VoltAgent/awesome-openclaw-skills

The awesome collection of OpenClaw skills. 5,400+ skills filtered and categorized from the official OpenClaw Skills Registry.🦞

Fresh★ 53k830 entriesPushed today
92

Awesome DeepSeek Harness (DSH) Plugin

awesome-dsh-plugin/awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Fresh★ 17k1654 entriesPushed today
91

Awesome Guidelines

Kristories/awesome-guidelines

Programming style, best practices, and coding conventions.

Fresh★ 11k166 entriesPushed 2 days ago
90

Awesome

sindresorhus/awesome

😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]

Fresh★ 513k51 entriesPushed 28 days ago
90

Awesome Prompts

ai-boost/awesome-prompts

Curated list of chatgpt prompts from the top-rated GPTs in the GPTs Store. Prompt Engineering, prompt attack & prompt protect. Advanced Prompt Engineering papers.

Fresh★ 9k288 entriesPushed today
90

Awesome README

matiassingers/awesome-readme

A curated list of awesome READMEs

Fresh★ 22k143 entriesPushed yesterday