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 |
|---|---|---|---|
| Hoverboard FOC Firmware Open-source firmware that replaces the stock software on hoverboard mainboards with Field Oriented Control (FOC) for BLDC motors. It delive… | 69 | 1807 | active |
| Vitis AI AMD Vitis AI is an integrated development environment and stack for accelerating AI inference on AMD/Xilinx adaptable platforms, including … | 65 | 1805 | active |
| aldostools/webMAN-MOD webMAN MOD is a homebrew plugin for PlayStation 3, forked from Deank's webMAN/sMAN, providing extended services such as a web server, FTP s… | 88 | 1803 | active |
| GValiente/butano Butano is a modern C++ high-level game engine for the Game Boy Advance, offering one-line APIs for sprites, backgrounds, text, and raster e… | 99 | 1802 | active |
| stack-chan/stack-chan Stack-chan is an open-source, JavaScript/TypeScript-driven desktop robot built on M5Stack (CoreS3) hardware, with firmware, MOD application… | 96 | 1799 | active |
| speeduino/speeduino Speeduino is an open-source engine management system (ECU) firmware built on the Arduino platform, controlling fuel injection and ignition … | 85 | 1797 | stable |
| oreboot/oreboot oreboot is a downstream fork of coreboot rewritten mostly in Rust (with assembly where needed), serving as a firmware/bootloader for variou… | 70 | 1797 | active |
| LovyanGFX A fast display graphics library for ESP32, ESP8266, and ATSAMD51 supporting SPI, I2C, and parallel-connected LCD/OLED/EPD panels. It offers… | 100 | 1793 | active |
| peng-zhihui/HoloCubic HoloCubic is an open-source DIY desktop device that creates a pseudo-holographic transparent display effect using a beam splitter prism, bu… | 32 | 6724 | maintenance |
| immortalwrt-mt798x An ImmortalWrt (OpenWrt fork) variant targeting MediaTek MT798x family routers, providing a full embedded Linux firmware build system with … | 55 | 1788 | active |
| OMOTE OMOTE-Firmware is the ESP32 Arduino firmware for the OMOTE open-source universal remote, providing an LVGL touchscreen UI that controls TVs… | 73 | 1782 | active |
| rmk-rs/rmk RMK is a feature-rich, async Rust keyboard firmware framework built on the Embassy ecosystem. It supports many microcontrollers (STM32, nRF… | 93 | 1780 | active |
| mnh-jansson/open-battery-information Open Battery Information is an Arduino firmware plus browser-based tool for reading status, cell voltages, temperatures, charge cycles, and… | 85 | 1775 | active |
| Fr4nkFletcher/ESP32-Marauder-Cheap-Yellow-Display A port of the ESP32-Marauder WiFi/Bluetooth testing firmware to the Cheap Yellow Display (CYD) family of ESP32 boards with ILI9341/ST7789/S… | 44 | 1773 | active |
| lwip-tcpip/lwip lwIP is a lightweight, independent implementation of the TCP/IP protocol suite written in C, designed to minimize RAM and ROM usage. It pro… | 74 | 1764 | stable |
| sekigon-gonnoc/Pico-PIO-USB A C library that implements USB full-speed/low-speed host and device protocols using the PIO (Programmable I/O) blocks of the Raspberry Pi … | 72 | 1756 | active |
| pikasTech/PikaPython PikaPython is an ultra-lightweight Python interpreter written in C that runs on microcontrollers with as little as 4KB of RAM and 64KB of f… | 81 | 1755 | active |
| PocketLCD PocketLCD is an open-source hardware project for a DIY 5.5-inch 1080p portable monitor that doubles as a power bank. It includes PCB design… | 32 | 6534 | maintenance |
| xioTechnologies/Fusion Fusion is a C library for sensor fusion on Inertial Measurement Units (IMUs), implementing an AHRS algorithm that combines gyroscope, accel… | 75 | 1744 | stable |
| waveshareteam/e-Paper Waveshare's official driver and example code library for their e-Paper (e-ink) display modules, supporting Raspberry Pi, Jetson Nano, Ardui… | 73 | 1743 | active |
| osmc/osmc OSMC (Open Source Media Center) is a free and open source Linux-based media center distribution built on Debian and Kodi. It plays media fr… | 77 | 1741 | active |
| s60sc/ESP32-CAM_MJPEG2SD An ESP32/ESP32-S3 camera application that detects motion and records JPEG frames to SD card as AVI files, optionally with WAV audio from a … | 93 | 1739 | active |
| sector07-dev/RPI_DEV An open-source cyberdeck/cyberstation hardware project built around Raspberry Pi 4/5, providing 3D-printable enclosures, KiCad PCB files, a… | 32 | 1730 | active |
| kitesurfer1404/WS2812FX An Arduino/ESP8266/ESP32 library providing 55+ animation effects for WS2811/WS2812/NeoPixel LED strips, designed as a drop-in replacement f… | 75 | 1727 | stable |
| armink/SFUD SFUD is an open-source universal driver library in C for serial SPI/QSPI flash chips, based on the JEDEC SFDP standard parameter table. It … | 30 | 1726 | stable |
| Original Prusa i3 Open-source firmware for the Original Prusa i3 MK3S/MK3/MK2.5S/MK2.5 line of 3D printers, based on Marlin 1.0.x and written in C++ for AVR … | 23 | 1720 | active |
| jfedor2/hid-remapper HID Remapper is an open-source programmable USB dongle, built on RP2040-based boards like the Raspberry Pi Pico, that remaps inputs from mi… | 89 | 1719 | active |
| fdivitto/FabGL FabGL is a C++ graphics and input library for the ESP32, providing display drivers for VGA, PAL/NTSC composite video, and I2C/SPI LCDs, plu… | 23 | 1719 | active |
| WildKernels/GKI_KernelSU_SUSFS Prebuilt Android GKI (Generic Kernel Image) kernels for Android 5.10+ devices with KernelSU root support and SUSFS root-hiding patches inte… | 89 | 1717 | active |
| lede-project/source The LEDE Project source tree, a fork that later reunified with OpenWrt, providing a Linux operating system build system for embedded device… | 77 | 1716 | active |
| Paparazzi UAV Paparazzi is a free and open-source hardware and software suite for unmanned air vehicles, providing autopilot firmware, ground control sta… | 82 | 1714 | active |
| baskerville/plato Plato is a document reader application for Kobo e-ink e-readers, written in Rust. It supports PDF, EPUB, DJVU, CBZ, FB2, MOBI, XPS and TXT … | 59 | 1711 | active |
| TheOfficialFloW/Adrenaline Adrenaline is a custom firmware that modifies the official PSP emulator on PS Vita to run PSP firmware 6.61, enabling unsigned homebrew cod… | 23 | 1709 | stable |
| openpilot Firmware and Python userspace library for the comma.ai panda, a USB CAN and CAN FD interface device built on the STM32H725 microcontroller.… | 77 | 1705 | active |
| airockchip/rknn-llm RKLLM is Rockchip's software stack for converting, quantizing, and running large language models on Rockchip NPU chips such as RK3588 and R… | 83 | 1704 | active |
| schreibfaul1/ESP32-audioI2S An Arduino/ESP32 library that plays audio files and streams (MP3, AAC, FLAC, WAV, Opus, Vorbis) through external I2S DACs like the MAX98357… | 95 | 1697 | active |
| AxxAxx/AxxSolder AxxSolder is an STM32-based open-source soldering iron controller for JBC C115, C210, and C245 cartridges, available as station and portabl… | 88 | 1697 | active |
| webhdx/PicoBoot PicoBoot is an open-source IPL replacement modchip for the Nintendo GameCube built on a Raspberry Pi Pico (RP2040) board. It boots homebrew… | 53 | 1694 | active |
| unifreq/openwrt_packit Flippy's OpenWrt packaging scripts that build flashable .img firmware images for ARM64 SoC TV boxes and development boards (Amlogic, Rockch… | 74 | 1691 | active |
| espressif/esp-csi Espressif's official examples and tools for Wi-Fi Channel State Information (CSI) on ESP32-series chips, enabling non-contact wireless sens… | 64 | 1691 | active |
| ferrocene/ferrocene Ferrocene is a safety-critical Rust toolchain, a downstream fork of the official Rust compiler, qualified for use in safety- and mission-cr… | 73 | 1688 | active |
| probonopd/MiniDexed MiniDexed is a frequency-modulation (FM) synthesizer emulating the Yamaha DX7, running up to eight tone generators like a TX816/TX802, on a… | 57 | 1684 | active |
| Asuswrt-Merlin Asuswrt-Merlin is an enhanced third-party firmware for Asus routers, based on Asus's stock Asuswrt firmware, focusing on bug fixes, tweaks,… | 75 | 6207 | maintenance |
| uwerat/qskinny QSkinny is a lightweight C++/QML GUI framework built on top of the Qt scene graph, offering lightweight controls with a design that separat… | 73 | 1667 | active |
| stm32-rs/stm32-rs A collection of Rust peripheral access crates (PACs) for all STM32 microcontroller families, generated from SVD files via svd2rust with com… | 66 | 1666 | active |
| alexforencich/verilog-pcie A collection of Verilog PCI Express components including PCIe-to-AXI/AXI-Lite bridges and a high-performance DMA subsystem for FPGA designs… | 32 | 1666 | active |
| tttapa/Control-Surface An Arduino C++ library for building MIDI controllers and control surfaces, with a flexible MIDI abstraction layer supporting 5-pin DIN, USB… | 89 | 1665 | active |
| emukidid/swiss-gc Swiss is an all-in-one homebrew utility for the Nintendo GameCube that acts as a file browser and loader for games and applications across … | 94 | 1663 | active |
| rust-osdev/uefi-rs uefi-rs is a Rust crate providing safe, convenient, and performant abstractions over the Unified Extensible Firmware Interface (UEFI). It e… | 76 | 1658 | active |
| ESP32 MJPEG Streaming Server A lightweight C++ library providing cooperative multitasking and task scheduling for Arduino, ESPx, STM32, nRF, and other microcontrollers.… | 90 | 1656 | stable |
| picolibc/picolibc Picolibc is a standard C library (libc and libm) targeting small embedded 32- and 64-bit systems with limited RAM and ROM, formed by blendi… | 85 | 1656 | active |
| jankae/LibreVNA LibreVNA is an open-source 100kHz to 6GHz two-port USB vector network analyzer, including device firmware and a Qt-based cross-platform con… | 83 | 1655 | active |
| sb-ocr/diy-spacemouse A DIY hardware project for building a low-cost 3D navigation device (spacemouse) using magnets, primarily designed for Autodesk Fusion 360.… | 29 | 1652 | active |
| avr-hal A Rust Hardware Abstraction Layer (HAL) implementing embedded-hal traits for AVR microcontrollers and common boards like Arduino. It provid… | 74 | 1640 | active |
| nicokaiser/rpi-audio-receiver A set of installation scripts that turn a Raspberry Pi running Raspberry Pi OS Lite into a lightweight audio receiver supporting Bluetooth … | 64 | 1634 | active |
| FlashFloppy FlashFloppy is open-source firmware that turns Gotek hardware into a floppy drive emulator for retro computers, synths, and industrial mach… | 75 | 1626 | stable |
| ROCKNIX/distribution ROCKNIX is an immutable Linux distribution for handheld gaming devices focused on retro gaming emulation, developed by a community of enthu… | 93 | 1625 | active |
| cnlohr/ch32fun A minimal open-source development environment (headers, examples, and tooling) for WCH RISC-V microcontrollers like the CH32V003, built aro… | 66 | 1622 | active |
| Firmata Firmata is a serial communication protocol for controlling microcontrollers from software on a host computer, and this repository is the Fi… | 23 | 1621 | stable |
| mrcodetastic/ESP32-HUB75-MatrixPanel-DMA An Arduino/ESP-IDF library for the ESP32, ESP32-S2, and ESP32-S3 that drives HUB75/HUB75E RGB LED matrix panels using hardware DMA for high… | 91 | 1619 | active |
| OpenAtomFoundation/TobudOS TobudOS (formerly TencentOS Tiny) is a real-time operating system for IoT devices, incubated by the OpenAtom Foundation after being donated… | 23 | 5939 | maintenance |
| thelastoutpostworkshop/gpio_viewer An Arduino library for ESP32 boards that serves a live web-based view of GPIO pin states for troubleshooting microcontroller projects. It i… | 74 | 1612 | active |
| adonno/tagreader A DIY NFC tag reader project built on an ESP8266 D1 Mini and PN532 module, with ESPHome firmware designed specifically for Home Assistant. … | 55 | 1611 | active |
| AngelLM/Thor Thor is an open source, 3D-printable 6-degrees-of-freedom robotic arm designed to be affordable (under 350€) and accessible for education, … | 28 | 1611 | active |
| joypad-ai/joypad-os Joypad OS (formerly USBRetro) is open-source C firmware for microcontrollers (RP2040, ESP32-S3, nRF52840) that turns any input device into … | 96 | 1610 | active |
| HamletDuFromage/aio-switch-updater A Nintendo Switch homebrew application that downloads and updates custom firmware (Atmosphère, ReiNX, SXOS), system firmware, cheat codes, … | 46 | 1610 | active |
| RobTillaart/Arduino A bulk repository collecting numerous Arduino libraries and a few standalone applications written by Rob Tillaart, most including example c… | 90 | 1609 | active |
| prusa3d/Prusa-Firmware-Buddy The official open-source firmware for Prusa Research 3D printers (MINI, MK3.5/MK3.9/MK4, XL, CORE One) running on 32-bit ARM microcontrolle… | 96 | 1603 | active |
| Heads Heads is an open-source firmware and OS configuration that runs a minimal Linux as a coreboot or LinuxBoot ROM payload, moving the root of … | 68 | 1602 | active |
| lemmingDev/ESP32-BLE-Gamepad An Arduino/PlatformIO library that turns ESP32-family microcontrollers into Bluetooth LE HID gamepads. It supports up to 128 buttons, 6 axe… | 96 | 1601 | active |
| KindleModding/WinterBreak WinterBreak is a jailbreak tool for Amazon Kindle e-readers, built on top of the Mesquito framework. It allows users to unlock their Kindle… | 81 | 1601 | active |
| embox/embox Embox is a highly configurable POSIX-compliant real-time operating system for resource-constrained embedded systems and microcontrollers. I… | 89 | 1599 | active |
| ChristopheJacquet/PiFmRds Pi-FM-RDS is a C program that turns a Raspberry Pi into an FM radio transmitter, generating FM modulation with real-time RDS (Radio Data Sy… | 58 | 1593 | active |
| nasa/spacewasm SpaceWasm is a no_std WebAssembly 1.0 decoder, validator, and interpreter written in Rust, developed at NASA JPL for executing Wasm binarie… | 77 | 1591 | active |
| PlummersSoftwareLLC/NightDriverStrip NightDriverStrip is C++ firmware for the ESP32 that drives addressable LED strips and matrices with animated effects, configurable over WiF… | 80 | 1584 | active |
| ZimengXiong/tinyTouch tinyTouch is an open-source DIY hardware and software project that lets you authenticate, sudo, and log in to your computer with a fingerpr… | 80 | 1584 | active |
| Waujito/youtubeUnblock A C-based tool that bypasses YouTube's SNI-based detection systems, originally created to work around YouTube throttling in Russia. It runs… | 74 | 1582 | active |
| cnlohr/channel3 Firmware for the ESP8266 that turns the chip into an analog broadcast television transmitter, outputting an NTSC/PAL-compatible signal on C… | 51 | 1578 | active |
| SmingHub/Sming Sming is an open-source asynchronous C++ framework for building embedded applications with strong networking support. It targets multiple a… | 72 | 1568 | active |
| Xilinx/linux-xlnx Xilinx's fork of the official Linux kernel, containing Xilinx-specific drivers and platform support for Zynq, Zynq UltraScale+ MPSoC, Versa… | 75 | 1564 | active |
| pimoroni/pimoroni-pico Official C/C++ and MicroPython libraries and examples for Pimoroni's Raspberry Pi Pico add-ons, RP2040 boards, and Breakout Garden sensors.… | 91 | 1562 | active |
| system-linux/FazJammer FazJammer is an ESP8266-based firmware project that turns a NodeMCU plus an NRF24L01+ radio module into a device that jams Wi-Fi, BLE, and … | 39 | 1562 | active |
| bitcraze/crazyflie-firmware The main open-source firmware for Bitcraze's Crazyflie Nano Quadcopter, Crazyflie Bolt, and Roadrunner Positioning Tag, written in C. It pr… | 92 | 1556 | active |
| Moddable SDK The Moddable SDK is a development toolkit and runtime for building IoT applications in standard JavaScript on low-cost microcontrollers lik… | 94 | 1554 | active |
| sepfy/libpeer libpeer is a portable WebRTC implementation written in C using BSD sockets, designed for IoT and embedded devices such as ESP32 and Raspber… | 73 | 1553 | active |
| atomicobject/heatshrink Heatshrink is a data compression/decompression library written in C, designed for embedded and real-time systems with very low memory requi… | 32 | 1552 | stable |
| unlir/XDrive XDrive is open-source firmware (with hardware schematics and enclosure designs) for a stepper motor driver featuring a multi-function inter… | 32 | 1550 | active |
| rxi/sj.h sj.h is a tiny ~150-line C99 JSON parsing library distributed as a single header. It performs zero-allocation, streaming-style parsing and … | 34 | 1549 | stable |
| wfb-ng WFB-NG is a long-range packet radio link that transmits video, MAVLink telemetry, and IP traffic over raw (unconnected) WiFi frames, bypass… | 82 | 1546 | active |
| MaJerle/lwrb lwrb is a lightweight, platform-independent C library implementing a generic FIFO ring (cyclic) buffer with no dynamic memory allocation. I… | 84 | 1543 | stable |
| jamesmunns/postcard Postcard is a no_std-focused serializer and deserializer for Serde in Rust, designed for embedded and other constrained environments. It pr… | 77 | 1541 | stable |
| chenxuuu/sms_forwarding Low-cost SMS forwarding firmware for ESP32C3 + ML307R 4G modem hardware that automatically forwards received SMS messages to up to five con… | 73 | 1540 | active |
| riscv-software-src/opensbi OpenSBI is the open-source reference implementation of the RISC-V Supervisor Binary Interface (SBI) specification, running as firmware in M… | 84 | 1538 | active |
| mfactory-osaka/ESPTimeCast ESPTimeCast is firmware for a WiFi-connected LED matrix clock and weather display built on ESP8266/ESP32 with MAX7219 displays. It provides… | 62 | 1537 | active |
| mcallegari/qlcplus Q Light Controller Plus (QLC+) is a free, cross-platform application for controlling DMX and analog lighting systems such as moving heads, … | 87 | 1534 | active |
| espressif/esp-sr ESP-SR is Espressif's speech recognition framework for ESP32-series chips, providing wake word detection (WakeNet), voice activity detectio… | 79 | 1534 | active |
| contiki-ng/contiki-ng Contiki-NG is an open-source, cross-platform operating system for next-generation IoT devices, forked from the original Contiki OS. It focu… | 84 | 1532 | active |
| hybridgroup/go-haystack A Go/TinyGo library and toolset for tracking personal Bluetooth devices through Apple's Find My network, using OpenHaystack and Macless-Hay… | 66 | 1529 | active |
| polhenarejos/pico-fido Open-source firmware that turns a Raspberry Pi Pico (RP2040/RP2350) or ESP32-S3 microcontroller into a FIDO2 passkey authenticator, support… | 91 | 1526 | active |
| raspberrypi/rpi-eeprom Official Raspberry Pi tooling of shell scripts and pre-compiled binaries for updating and configuring the bootloader EEPROM on Raspberry Pi… | 90 | 1524 | active |