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 |
|---|---|---|---|
| XUANTIE-RV/openc910 OpenC910 is the open-source RTL (Verilog) implementation of T-Head's Xuantie C910 RISC-V processor core, released under Apache-2.0. It incl… | 32 | 1479 | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Volumio Volumio 2 is a headless audiophile music player operating system and application that plays music with high fidelity on embedded devices li… | 23 | 1391 | maintenance |
| progranism/Open-Source-FPGA-Bitcoin-Miner A fully open-source VHDL implementation of a Bitcoin miner for Altera and Xilinx FPGAs, supporting pool and solo mining as well as Namecoin… | 32 | 1380 | 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 |
| m-labs/migen Migen is a Python-based toolbox for building complex digital hardware, replacing the event-driven paradigm of Verilog/VHDL with combinatori… | 10 | 1330 | 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 |
| ultraembedded/biriscv biRISC-V is a 32-bit superscalar (dual-issue) in-order RISC-V CPU core written in synthesizable Verilog 2001, supporting RV32IMZicsr with b… | 32 | 1313 | 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 |
| nok/sklearn-porter A Python library that transpiles trained scikit-learn estimators into source code for C, Go, Java, JavaScript, PHP, and Ruby. It targets em… | 67 | 1303 | 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 |
| neonious/lowjs low.js is an open-source port of the Node.js JavaScript runtime rebuilt with far lower system requirements, running on POSIX systems (Linux… | 32 | 1287 | maintenance |
| mikalhart/TinyGPSPlus TinyGPSPlus is a compact, customizable Arduino library for parsing NMEA data streams from GPS modules. It extracts position, date, time, al… | 23 | 1284 | maintenance |
| Ansem-SoD/Picofly Picofly is firmware and documentation for a Nintendo Switch hardware modchip built on RP2040-based microcontrollers (RP2040-Zero, Pi Pico, … | 31 | 1269 | maintenance |
| rivermoonlight/gobbledegook Gobbledegook (GGK) is a standalone C/C++ Bluetooth Low Energy GATT server library for Linux, built on BlueZ over D-Bus with Bluetooth Manag… | 32 | 1260 | maintenance |
| fivdi/onoff onoff is a Node.js library providing GPIO access and interrupt detection on Linux single-board computers like the Raspberry Pi and BeagleBo… | 32 | 1258 | maintenance |
| ARM-software/ML-KWS-for-MCU TensorFlow models and training scripts for keyword spotting (wake-word detection) on Arm Cortex-M microcontrollers, accompanying the 'Hello… | 32 | 1258 | maintenance |
| 4refr0nt/ESPlorer ESPlorer is a cross-platform Java-based IDE for ESP8266 developers, providing a code editor with Lua and MicroPython syntax highlighting, a… | 23 | 1248 | maintenance |
| Yours3lf/rpi-vk-driver A low-level GPU driver for the Broadcom Videocore IV GPU found in Raspberry Pi boards, implementing a subset of the Vulkan API. It is not o… | 23 | 1241 | maintenance |
| abperiasamy/rtl8812AU_8821AU_linux A Linux kernel driver for Realtek RTL8812AU/8821AU USB WiFi adapters supporting AC1200 (802.11ac) dual-band wireless. It is built from sour… | 46 | 1238 | maintenance |
| mit-han-lab/tinyml MIT Han Lab's TinyML research repository containing projects like TinyTL and NetAug for memory-efficient deep learning on microcontrollers … | 32 | 1223 | maintenance |
| RKNN RKNN-Toolkit2 is Rockchip's software development kit for converting trained AI models to RKNN format and deploying them on Rockchip NPU chi… | 23 | 1203 | maintenance |
| rossumur/esp_8_bit ESP_8_BIT is firmware for the ESP32 that emulates Atari 8-bit computers, NES, and Sega Master System consoles, outputting NTSC/PAL composit… | 32 | 1202 | maintenance |
| google/makani The open-sourced software stack from Google X's Makani project, which developed a commercial-scale airborne wind turbine (energy kite). It … | 10 | 1202 | maintenance |
| aREST aREST is a C++ library that exposes a REST API on Arduino boards and ESP8266/ESP32 WiFi chips, allowing remote control and monitoring of ha… | 61 | 1200 | maintenance |
| riscv-software-src/riscv-tools A meta-repository of RISC-V development tools that bundles the Spike ISA simulator, riscv-tests, riscv-opcodes, and the riscv-pk proxy kern… | 10 | 1195 | maintenance |
| shadow-1/yi-hack-v3 A collection of Makefiles, config files, and scripts that build alternative custom firmware for Xiaomi Yi cameras based on the HiSilicon Hi… | 23 | 1191 | maintenance |
| peng-zhihui/A-Eye A super-mini AI camera development board based on the Kendryte K210 chip, with fully open-source hardware (PCB and enclosure designs) and f… | 32 | 1190 | maintenance |
| tuanpmt/esp_mqtt A fully functional MQTT client library written in C for the ESP8266 microcontroller, ported from a Contiki MQTT client. It supports subscri… | 23 | 1171 | maintenance |
| esp-homekit A C library implementing an Apple HomeKit accessory server for ESP8266 microcontrollers, built for esp-open-rtos with ESP-IDF 4.x/5.x suppo… | 32 | 1168 | maintenance |
| paypal/gatt A Go package implementing the Bluetooth Low Energy Generic Attribute Profile (GATT) protocol for building BLE peripherals and centrals. It … | 32 | 1166 | maintenance |
| me-no-dev/EspExceptionDecoder An Arduino IDE plugin that decodes ESP8266/ESP32 exception stack traces into readable function names and line numbers. It is written in Jav… | 23 | 1142 | maintenance |
| japaric/xargo Xargo is a CLI tool that builds and manages Rust sysroots, letting you cross-compile the standard library (core/std) for targets without pr… | 23 | 1134 | maintenance |
| abcminiuser/lufa LUFA is a lightweight USB framework for AVR microcontrollers, providing drivers and abstractions atop the hardware USB controller. It enabl… | 60 | 1133 | maintenance |
| Disaster Radio Disaster Radio is a work-in-progress long-range, low-bandwidth wireless mesh network project for disaster recovery, powered by solar energy… | 57 | 1132 | maintenance |
| myhdl/myhdl MyHDL is a pure Python package that turns Python into a hardware description and verification language (HDL). Designs written in MyHDL can … | 75 | 1131 | maintenance |
| nakkaya/ferret Ferret is a Lisp (Clojure-inspired) implementation that compiles down to self-contained C++11 code for real-time embedded control systems. … | 32 | 1127 | maintenance |
| samyk/keysweeper KeySweeper is an open-source, open-hardware Arduino-based device disguised as a USB wall charger that passively sniffs, decrypts, and logs … | 32 | 1126 | maintenance |
| rossmann-engineering/EasyModbusTCP.NET A .NET library implementing Modbus TCP, UDP, and RTU client and server communication. It enables fast access to PLCs and other industrial a… | 23 | 1126 | maintenance |
| luigifcruz/pisdr-image PiSDR is a custom Raspbian-based Linux distribution image for Raspberry Pi and other SBCs with dozens of Software Defined Radio application… | 23 | 1126 | maintenance |
| cathery/sys-con A Nintendo Switch homebrew sysmodule written in C++ that adds support for third-party USB game controllers like Xbox and DualShock pads. It… | 23 | 1114 | maintenance |
| linorobot/linorobot Linorobot is a suite of open-source ROS-compatible autonomous ground robots (2WD, 4WD, Ackermann steering, mecanum drive) with Teensy-based… | 23 | 1112 | maintenance |
| stanleyhuangyc/ArduinoOBD An open-source Arduino library and collection of sketches for accessing vehicle OBD-II data via Freematics OBD-II adapter hardware. It prov… | 32 | 1109 | maintenance |
| cwalter-at/freemodbus FreeModbus is a BSD-licensed Modbus ASCII/RTU and Modbus TCP slave (server) implementation for embedded systems, implementing the Modbus Ap… | 66 | 1099 | maintenance |
| ziutek/emgo Emgo is a compiler and package set that lets you run Go programs on small 32-bit microcontrollers by generating C as intermediate code and … | 32 | 1095 | maintenance |
| NModbus/NModbus NModbus is a C# (.NET) library implementing the Modbus protocol, supporting serial ASCII, serial RTU, TCP, and UDP transports. It enables c… | 69 | 1091 | maintenance |
| kriswiner/MPU9250 Arduino sketches and supporting code for the MPU-9250 9-DoF motion sensor, including calibration, self-test, and AHRS sensor fusion using M… | 32 | 1090 | maintenance |
| rogerclarkmelbourne/STM32duino-bootloader A USB bootloader for STM32F103 microcontroller boards, derived from the Leaflabs maple-bootloader, designed for use with the Arduino_STM32 … | 32 | 1087 | maintenance |
| AlkaMotors/AM32-MultiRotor-ESC-firmware AM32 is open-source firmware for STM32-based electronic speed controllers (ESCs) that drive brushless motors in multirotors and other RC ve… | 23 | 1086 | maintenance |
| google/cmockery Cmockery is a lightweight C library for writing unit tests, compiled into standalone test executables linked with the code under test. It e… | 10 | 1085 | maintenance |
| njh/EtherCard EtherCard is an Arduino library providing an IPv4 Ethernet driver for the Microchip ENC28J60 chip over SPI. It offers high-level routines f… | 23 | 1082 | maintenance |
| ESP32-Radio An ESP32-based internet radio project that streams MP3/Ogg radio stations using a VS1053 audio decoder and displays info on a TFT screen. I… | 32 | 1075 | maintenance |
| pulp-platform/pulpino PULPino is an open-source single-core 32-bit RISC-V microcontroller system developed at ETH Zurich, configurable with either the RISCY or z… | 32 | 1070 | maintenance |
| akospasztor/stm32-bootloader A customizable bootloader library for STM32 microcontrollers with example projects demonstrating firmware updates from an SD card with a FA… | 84 | 1065 | maintenance |
| HypriotOS A build pipeline that produces HypriotOS SD card images for Raspberry Pi 1, 2, 3, 4, and Zero — a minimal Debian-based OS optimized to run … | 10 | 1056 | maintenance |
| lhelontra/tensorflow-on-arm A set of shell scripts and Docker-based build tooling for cross-compiling TensorFlow wheels for ARM boards like Raspberry Pi and Odroid. It… | 23 | 1052 | maintenance |
| bigtreetech/BIGTREETECH-SKR-V1.3 BIGTREETECH SKR V1.3 is a 32-bit 3D printer control board based on the LPC1768 MCU, with hardware design files and firmware support for Mar… | 32 | 1050 | maintenance |
| Digistump Arduino Board Support Package Arduino board support package adding Digistump hardware support (Digispark, Digispark Pro, DigiX) to Arduino IDE 1.6.5+. It provides board … | 23 | 1050 | maintenance |
| toblum/McLighting McLighting is an ESP8266-based firmware for controlling WS2811/WS2812 LED strips over the internet. It provides a web interface, REST API, … | 10 | 1048 | maintenance |
| PolySync/oscc Open Source Car Control (OSCC) is a collection of hardware designs and C++ firmware/API that enable computer control of modern cars (primar… | 23 | 1039 | maintenance |
| fashiontec/openwash-hardware OpenWash Hardware is a repository of electronic schematics for an open-source washing machine project by FashionTec. It contains hardware d… | 32 | 1031 | maintenance |
| fashiontec/openwash-firmware Firmware for the Open Wash project, an open-source washing machine hardware initiative by FashionTec. It controls the embedded hardware of … | 32 | 1028 | maintenance |
| otem/Raspberry-Pi-Looper-synth-drum-thing A DIY Raspberry Pi-based looper/synth/drum machine running a custom Pure Data patch, with a Teensy 3.6 controller, custom button/drum-pad h… | 32 | 1028 | maintenance |
| T-vK/ESP32-BLE-Mouse An Arduino-compatible C++ library that turns an ESP32 into a Bluetooth LE (BLE) HID mouse. It exposes an Arduino Mouse-like API for moving … | 23 | 1027 | maintenance |
| ndless-nspire/Ndless Ndless is an extension for TI-Nspire graphing calculators that combines an executable loader and an SDK, enabling third-party native C, C++… | 77 | 1023 | maintenance |
| torvalds/AudioNoise A collection of toy digital audio effect implementations (IIR filters, delay loops) written in C, created as a learning project alongside L… | 49 | 4510 | experimental |
| rossumur/espflix ESPFLIX is an open-source video streaming set-top box that runs entirely on an ESP32 microcontroller, outputting NTSC/PAL video and audio o… | 32 | 1019 | maintenance |
| HypriotOS A command-line shell script for flashing SD card images (compressed or uncompressed, local or remote) onto SD cards, primarily for Raspberr… | 23 | 1018 | maintenance |
| RangeNetworks/openbts OpenBTS is an open-source C++ implementation of a GSM and GPRS radio access network node that uses software-defined radios to create a cell… | 32 | 1012 | maintenance |
| rampageX/firmware-mod-kit A collection of scripts and utilities for extracting, modifying, and rebuilding Linux-based firmware images for embedded devices like route… | 59 | 1003 | maintenance |
| aily blockly Aily Blockly is an AI-assisted Blockly-based IDE for hardware development supporting 100+ boards including Arduino, ESP32, STM32, RP2040, a… | 85 | 3851 | experimental |
| microsoft/devicescript DeviceScript is a TypeScript-based language and toolchain from Microsoft Research for programming low-resource microcontrollers like ESP32 … | 10 | 3446 | experimental |
| maestro-os/maestro Maestro is a lightweight Unix-like kernel and operating system written from scratch in Rust, aiming for Linux syscall compatibility while l… | 77 | 3340 | experimental |
| theseus-os/Theseus Theseus is a research operating system written from scratch in Rust that explores intralingual design, shifting OS responsibilities like re… | 32 | 3204 | experimental |
| EtchedPixels/FUZIX FUZIX is a small Unix-like operating system for classic microcomputers and embedded targets, derived from UZI forks and extended toward Sys… | 10 | 2457 | experimental |
| ZigEmbeddedGroup/microzig MicroZig is a toolbox and framework for building embedded applications in Zig, extending the Zig build system to target specific microcontr… | 98 | 2291 | experimental |
| armada-os/armada Armada is a SteamOS-like Linux distribution for ARM64 gaming handhelds, built on Fedora bootc with device support derived from ROCKNIX. It … | 81 | 1977 | experimental |
| google/xls XLS is Google's High Level Synthesis toolchain that compiles high-level functional descriptions into synthesizable Verilog/SystemVerilog ha… | 96 | 1954 | experimental |
| Robot-Will/Stino Stino is a Sublime Text plugin that provides an Arduino-like environment for editing, compiling, and uploading Arduino sketches. It downloa… | 32 | 1568 | experimental |
| kaansenol5/VibeOS VibeOS is a hobby operating system written from scratch in C for ARM64 (aarch64), built collaboratively with Claude Code over 64 sessions. … | 42 | 1537 | experimental |
| OpenSwiftUI OpenSwiftUI is an open-source reimplementation of Apple's SwiftUI declarative UI DSL in Swift, aiming to match the original API as closely … | 32 | 1439 | experimental |
| andrei-markeev/ts2c A transpiler that converts JavaScript/TypeScript source code into readable C89 code. It was created to let developers program low-power IoT… | 52 | 1376 | experimental |
| ariel-os/ariel-os Ariel OS is a library operating system for secure, memory-safe, low-power IoT devices, written in Rust and targeting 32-bit microcontroller… | 76 | 1228 | experimental |
| leonboe1/GoogleFindMyTools A Python framework that reimplements parts of Google's Find My Device (Find Hub) network, allowing users to query trackers and Android devi… | 55 | 1195 | experimental |
| tommybee456/OpenSplitDeck OpenSplitDeck is an open-source, modular wireless game controller inspired by the Steam Deck and Steam Controller, built from off-the-shelf… | 49 | 1017 | experimental |
| mozilla/DeepSpeech DeepSpeech is an open-source, offline speech-to-text engine based on Baidu's Deep Speech research paper and implemented with TensorFlow. It… | 10 | 26774 | abandoned |