Open-source embedded software
1164 open-source libraries, tools and applications tagged embedded, ranked by how closely embedded is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1164 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| RIOT OS RIOT is an open-source, vendor-independent operating system for Internet of Things and embedded devices, supporting 8/16/32-bit microcontro… | 93 | 5820 | active |
| leethomason/tinyxml2 TinyXML-2 is a small, efficient C++ XML parser that builds a DOM from XML documents which can be read, modified, and saved. It consists of … | 68 | 5810 | stable |
| seL4/seL4 seL4 is a formally verified microkernel operating system kernel written in C, providing high-assurance isolation and capability-based secur… | 85 | 5768 | active |
| memovai/mimiclaw MimiClaw is a bare-metal AI agent framework written in pure C that runs an OpenClaw-style personal AI assistant on a $5 ESP32-S3 microcontr… | 64 | 5757 | active |
| Raspberry Pi Firmware & Kernel The Raspberry Pi fork of the Linux kernel source tree, containing patches and drivers for Raspberry Pi hardware. It is the upstream source … | 92 | 5577 | active |
| nanopb/nanopb Nanopb is a small code-size Protocol Buffers implementation in plain ANSI C, designed for microcontrollers and other memory-constrained sys… | 83 | 5568 | stable |
| Vector-Wangel/XLeRobot XLeRobot is an open-source project for building a practical dual-arm mobile home robot for around $660 with under four hours of assembly ti… | 63 | 5564 | active |
| PortaPack Mayhem Mayhem is open-source firmware for the HackRF One combined with the PortaPack H1/H2/H4/H4M add-on, turning the SDR into a standalone touchs… | 80 | 5475 | active |
| Armbian The official build framework for the Armbian Linux distribution, a shell-based toolchain that compiles customizable Debian- or Ubuntu-based… | 95 | 5469 | active |
| ExpressLRS ExpressLRS is an open source radio control link firmware for RC applications, built on Semtech SX127x/SX1280 LoRa hardware with Espressif o… | 90 | 5399 | active |
| ThrowTheSwitch/Unity Unity is a lightweight unit testing framework for C, distributed as a single C file and a pair of headers with a rich set of assertion macr… | 81 | 5394 | stable |
| warmcat/libwebsockets Libwebsockets is a lightweight, pure C networking library providing client and server implementations for HTTP/1, HTTP/2, HTTP/3, WebSocket… | 76 | 5331 | stable |
| u-boot/u-boot Das U-Boot is a widely used open-source bootloader for embedded boards based on PowerPC, ARM, MIPS, and other processors. It is installed i… | 77 | 5286 | active |
| martin-ger/esp_wifi_repeater Firmware for the ESP8266/ESP8285 that turns the chip into a full WiFi NAT router and, in a separate edition, a true L2-bridge WiFi repeater… | 67 | 5257 | active |
| blinker Blinker is an IoT solution library for embedded hardware such as Arduino, ESP8266, and ESP32, providing device-side connectivity via WiFi, … | 66 | 5204 | active |
| pytorch/executorch ExecuTorch is PyTorch's framework for exporting and running AI models on-device across mobile, embedded, and edge hardware, with a tiny (~5… | 94 | 5101 | active |
| Arduino-IRremote/Arduino-IRremote An Arduino library for sending and receiving infrared remote control signals across many IR protocols. It lets Arduino sketches decode sign… | 81 | 5044 | stable |
| gusmanb/logicanalyzer An open-source 24-channel, 100Msps logic analyzer combining custom hardware (based on Raspberry Pi Pico) with Python-based capture and anal… | 75 | 5018 | active |
| kokke/tiny-AES-c A small, portable implementation of AES encryption (128/192/256-bit) in C99, supporting ECB, CBC, and CTR modes. It is designed for minimal… | 23 | 5017 | stable |
| Raspberry Pi Pico SDK The official C/C++ SDK for Raspberry Pi Pico and other RP-series microcontrollers, providing headers, libraries, and a CMake-based build sy… | 87 | 4972 | stable |
| Picovoice/porcupine Porcupine is a highly-accurate, lightweight on-device wake word detection engine powered by deep neural networks. It enables always-listeni… | 71 | 4945 | stable |
| TFT_eSPI An Arduino and PlatformIO compatible TFT display library optimized for ESP8266, ESP32, RP2040 (Raspberry Pi Pico), and STM32 microcontrolle… | 53 | 4933 | active |
| cberner/redb redb is a simple, portable, high-performance embedded key-value database written in pure Rust, loosely inspired by LMDB. It stores data in … | 98 | 4832 | stable |
| OpenWiFi Open-source full-stack IEEE 802.11/Wi-Fi design based on Software Defined Radio, including a Linux mac80211-compatible driver and software,… | 66 | 4809 | active |
| koolshare/koolshare.github.io Koolshare is a plugin ecosystem and software center for ASUS Merlin (and ASUSGO) custom router firmware, providing a web UI to install and … | 57 | 4668 | active |
| Sesame Robot Sesame is an open-source, 3D-printable mini quadruped robot powered by an ESP32 microcontroller and eight servo motors, featuring an expres… | 59 | 4627 | active |
| smoltcp-rs/smoltcp smoltcp is a standalone, event-driven TCP/IP stack written in Rust, designed for bare-metal and real-time systems without heap allocation. … | 81 | 4607 | active |
| FreeRTOS The classic FreeRTOS distribution, a real-time operating system for microcontrollers and small microprocessors that submodules the FreeRTOS… | 82 | 4559 | stable |
| F5OEO/rpitx rpitx is a general RF transmitter for Raspberry Pi that generates radio signals from 5 KHz to 1500 MHz using only a GPIO-connected wire ant… | 23 | 4553 | active |
| zesterer/chumsky Chumsky is a Rust parser-combinator library for writing expressive, high-performance parsers with rich error diagnostics and recovery. It s… | 10 | 4533 | active |
| OAID/Tengine Tengine is a lightweight, high-performance, modular deep learning inference engine developed by OPEN AI LAB for embedded and edge devices. … | 24 | 4531 | active |
| guysoft/FullPageOS FullPageOS is a Raspberry Pi distribution that boots directly into a full-screen Chromium browser displaying a single webpage. It is built … | 61 | 4484 | active |
| blinker-iot/blinker-py Blinker is a Python library for connecting hardware devices like Raspberry Pi and Banana Pi to the Blinker IoT platform. It supports commun… | 34 | 4440 | active |
| p2r3/bareiron A minimalist Minecraft server written in C, designed to run on memory-restricted embedded systems like the ESP32. It prioritizes memory usa… | 50 | 4400 | active |
| dqlite dqlite is a C library implementing an embeddable, replicated SQL database engine that extends SQLite across a cluster of machines using the… | 89 | 4395 | active |
| hzeller/rpi-rgb-led-matrix A C++ library (with Python bindings) for driving HUB75-style RGB LED matrix panels directly from Raspberry Pi GPIO pins, supporting multipl… | 77 | 4388 | stable |
| albfan/miraclecast MiracleCast is a C implementation of the Wi-Fi Display (Miracast) specification for Linux, providing both Display-Sink and (planned) Displa… | 61 | 4343 | active |
| blinker-iot/blinker-esp-idf Blinker is an IoT solution library for embedded hardware, provided as ESP-IDF components for ESP8266 and ESP32. It enables devices to conne… | 34 | 4290 | active |
| zmkfirmware/zmk ZMK Firmware is an open source (MIT) keyboard firmware built on the Zephyr RTOS, designed for modern wireless (BLE) and wired mechanical ke… | 74 | 4286 | active |
| Onion Onion is a custom operating system overhaul for the Miyoo Mini and Mini+ retro handheld consoles, built in C. It bundles 100+ emulators, a … | 56 | 4273 | active |
| jrowberg/i2cdevlib A collection of uniform, Doxygen-documented C++ classes providing interfaces to a wide range of I2C peripheral devices such as acceleromete… | 44 | 4272 | stable |
| INAV INAV is open-source navigation-enabled flight controller firmware for drones, planes, and other RC aircraft. It provides autopilot features… | 86 | 4268 | active |
| byrantech/laptop anyon_e is a fully open-source, high-end laptop design built around the Rockchip RK3588 SoC, including KiCad schematics and layouts for the… | 54 | 4261 | active |
| fw876/helloworld A collection of OpenWrt packages (including Xray-core and related proxy tools) distributed as a git repository that can be cloned, added as… | 99 | 4231 | active |
| KDE/heaptrack Heaptrack is a heap memory profiler for Linux that traces every memory allocation and annotates it with a stack trace. It ships with comman… | 67 | 4184 | active |
| scottbez1/splitflap An open-source DIY split-flap display project based on ESP32, including mechanical designs (OpenSCAD), electronics (KiCad), and firmware (A… | 74 | 4153 | active |
| cifertech/ESP32-DIV ESP32-DIV is open-source firmware (with open schematics and PCB files) for a custom ESP32-S3 handheld device that bundles Wi-Fi, BLE, 2.4GH… | 86 | 4146 | active |
| tmk/tmk_keyboard A collection of keyboard and converter firmware projects built on the tmk_core keyboard library, targeting Atmel AVR and ARM Cortex-M micro… | 72 | 4136 | active |
| TWiLight Menu++ TWiLight Menu++ is an open-source DSi Menu replacement/upgrade for Nintendo DS, DSi, 3DS/2DS, and DS flashcards, written in C++. It provide… | 99 | 4113 | active |
| Joshua-Riek/ubuntu-rockchip A community project that builds and maintains Ubuntu images for Rockchip RK35xx-based single board computers like the Orange Pi 5, Radxa RO… | 10 | 4109 | active |
| 1technophile/OpenMQTTGateway OpenMQTTGateway is an open-source firmware that turns ESP8266/ESP32 boards (and computers) into a unified MQTT gateway bridging many protoc… | 73 | 4100 | active |
| apache/nuttx Apache NuttX is a mature, open-source real-time operating system (RTOS) for embedded systems with an emphasis on POSIX/ANSI standards compl… | 77 | 4071 | stable |
| openthread/openthread OpenThread is Google's open-source, Thread Certified implementation of the Thread networking protocol, covering all Thread networking layer… | 99 | 4051 | stable |
| rtty Remote Terminal System rtty is a remote terminal solution consisting of a lightweight C client for embedded Linux devices and a Go server with a Vue web frontend.… | 95 | 4044 | active |
| dekuNukem/daytripper Daytripper is an open-source hardware laser tripwire consisting of a wireless transmitter and a USB receiver that hides windows, locks the … | 46 | 4041 | active |
| Blynk-Technologies/blynk-library Blynk's official C++ client library that connects over 400 IoT hardware boards (Arduino, ESP32, ESP8266, Raspberry Pi, Particle, etc.) to t… | 90 | 3990 | stable |
| MeshCore MeshCore is a lightweight C++ library and firmware implementing a hybrid multi-hop mesh routing protocol for LoRa packet radios, enabling e… | 84 | 3910 | active |
| ptitSeb/box86 Box86 is a Linux userspace x86 (32-bit) emulator written in C, targeted at ARM Linux devices. It uses a dynamic recompiler (dynarec) and na… | 65 | 3807 | active |
| StuckAtPrototype Racer An open-source hardware and firmware project for a tiny PCB-based RC car built around the ESP32-H2, including KiCad schematics, gerbers, 3D… | 41 | 3786 | active |
| Black Magic Debug Black Magic Debug is a self-contained in-application debugger for ARM Cortex and RISC-V microcontrollers that requires no configuration fil… | 10 | 3721 | active |
| lowRISC/opentitan OpenTitan is an open-source silicon Root of Trust (RoT) project providing commercial-grade, security-certified hardware IP blocks written i… | 81 | 3707 | stable |
| littlekernel/lk LK (Little Kernel) is a small SMP-aware embedded kernel written in C, portable to many 32- and 64-bit CPU architectures including ARM, RISC… | 77 | 3705 | active |
| libopencm3 An open-source firmware library written in C for ARM Cortex-M microcontrollers, supporting families like ST STM32, Atmel SAM, NXP LPC, TI T… | 77 | 3669 | active |
| buildroot/buildroot Buildroot is a Makefile-based tool that generates complete embedded Linux systems through cross-compilation, producing toolchains, bootload… | 76 | 3669 | stable |
| LumenPnP The LumenPnP is an open source pick and place machine that assembles electronic components onto circuit boards. The repository contains the… | 75 | 3652 | active |
| crankyoldgit/IRremoteESP8266 An Arduino library for ESP8266 and ESP32 that enables sending and receiving infrared remote control signals using common 940nm IR LEDs and … | 70 | 3626 | stable |
| ESPEasy ESPEasy is open-source firmware for ESP8266 and ESP32 microcontrollers that turns them into easy-to-configure multi-sensor and actuator dev… | 87 | 3617 | active |
| MuShibo/Micro-Wheeled_leg-Robot An open-source desktop two-wheeled legged robot project with full mechanical, PCB, and firmware designs. It is built around an ESP32 runnin… | 24 | 3605 | active |
| rxi/log.c A simple logging library for C99 that provides printf-style logging macros across six severity levels. It is a drop-in two-file library sup… | 32 | 3552 | stable |
| SpacehuhnTech/esp8266_deauther ESP8266 Deauther is open-source firmware that turns an ESP8266 microcontroller into a WiFi testing tool capable of scanning networks, sendi… | 23 | 14997 | maintenance |
| Eclipse ThreadX Eclipse ThreadX is an advanced real-time operating system (RTOS) for deeply embedded applications, featuring a picokernel architecture, pre… | 90 | 3538 | active |
| ndeadly/MissionControl Mission Control is a Nintendo Switch system module (sysmodule) for Atmosphere custom firmware that lets you connect third-party Bluetooth c… | 84 | 3533 | active |
| autorope/donkeycar Donkeycar is an open-source Python library and hardware platform for building small-scale self-driving RC cars with Raspberry Pi or Jetson … | 85 | 3515 | active |
| openpilot opendbc is a Python API for controlling and reading state from cars over CAN bus, including steering, gas, and brake actuation via ADAS int… | 90 | 3487 | active |
| VESC VESC is the open-source firmware for the VESC DC/BLDC/FOC motor controllers, written in C for STM32-based boards. It supports many hardware… | 75 | 3477 | stable |
| google/OpenSK OpenSK is an open-source Rust implementation of a FIDO2/FIDO U2F security key, developed by Google as a research platform. It can run as fi… | 67 | 3451 | active |
| adafruit/Adafruit_NeoPixel An Arduino library for controlling single-wire LED pixels and strips such as NeoPixels, WS2812, and Adafruit FLORA pixels. It supports a wi… | 76 | 3424 | stable |
| RKNN-Toolkit2 RKNN-Toolkit2 is Rockchip's SDK for converting trained neural network models into RKNN format and deploying them on Rockchip NPU chips like… | 33 | 3419 | active |
| InfiniTime InfiniTime is open-source firmware for the PineTime smartwatch, written in modern C++ on top of FreeRTOS for the nRF52 microcontroller. It … | 83 | 3401 | active |
| ZSWatch ZSWatch is a fully open-source smartwatch project covering both hardware (KiCad PCB designs) and firmware written in C on the Zephyr RTOS w… | 83 | 3375 | active |
| ophub/fnnas A project that builds and adapts the FnNAS operating system (a Debian-based NAS OS) for Arm64 devices powered by Amlogic, Rockchip, and All… | 78 | 3373 | active |
| collectd/collectd collectd is a lightweight daemon written in C that periodically collects system and application performance metrics and stores or forwards … | 57 | 3369 | stable |
| stm32duino/Arduino_Core_STM32 The official Arduino core that adds STM32 microcontroller support to the Arduino IDE, built on STM32Cube HAL/LL APIs, CMSIS, and the GNU Ar… | 85 | 3361 | active |
| dbisu/pico-ducky A project that turns a Raspberry Pi Pico into a USB Rubber Ducky-style HID injection device running CircuitPython. It executes Ducky Script… | 65 | 3355 | active |
| atc1441/ATC_MiThermometer Custom open-source firmware for the Xiaomi LYWSD03MMC Bluetooth thermometer/hygrometer, plus a web-based Telink OTA flasher and a Python US… | 34 | 3346 | active |
| hanwckf/rt-n56u A custom Padavan-based firmware for the ASUS RT-N56U and other MT7621-based routers, written in C. It gives power users full control over t… | 23 | 3346 | active |
| WiringPi WiringPi is a fast C library for accessing GPIO pins on Raspberry Pi boards by directly manipulating hardware registers. It also ships with… | 86 | 3344 | active |
| AWTK AWTK (Toolkit AnyWhere) is an open-source cross-platform GUI engine written in C, developed by ZLG, targeting embedded systems, RTOS platfo… | 77 | 3323 | active |
| MiSTer The main binary and wiki repository for MiSTer, an open-source FPGA-based retro gaming and computing platform running on Terasic DE10-Nano … | 75 | 3292 | active |
| speedyg0nz/MagInkCal MagInkCal is a DIY E-Ink magic calendar application that syncs events from Google Calendar and renders them onto a Waveshare 12.48" tri-col… | 32 | 3271 | stable |
| open62541/open62541 open62541 is an open-source C99 implementation of the OPC UA (IEC 62541) communication protocol for building OPC UA clients and servers or … | 96 | 3233 | stable |
| gozfree/gear-lib Gear-Lib is a collection of POSIX C libraries for IoT, embedded, and network service development, covering data structures, networking prot… | 23 | 3228 | active |
| Johnny-Five Johnny-Five is a Firmata protocol-based JavaScript robotics and IoT programming framework for Node.js. It provides composable, consistent A… | 23 | 13409 | maintenance |
| Arm NN Arm's Compute Library is a C++ collection of over 100 low-level machine learning and computer vision functions optimized for Arm Cortex-A/N… | 98 | 3197 | active |
| Ender3 V2/S1 Firmware Optimized Marlin-based firmware for Creality Ender 3 V2 and S1 3D printers, with precompiled binaries for STM32 RET6/RCT6 boards. It adds f… | 72 | 3184 | active |
| T-vK/ESP32-BLE-Keyboard An Arduino-compatible C++ library that turns an ESP32 into a Bluetooth LE (BLE) keyboard. It lets sketches send keystrokes, text, individua… | 23 | 3163 | active |
| Toybox Toybox combines many common Linux command line utilities (cp, mv, cat, etc.) into a single small, fast, BSD-licensed multicall binary that … | 76 | 3162 | active |
| ETLCPP/etl The Embedded Template Library (ETL) is a C++ library providing STL-like containers, algorithms, and utilities designed for embedded systems… | 97 | 3139 | active |
| Tilck Tilck is a tiny educational Linux-compatible kernel written in C and assembly, targeting i386 and riscv64 with UEFI boot support. It implem… | 75 | 3132 | active |
| HeyWillow/willow Willow is an open source, self-hosted voice assistant platform for ESP32-S3-BOX hardware, designed as a privacy-focused alternative to Amaz… | 84 | 3127 | active |