Open-source embedded-systems software
1075 open-source libraries, tools and applications tagged embedded-systems, ranked by how closely embedded-systems 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.
1075 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| 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 |
| riscv-collab/riscv-gnu-toolchain The official GNU toolchain for RISC-V, providing GCC-based C and C++ cross-compilers. It can build bare-metal ELF toolchains (Newlib/Picoli… | 93 | 4625 | 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 |
| 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 |
| YosysHQ/picorv32 PicoRV32 is a size-optimized RISC-V RV32IMC CPU core written in Verilog, configurable as RV32E/I/IC/IM/IMC with optional interrupt controll… | 10 | 4389 | stable |
| 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 |
| PocketSphinx PocketSphinx is Carnegie Mellon's lightweight, speaker-independent continuous speech recognition engine, available as a C library, a comman… | 79 | 4350 | 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 |
| stephane/libmodbus libmodbus is a free, dependency-free C library for sending and receiving data with devices that speak the Modbus protocol over serial (RTU)… | 75 | 4258 | stable |
| enjoy-digital/litex LiteX is a Python-based framework for building FPGA cores and Systems-on-Chip, providing buses, common cores, CPU integration, and build ba… | 90 | 4155 | 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 |
| 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 |
| Drewsif/PiShrink PiShrink is a bash script that automatically shrinks Raspberry Pi disk images so they flash faster and compress better. Shrunk images can o… | 65 | 4118 | 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 |
| 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 |
| xfirefly/Airplay-SDK A commercial AirPlay/DLNA/Miracast screen-mirroring SDK (Blueberry Casting) with source-code licensing, plus ready-made receiver/sender app… | 66 | 4012 | 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 |
| atopile/atopile atopile is a language, compiler, and toolchain for designing electronic circuit boards as code using declarative .ato files. It provides de… | 67 | 3976 | active |
| 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 |
| Rocket Chip Rocket Chip is a Scala/Chisel-based hardware generator that produces parameterizable RISC-V System-on-Chip designs, emitting Verilog RTL fo… | 65 | 3883 | 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 |
| EMBA EMBA is an open-source firmware security analyzer for embedded Linux devices, written in Bash. It automates firmware extraction, static and… | 94 | 3701 | 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 |
| 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 |
| 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 |
| pyserial/pyserial pySerial is a Python library that encapsulates serial port access, providing backends for Windows, macOS, Linux, and BSD. It offers a unifi… | 60 | 3573 | stable |
| Eclipse ThreadX Eclipse ThreadX is an advanced real-time operating system (RTOS) for deeply embedded applications, featuring a picokernel architecture, pre… | 90 | 3538 | 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 |
| osqzss/gps-sdr-sim A C-based software-defined GPS signal simulator that generates GPS baseband I/Q sample streams from user-defined trajectories and broadcast… | 10 | 3468 | active |
| civetweb/civetweb CivetWeb is an easy-to-use, powerful embeddable C/C++ web server with optional CGI, SSL, and Lua support. It can be linked as a library to … | 62 | 3462 | 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 |
| 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 |
| matrixcascade/PainterEngine PainterEngine is a cross-platform application/game engine written in C with a built-in software renderer, portable to any platform supporti… | 66 | 3319 | active |
| netwide-assembler/nasm NASM (the Netwide Assembler) is a portable, cross-platform assembler for the x86 and x86-64 CPU architectures using Intel-like syntax. It s… | 73 | 3314 | stable |
| vadimcn/codelldb CodeLLDB is a VSCode extension providing a native-code debugger powered by LLDB, with a Rust-based adapter. It supports C++, Rust, and othe… | 92 | 3310 | active |
| virtualagc/virtualagc Virtual AGC is a project providing emulators for the Apollo Guidance Computer (AGC), Abort Guidance System (AGS), and related peripherals l… | 68 | 3308 | 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 |
| SpinalHDL/VexRiscv VexRiscv is a parameterizable 32-bit RISC-V CPU core written in SpinalHDL that generates Verilog for FPGA deployment. It supports RV32I[M][… | 76 | 3277 | active |
| RPi-Distro/pi-gen pi-gen is the official tool used to build Raspberry Pi OS disk images and custom images based on it. It orchestrates staged builds using de… | 75 | 3262 | active |
| davidmonterocrespo24/velxio Velxio is an open-source browser-based emulator and circuit simulator for Arduino, ESP32, Raspberry Pi, STM32 and other embedded boards, ru… | 80 | 3260 | active |
| 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 |
| SynoCommunity/spksrc spksrc is a cross-compilation framework for building native software packages (SPKs) for Synology NAS devices running DSM. Packages built w… | 86 | 3214 | active |
| tio/tio tio is a command-line serial device I/O tool for connecting to serial TTY devices with a simple interface and configuration file support. I… | 50 | 3181 | 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 |
| openhwgroup/cva6 CVA6 is an open-source, 6-stage, single-issue, in-order RISC-V CPU core written in SystemVerilog, supporting the 64-bit RV64GC ISA with thr… | 73 | 3128 | active |
| TensorFlow Lite for Microcontrollers TensorFlow Lite for Microcontrollers (TFLM) is a C++ port of TensorFlow Lite for running ML models on microcontrollers, DSPs, and other mem… | 76 | 3098 | active |
| qmk/qmk_toolbox A cross-platform desktop application that packages multiple firmware flashing tools for QMK keyboards into one GUI, supporting auto-detecti… | 81 | 3086 | active |
| u-root/u-root u-root is a Go-based userland that provides nearly 200 Unix commands rewritten in Go, compilable into a single busybox-style binary, plus t… | 75 | 3077 | active |
| ps2homebrew/Open-PS2-Loader Open PS2 Loader (OPL) is an open-source game and application loader for PlayStation 2 and PS3 consoles. It loads games and homebrew apps fr… | 76 | 3057 | active |
| ophub/amlogic-s9xxx-openwrt A build and firmware distribution project that runs OpenWrt on Amlogic, Rockchip, and Allwinner TV boxes and single-board computers. It pro… | 99 | 3049 | active |
| benhoyt/inih inih (INI Not Invented Here) is a small, simple .INI file parser written in C, designed to be just a couple pages of code. It parses INI fi… | 73 | 3045 | stable |
| simplefoc/Arduino-FOC SimpleFOC is an Arduino/PlatformIO C++ library implementing Field Oriented Control (FOC) for BLDC and stepper motors. It supports many moto… | 71 | 3042 | active |
| Home Accessory Architect HAA (Home Accessory Architect) is firmware that adds native Apple HomeKit support and custom configurations to ESP32 and ESP8266 based devi… | 96 | 3005 | active |
| Espruino Espruino is an open-source JavaScript interpreter and firmware for microcontrollers, designed to run on devices with as little as 128kB Fla… | 77 | 2978 | active |
| wolfSSL/wolfssl wolfSSL is a lightweight, portable SSL/TLS library written in ANSI C, supporting TLS 1.3 and DTLS 1.3, powered by the wolfCrypt cryptograph… | 94 | 2961 | stable |
| probe-rs probe-rs is a Rust toolkit and library for on-chip debugging and flashing of embedded ARM, RISC-V, and Xtensa microcontrollers via debug pr… | 89 | 2949 | active |
| linux-can/can-utils A collection of Linux user-space utilities for the SocketCAN subsystem, written in C. It includes tools to display, send, generate, record,… | 67 | 2939 | active |
| Renode Renode is an open-source simulation and virtual development framework for complex embedded systems, letting you run unmodified firmware on … | 85 | 2938 | active |
| f1xpl/openauto OpenAuto is an AndroidAuto headunit emulator built on the aasdk library and Qt, designed to run smoothly on Raspberry Pi 3. It renders the … | 23 | 2924 | active |
| SigDigger SigDigger is a free Qt-based digital signal analyzer for analyzing unknown radio signals with software-defined radio devices via SoapySDR. … | 49 | 2911 | active |
| earlephilhower/arduino-pico An Arduino core that ports the Arduino development environment to the Raspberry Pi Pico's RP2040 and RP2350 microcontrollers, built on the … | 99 | 2887 | active |
| awalol/DS5Dongle Firmware that turns a Raspberry Pi Pico 2 W into a wireless Bluetooth dongle for the DualSense (PS5) controller, making it appear as a wire… | 75 | 2875 | active |
| openmv/openmv OpenMV is an open-source machine vision platform consisting of camera hardware firmware programmable in Python 3 (MicroPython). The firmwar… | 93 | 2871 | active |
| adafruit/Adafruit-GFX-Library Adafruit GFX is the core Arduino graphics library providing a common set of drawing primitives (points, lines, circles, bitmaps, fonts) sha… | 86 | 2859 | stable |
| sqfmi/Watchy Watchy is a fully open-source E-Ink smartwatch built on ESP32, accompanied by an Arduino library for developing custom watch faces and firm… | 36 | 2840 | active |
| PJON PJON is an experimental, multi-master, software-defined network protocol stack for microcontrollers and general-purpose systems, supporting… | 43 | 2832 | active |
| LibreELEC/LibreELEC.tv LibreELEC is a lightweight 'Just enough OS' Linux distribution purpose-built for running Kodi on popular mediacentre hardware. This reposit… | 73 | 2831 | active |
| ARMmbed/DAPLink Arm Mbed DAPLink is open-source interface firmware that runs on a secondary MCU attached to the SWD/JTAG port of an Arm Cortex application … | 63 | 2816 | active |
| espressif/esp32-camera Espressif's official camera driver library for ESP32-series SoCs (ESP32, ESP32-S2, ESP32-S3), supporting a wide range of image sensors like… | 93 | 2813 | active |