Open-source embedded software
741 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.
741 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| flutter-pi A lightweight Flutter Engine embedder for Linux embedded systems, primarily the Raspberry Pi, that runs Flutter apps directly on the frameb… | 73 | 2003 | active |
| peng-zhihui/L-ink_Card An open-source hardware and firmware project for a smart NFC card with an e-ink display, built on an STM32L051 MCU and ST25DV NFC chip. It … | 32 | 7646 | maintenance |
| ESP3D ESP3D is open-source firmware for ESP8266/ESP8285 and ESP32 boards that adds WiFi connectivity to 3D printers, CNC machines, and sand table… | 89 | 1998 | active |
| Jailhouse Jailhouse is a Linux-based partitioning hypervisor that splits hardware resources into isolated cells running bare-metal applications or ad… | 32 | 1967 | stable |
| Blackymas/NSPanel_HA_Blueprint A Home Assistant Blueprint and ESPHome-based firmware configuration for the Sonoff NSPanel smart wall panel, allowing full customization th… | 81 | 1957 | active |
| Epsilon Epsilon is a high-performance operating system for the NumWorks graphing calculator, written in C++, with eleven apps covering the high sch… | 61 | 1957 | active |
| mackyle/sqlite An unofficial Git mirror of the complete SQLite source code, a self-contained C library implementing an embedded SQL database engine suppor… | 72 | 1956 | stable |
| jerryscript-project/jerryscript JerryScript is an ultra-lightweight JavaScript engine written in C99 for resource-constrained devices like microcontrollers, running in und… | 40 | 7418 | maintenance |
| EPDiy EPDiy is a driver board and accompanying software library for driving affordable E-Paper (E-Ink) display modules, typically salvaged from e… | 92 | 1946 | active |
| OP-TEE OP-TEE Trusted OS is the secure-world operating system implementation of the OP-TEE project, running on ARM TrustZone-enabled hardware. It … | 75 | 1935 | active |
| egzumer/uv-k5-firmware-custom An open-source custom firmware for the Quansheng UV-K5/K6/5R handheld radio, merging OneOfEleven's custom firmware with fagci's spectrum an… | 19 | 1932 | active |
| rp-rs/rp-hal rp-hal is a Rust Hardware Abstraction Layer (HAL) implementing embedded-hal for the Raspberry Pi RP2040 and RP235x series microcontrollers.… | 84 | 1928 | active |
| CoreELEC/CoreELEC CoreELEC is a lightweight 'Just enough OS' Linux distribution built to run Kodi media center software on low-cost Amlogic-based hardware. I… | 70 | 1926 | active |
| Hummingbirdv2 E203 Hummingbirdv2 E203 is an open-source ultra-low power 32-bit RISC-V processor core and SoC written in Verilog, developed by Nuclei System Te… | 75 | 1925 | stable |
| pascallanger/DIY-Multiprotocol-TX-Module An open-source firmware for a DIY 2.4GHz multiprotocol transmitter module that lets almost any RC transmitter control many different receiv… | 83 | 1904 | active |
| cesanta/elk Elk is a tiny embeddable JavaScript engine written in C that implements a small subset of ES6, designed for microcontrollers with footprint… | 52 | 1902 | active |
| Nicholas-L-Johnson/flip-card A business card built on an RP2350 microcontroller that runs a FLIP (fluid-implicit-particle) fluid simulation on its display, including Ki… | 54 | 1900 | active |
| cifertech/RF-Clown RF-Clown is an open-source BLE and Bluetooth jammer built on ESP32 and multiple nRF24L01 radio modules, with an OLED display, NeoPixel feed… | 60 | 1894 | active |
| jgarff/rpi_ws281x A userspace C library for controlling WS281X LED strips (WS2812, SK6812 RGB/RGBW) from a Raspberry Pi via PWM, PCM, or SPI with DMA. It inc… | 55 | 1889 | stable |
| olofk/serv SERV is an award-winning bit-serial RISC-V CPU core written in Verilog, claimed to be the world's smallest RISC-V CPU at around 200 LUTs on… | 66 | 1887 | active |
| emsec/ChameleonMini ChameleonMini is a freely programmable, portable NFC device that can emulate and clone contactless smartcards, read RFID tags, and sniff/lo… | 23 | 1877 | active |
| joric/nrfmicro nRFMicro is an open-source hardware project providing a DIY drop-in Pro Micro replacement controller based on the nRF52840, designed to con… | 35 | 1867 | active |
| okalachev/flix Flix is an open-source ESP32-based quadcopter flight controller and firmware built from scratch in Arduino C++, designed for education and … | 82 | 1864 | active |
| 0x23/MicroManipulatorStepper An open-source, low-cost motorized XYZ micro-manipulator motion control platform achieving sub-micrometer precision, built with 3D-printed … | 61 | 1862 | active |
| Bastardkb/Charybdis Charybdis is an open-source ergonomic split keyboard design with an integrated trackball, intended as a full mouse replacement. The reposit… | 74 | 1861 | active |
| OpenEPaperLink OpenEPaperLink is an open-source alternative firmware and 802.15.4-based protocol for repurposing commercial electronic shelf labels (e-pap… | 93 | 1857 | active |
| trezor/trezor-firmware The official open-source firmware monorepo for Trezor hardware wallets, containing firmware for Trezor One and Trezor T/Safe devices, a sta… | 76 | 1837 | active |
| OpenCCU/OpenCCU OpenCCU (formerly RaspberryMatic) is a free, Buildroot-based open-source operating system that turns CCU3/ELV-Charly hardware, Raspberry Pi… | 93 | 1833 | active |
| JesseCHale/HaleHound-CYD HaleHound-CYD is a multi-protocol offensive security toolkit firmware for the ESP32 Cheap Yellow Display, offering 40+ attack modules acros… | 83 | 1819 | active |
| 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 |
| 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 |
| ultraembedded/riscv A 32-bit RISC-V CPU core (RV32IMZicsr) written in synthesizable Verilog 2001, accompanied by an instruction set simulator. It supports user… | 32 | 1798 | stable |
| 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 |
| fulldecent/system-bus-radio A C program that transmits AM radio signals from computers and phones that lack radio transmitting hardware by generating precisely timed e… | 52 | 6726 | maintenance |
| 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 |
| buserror/simavr simavr is a lean, hackable Atmel AVR microcontroller simulator written in C, loading ELF/HEX firmware directly and emulating peripherals li… | 75 | 1790 | active |
| 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 |
| rcore-os/zCore zCore is a reimplementation of Google's Zircon microkernel written in safe Rust, runnable both as a userspace libos program and on bare met… | 83 | 1779 | 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 |
| Skythinker616/foc-wheel-legged-robot A complete open-source wheel-legged balancing robot project covering mechanical design (SolidWorks), physics simulation (MATLAB/Simulink/Si… | 29 | 1769 | stable |
| 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 |
| micronucleus/micronucleus Micronucleus is a compact USB bootloader for AVR ATtiny microcontrollers, built on V-USB with all configurations under 2KB. It includes a c… | 49 | 1761 | active |
| 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 |
| trabucayre/openFPGALoader openFPGALoader is a universal open-source command-line utility for programming FPGAs. It supports loading bitstreams into SRAM or writing t… | 82 | 1746 | active |
| 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 |
| 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 |
| ghaerr/elks ELKS is an embeddable subset of the Linux operating system targeting 16-bit Intel IA16 processors (8086, 8088, 80186, 80286, NEC V20/V30). … | 92 | 1719 | 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 |
| 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 |
| pulp-platform/axi A collection of synthesizable SystemVerilog IP modules for building AXI4 and AXI4-Lite on-chip communication networks, including crossbars,… | 92 | 1706 | active |
| 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 |
| 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 |
| 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 |
| Minimal Linux Live Minimal Linux Live (MLL) is a tiny educational Linux distribution built entirely from scratch via a collection of automated shell scripts. … | 58 | 1678 | active |
| svaarala/duktape Duktape is an embeddable JavaScript (ECMAScript E5/E5.1 with partial ES2015+) engine written in C, focused on portability and a compact foo… | 65 | 6215 | maintenance |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| ZipCPU/zipcpu ZipCPU is a small, lightweight 32-bit RISC CPU soft core written in Verilog for FPGA deployment, with its own instruction set (not RISC-V),… | 75 | 1588 | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |