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 |
|---|---|---|---|
| DroneBridge DroneBridge for ESP32 is open-source firmware for ESP32 modules that provides a secure, transparent, bidirectional telemetry link between a… | 91 | 1120 | active |
| splinedrive/kianRiscV A collection of open-source RISC-V RV32IMA system-on-chip designs written in Verilog/SystemVerilog, featuring MMU with SV32 virtual memory … | 64 | 1119 | active |
| Wren6991/Hazard3 Hazard3 is a 3-stage RISC-V (RV32IMACZb*) soft processor core written in Verilog, with JTAG/APB debug support, PMP, and hardware breakpoint… | 74 | 1117 | active |
| Sprig Sprig is a web-based JavaScript game editor and fantasy console from Hack Club for building tile-based games, paired with a custom handheld… | 68 | 1115 | active |
| mathertel/OneButton An Arduino C++ library that detects single clicks, double clicks, and long presses from a single pushbutton attached to one digital input p… | 58 | 1111 | stable |
| alekmaul/pvsneslib PVSnesLib is an open-source development kit for programming Nintendo SNES games in C or assembly. It bundles a compiler/linker toolchain (8… | 83 | 1110 | active |
| brenpoly/be-more-agent An offline-first conversational AI agent that turns a Raspberry Pi into a fully local voice assistant. It combines OpenWakeWord, Whisper.cp… | 59 | 1110 | active |
| picoruby/picoruby PicoRuby is a compact alternative implementation of the Ruby language (based on mruby and mruby/c VMs) designed to run on one-chip microcon… | 95 | 1107 | active |
| ARM-software/CMSIS-DSP CMSIS-DSP is ARM's optimized embedded compute library providing DSP and math kernels for Cortex-M and Cortex-A processors, including FFT, f… | 95 | 1106 | stable |
| revk/xESP32-Faikout Faikout is an ESP32-based hardware module and firmware that controls Daikin air conditioning units, allowing network-based management of th… | 10 | 1106 | active |
| contiki-os/contiki Contiki is an open source operating system for tiny low-power microcontrollers, providing standardized low-power wireless communication acr… | 32 | 3808 | maintenance |
| ZhuYanzhen1/miniFOC miniFOC is an open-source Field Oriented Control (FOC) firmware and hardware scheme for brushless DC (BLDC) motors, designed to run on very… | 23 | 1104 | active |
| pico-coder/sigrok-pico Firmware and sigrok driver that turns a Raspberry Pi Pico (RP2040/RP2350) into a low-cost logic analyzer and oscilloscope. It supports 21 d… | 72 | 1102 | active |
| creapunk/CLN-ClosedLoopNemaDriver An open-source hardware project providing compact closed-loop stepper motor drivers for NEMA form factor motors, with schematics, PCB files… | 72 | 1101 | active |
| TinyMPC/TinyMPC TinyMPC is an open-source C++ solver for convex model-predictive control with a small memory footprint, designed for resource-constrained m… | 70 | 1100 | active |
| Rukenshia/pomodoro An ESP32-based physical Pomodoro focus timer with an ePaper display, rotary dial input, and a 3D-printed case. The repository contains the … | 29 | 1100 | active |
| ODrive ODrive is high-performance brushless motor controller firmware (C++) for ODrive v3.x hardware, enabling precise torque, velocity, and posit… | 48 | 3770 | maintenance |
| lwmqtt An Arduino library wrapping the lwmqtt MQTT 3.1.1 client with an Arduino-style API. It supports many Arduino-compatible boards and shields … | 65 | 1094 | stable |
| weston-embedded/uC-OS3 µC/OS-III is a preemptive, highly portable, scalable real-time kernel (RTOS) originally developed by Micrium and now maintained by Weston E… | 61 | 1093 | stable |
| festvox/flite Flite (festival-lite) is a small, fast, portable run-time text-to-speech synthesis engine written entirely in ANSI C by Carnegie Mellon Uni… | 23 | 1088 | stable |
| AlohaMini AlohaMini is an open-source, 3D-printable dual-arm mobile robot with a motorized lift, buildable for under $1,000. It is LeRobot-ready for … | 54 | 1087 | active |
| espressif/esp-matter Espressif's official SDK for building Matter smart home products on ESP32 series SoCs. It wraps the open-source Matter SDK (connectedhomeip… | 76 | 1084 | active |
| wagiminator/ATmega-Soldering-Station An open-source firmware and hardware project for a DIY T12 quick-heating soldering station controller based on the ATmega328P. It provides … | 32 | 1084 | active |
| rednblkx/HomeKey-ESP32 Firmware for ESP32 boards that implements Apple HomeKit lock functionality with support for Apple Home Key, enabling NFC-based door unlocki… | 83 | 1083 | active |
| BojanJurca/Esp32_oscilloscope An ESP32 Arduino project that turns the microcontroller into a basic oscilloscope, sampling GPIO signals and displaying them in a web brows… | 70 | 1080 | active |
| particle-iot/device-os The open-source Device OS firmware for Particle IoT devices, providing the operating system, hardware abstraction layer, cloud communicatio… | 89 | 1078 | active |
| MatthewKuKanich/CAN_Commander CAN Commander is a tool for reverse engineering and analyzing CAN bus systems, pairing a Flipper Zero app with ESP32 firmware to interact w… | 60 | 1078 | active |
| ODAS ODAS (Open embeddeD Audition System) is a C library for real-time sound source localization, tracking, separation, and post-filtering using… | 32 | 1078 | stable |
| sipeed/TinyMaix TinyMaix is a tiny neural network inference library for microcontrollers (TinyML), with core code under 400 lines and a .text section under… | 32 | 1074 | active |
| lhndo/LH-Stinger LH Stinger is an open-source, community-driven design for a fast, high-precision Cartesian FDM 3D printer, including frame design, BOM, and… | 63 | 1072 | active |
| 100thCoin/AccuracyCoin AccuracyCoin is a NES test ROM that packs 141 hardware accuracy tests onto a single NROM cartridge, targeting an NTSC console with an RP2A0… | 64 | 1070 | active |
| berry-lang/berry Berry is an ultra-lightweight dynamically typed embedded scripting language written in ANSI C99, designed for low-performance embedded devi… | 66 | 1069 | active |
| DepthAI DepthAI is Luxonis's Python library and SDK for developing with Luxonis OAK camera hardware, enabling spatial AI and computer vision on emb… | 66 | 1069 | active |
| ploopyco/headphones Ploopy Headphones is an open-source hardware project providing all design and production files to build a set of 3D-printed headphones, inc… | 22 | 1069 | active |
| vsergeev/c-periphery A small MIT-licensed C library providing userspace access to Linux peripheral I/O interfaces including GPIO, LED, PWM, SPI, I2C, MMIO, and … | 44 | 1068 | stable |
| adafruit/Adafruit_Sensor Adafruit Unified Sensor is an Arduino/C++ abstraction layer providing a common Adafruit_Sensor base class and standardized sensors_event_t … | 66 | 1067 | stable |
| willem-pennings/balancing-cube A complete open-source hardware and software project for a self-balancing cube that stands on its corner or edge using three reaction wheel… | 26 | 1067 | stable |
| Mr-MIBonk/M.I.B._More-Incredible-Bash A shell-based toolbox for patching and customizing Harman MIB2 (MHI2/MHI2Q) infotainment units in Volkswagen Group cars. It provides firmwa… | 51 | 1066 | active |
| moggieuk/Happy-Hare Happy Hare is a universal Klipper extension (Python modules and macros) that drives multi-material units (MMUs) and automated filament chan… | 72 | 1064 | active |
| Bluetooth jammer An ESP32 firmware project that uses NRF24L01 radio modules to generate 2.4GHz noise signals that jam Bluetooth and WiFi devices. It include… | 10 | 1063 | active |
| ESP-Hosted ESP-Hosted is an open-source solution that lets Espressif SoCs like the ESP32 act as wireless communication co-processors, adding Wi-Fi and… | 79 | 1061 | active |
| AWS IoT Device SDK for Embedded C AWS's official C SDK for connecting embedded devices to AWS IoT, composed of modular libraries like coreMQTT, coreHTTP, coreJSON, and coreP… | 54 | 1058 | active |
| andrewmcgr/klipper_tmc_autotune A Klipper python extra that automatically calculates and tunes TMC stepper motor driver register values based on motor datasheet informatio… | 61 | 1057 | active |
| ZitaoTech/HackberryPiCM5 HackberryPi_CM5 is an open-source ultra-portable handheld Linux computer built around the Raspberry Pi Compute Module 5, featuring a 4-inch… | 32 | 1055 | active |
| exein-io/pulsar Pulsar is a modular, eBPF-powered runtime security and observability tool for Linux devices, written in Rust and designed for IoT and edge … | 87 | 1054 | active |
| RepRapFirmware RepRapFirmware is object-oriented C++ firmware for controlling 3D printers and related devices on ARM Cortex-based electronics such as ATSA… | 90 | 1051 | active |
| korginc/logue-sdk The logue SDK is KORG's official software development kit for building custom oscillators, synths, and effects ('units') for prologue, mini… | 65 | 1049 | active |
| espressif/ESP8266_RTOS_SDK Espressif's official FreeRTOS-based software development kit for the ESP8266 chip, written in C and following the esp-idf style API. It pro… | 60 | 3576 | maintenance |
| skyfloogle/red-viper Red Viper is a Nintendo Virtual Boy emulator for the Nintendo 3DS, continuing the work on r3Ddragon. It uses a dynamic recompiler and hardw… | 93 | 1047 | active |
| edk2-porting/edk2-rk3588 An open-source EDK2-based UEFI firmware implementation for Rockchip RK3588 SoC boards, providing a PC-like standardized boot experience. It… | 78 | 1047 | active |
| 45clouds/WirelessCarPlay C software that turns a Raspberry Pi into a bridge converting wired CarPlay into wireless CarPlay. It handles BLE and WiFi connections betw… | 32 | 1046 | active |
| Yowkees/keyball Keyball is a family of open-source split keyboards featuring an integrated 100% trackball, including the Keyball39, Keyball44, and Keyball6… | 66 | 1045 | active |
| FreeJoy FreeJoy is open-source firmware for the STM32F103C8 microcontroller that turns the board into a highly configurable USB HID game controller… | 63 | 1045 | active |
| milesburton/Arduino-Temperature-Control-Library DallasTemperature is a robust Arduino library for interfacing with Maxim (Dallas) 1-Wire temperature sensor ICs such as the DS18B20, DS18S2… | 73 | 1043 | stable |
| Dimsmary/OpenSTM OpenSTM is an open-source DIY scanning tunneling microscope (STM) project capable of atomic-scale imaging, demonstrated by resolving carbon… | 29 | 1043 | 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 and Heatronic compatible heating equipment from Bo… | 94 | 1034 | 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 |
| framps/raspiBackup raspiBackup is a shell-based tool that creates and maintains multiple backup versions of running Raspberry Pi systems without requiring a s… | 96 | 1033 | 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 |
| tenderlove/initial-v Initial V converts a BMW gear shifter into a Bluetooth keyboard specialized for controlling Vim, using an ESP32-based PCB that communicates… | 31 | 1033 | active |
| 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 |
| OpenFFBoard Open FFBoard is open-source firmware for a universal force feedback interface and motor driver, designed for DIY simulation devices like di… | 89 | 1026 | 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 |
| syssi/esphome-jk-bms An ESPHome external component that monitors and controls Jikong (JK) Battery Management Systems over UART-TTL or Bluetooth LE. It exposes B… | 86 | 1024 | 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 |
| SwiCago/HeatPump An Arduino library for controlling Mitsubishi heat pumps over the CN105 connector using serial communication. It lets microcontrollers like… | 32 | 1020 | active |
| lumapu/ahoy AhoyDTU is open-source firmware for ESP32/ESP8266 that communicates with Hoymiles microinverters via radio (NRF24/CMT2300A), providing a lo… | 38 | 1019 | active |
| gimli-rs/gimli gimli is a Rust library for reading and writing the DWARF debugging format. It is zero-copy, lazy, and works with any object file format, u… | 76 | 1015 | stable |
| 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 |
| 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 |
| coseyfannitutti/discipline Discipline V2 is an open-source 65% mechanical keyboard PCB design that can be assembled entirely with through-hole components, including t… | 32 | 1007 | stable |
| 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 |
| controlpaths/hackbat Hackbat is an open-source handheld pen-testing device built around the Raspberry Pi RP2040 microcontroller, featuring a sub-1 GHz RF transc… | 25 | 1005 | active |
| joBr99/nspanel-lovelace-ui Custom firmware for the Nextion display inside Sonoff NSPanel wall panels that replicates Home Assistant's Lovelace UI design, flashed via … | 79 | 997 | active |
| brutella/hkcam hkcam is an open-source implementation of a HomeKit IP camera that turns a Raspberry Pi or Mac with a camera into an Apple HomeKit-compatib… | 23 | 996 | active |
| hamuchiwa/AutoRCCar An open-source project that turns a hobby RC car into an autonomous self-driving vehicle using a Raspberry Pi, Arduino, camera, and ultraso… | 32 | 3351 | maintenance |
| 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 |
| SpacehuhnTech/WiFiDuck WiFi Duck is an open-source firmware for ESP8266 + ATmega32u4 hardware that emulates a USB keyboard to perform keystroke injection (BadUSB)… | 23 | 3313 | 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 |
| risinek/esp32-wifi-penetration-tool An extensible Wi-Fi penetration testing framework for the ESP32 microcontroller, implementing attacks such as PMKID capture, WPA/WPA2 hands… | 23 | 3077 | maintenance |
| starRTC StarRTC is a free cross-platform real-time communication SDK and self-hostable server suite providing instant messaging, one-to-one video c… | 23 | 3075 | 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 |
| 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 |
| 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 |
| iotsound/iotsound IoTSound (formerly balenaSound) is a deployable application that turns a Raspberry Pi into an audio streamer for existing speakers, support… | 42 | 2625 | maintenance |