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 |
|---|---|---|---|
| pftf/RPi4 Installable UEFI firmware images for the Raspberry Pi 4, built from the official EDK2 (edk2-platforms) Raspberry Pi 4 firmware. It enables … | 87 | 1408 | active |
| Smoothie Smoothieware is a modular, open-source G-code interpreter and CNC controller firmware written in object-oriented C++ for 32-bit controller … | 72 | 1408 | active |
| espressif/kicad-libraries Official KiCad symbol, footprint, and 3D model libraries for Espressif SoCs, modules, and DevKits. Distributed via KiCad's PCM and intended… | 85 | 1406 | active |
| ashinn/chibi-scheme Chibi-Scheme is a minimal Scheme implementation designed to be embedded as an extension and scripting language in C programs. It supports R… | 76 | 1405 | stable |
| skuep/AIOC AIOC is open-source firmware and hardware design for a Ham Radio All-in-one-Cable, a USB-C adapter based on STM32F302 that enumerates as a … | 45 | 1405 | active |
| TWiLight Menu++ nds-bootstrap is an open-source homebrew application that loads Nintendo DS/DSi ROMs and homebrew natively from an SD card on DSi/3DS conso… | 99 | 1404 | active |
| toitlang/toit The Toit language implementation, consisting of a compiler, virtual machine, and standard libraries for running a modern high-level languag… | 97 | 1394 | active |
| nofeletru/UsbAsp-flash AsProgrammer is a desktop application for programming flash and EEPROM memory chips over SPI, I2C, and MicroWire protocols. It supports a r… | 71 | 1386 | active |
| tiny-tpu-v2/tiny-tpu A minimal tensor processing unit (TPU) written in Verilog, reinvented from Google's TPU V1/V2 architectures. It includes a systolic array o… | 50 | 1386 | active |
| google/pebble The open-sourced PebbleOS firmware source code that runs on Pebble smartwatches, released by Google after Pebble Technology. Proprietary co… | 21 | 4960 | maintenance |
| QuantumLeaps/qpc QP/C is a lightweight real-time event framework (RTEF) for C that implements the event-driven Active Object (Actor) model combined with hie… | 92 | 1384 | stable |
| UV-K5 Custom Firmware A feature-rich custom open-source firmware for the Quansheng UV-K5/K6 handheld ham radio, built in C/C++ by merging multiple open-source fi… | 93 | 1382 | active |
| ducalex/retro-go Retro-Go is a firmware for ESP32-based handheld devices (ODROID-GO, MRBC-G32, and others) that provides a launcher and heavily optimized em… | 53 | 1378 | active |
| bladeRF bladeRF is the complete source code for the Nuand bladeRF USB 3.0 Software Defined Radio, including FX3 USB controller firmware, Cyclone IV… | 66 | 1374 | active |
| ObKo/stm32-cmake A set of CMake toolchain files and modules for developing STM32 (ARM Cortex-M) firmware with GCC, newlib, and STM32Cube. It provides device… | 62 | 1374 | active |
| skot/bitaxe Bitaxe is a fully open source hardware Bitcoin ASIC miner design (KiCad files, BOM, gerbers) built around Bitmain's BM1366 SHA256 ASIC and … | 37 | 1372 | active |
| GUIslice GUIslice is a lightweight C GUI framework for embedded touchscreen TFT displays, supporting a drag & drop builder to generate layouts. It r… | 61 | 1370 | active |
| HoloCubic_AIO HoloCubic_AIO is an open-source all-in-one third-party firmware for the HoloCubic ESP32-based holographic desktop device, bundling apps lik… | 26 | 1370 | active |
| LiteOS/LiteOS Huawei LiteOS is a lightweight real-time operating system kernel for IoT devices, written in C for ARM Cortex-M/A architectures. It provide… | 23 | 4900 | maintenance |
| LibVNC/libvncserver LibVNCServer/LibVNCClient are cross-platform C libraries for implementing VNC server and client functionality using the RFB protocol. LibVN… | 68 | 1367 | stable |
| MySensors MySensors is an open-source C++ library and example collection for building DIY wireless sensor and actuator networks on Arduino, ESP8266/E… | 54 | 1360 | active |
| Flutter for Embedded Linux A non-official Flutter embedder for embedded Linux systems, implemented in C++ without X11 or GTK dependencies. It supports Wayland and DRM… | 45 | 1353 | active |
| raspberrypi/usbboot rpiboot is the official Raspberry Pi USB device boot tool that loads firmware onto a Raspberry Pi over USB to expose its storage as a mass-… | 80 | 1350 | active |
| embedded-graphics A no_std 2D graphics library for Rust targeting memory-constrained embedded devices. It draws primitives, text, and images using an iterato… | 74 | 1345 | stable |
| STMicroelectronics/STM32CubeF4 STMicroelectronics' official STM32Cube firmware package for the STM32F4 series of microcontrollers. It bundles HAL and LL drivers, CMSIS co… | 75 | 1342 | stable |
| cariboulabs/cariboulite CaribouLite is an open-source, OSHWA-certified SDR HAT that turns 40-pin Raspberry Pi boards into a dual-channel Tx/Rx software-defined rad… | 44 | 1338 | active |
| Nicholas3388/LuaNode LuaNode is a Lua SDK/firmware for ESP32, ESP32-C2/C3/C6, ESP8266, and STM32L4 microcontrollers, built on ESP-IDF and ESP8266_RTOS_SDK. It l… | 32 | 1334 | active |
| ratatui/mousefood Mousefood is a no-std embedded-graphics backend for Ratatui, the Rust terminal UI library. It lets Ratatui widgets render onto embedded dis… | 80 | 1332 | active |
| cfig/Android_boot_image_editor A Gradle-based Java tool for unpacking, editing, and repacking Android boot images such as boot.img, vendor_boot.img, recovery.img, vbmeta.… | 62 | 1332 | active |
| RustSBI RustSBI is a RISC-V Supervisor Binary Interface (SBI) implementation library written in Rust, running in M-mode or HS-mode on bare-metal RI… | 80 | 1330 | active |
| dekuNukem/duckyPad duckyPad is an open-source 15-key mechanical macropad with per-key RGB, an OLED screen, and a custom turing-complete duckyScript engine for… | 56 | 1328 | active |
| espressif/esp-box ESP-BOX is Espressif's AIoT development framework for the ESP32-S3-BOX series of development boards, built on the ESP32-S3 Wi-Fi + Bluetoot… | 57 | 1321 | active |
| wuxx/nanoDAP nanoDAP is an open-source hardware and firmware project for a small CMSIS-DAP compatible debug probe used to program and debug ARM microcon… | 32 | 1320 | active |
| CE-Programming/CEmu CEmu is a third-party emulator for the eZ80-based TI-84 Plus CE and TI-83 Premium CE graphing calculators, built with a C core and a Qt/C++… | 67 | 1319 | active |
| wiredopposite/OGX-Mini OGX-Mini is C++ firmware for RP2040/RP2350 microcontrollers that emulates USB gamepads for multiple consoles, including the original Xbox, … | 47 | 1315 | active |
| LVGL ESP32 integration A reference project demonstrating LVGL (Light and Versatile Graphics Library) ported to ESP32 microcontrollers using the ESP-IDF framework.… | 66 | 1314 | active |
| wpilibsuite/allwpilib WPILib is the official software library suite for programming robots in the FIRST Robotics Competition (FRC) and FIRST Tech Challenge (FTC)… | 81 | 1312 | stable |
| ionutdecebal/rsvpnano RSVP Nano is an open-source pocket-sized speed-reading device built on ESP32 that presents text one word at a time using Rapid Serial Visua… | 78 | 1312 | active |
| openhwgroup/cv32e40p CV32E40P is an open-source 32-bit RISC-V processor core (RV32IMFC with PULP extensions) implemented in SystemVerilog, maintained by the Ope… | 67 | 1312 | active |
| profi200/open_agb_firm open_agb_firm is a bare metal application that runs Game Boy Advance games and homebrew natively on the Nintendo 3DS using its built-in GBA… | 62 | 1312 | active |
| LekKit/RVVM RVVM is a high-performance RISC-V virtual machine and emulator written in C, featuring a tracing JIT with x86_64, ARM64, and RISC-V backend… | 67 | 1310 | active |
| BlueOS Kernel BlueOS kernel is an operating system kernel written in Rust by Vivo, emphasizing security, lightweight design, and generality. It is POSIX-… | 63 | 1310 | active |
| alibaba/AliOS-Things AliOS Things is Alibaba's open-source, highly scalable IoT operating system built around the Rhino RTOS kernel, supporting ARM, C-Sky, MIPS… | 23 | 4629 | maintenance |
| hdl-util/hdmi A SystemVerilog library that implements true HDMI 1.4b output on FPGAs, transmitting both video and audio (data islands, InfoFrames, L-PCM)… | 61 | 1303 | stable |
| mjbots/moteus moteus is an open-source brushless DC servo motor controller project containing firmware, PCB hardware designs, and client-side libraries f… | 95 | 1299 | active |
| sensorium/Mozzi Mozzi is an open-source sound synthesis library for Arduino and compatible microcontrollers, providing oscillators, envelopes, filters, del… | 72 | 1291 | active |
| espressif/esp-at ESP-AT is Espressif's official AT command firmware and framework that turns ESP32-series and ESP8266 SoCs into wireless connectivity add-on… | 88 | 1290 | active |
| EttusResearch/uhd UHD is the official open-source driver and API for Ettus Research USRP software-defined radio hardware. It includes user-space driver code,… | 86 | 1288 | stable |
| nyanmisaka/ffmpeg-rockchip A fork of FFmpeg adding full hardware transcoding pipelines for Rockchip SoCs via MPP decoders/encoders and RGA 2D accelerator filters, wit… | 67 | 1288 | active |
| ataradov/usb-sniffer A low-cost open-source hardware and software USB protocol sniffer supporting Low-, Full-, and High-Speed USB, built on a Cypress FX2LP MCU,… | 50 | 1284 | active |
| eembc/coremark CoreMark is EEMBC's industry-standard benchmark for measuring CPU and embedded microcontroller performance, testing core processor features… | 67 | 1270 | stable |
| protoloft/klipper_z_calibration A Klipper firmware plugin that automatically calibrates the Z-offset of a 3D printer before every print, eliminating manual baby-stepping. … | 66 | 1260 | stable |
| makermoekoe/Picoclick-C3 Picoclick-C3 is an open-source tiny WiFi and BLE IoT button based on the ESP32-C3 RISC-V processor, available in standard and ultra-small (… | 32 | 1260 | active |
| PaulStoffregen/Audio A 16-bit, 44.1 kHz streaming audio library for Teensy 3.x and 4.x microcontrollers, providing objects for playback, recording, synthesis, e… | 55 | 1258 | stable |
| Daisy Audio Platform DaisySP is an open-source C++ digital signal processing library offering modular components for audio synthesis and effects. It targets the… | 66 | 1254 | active |
| raspberrypi/debugprobe Firmware source and binaries for the Raspberry Pi Debug Probe, an RP2040-based USB-to-SWD/UART debugging accessory. It can also run on a Ra… | 81 | 1253 | active |
| DragonMinded/libdragon Libdragon is an open-source SDK for Nintendo 64 homebrew development, built on a modern GCC toolchain with full C11 support. It provides ac… | 10 | 1253 | active |
| HiFiBerryOS HiFiBerryOS is a Debian-based Linux distribution optimized for audio playback on Raspberry Pi with HiFiBerry sound cards. It integrates Pip… | 75 | 1250 | active |
| genodelabs/genode Genode is an open-source C++ framework for building highly secure, component-based operating systems using capability-based security and a … | 10 | 1249 | active |
| Marus/cortex-debug A Visual Studio Code extension that enhances debugging for ARM Cortex-M microcontrollers and other embedded targets via GDB servers like J-… | 83 | 1248 | active |
| RAUC RAUC (Robust Auto-Update Controller) is an open-source update client and host tool for embedded Linux systems that manages fail-safe, atomi… | 83 | 1246 | stable |
| riscv-software-src/riscv-tests The official unit test suite for RISC-V processor implementations, written mostly in assembly. Tests are organized by test virtual machines… | 75 | 1246 | active |
| raspberrypi/picamera2 Picamera2 is a Python library providing an interface to Raspberry Pi cameras via the libcamera stack, replacing the legacy Picamera library… | 90 | 1244 | active |
| ps2dev/ps2sdk PS2SDK is an open-source software development kit providing libraries for homebrew application development on Sony's PlayStation 2. It unif… | 76 | 1244 | active |
| Jstudner/jcorp-nomad Jcorp Nomad is an open-source offline media server that runs on an ESP32-S3 in a thumbdrive form factor, creating its own Wi-Fi hotspot to … | 85 | 1242 | active |
| Xilinx/embeddedsw Xilinx's official embedded software repository providing bare-metal drivers, board support packages, and first-stage bootloader firmware fo… | 75 | 1240 | active |
| alexhude/uEmu uEmu is an IDA Pro plugin built on the Unicorn engine that lets you emulate code directly inside the IDA disassembler. It supports x86, x64… | 73 | 1239 | active |
| knurling-rs/defmt defmt is a highly efficient logging framework for Rust targeting resource-constrained embedded devices like microcontrollers. It uses defer… | 91 | 1238 | active |
| siliconcompiler/siliconcompiler SiliconCompiler is a modular Python-based hardware build system that automates the flow from RTL source code (Verilog, VHDL, Chisel, etc.) … | 95 | 1236 | active |
| peng-zhihui/ESP32-PicoDK An open-source miniature development board based on the ESP32-PicoD4 SiP module, including PCB design files, schematics, and documentation.… | 32 | 1236 | stable |
| Rakashazi/emu-ex-plus-alpha A multi-platform retro game console emulation system consisting of emulator apps for many classic consoles, built on the Imagine platform a… | 54 | 1234 | active |
| witnessmenow/Universal-Arduino-Telegram-Bot An Arduino IDE library providing an interface to the Telegram Bot API, designed to work across multiple Arduino architectures such as ESP82… | 23 | 1234 | active |
| Duino-Coin Duino-Coin is a centralized, eco-friendly proof-of-work cryptocurrency (DUCO) designed to be mined with low-power devices such as Arduino b… | 66 | 1233 | active |
| DSPi DSPi is a fully featured audio DSP firmware that turns a Raspberry Pi Pico (RP2040) or Pico 2 (RP2350) into an inexpensive USB sound card w… | 82 | 1230 | active |
| TriForceX/MiyooCFW MiyooCFW is a GPL-2.0 custom firmware for BittBoy, PocketGo, PowKiddy V90/Q90/Q20 and other Miyoo-based retro handheld consoles. It unlocks… | 66 | 1228 | active |
| wukongdaily/OrangePiShell A collection of one-click shell scripts for quickly deploying useful Docker projects on Linux, originally built for the OrangePi Zero 3 sin… | 41 | 1228 | active |
| RQNG/WouoUI WouoUI is a C library implementing a silky-smooth menu UI for small OLED displays (128x128, 128x64, 128x32), inspired by Zhihui Jun's MonoU… | 31 | 1228 | stable |
| Mender Mender is an open-source over-the-air (OTA) software update client for IoT and embedded Linux devices, part of a client-server platform for… | 78 | 1227 | stable |
| mz-automation/libiec61850 libiec61850 is an open-source (GPLv3) C library implementing the IEC 61850 client and server protocols MMS, GOOSE, Sampled Values, and R-Se… | 82 | 1226 | stable |
| PSLab Mini Firmware for the PSLab Mini, an open-source pocket science lab instrument built on the Raspberry Pi Pico (RP2350). It exposes SCPI commands… | 73 | 1225 | active |
| simondlevy/TinyEKF TinyEKF is a lightweight, header-only C/C++ implementation of the Extended Kalman Filter designed for microcontrollers like Arduino and STM… | 63 | 1220 | stable |
| SamiPerttu/fundsp FunDSP is a Rust library for audio processing and digital signal synthesis with a composable inline graph notation for building audio netwo… | 60 | 1214 | active |
| RPi-Monitor/RPi-Monitor RPi-Monitor is a self-hosted application that performs real-time monitoring of embedded devices such as the Raspberry Pi. It includes an em… | 66 | 1212 | active |
| lcm-proj/lcm LCM (Lightweight Communications and Marshalling) is a set of libraries and tools for low-latency, high-bandwidth publish/subscribe message … | 86 | 1211 | stable |
| SdFat SdFat is a C++ library for Arduino and other embedded platforms providing access to SD cards with FAT16/FAT32/exFAT filesystems. It support… | 35 | 1211 | active |
| blinker-iot/blinker-nRF52 A Blinker support library for Nordic nRF52xx series chips, built on the nRF5 SDK v16.0.0 and nRF5 SDK for Mesh v4.0.0. It enables BLE 5.0 a… | 32 | 4234 | maintenance |
| Amazon Kinesis Video Streams Producer SDK A pure C WebRTC client SDK for Amazon Kinesis Video Streams that enables real-time audio/video communication between embedded devices and t… | 91 | 1209 | active |
| cmsis-svd/cmsis-svd A Python library that parses ARM CMSIS-SVD (System View Description) files into easy-to-use data structures. It enables building code gener… | 57 | 1209 | active |
| e2002/yoradio yoRadio is open-source firmware for building an internet web-radio player on an ESP32 microcontroller, based on the ESP32-audioI2S and ESP3… | 49 | 1204 | active |
| tuna-f1sh/cyme Cyme is a modern cross-platform command-line tool for listing system USB buses and devices, compatible with lsusb while adding richer tree … | 91 | 1203 | active |
| hamishcoleman/thinkpad-ec A Linux command-line toolkit for extracting, examining, and patching ThinkPad xx30-series embedded controller (EC) firmware. Its main purpo… | 38 | 1203 | active |
| AmberELEC AmberELEC is an open-source 64-bit Linux firmware for Anbernic RG351P/M/V/MP and RG552 retro handheld consoles, shipped as a flashable SD c… | 67 | 1202 | active |
| zserge/jsmn jsmn is a minimalistic, header-only JSON parser/tokenizer written in C89 with no dependencies and no dynamic memory allocation. It produces… | 23 | 4198 | maintenance |
| GEIGEIGEIST/KLOR KLOR is an open-source 36-42 key column-staggered split keyboard design, including KiCad PCB files, Gerbers, case files, switchplates, and … | 32 | 1199 | stable |
| brandonlw/Psychson A toolkit for creating custom firmware and firmware patches for Phison 2251-03 (2303) USB controller chips, enabling BadUSB attacks via HID… | 23 | 4186 | maintenance |
| digint/tinyfsm TinyFSM is a simple, header-only C++11 finite state machine library designed for optimal performance and low memory footprint. It wraps eve… | 32 | 1197 | stable |
| orangepi-xunlong/orangepi-build Official Orange Pi build framework (based on Armbian build) for creating custom Linux OS images for Orange Pi single-board computers. It su… | 75 | 1196 | active |
| esp32cam-ready Firmware for ESP32-CAM modules that turns the device into an RTSP streaming camera server, HTTP Motion JPEG streamer, and HTTP snapshot ima… | 66 | 1196 | active |
| pgaskin/NickelMenu NickelMenu is a C++ tool that adds custom menu items to Kobo e-reader firmware, letting users launch scripts, toggle hidden settings, and r… | 63 | 1195 | active |
| rusEFI rusEFI is a GPL open-source internal combustion engine control unit (ECU) project, including STM32 firmware, KiCAD hardware designs, a Java… | 88 | 1194 | active |