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 |
|---|---|---|---|
| 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 |
| 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 |
| 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 |
| flipperdevices/qFlipper qFlipper is an open-source Qt-based desktop application for managing the Flipper Zero multi-tool device from a PC. It handles firmware upda… | 23 | 1671 | active |
| 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 |
| gbdev/rgbds RGBDS is a free, open-source assembler/linker toolchain for developing Nintendo Game Boy and Game Boy Color software in assembly. It compri… | 94 | 1659 | stable |
| 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 |
| 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 |
| clash-lang/clash-compiler Clash is a functional hardware description language based on Haskell, with a compiler that transforms high-level descriptions into synthesi… | 93 | 1619 | active |
| 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 |
| 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 |
| 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 |
| hardbyte/python-can python-can is a Python library providing controller area network (CAN bus) support with common abstractions over many hardware interfaces. … | 62 | 1607 | stable |
| 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 |
| 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 |
| HelenOS/helenos HelenOS is a portable microkernel-based multiserver operating system written from scratch in C, decomposing OS functionality like file syst… | 67 | 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 |
| 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 |
| richfelker/musl-cross-make A makefile-based build system for producing musl libc-targeting GCC cross compilers. It automates downloading, patching, and building GCC, … | 68 | 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 |
| ChipWhisperer ChipWhisperer is an open-source toolchain for hardware security research, providing capture hardware designs, FPGA/USB firmware, and a Pyth… | 96 | 1578 | 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 |
| 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 |
| NutShell NutShell is an open-source RISC-V processor (SoC) designed by students at UCAS as part of the OSCPU project, written in Chisel/Scala. It su… | 66 | 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 |
| ThakeeNathees/pocketlang Pocketlang is a lightweight, fast, embeddable scripting language written in C with a Ruby-flavored Python-like syntax, including its own by… | 56 | 1548 | active |
| 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 |
| silentbicycle/greatest greatest is a minimal unit testing library for C, distributed as a single header file with no dependencies and no dynamic allocation. It pr… | 32 | 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 |
| 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 |
| 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 |
| copper-project/copper-rs Copper is a Rust runtime and SDK for building, running, recording, and deterministically replaying static robot task graphs, from Linux dow… | 100 | 1522 | active |
| SoapySDR SoapySDR is a vendor and platform neutral C++ support library providing a generalized API and runtime for interfacing with software-defined… | 56 | 1513 | stable |
| fossasia/pslab-grove-shield The PSLab Grove Shield is an open hardware add-on board for the Pocket Science Lab (PSLab) open-source measurement device, hosting its PCB … | 63 | 1512 | active |
| balena-os/wifi-connect WiFi Connect is a Rust utility that lets users configure WiFi credentials on Linux devices through a captive portal. The device creates a W… | 98 | 1509 | active |
| Wren6991/PicoDVI PicoDVI is a library that bitbangs DVI/HDMI video output directly from RP2040 and RP2350 microcontrollers using PIO, DMA, and overclocked C… | 71 | 1508 | active |
| Core Flight System (cFS) NASA's Core Flight System (cFS) is a generic flight software architecture framework written in C, used on spacecraft ranging from flagship … | 86 | 1507 | stable |
| dRoninFlight/dRonin dRonin is open-source autopilot/flight controller firmware for OpenPilot/Tau Labs family boards, supporting multirotors, planes, and helico… | 44 | 1506 | active |
| ToanTech/Deng-s-foc-controller An open-source dual-channel brushless motor FOC (field-oriented control) driver board based on ESP32, with full hardware design files (BOM,… | 32 | 1505 | active |
| usbarmory/usbarmory USB armory is an open source hardware design for a compact secure computer built into a USB stick form factor, based on ARM SoCs. This repo… | 74 | 1499 | active |
| OLIMEX/OLINUXINO OLinuXino is a family of fully open-source, open-hardware (OSHW certified) industrial-grade ARM single board computers from Olimex, with pu… | 66 | 1493 | active |
| fhdm-dev/scoppy Scoppy turns a Raspberry Pi Pico and an Android phone or tablet into a low-cost oscilloscope and logic analyzer. The Pico firmware samples … | 39 | 1492 | active |
| markondej/fm_transmitter A C++ command-line tool that turns a Raspberry Pi (up to Pi 4) into an FM radio transmitter by modulating the GPIO clock output. It broadca… | 58 | 1491 | active |
| GxEPD2 Arduino Display Library An Arduino library for driving SPI e-paper (e-ink) displays from Good Display and Waveshare, built on Adafruit_GFX for graphics and text. I… | 72 | 1490 | active |
| cpputest/cpputest CppUTest is a C/C++ xUnit-style unit testing and mocking framework, written in C++ but usable from both C and C++ projects. It is designed … | 62 | 1483 | stable |
| aceinnolab/Inkycal Inkycal is a modular Python application that renders information dashboards (calendars, weather, tasks, photos, custom modules) on e-paper … | 80 | 1482 | active |
| mariotaku/moonlight-tv Moonlight TV is a community NVIDIA GameStream client built for large screens, targeting LG webOS TVs and embedded devices like Raspberry Pi… | 78 | 1478 | active |
| espressif/vscode-esp-idf-extension An official Visual Studio Code extension from Espressif for developing, building, flashing, monitoring, and debugging firmware for Espressi… | 94 | 1471 | active |
| devbis/z03mmc Open-source Zigbee 3.0 firmware for the Xiaomi LYWSD03MMC Bluetooth temperature and humidity sensor, written in C for Telink hardware. It c… | 47 | 1471 | active |
| ShlkOfTheRa/scarab-osd MWOSD (scarab-osd) is an open-source multipurpose on-screen display (OSD) firmware for UAVs and FPV drones, written in C for Arduino-compat… | 55 | 1469 | active |
| pyocd/pyOCD pyOCD is an open-source Python library and command-line tool for programming and debugging Arm Cortex-M microcontrollers across a wide rang… | 89 | 1467 | active |
| switchbrew/libnx libnx is an AArch64-only userland library for developing Nintendo Switch homebrew software, based on libctru. It provides C APIs for intera… | 88 | 1467 | active |
| olofk/fusesoc FuseSoC is a package manager and build abstraction tool for HDL (Verilog/VHDL) code, aimed at increasing reuse of IP cores and simplifying … | 87 | 1463 | active |
| fossasia/magic-epaper-firmware Magic ePaper Firmware is open-source C firmware for controlling FOSSASIA's e-ink (e-paper) displays on microcontrollers. It acts as a bridg… | 42 | 1462 | active |
| coredevices/PebbleOS PebbleOS is the open-source operating system firmware for Pebble smartwatches, maintained by Core Devices in C. It provides the watch platf… | 82 | 1460 | active |
| ferrilab/bitvec A Rust crate that provides bit-addressed memory management, specializing slices, arrays, and vectors to store one bit per bool, similar to … | 32 | 1457 | stable |
| platformio/platformio-vscode-ide PlatformIO IDE is a VSCode extension providing a full-featured integrated development environment for embedded and IoT development. It bund… | 23 | 1457 | active |
| dRehmFlight dRehmFlight is an Arduino-compatible flight controller and stabilization codebase for small-scale VTOL aircraft, built on the Teensy 4.0 mi… | 32 | 1456 | active |
| COVESA/vsomeip vSomeIP is a C++ implementation of the SOME/IP (Scalable service-Oriented MiddlewarE over IP) protocol, built by BMW and maintained under C… | 96 | 1454 | active |
| showmewebcam/showmewebcam A firmware image that turns a Raspberry Pi Zero (or Pi 4) with a Raspberry Pi camera module into a high-quality USB webcam using UVC gadget… | 23 | 1450 | active |
| rockchip-linux/kernel A fork of the Linux kernel source maintained by Rockchip as the Board Support Package (BSP) kernel for their SoCs. It provides Rockchip-spe… | 64 | 1444 | active |
| aolofsson/oh OH! is an open-source library of silicon-proven Verilog hardware building blocks for ASIC and FPGA design, containing over 150 modules such… | 10 | 1442 | active |
| WebOS Homebrew Channel An unofficial homebrew app store and root tooling for webOS TVs, providing package discovery, installation, and updates from independent re… | 68 | 1436 | active |
| BigTreeTech TFT TouchScreen Firmware Open-source firmware for BigTreeTech TFT touchscreen 3D printer controllers, written in C. It provides a touch interface and Marlin mode fo… | 34 | 1435 | active |
| system76/launch The System76 Launch Configurable Keyboard repository contains open source mechanical (FreeCAD) and electrical (KiCad) designs, firmware, an… | 32 | 1435 | active |
| nRF Connect SDK Nordic Semiconductor's nRF Connect SDK, the main repository containing subsystems, libraries, samples, and applications for developing firm… | 93 | 1431 | active |
| ZhaJiHu/Cubli_Mini An open-source hardware and firmware project that recreates ETH Zurich's Cubli as a low-cost, 10x10x10 cm self-balancing cube that balances… | 32 | 1426 | active |
| moode-player/moode moOde is an audiophile-grade audio player OS and web UI for Raspberry Pi, built on MPD with a responsive PHP-based interface. It includes a… | 98 | 1421 | active |
| solosky/pixl.js Pixl.js is an open-source hardware emulator for Nintendo Amiibo figures, based on a replica of the Espruino Pixl.js board. It emulates NTAG… | 77 | 1415 | active |
| ayushsharma82/ESP-DASH ESP-DASH is a C++ Arduino library that generates a real-time, on-device web dashboard for ESP32, RP2040+W, and RP2350+W microcontrollers, w… | 75 | 1413 | active |
| procount/pinn PINN is an enhanced fork of the NOOBS operating system installer for the Raspberry Pi, allowing users to easily install multiple OSes onto … | 64 | 1412 | active |
| analogdevicesinc/no-OS Analog Devices' bare-metal C software framework providing device drivers for ADI components on systems without an operating system. It incl… | 89 | 1410 | active |
| eclipse-mraa/mraa Eclipse MRAA is a C/C++ library with bindings for Python, Node.js, and Java for controlling low-speed I/O (GPIO, I2C, SPI, UART) on GNU/Lin… | 72 | 1409 | active |