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 |
|---|---|---|---|
| FreddieHong19/Open5x Open5x is an open-source project that converts standard 3-axis FDM 3D printers (like Prusa i3, Voron, and E3D toolchanger systems) into 5-a… | 32 | 1193 | active |
| TeXitoi/keyberon Keyberon is a pure Rust, no_std crate providing building blocks for creating custom keyboard firmware. It uses embedded-hal for GPIO key sc… | 49 | 1192 | active |
| samyk/magspoof MagSpoof is a portable Arduino-based device that spoofs and emulates magnetic stripe cards (credit cards, hotel keys, etc.) wirelessly by g… | 32 | 4156 | maintenance |
| usetrmnl/trmnl-firmware Open-source firmware for the TRMNL e-ink display device, written in C for embedded hardware. It handles Wi-Fi provisioning via a captive po… | 90 | 1188 | active |
| avrdudes/avrdude AVRDUDE is a command-line utility for downloading and uploading on-chip memories (Flash, EEPROM, fuse and lock bits) of AVR microcontroller… | 86 | 1187 | active |
| Xinyuan-LilyGO/T-Display-S3 Official examples, pin maps, and support library for the LilyGO T-Display-S3 ESP32-S3 development board with a 1.9-inch 170x320 ST7789 disp… | 74 | 1186 | active |
| ArmoredTurtle/BoxTurtle BoxTurtle is an open-source, modular, compact automated filament changer (AMS-style multi-material unit) for Klipper-based 3D printers, par… | 62 | 1186 | active |
| flashrom/flashrom flashrom is a C utility for detecting, reading, writing, verifying, and erasing flash memory chips. It is commonly used to flash BIOS/EFI/c… | 77 | 1184 | active |
| Optiboot/optiboot Optiboot is a small (512-byte) and fast bootloader for Arduino boards and Atmel/Microchip AVR microcontrollers, replacing the stock Arduino… | 49 | 1181 | active |
| YuzukiHD/YuzukiLOHCC-PRO An open-source hardware design for a low-cost USB 3.2 Gen1 HDMI capture card with HDMI loop-out, based on the MS2130 and MS9332 chips. It i… | 32 | 1180 | active |
| tompi/cheapino Cheapino is an open-source hardware design for an affordable 36-key split ergonomic keyboard, including reversible PCB files, OpenSCAD case… | 65 | 1179 | active |
| FarmBot OS FarmBot OS (FBOS) is the operating system and related software that runs on FarmBot's Raspberry Pi, built with Elixir and the Nerves framew… | 84 | 1173 | active |
| acidanthera/BrcmPatchRAM A macOS kernel extension (kext) that applies PatchRAM firmware updates to Broadcom RAMUSB-based Bluetooth devices at every startup or wakeu… | 65 | 1170 | active |
| majianjia/nnom NNoM is a high-level neural network inference library written in C for microcontrollers. It converts Keras models into optimized on-device … | 23 | 1170 | stable |
| USB C Industrial Camera (FPGA MIPI CSI-2 USB3) Open-source USB-C industrial camera project with interchangeable C-mount lens and MIPI sensor, containing PCB designs, Lattice Crosslink NX… | 75 | 1162 | active |
| RibShark/OmniDrive OmniDrive is a custom firmware modification for MediaTek MT1959-based Hitachi-LG optical disc drives that unlocks raw sector reading, lead-… | 72 | 1160 | active |
| SummerCart64 SummerCart64 is a fully open source flashcart for the Nintendo 64 console, combining hardware design files, firmware, and a PC companion ap… | 40 | 1156 | active |
| MCUdude/MiniCore MiniCore is an Arduino hardware package (core) that adds support for classic AVR ATmega microcontrollers (ATmega8, 48, 88, 168, 328 and var… | 82 | 1151 | active |
| wuspy/portal_calendar A Portal-themed e-ink desk/wall calendar built on ESP32 hardware that runs for years on AAA batteries. It displays the date with Portal cha… | 51 | 1147 | active |
| ricardoquesada/bluepad32 Bluepad32 is a Bluetooth controller host library that adds gamepad, mouse, and keyboard support to embedded projects on ESP32 variants, Ras… | 66 | 1146 | active |
| moononournation/Arduino_GFX Arduino_GFX is an Arduino graphics library supporting various color displays (LCD, OLED) over multiple data bus interfaces such as SPI, par… | 92 | 1143 | active |
| hypery11/flipper-tesla-fsd An open-source Tesla CAN bus toolkit implemented as a Flipper Zero app with an ESP32 port, providing features like FSD region-gate bypass, … | 82 | 1141 | active |
| echavet/MitsubishiCN105ESPHome ESPHome custom component/firmware for ESP32/ESP8266 that lets a microcontroller talk to Mitsubishi heat pumps and air conditioners over the… | 85 | 1140 | active |
| greatscottgadgets/luna LUNA is an Amaranth HDL (Python) framework providing FPGA gateware and software for working with USB, from passive protocol analysis to bui… | 70 | 1140 | active |
| diyBMS v4 Version 4 of a do-it-yourself battery management system (BMS) for lithium-ion battery packs and cells, including ESP32-based controller boa… | 44 | 1136 | active |
| NimBLE-Arduino A C++ Arduino library wrapping the Apache NimBLE Bluetooth Low Energy stack for Espressif ESP32 and Nordic nRF51/nRF52 microcontrollers. It… | 96 | 1134 | active |
| Open Smartwatch OS The open-source operating system/firmware for the Open-Smartwatch, an ESP32-based DIY smartwatch built from open hardware modules and 3D-pr… | 70 | 1134 | active |
| afiskon/stm32-ssd1306 A C library for STM32 microcontrollers that drives OLED displays based on SSD1306, SH1106, SH1107, and SSD1309 controllers over I2C or 4-wi… | 42 | 1133 | stable |
| tejado/android-usb-gadget An Android app that uses the Linux kernel's ConfigFS API to create and activate arbitrary USB gadget device roles, such as keyboard, mouse,… | 23 | 1133 | active |
| rust-embedded/riscv A collection of Rust crates providing low-level access to RISC-V processors, including CPU register access, intrinsics, standard peripheral… | 74 | 1129 | stable |
| 0x1abin/MultiTimer MultiTimer is a lightweight C software timer extension module for embedded systems that manages multiple timer tasks with callbacks, replac… | 32 | 1124 | stable |
| 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 |
| 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 | 1109 | stable |
| 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 |
| 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 |
| 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 |
| eugene-tarassov/vivado-risc-v A collection of Xilinx Vivado block designs and Tcl scripts that generate a RISC-V SoC FPGA bitstream capable of booting a full Debian Linu… | 77 | 1100 | 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 |
| 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 |
| 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 |
| 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 |
| NVIDIA/jetson-gpio A Python library for controlling the GPIO pins on NVIDIA Jetson development boards (TX1, TX2, AGX Xavier, Nano, etc.) via their 40-pin head… | 71 | 1077 | 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 |
| 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… | 73 | 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 |
| github0null/eide Embedded IDE (EIDE) is a VSCode extension providing a development environment for 8051/STM8/Cortex-M/MIPS/RISC-V microcontroller projects. … | 88 | 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 |
| 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 |
| 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 |
| 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 | 1041 | stable |
| SlimeVR SlimeVR is an open-source full-body tracking system for VR consisting of ESP32/ESP8266 tracker firmware supporting various IMU sensors and … | 97 | 1040 | active |
| PixMob IR Reverse Engineering A reverse-engineering project and Python tooling for the PixMob infrared (and RF) protocol used by LED wristbands at large events, enabling… | 58 | 1038 | 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 |
| 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… | 57 | 1026 | 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… | 87 | 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 |
| 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, … | 88 | 1012 | 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 |
| 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 |
| SCR1 RISC-V Core SCR1 is an open-source, silicon-proven RISC-V MCU-class CPU core written in SystemVerilog. It supports RV32I/RV32E bases with optional M an… | 32 | 1004 | stable |
| 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 |
| pichenettes/eurorack Source code and hardware files for Mutable Instruments' line of Eurorack synthesizer modules, including oscillators, filters, sequencers, a… | 32 | 3181 | maintenance |
| Benjamin-Dobell/Heimdall Heimdall is a cross-platform open-source tool suite for flashing firmware (ROMs) onto Samsung Galaxy mobile devices. It communicates with S… | 32 | 3111 | 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.… | 60 | 3035 | 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 |
| EtteGit/EnragedRabbitProject The Enraged Rabbit Project adds multimaterial (multi-filament) printing capabilities to Klipper-based 3D printers, primarily VORON machines… | 23 | 2579 | maintenance |
| iliasam/OpenSimpleLidar Open Source scanning laser rangefinder (lidar) built with STM32 firmware and a triangulation-based optical design, with schematics, firmwar… | 34 | 2571 | maintenance |
| MaJerle/stm32f429 A collection of C libraries and Keil uVision projects for STM32F4xx series microcontrollers, covering peripherals like USART, SPI, I2C, ADC… | 32 | 2520 | maintenance |
| medusalix/xone A Linux kernel driver for Xbox One and Xbox Series X|S accessories, implementing Microsoft's Game Input Protocol (GIP) as a modern replacem… | 45 | 2511 | maintenance |