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 |
|---|---|---|---|
| goburrow/modbus A fault-tolerant, fail-fast Go library implementing the Modbus protocol over TCP and serial (RTU/ASCII) transports. It provides a client AP… | 23 | 1042 | stable |
| dhylands/rshell rshell is a remote shell for MicroPython boards that runs on the host and communicates over the serial raw-REPL. It lets you browse and cop… | 23 | 1040 | active |
| X1Plus/X1Plus X1Plus is custom open-source firmware for Bambu Lab X1 and X1 Carbon 3D printers, replacing the stock firmware with extended features and c… | 67 | 1037 | active |
| EMS-ESP EMS-ESP is open-source firmware for the ESP32 microcontroller that communicates with EMS (Energy Management System) and Heatronic compatibl… | 94 | 1034 | active |
| EMS-ESP EMS-ESP is open-source firmware for the ESP32 microcontroller that communicates with EMS and Heatronic compatible heating equipment from Bo… | 94 | 1034 | active |
| arduino-mcp2515 An Arduino library for interfacing with the MCP2515 stand-alone CAN controller over SPI. It implements CAN V2.0B at up to 1 Mb/s with suppo… | 51 | 1033 | stable |
| SoftRF SoftRF is a DIY, multi-functional sub-1 GHz ISM band radio proximity awareness system for general aviation, compatible with protocols like … | 95 | 1031 | active |
| hoglet67/RGBtoHDMI RGBtoHDMI is a bare-metal Raspberry Pi firmware plus CPLD hat that samples digital RGB/YUV video from retro computers like the BBC Micro an… | 56 | 1026 | active |
| alienatedsec/yi-hack-v5 Custom open-source firmware for Xiaomi Yi cameras based on the Hi3518ev200 chipset, adding a free RTSP server, ONVIF support, MQTT motion d… | 23 | 1025 | active |
| openHASP openHASP is open-source firmware that turns ESP32 or STM32 boards with commodity touchscreens into customizable smart home control panels. … | 67 | 1024 | active |
| neu-rah/ArduinoMenu A generic menu and interactivity library for the Arduino framework, supporting menus, submenus, input fields, and event-driven handlers acr… | 64 | 1022 | active |
| FPGAwars/apio Apio is an open-source command-line toolbox that simplifies FPGA development, providing commands to lint, simulate, build, and upload desig… | 98 | 1018 | active |
| jhfmat/ISP-pipeline-hdrplus A C/C++ image processing library (Matlib) implementing a fast ISP pipeline with HDR+ multi-frame denoising, super-low-light processing, and… | 32 | 1016 | active |
| open-logic/open-logic Open Logic is a VHDL-2008 standard library for FPGA projects, providing reusable, vendor- and tool-independent hardware components under a … | 82 | 1014 | active |
| tinygo-org/bluetooth A cross-platform Bluetooth Low Energy (BLE) package for Go and TinyGo, supporting both BLE Central and Peripheral roles. It runs on Linux, … | 87 | 1012 | active |
| mnh-jansson/m18-protocol A research repository and Python diagnostic tool for reverse-engineering the Milwaukee M18 power tool battery communication protocol. Using… | 39 | 1012 | active |
| dlbeer/quirc Quirc is a small, dependency-free C library for extracting and decoding QR codes from images, fast enough for realtime video. It handles ro… | 39 | 1011 | active |
| ElegantOTA ElegantOTA is an Arduino library that adds over-the-air (OTA) firmware and filesystem update capabilities to wireless microcontrollers like… | 83 | 1010 | active |
| rust-embedded/cortex-m A collection of Rust crates providing low-level access to ARM Cortex-M microcontroller peripherals, including CPU register access, startup … | 97 | 1006 | stable |
| adafruit/Adafruit_CircuitPython_Bundle A bundle of Adafruit's CircuitPython libraries packaged into a downloadable zip for easy installation onto CircuitPython microcontroller bo… | 94 | 1006 | active |
| Gruppio/Sonoff-Homekit Open-source firmware that makes Sonoff WiFi smart switches natively compatible with Apple HomeKit, running directly on the ESP8266/ESP32 ch… | 36 | 1005 | active |
| SCR1 RISC-V Core SCR1 is an open-source, silicon-proven RISC-V MCU-class CPU core written in SystemVerilog. It supports RV32I/RV32E bases with optional M an… | 32 | 1004 | stable |
| peng-zhihui/Project-Quantum An open-source hardware and software project for a super-mini modular Linux card computer, built from stamp-hole PCB modules (Quark-Core AR… | 32 | 3314 | maintenance |
| Arduino IDE 2.x The legacy Arduino IDE 1.x, an open-source desktop development environment for writing, compiling, and uploading sketches to Arduino boards… | 88 | 3284 | maintenance |
| jacksonliam/mjpg-streamer A lightweight command-line streaming tool that copies JPEG frames from input plugins (webcams, Raspberry Pi camera, files, OpenCV) to outpu… | 32 | 3254 | maintenance |
| pichenettes/eurorack Source code and hardware files for Mutable Instruments' line of Eurorack synthesizer modules, including oscillators, filters, sequencers, a… | 32 | 3181 | maintenance |
| alexforencich/verilog-ethernet A collection of Verilog Ethernet components for FPGA implementation, covering gigabit, 10G, and 25G packet processing with MAC, PCS/PMA PHY… | 32 | 3115 | maintenance |
| mpaland/printf A tiny, dependency-free, thread-safe printf/sprintf/(v)snprintf implementation in a single C file, designed for embedded systems where libc… | 23 | 3062 | maintenance |
| ESPurna ESPurna is open-source firmware for ESP8266/ESP8285-based smart switches, lights, and sensors, supporting over 125 devices with sensor inte… | 57 | 3054 | maintenance |
| miguelbalboa/rfid An Arduino library for driving MFRC522-based RFID reader modules over SPI, supporting reading and writing MIFARE Classic and related cards.… | 66 | 3042 | maintenance |
| esp-link esp-link is ESP8266 firmware that turns the module into a transparent WiFi-to-serial bridge for attached microcontrollers. It also provides… | 23 | 3009 | maintenance |
| scottlawsonbc/audio-reactive-led-strip A real-time music visualizer that drives WS2812B LED strips using Python for audio capture and FFT-based signal processing, with an ESP8266… | 56 | 2987 | maintenance |
| but0n/Avem Avem is a lightweight open-source drone flight controller firmware for STM32F103, implementing quaternion/euler attitude estimation from an… | 32 | 2916 | maintenance |
| seemoo-lab/nexmon Nexmon is a C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables custom firmware modifications such as monitor … | 66 | 2886 | maintenance |
| minoca/os Minoca OS is a general-purpose operating system written from scratch in C, featuring a POSIX-like interface, an event-driven preemptive SMP… | 32 | 2792 | maintenance |
| Cleanflight Cleanflight is open-source flight controller firmware for multi-rotor and fixed-wing aircraft, written in C for STM32-based boards. It is a… | 23 | 2738 | maintenance |
| opencardev/crankshaft Crankshaft is a turnkey GNU/Linux distribution that transforms a Raspberry Pi into an Android Auto head unit for cars. It is built on OpenA… | 66 | 2680 | maintenance |
| rogerclarkmelbourne/Arduino_STM32 Arduino IDE hardware support files that enable programming STM32-based boards (especially STM32F103 and LeafLabs Maple/Maple Mini) with the… | 32 | 2679 | maintenance |
| apple/HomeKitADK Apple's open-source HomeKit Accessory Development Kit implementing the HomeKit Accessory Protocol (HAP) in C. It lets developers prototype … | 10 | 2618 | maintenance |
| MaJerle/stm32f429 A collection of C libraries and Keil uVision projects for STM32F4xx series microcontrollers, covering peripherals like USART, SPI, I2C, ADC… | 32 | 2520 | maintenance |
| armink/EasyFlash EasyFlash is a lightweight open-source embedded Flash storage library written in C, providing key-value (ENV) parameter storage with wear l… | 24 | 2371 | maintenance |
| microsoft/ELL ELL (Embedded Learning Library) is a C++ library and toolset from Microsoft Research for designing and deploying machine-learned models ont… | 10 | 2305 | maintenance |
| stianeikeland/go-rpio A pure-Go library for accessing GPIO pins on Raspberry Pi boards without external C dependencies like WiringPI or bcm2835. It supports pin … | 23 | 2291 | maintenance |
| espressif/esp-drone ESP-Drone is open-source firmware for mini drones/quadcopters built on ESP32 and ESP32-S series chips, ported from the Crazyflie project. I… | 72 | 2240 | maintenance |
| recalbox/recalbox-os Recalbox is an open-source retrogaming operating system that turns Raspberry Pi, PC, Steam Deck, Odroid, and Anbernic devices into retro ga… | 10 | 2220 | maintenance |
| br3ttb/Arduino-PID-Library A PID (Proportional-Integral-Derivative) feedback control library for Arduino, written in C++. It provides basic closed-loop control functi… | 23 | 2205 | maintenance |
| nvdla/hw The hardware release of NVIDIA's open-source Deep Learning Accelerator (NVDLA), containing Verilog RTL, a C-model, testbenches, and synthes… | 32 | 2166 | maintenance |
| mike4192/spotMicro Open-source software for controlling a 3D-printed Spot Micro quadruped robot, implementing sit, stand, angle, and walking motion via ROS no… | 32 | 2158 | maintenance |
| alexforencich/verilog-axi A collection of parametrizable Verilog components implementing AXI4 and AXI4-Lite bus functionality for FPGA designs, including adapters, c… | 32 | 2151 | maintenance |
| glouw/tinn Tinn is a tiny, dependency-free neural network library written in under 200 lines of C99, implementing a feedforward network with one hidde… | 32 | 2138 | maintenance |
| FIRMADYNE FIRMADYNE is an automated, scalable platform for emulating and dynamically analyzing Linux-based embedded firmware using QEMU with instrume… | 32 | 2114 | maintenance |
| corellium/projectsandcastle A collection of supporting tools for running Android/Linux on the iPhone, including a kernel loader via pongoOS, a syscfg partition extract… | 32 | 2113 | maintenance |
| dog-qiuqiu/Yolo-Fastest Yolo-Fastest is an ultra-lightweight YOLO-based object detection algorithm and model zoo, with only ~250 MFLOPs and a 666KB ncnn model. It … | 23 | 2101 | maintenance |
| davidmoreno/onion Onion (libonion) is a lightweight C library for building HTTP servers and web applications by layering URL handlers. It is designed to add … | 67 | 2088 | maintenance |
| sui77/rc-switch An Arduino library (also usable on Raspberry Pi) for sending and receiving 315/433MHz radio-controlled codes to operate devices like power … | 23 | 2088 | maintenance |
| lukechilds/dockerpi A Docker image that boots a full virtualised ARM Raspberry Pi running Raspbian via QEMU. It supports Pi 1 by default with experimental Pi 2… | 32 | 2045 | maintenance |
| sudar/Arduino-Makefile A Makefile that builds, flashes, and monitors Arduino sketches from the command line without the Arduino IDE. It supports AVR and ARM-based… | 23 | 2038 | maintenance |
| XUANTIE-RV/wujian100_open wujian100_open is an open-source RISC-V-based MCU SoC platform from T-Head, providing RTL source code, an SDK, simulation scripts, and FPGA… | 32 | 2026 | maintenance |
| Lora-net/LoRaMac-node A reference implementation of a LoRaWAN end-device (node) stack written in C, with example projects for various MCU platforms. It implement… | 23 | 1997 | maintenance |
| armink/FreeModbus_Slave-Master-RTT-STM32 An open-source Modbus protocol stack based on FreeModbus that adds a master mode to the traditionally slave-only library, supporting RTU, A… | 23 | 1992 | maintenance |
| FluidNC Grbl_ESP32 is a port of the Grbl CNC controller firmware to the ESP32 microcontroller, supporting up to 6 coordinated axes, 12 motors, WiFi… | 32 | 1972 | maintenance |
| The-OpenROAD-Project/OpenLane OpenLane is an automated RTL-to-GDSII ASIC implementation flow built on OpenROAD, Yosys, Magic, Netgen, KLayout, and custom Python methodol… | 62 | 1950 | maintenance |
| Balanduino A small C++ Kalman filter library for microcontrollers that fuses accelerometer/magnetometer and gyroscope input to estimate angle, rate, a… | 32 | 1950 | maintenance |
| USB Host Shield Library for Arduino Revision 2.0 of the USB Host Shield library for Arduino, driving the MAX3421E USB host controller. It supports USB devices including game c… | 57 | 1941 | maintenance |
| Hexxeh/rpi-update A shell script tool for updating the firmware and kernel of a Raspberry Pi to the latest bleeding-edge builds. It is now deprecated in favo… | 32 | 1936 | maintenance |
| uTensor uTensor is an extremely lightweight machine learning inference framework built on TensorFlow and optimized for Arm Cortex-M microcontroller… | 28 | 1933 | maintenance |
| sandeepmistry/arduino-LoRa An Arduino library for sending and receiving data over LoRa radios using Semtech SX1276/77/78/79-based modules. It provides a simple API fo… | 32 | 1925 | maintenance |
| Raspberry Pi FBTFT Firmware FBTFT is a collection of Linux kernel framebuffer drivers for small TFT LCD display modules, making it easy to write drivers for these disp… | 10 | 1878 | maintenance |
| PSP-Archive/ARK-4 ARK-4 is a next-generation custom firmware (CFW) for the Sony PSP and the PS Vita's ePSP mode, succeeding the classic PRO and ME firmwares.… | 10 | 1875 | maintenance |
| BlueRetro BlueRetro is an open-source multiplayer Bluetooth controller adapter firmware for ESP32 that lets modern Bluetooth gamepads (Wii, Switch, P… | 10 | 1845 | maintenance |
| peng-zhihui/Peak Peak is a tiny smart terminal device kit: a portable ESP32-based firmware and hardware project integrating the LVGL graphics framework, an … | 32 | 1841 | maintenance |
| remarkable-hacks A collection of binary patches that add extra features to reMarkable 1 and 2 e-ink tablets, such as pinch-to-zoom, bookmarks, Zen mode, and… | 23 | 1774 | maintenance |
| SpenceKonde/ATTinyCore An Arduino core providing support for nearly all classic ATtiny AVR microcontrollers, including the x4/x5/x61/x7/x8 series, 1634, 828, and … | 23 | 1771 | maintenance |
| KMKfw/kmk_firmware KMK is a keyboard firmware written and configured in CircuitPython, supporting single-piece and split mechanical keyboards with features li… | 63 | 1759 | maintenance |
| soul-lang/SOUL SOUL (SOUnd Language) is a programming language and API for writing high-performance, low-latency audio DSP code, created at ROLI by Julian… | 23 | 1744 | maintenance |
| dwhinham/mt32-pi A baremetal kernel that turns a Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont-based General MIDI synthesizer, built on… | 23 | 1729 | maintenance |
| VitalElement/AvalonStudio AvalonStudio is an extensible, cross-platform IDE written in C# targeting Embedded C/C++, .NET Core, Avalonia, and TypeScript development. … | 23 | 1722 | maintenance |
| MaixPy MaixPy-v1 is a MicroPython port for the Kendryte K210 RISC-V AI chip, letting users program Sipeed Maix boards in Python. It provides APIs … | 23 | 1709 | maintenance |
| tarm/serial A Go library for reading and writing to serial ports as a stream of bytes with a consistent cross-platform API. It supports configurable ba… | 32 | 1695 | maintenance |
| microsoft/EdgeML A library from Microsoft Research India implementing resource-efficient machine learning algorithms (Bonsai, ProtoNN, FastGRNN, EMI-RNN, DR… | 23 | 1694 | maintenance |
| commaai/neo The comma.ai neo is an open source robotics research platform combining a OnePlus 3 smartphone with an STM32F205-based CAN interface board … | 10 | 1674 | maintenance |
| google/aiyprojects-raspbian Google's Python API libraries, samples, and Raspbian system images for the AIY Projects Voice Kit and Vision Kit on Raspberry Pi. It provid… | 10 | 1663 | maintenance |
| IanHarvey/bluepy bluepy is a Python library providing an API to access Bluetooth Low Energy (BLE) devices on Linux, built around a C helper binary (bluepy-h… | 32 | 1633 | maintenance |
| mattconte/tlsf TLSF (Two-Level Segregated Fit) is a real-time memory allocator implementation in C offering O(1) malloc, free, realloc, and memalign with … | 32 | 1633 | maintenance |
| pellepl/spiffs SPIFFS is a wear-leveled file system for SPI NOR flash devices on embedded targets, written in C. It is designed for small microcontroller … | 61 | 1630 | maintenance |
| Mixiaoxiao/Arduino-HomeKit-ESP8266 An Arduino library implementing a native Apple HomeKit accessory server for the ESP8266 (with an ESP32 variant), allowing microcontroller p… | 23 | 1612 | maintenance |
| marcelstoer/nodemcu-pyflasher A self-contained GUI flasher for NodeMCU/ESP8266 (and ESP32) firmware built on esptool.py and wxPython. It ships as a standalone executable… | 23 | 1601 | maintenance |
| ARM-software/CMSIS_5 CMSIS (Cortex Microcontroller Software Interface Standard) Version 5 is ARM's standardized vendor-independent abstraction layer for ARM Cor… | 10 | 1601 | maintenance |
| zetzit/zz ZetZ is a C dialect and transpiler that emits plain ANSI C while formally verifying all code via symbolic execution with an SMT prover at c… | 10 | 1597 | maintenance |
| joan2937/pigpio pigpio is a C library for the Raspberry Pi that provides fine-grained control of GPIO pins, including PWM, servo pulses, callbacks, and sof… | 23 | 1594 | maintenance |
| SuperHouse/esp-open-rtos An open source FreeRTOS-based software framework for the ESP8266 WiFi microcontroller, developed by the community as an alternative to Espr… | 23 | 1583 | maintenance |
| cnlohr/espusb A software-only USB device stack for the ESP8266/ESP8285, implementing low-speed (1.5 Mbit/s) USB in firmware with just one external resist… | 32 | 1550 | maintenance |
| eclipse-paho/paho.mqtt.embedded-c The Eclipse Paho MQTT C/C++ client library for embedded platforms, offering low-level MQTT packet serialization plus higher-level C and C++… | 60 | 1545 | maintenance |
| tasmota/tasmotizer Tasmotizer is a Python-based flashing tool for installing Tasmota firmware on ESP8266 devices, built on top of Espressif's esptool. It prov… | 23 | 1541 | maintenance |
| projectNe10/Ne10 Ne10 is an open-source C library of common math, signal processing, image processing, and physics functions heavily optimized for ARM CPUs … | 23 | 1540 | maintenance |
| fossasia/pslab-test-jig Design files and documentation for the PSLab Test Jig, a hardware fixture used in production to test Pocket Science Lab open-hardware board… | 32 | 1519 | maintenance |
| s-macke/SAM SAM (Software Automatic Mouth) is a tiny text-to-speech synthesizer written in C, adapted from the 1982 Commodore 64 speech software. It in… | 32 | 1506 | maintenance |
| tinyos/tinyos-main TinyOS is an open-source BSD-licensed operating system for low-power wireless embedded devices, written primarily in nesC. This repository … | 10 | 1500 | maintenance |
| klonyyy/MCUViewer MCUViewer (formerly STMViewer) is a GUI debug tool for microcontrollers with a Variable Viewer for real-time reading and logging of global … | 95 | 1496 | maintenance |
| davidferguson/pibakery PiBakery is a blocks-based drag-and-drop desktop application for customising Raspberry Pi Raspbian images before writing them to an SD card… | 23 | 1490 | maintenance |