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 |
|---|---|---|---|
| apple/HomeKitADK Apple's open-source HomeKit Accessory Development Kit implementing the HomeKit Accessory Protocol (HAP) in C. It lets developers prototype … | 10 | 2618 | 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 |
| seemoo-lab/openhaystack OpenHaystack is a framework and macOS application for creating custom Bluetooth tracking tags that leverage Apple's Find My (offline findin… | 63 | 13695 | experimental |
| 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 |
| solokeys/solo1 Solo 1 is the open-source C firmware for the Solo security key, implementing FIDO2 (CTAP2) and U2F (CTAP) over USB and NFC on an STM32L432 … | 23 | 2384 | maintenance |
| monlor/MIXBOX-ARCHIVE MIXBOX is a shell-script-based toolbox for Xiaomi routers that provides quick configuration and management of plugins like Shadowsocks, frp… | 10 | 2382 | maintenance |
| armink/EasyFlash EasyFlash is a lightweight open-source embedded Flash storage library written in C, providing key-value (ENV) parameter storage with wear l… | 24 | 2371 | maintenance |
| stianeikeland/go-rpio A pure-Go library for accessing GPIO pins on Raspberry Pi boards without external C dependencies like WiringPI or bcm2835. It supports pin … | 23 | 2291 | maintenance |
| hustvl/YOLOP YOLOP is a multi-task deep learning network that jointly performs traffic object detection, drivable area segmentation, and lane detection … | 32 | 2249 | maintenance |
| espressif/esp-drone ESP-Drone is open-source firmware for mini drones/quadcopters built on ESP32 and ESP32-S series chips, ported from the Crazyflie project. I… | 72 | 2240 | maintenance |
| bitdump/BLHeli BLHeli is open-source firmware for sensorless brushless motor electronic speed controllers (ESCs), written in assembly for Atmel and Silabs… | 36 | 2233 | maintenance |
| recalbox/recalbox-os Recalbox is an open-source retrogaming operating system that turns Raspberry Pi, PC, Steam Deck, Odroid, and Anbernic devices into retro ga… | 10 | 2220 | maintenance |
| br3ttb/Arduino-PID-Library A PID (Proportional-Integral-Derivative) feedback control library for Arduino, written in C++. It provides basic closed-loop control functi… | 23 | 2205 | maintenance |
| CedArctic/DigiSpark-Scripts A collection of hand-written Arduino IDE sketches for the DigiSpark ATtiny85 board that turn it into a USB HID keyboard for executing autom… | 32 | 2179 | maintenance |
| nvdla/hw The hardware release of NVIDIA's open-source Deep Learning Accelerator (NVDLA), containing Verilog RTL, a C-model, testbenches, and synthes… | 32 | 2166 | maintenance |
| mike4192/spotMicro Open-source software for controlling a 3D-printed Spot Micro quadruped robot, implementing sit, stand, angle, and walking motion via ROS no… | 32 | 2158 | maintenance |
| alexforencich/verilog-axi A collection of parametrizable Verilog components implementing AXI4 and AXI4-Lite bus functionality for FPGA designs, including adapters, c… | 32 | 2151 | maintenance |
| glouw/tinn Tinn is a tiny, dependency-free neural network library written in under 200 lines of C99, implementing a feedforward network with one hidde… | 32 | 2138 | maintenance |
| dog-qiuqiu/Yolo-Fastest Yolo-Fastest is an ultra-lightweight YOLO-based object detection algorithm and model zoo, with only ~250 MFLOPs and a 666KB ncnn model. It … | 23 | 2101 | maintenance |
| omnirom/android_bootable_recovery Team Win Recovery Project (TWRP), a custom touch-based recovery image for Android devices, maintained under the OmniROM project. It allows … | 32 | 2093 | maintenance |
| KRALYN/PositronV3 PositronV3 is an open-source hardware design for an upside-down, compact, portable, fast 3D printer that folds up and fits in a filament sp… | 23 | 2092 | maintenance |
| davidmoreno/onion Onion (libonion) is a lightweight C library for building HTTP servers and web applications by layering URL handlers. It is designed to add … | 67 | 2088 | maintenance |
| sui77/rc-switch An Arduino library (also usable on Raspberry Pi) for sending and receiving 315/433MHz radio-controlled codes to operate devices like power … | 23 | 2088 | maintenance |
| DSPFilters A C++ template library for designing and running multichannel IIR digital filters such as Butterworth, Chebyshev, Elliptic, Bessel, and Leg… | 32 | 2073 | maintenance |
| danmacnish/cartoonify A Python application that converts photographs into hand-drawn-style cartoons using a neural network for object recognition combined with t… | 32 | 2051 | maintenance |
| Lora-net/LoRaMac-node A reference implementation of a LoRaWAN end-device (node) stack written in C, with example projects for various MCU platforms. It implement… | 23 | 1997 | maintenance |
| armink/FreeModbus_Slave-Master-RTT-STM32 An open-source Modbus protocol stack based on FreeModbus that adds a master mode to the traditionally slave-only library, supporting RTU, A… | 23 | 1992 | maintenance |
| FluidNC Grbl_ESP32 is a port of the Grbl CNC controller firmware to the ESP32 microcontroller, supporting up to 6 coordinated axes, 12 motors, WiFi… | 32 | 1972 | maintenance |
| Creality3DPrinting/Ender-3 Official repository for the Creality3D Ender-3, a fully open-source budget 3D printer. It hosts the printer's source files, including firmw… | 32 | 1957 | maintenance |
| Balanduino A small C++ Kalman filter library for microcontrollers that fuses accelerometer/magnetometer and gyroscope input to estimate angle, rate, a… | 32 | 1950 | maintenance |
| USB Host Shield Library for Arduino Revision 2.0 of the USB Host Shield library for Arduino, driving the MAX3421E USB host controller. It supports USB devices including game c… | 57 | 1941 | maintenance |
| uTensor uTensor is an extremely lightweight machine learning inference framework built on TensorFlow and optimized for Arm Cortex-M microcontroller… | 28 | 1933 | maintenance |
| sandeepmistry/arduino-LoRa An Arduino library for sending and receiving data over LoRa radios using Semtech SX1276/77/78/79-based modules. It provides a simple API fo… | 32 | 1925 | maintenance |
| NVIDIA-AI-IOT/deepstream_python_apps Python bindings and sample applications for NVIDIA's DeepStream SDK, built with Pybind11 and Gst Python for constructing video analytics pi… | 53 | 1893 | maintenance |
| positive-security/send-my Send My is a research tool that transmits arbitrary data through Apple's Find My network by encoding it in BLE public-key broadcasts from a… | 23 | 1887 | maintenance |
| Raspberry Pi FBTFT Firmware FBTFT is a collection of Linux kernel framebuffer drivers for small TFT LCD display modules, making it easy to write drivers for these disp… | 10 | 1878 | maintenance |
| PSP-Archive/ARK-4 ARK-4 is a next-generation custom firmware (CFW) for the Sony PSP and the PS Vita's ePSP mode, succeeding the classic PRO and ME firmwares.… | 10 | 1875 | maintenance |
| google/gemmlowp gemmlowp is a small, self-contained, headers-only C++ library for low-precision (quantized) general matrix multiplication (GEMM). It provid… | 32 | 1846 | maintenance |
| BlueRetro BlueRetro is an open-source multiplayer Bluetooth controller adapter firmware for ESP32 that lets modern Bluetooth gamepads (Wii, Switch, P… | 10 | 1845 | maintenance |
| peng-zhihui/Peak Peak is a tiny smart terminal device kit: a portable ESP32-based firmware and hardware project integrating the LVGL graphics framework, an … | 32 | 1841 | maintenance |
| WHID WHID Injector is an open-source WiFi HID injection tool that combines an ESP8266 with an ATmega32u4 to remotely deliver BadUSB keystroke at… | 32 | 1821 | maintenance |
| jkjung-avt/tensorrt_demos A collection of Python demo programs showing how to optimize and run deep learning models (YOLOv4, YOLOv3, SSD, MTCNN, GoogLeNet, MODNet) w… | 46 | 1793 | maintenance |
| remarkable-hacks A collection of binary patches that add extra features to reMarkable 1 and 2 e-ink tablets, such as pinch-to-zoom, bookmarks, Zen mode, and… | 23 | 1774 | maintenance |
| SpenceKonde/ATTinyCore An Arduino core providing support for nearly all classic ATtiny AVR microcontrollers, including the x4/x5/x61/x7/x8 series, 1634, 828, and … | 23 | 1771 | maintenance |
| KMKfw/kmk_firmware KMK is a keyboard firmware written and configured in CircuitPython, supporting single-piece and split mechanical keyboards with features li… | 63 | 1759 | maintenance |
| samdenty/Wi-PWN Wi-PWN is ESP8266 firmware for performing WiFi deauthentication attacks with a fast, responsive Material Design web UI. It includes an inte… | 23 | 1747 | maintenance |
| gnab/rtl8812au A Linux kernel driver for Realtek rtl8812au-based 802.11ac dual-band USB wireless adapters, forked from Realtek's v4.2.2 source and patched… | 32 | 1745 | maintenance |
| dwhinham/mt32-pi A baremetal kernel that turns a Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont-based General MIDI synthesizer, built on… | 23 | 1729 | maintenance |
| samtap/fang-hacks A collection of shell-script-based modifications for the XiaoFang WiFi camera, delivered via a bootable SD card that runs scripts on the de… | 23 | 1714 | maintenance |
| MaixPy MaixPy-v1 is a MicroPython port for the Kendryte K210 RISC-V AI chip, letting users program Sipeed Maix boards in Python. It provides APIs … | 23 | 1709 | maintenance |
| bjoernkarmann/project_alias Project Alias is an open-source Raspberry Pi-based device that acts as a 'parasite' on smart home assistants, letting users train custom wa… | 32 | 1698 | maintenance |
| commaai/neo The comma.ai neo is an open source robotics research platform combining a OnePlus 3 smartphone with an STM32F205-based CAN interface board … | 10 | 1674 | maintenance |
| google/aiyprojects-raspbian Google's Python API libraries, samples, and Raspbian system images for the AIY Projects Voice Kit and Vision Kit on Raspberry Pi. It provid… | 10 | 1663 | maintenance |
| TheCrypt0/yi-hack-v4 Custom firmware for Xiaomi Yi cameras based on the Hi3518e chipset, adding an RTSP server, SSH, FTP, web server, and MQTT motion detection … | 23 | 1640 | maintenance |
| mattconte/tlsf TLSF (Two-Level Segregated Fit) is a real-time memory allocator implementation in C offering O(1) malloc, free, realloc, and memalign with … | 32 | 1633 | maintenance |
| pellepl/spiffs SPIFFS is a wear-leveled file system for SPI NOR flash devices on embedded targets, written in C. It is designed for small microcontroller … | 61 | 1630 | maintenance |
| Mixiaoxiao/Arduino-HomeKit-ESP8266 An Arduino library implementing a native Apple HomeKit accessory server for the ESP8266 (with an ESP32 variant), allowing microcontroller p… | 23 | 1612 | maintenance |
| DT42/BerryNet BerryNet is a deep learning gateway that turns edge devices like Raspberry Pi into intelligent, offline AI hubs for analyzing camera images… | 23 | 1611 | maintenance |
| ARM-software/CMSIS_5 CMSIS (Cortex Microcontroller Software Interface Standard) Version 5 is ARM's standardized vendor-independent abstraction layer for ARM Cor… | 10 | 1601 | maintenance |
| zetzit/zz ZetZ is a C dialect and transpiler that emits plain ANSI C while formally verifying all code via symbolic execution with an SMT prover at c… | 10 | 1597 | maintenance |
| SuperHouse/esp-open-rtos An open source FreeRTOS-based software framework for the ESP8266 WiFi microcontroller, developed by the community as an alternative to Espr… | 23 | 1583 | maintenance |
| cnlohr/espusb A software-only USB device stack for the ESP8266/ESP8285, implementing low-speed (1.5 Mbit/s) USB in firmware with just one external resist… | 32 | 1550 | maintenance |
| TheOfficialFloW/VitaShell VitaShell is a multi-functional homebrew file manager and alternative shell for the PS Vita, replacing the LiveArea interface. It bundles a… | 23 | 1547 | maintenance |
| eclipse-paho/paho.mqtt.embedded-c The Eclipse Paho MQTT C/C++ client library for embedded platforms, offering low-level MQTT packet serialization plus higher-level C and C++… | 60 | 1545 | maintenance |
| S-March/smarchWatch_Public An open-source DIY smartwatch project built from scratch by an electrical engineer, including custom PCB designs and firmware written in C … | 32 | 1535 | maintenance |
| gtxaspec/wz_mini_hacks A firmware modification toolkit for Ingenic T20/T31 based Wyze IP cameras that provides root access and extra features via a micro-SD card,… | 67 | 1533 | maintenance |
| fossasia/pslab-test-jig Design files and documentation for the PSLab Test Jig, a hardware fixture used in production to test Pocket Science Lab open-hardware board… | 32 | 1519 | maintenance |
| s-macke/SAM SAM (Software Automatic Mouth) is a tiny text-to-speech synthesizer written in C, adapted from the 1982 Commodore 64 speech software. It in… | 32 | 1506 | maintenance |
| tinyos/tinyos-main TinyOS is an open-source BSD-licensed operating system for low-power wireless embedded devices, written primarily in nesC. This repository … | 10 | 1500 | maintenance |
| SkyentificGit/SmallRobotArm An open-source 6-degree-of-freedom robot arm built with stepper motors, including CAD files and C++ control code. It is a hobbyist/DIY robo… | 32 | 1477 | maintenance |
| zsaleeba/picoc picoc is a very small C interpreter that can execute C code without compilation, suitable for embedding as a scripting engine. The GitHub r… | 32 | 1476 | maintenance |
| teslamotors/linux Tesla's fork of the Linux kernel source tree, containing their modifications and drivers for Tesla vehicle hardware. It is a kernel source … | 32 | 1474 | maintenance |
| shauninman/MinUI MinUI is a minimalist custom launcher and libretro frontend for retro handheld consoles like the Miyoo Mini, Anbernic RG35xx, and Trimui de… | 10 | 1463 | maintenance |
| fossasia/neurolab-firmware Firmware for the FOSSASIA Neurolab open-hardware neuroheadset, an EEG headband that measures brainwave signals from the forehead and connec… | 10 | 1460 | maintenance |
| spacehuhn/wifi_ducky WiFi Ducky is a Wi-Fi controlled BadUSB device built from an ESP8266 and ATmega32U4 that uploads, saves, and remotely executes Ducky Script… | 23 | 1444 | maintenance |
| kmackay/micro-ecc A small, fast C library implementing ECDH key exchange and ECDSA signatures for 8-bit, 32-bit, and 64-bit processors, with optional inline … | 87 | 1439 | maintenance |
| Mange/rtl8192eu-linux-driver A Linux kernel driver for the Realtek rtl8192eu wireless chipset, based on official Realtek/D-Link sources with community patches to keep i… | 74 | 1436 | maintenance |
| ma1co/OpenMemories-Tweak An Android app that runs on Sony cameras supporting PlayMemories Camera Apps to unlock hidden settings such as the 30-minute video recordin… | 23 | 1425 | maintenance |
| ttrftech/NanoVNA Firmware source for the NanoVNA, a tiny handheld vector network analyzer built on an STM32 Cortex-M0 with a Si5351A RF synthesizer and LCD … | 23 | 1416 | maintenance |
| m5stack/M5Stack The official Arduino library for M5Stack Core (Basic/Gray) ESP32 development kits, providing access to the LCD, buttons, speaker, power man… | 45 | 1409 | maintenance |
| pelya/android-keyboard-gadget A kernel patch and companion app that turns a rooted Android device into a USB HID keyboard and mouse, letting it control a PC at the hardw… | 32 | 1401 | maintenance |
| jareware/chilipie-kiosk A prebuilt Raspberry Pi OS image that boots directly into full-screen Chrome for kiosk-style displays. It includes convenience features for… | 23 | 1400 | maintenance |
| achimdoebler/UGUI µGUI is a lightweight, platform-independent open source graphics library for embedded systems written in C. It supports any color, grayscal… | 32 | 1398 | maintenance |
| spacehuhn/esp8266_beaconSpam An Arduino sketch for the ESP8266 that broadcasts fake WiFi beacon frames, making scanners show up to a thousand access points with custom … | 23 | 1377 | maintenance |
| homieiot/homie-esp8266 An Arduino framework for ESP8266 and ESP32 that implements the Homie MQTT convention for IoT devices. It provides configuration, OTA update… | 51 | 1373 | maintenance |
| uraimo/SwiftyGPIO SwiftyGPIO is a Swift library for hardware projects on Linux/ARM single-board computers like the Raspberry Pi, BeagleBone, and Orange Pi. I… | 32 | 1366 | maintenance |
| maHidaka/ros_face ROS-Face is a ROS-based system that controls human facial muscles via electrical stimulation, letting you drive facial expressions like a r… | 32 | 1351 | maintenance |
| whitecatboard/Lua-RTOS-ESP32 Lua RTOS is a real-time operating system for embedded systems (ESP32, ESP8266, PIC32MZ) built on FreeRTOS with a Lua 5.3 interpreter on top… | 64 | 1334 | maintenance |
| koolshare/ledesoft Softcenter, the Koolshare plugin/software center for LEDE (OpenWrt-based) x64 router firmware. It hosts and manages third-party router plug… | 50 | 1331 | maintenance |
| ToanTech/py-apple-quadruped-robot Py-Apple Dog (Pineapple Dog) is a low-cost, open-source hardware and software project for building a DIY quadruped robot dog. It bundles fo… | 32 | 1327 | maintenance |
| jbangert/trapcc trapcc is a proof-by-construction that Intel MMU fault handling is Turing complete: an assembler translates 'Move, Branch if Zero, Decremen… | 32 | 1324 | maintenance |
| WisconsinAIVision/yolact_edge YolactEdge is a PyTorch implementation of a real-time instance segmentation model optimized for edge devices like the NVIDIA Jetson AGX Xav… | 32 | 1322 | maintenance |
| KnightOS KnightOS is a third-party Unix-like operating system for TI z80-based graphing calculators, built on a custom kernel with an official users… | 32 | 1322 | maintenance |
| PaulStoffregen/Time A C++ timekeeping library for Arduino providing date and time functions with synchronization from external sources like RTC modules, NTP, G… | 23 | 1319 | maintenance |
| obdev/v-usb V-USB is a firmware-only USB driver for Atmel AVR microcontrollers, implementing low-speed USB in software without dedicated USB hardware. … | 73 | 1315 | maintenance |
| rocketscream/Low-Power A lightweight Arduino library that provides low-power sleep and power management functions for AVR and SAMD microcontrollers. It supports i… | 23 | 1313 | maintenance |
| tass-belgium/picotcp picoTCP is a small-footprint, modular TCP/IP stack written in C for embedded systems and IoT devices. It is portable to many microcontrolle… | 23 | 1312 | maintenance |
| WerWolv/EdiZon EdiZon is a homebrew application for the Nintendo Switch that provides save file dumping, injection, and on-console editing via Lua and Pyt… | 23 | 1301 | maintenance |
| peng-zhihui/Ctrl-FOC-Lite A port of the SimpleFOC field-oriented-control firmware to STM32 HAL with FreeRTOS support, plus a validated evaluation board design (STM32… | 32 | 1298 | maintenance |