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 |
|---|---|---|---|
| grbl/grbl Grbl is an open-source, embedded, high-performance g-code parser and CNC milling controller written in optimized C for AVR microcontrollers… | 32 | 6295 | abandoned |
| tiny-dnn/tiny-dnn tiny-dnn is a header-only, dependency-free deep learning framework written in C++14, designed for training and running neural networks on r… | 23 | 6028 | abandoned |
| Mbed OS Arm Mbed OS is an open-source embedded operating system for IoT devices built on Arm Cortex-M microcontrollers, providing an RTOS, security… | 23 | 4874 | abandoned |
| Grbl Grbl is an open-source, high-performance g-code parser and CNC milling controller firmware written in optimized C for AVR-based Arduino boa… | 23 | 4566 | abandoned |
| knolleary/pubsubclient PubSubClient is an Arduino C++ client library providing simple MQTT publish/subscribe messaging over the Arduino Ethernet Client API. It wo… | 58 | 4016 | abandoned |
| novatic14/MANPADS-System-Launcher-and-Rocket A proof-of-concept launcher and interceptor system built from consumer electronics and 3D-printed components. The project has been disconti… | 51 | 3904 | abandoned |
| Kitt-AI/snowboy Snowboy is a C++-based hotword (wake word) detection library by KITT.AI with bindings for Python, Android, and other platforms, enabling al… | 23 | 3361 | abandoned |
| Hummingbird E203 The open-source Hummingbird E203 RISC-V processor core and demo SoC, a two-stage pipeline ultra-low power/area CPU implementation written i… | 10 | 2853 | abandoned |
| jerryscript-project/iotjs IoT.js is a lightweight JavaScript platform for Internet of Things devices, built on the JerryScript engine and written in C. It provides a… | 23 | 2600 | abandoned |
| openfans-community-offical/Debian-Pi-Aarch64 Debian-Pi-Aarch64 is a 64-bit Debian-based operating system image for the full range of 64-bit Raspberry Pi hardware (Pi 2Bv1.2, 3B/B+/A+, … | 10 | 2574 | abandoned |
| AWS IoT Device SDK for Embedded C AWS's deprecated reference integrations of FreeRTOS libraries for microcontrollers, providing a full project structure with AWS IoT connect… | 10 | 2532 | abandoned |
| AWTRIX AWTRIX 3 is open-source custom firmware for the Ulanzi Smart Pixel clock TC001, DIY matrix clocks, and old AWTRIX 2 boards, built on ESP32.… | 75 | 2358 | abandoned |
| samjabrahams/tensorflow-on-raspberry-pi A repository providing pre-built TensorFlow wheels and installation scripts for the Raspberry Pi, created before official support existed. … | 23 | 2257 | abandoned |
| raspberrypi/noobs NOOBS (New Out Of Box Software) is a first-boot operating system install manager for the Raspberry Pi that repartitions the SD card and let… | 10 | 2221 | abandoned |
| raspberrypi/userland ARM-side C libraries for interfacing with the Raspberry Pi VideoCore GPU, including EGL, MMAL, OpenMAX IL, GLESv2, and vchiq bindings. The … | 10 | 2068 | abandoned |
| pimusicbox/pimusicbox Pi MusicBox is a bootable SD-card image that turns a Raspberry Pi into a headless streaming music player based on Mopidy, supporting Spotif… | 10 | 2033 | abandoned |
| raspberrypi/tools A repository of prebuilt ARM cross-compilation toolchains for building software targeting Raspberry Pi boards. The project is officially de… | 32 | 1907 | abandoned |
| juj/fbcp-ili9341 A high-performance C++ framebuffer copy driver for SPI-based LCD displays (e.g. ILI9341, ST7789) on Raspberry Pi A/B/2/3/4/Zero, achieving … | 32 | 1814 | abandoned |
| BareMetal BareMetal is a 64-bit operating system for x86-64 computers written entirely in Assembly, with a CLI, BMFS filesystem support, and 60+ syst… | 10 | 1764 | abandoned |
| google/periph periph is a Go library for peripherals I/O, providing pure-Go (no cgo) drivers and interfaces for GPIO, I²C, SPI, and 1-wire hardware on bo… | 10 | 1731 | abandoned |
| akexorcist/BluetoothSPPLibrary An Android library simplifying Bluetooth Serial Port Profile (SPP) communication with microcontrollers or other Android devices. It provide… | 10 | 1704 | abandoned |
| OpenELEC/OpenELEC.tv OpenELEC is a minimal embedded Linux distribution that turns a PC or single-board device into a Kodi-based home theater appliance. It boots… | 32 | 1617 | abandoned |
| UncleRus/esp-idf-lib A collection of ESP-IDF components (drivers for sensors, LED controllers, GPIO extenders, ADC/DAC, and other peripherals) for Espressif ESP… | 10 | 1608 | abandoned |
| AeolusUX/ArkOS-R3XS A community-maintained ArkOS firmware image for budget retro handheld consoles like the R35S, R36S, and PowKiddy RGB20S. It provides a read… | 10 | 1595 | abandoned |
| thiagoralves/OpenPLC_v3 OpenPLC Runtime version 3 is an open-source Programmable Logic Controller (PLC) runtime that executes ladder logic and other IEC 61131-3 pr… | 10 | 1573 | abandoned |
| easytarget/esp32-cam-webserver An expanded Arduino sketch turning cheap ESP32-CAM boards (especially AI-Thinker) into a webcam with a browser-based control interface, str… | 23 | 1537 | abandoned |
| maxlicheng/luci-app-unblockmusic A LuCI plugin for OpenWrt/LEDE routers that runs UnblockNeteaseMusic (Node.js or Go versions) to unlock greyed-out and paid songs on NetEas… | 23 | 1494 | abandoned |
| golemparts/rppal RPPAL is a Rust library providing access to the Raspberry Pi's GPIO, I2C, PWM, SPI, and UART peripherals through a user-friendly interface,… | 10 | 1460 | abandoned |
| Adafruit Blinka Adafruit's legacy monolithic Python library for Raspberry Pi hardware, including sensor drivers like the BMP085 and TCS34725 and character … | 10 | 1447 | abandoned |
| AlexaPi AlexaPi is an open-source Python client for Amazon's Alexa voice service designed to run on devices like Raspberry Pi, Orange Pi, CHIP, and… | 10 | 1326 | abandoned |
| Arm NN Arm NN is an open-source C++17 machine learning inference SDK that accelerates neural network execution on Arm Cortex-A CPUs, Mali GPUs, an… | 85 | 1317 | abandoned |
| cepr/android-serialport-api A small Android library with NDK/JNI native code for opening and reading/writing serial ports (RS-232/tty devices) on Android, plus a demo … | 32 | 1308 | abandoned |
| kidoman/embd embd is a hardware abstraction layer (HAL) for embedded Linux single-board computers such as the Raspberry Pi, BeagleBone Black, and C.H.I.… | 32 | 1280 | abandoned |
| Pi4J Pi4J v1 is a Java I/O library providing object-oriented access to Raspberry Pi hardware interfaces such as GPIO, I2C, SPI, PWM, and UART/se… | 10 | 1280 | abandoned |
| amaneureka/AtomOS AtomOS is a multitasking monolithic kernel-based x86 operating system written from scratch in C#, targeting high-level driver implementatio… | 32 | 1267 | abandoned |
| alexa/avs-device-sdk The Alexa Voice Service (AVS) Device SDK is a C++ SDK for commercial device makers to integrate Alexa voice assistant capabilities directly… | 10 | 1251 | abandoned |
| Tencent/FeatherCNN FeatherCNN is a high-performance, lightweight CNN inference library developed by Tencent, targeting ARM CPUs on mobile (iOS/Android), embed… | 23 | 1228 | abandoned |
| YodaOS YodaOS is a Linux distribution built on OpenWrt for voice-enabled IoT devices, using JavaScript as its primary application language. It tar… | 32 | 1227 | abandoned |
| Entware/Entware-ng Entware-ng is a software package repository (~2000 packages) for embedded devices such as routers and network-attached storages, built on B… | 10 | 1208 | abandoned |
| microsoft/vscode-arduino A Visual Studio Code extension for developing, building, and uploading Arduino sketches, with IntelliSense, board/library managers, and a s… | 10 | 1192 | abandoned |
| pepe2k/u-boot_mod A deep modification of U-Boot 1.1.4 bootloader sources for MIPS-based routers with Qualcomm/Atheros SoCs, adding features like a web fail-s… | 10 | 1162 | abandoned |
| SiFive Freedom Platform SiFive's Freedom platform RTL source files, written in Chisel (Scala), implementing the Freedom E300 and U500 RISC-V SoC platforms for FPGA… | 10 | 1147 | abandoned |
| cyoung/stratux Stratux is an open-source ADS-B weather and traffic receiver built on a Raspberry Pi with RTL-SDR dongles, serving aviation data to electro… | 50 | 1135 | abandoned |
| adafruit/Adafruit_Python_DHT A deprecated Python library for reading DHT series humidity and temperature sensors on Raspberry Pi and Beaglebone Black, with a C extensio… | 10 | 1135 | abandoned |
| srsran/srsRAN_Project srsRAN Project is an open-source O-RAN 5G CU/DU software suite from Software Radio Systems, implementing a full-stack 5G radio access netwo… | 10 | 1099 | abandoned |
| sharebrained/portapack-hackrf Original firmware for the PortaPack H1, an add-on that makes the HackRF One software-defined radio portable with an LCD touchscreen, audio … | 10 | 1096 | abandoned |
| nifanfa/MOOS MOOS is a hobby x64 operating system written in C# using .NET Native AOT compilation. It supports multithreading, SMP, USB, networking, and… | 10 | 1092 | abandoned |
| adamdunkels/uip uIP is a very small TCP/IP stack implementation written in C by Adam Dunkels, designed for resource-constrained embedded systems. This repo… | 32 | 1088 | abandoned |
| amperka/ino Ino is a Python-based command line toolkit for building and uploading Arduino firmware without the Arduino IDE. It auto-generates Makefiles… | 10 | 1076 | abandoned |
| autoas/as-deprecated An open-source automotive software framework implementing OSEK/AUTOSAR basic software (BSW), including an OSEK-compliant RTOS (ASKAR), CAN/… | 57 | 1053 | abandoned |
| PS4-SDK An open source PlayStation 4 SDK for writing userland homebrew applications in C, run via the PS4-playground loader. It provides system cal… | 10 | 1041 | abandoned |
| shivasiddharth/GassistPi GassistPi is a Python application that turns single board computers like the Raspberry Pi into a Google Assistant-powered voice assistant. … | 40 | 1031 | abandoned |
| fail0verflow/hbc The Homebrew Channel for the Nintendo Wii, an open-source loader that lets users install and run homebrew applications on a Wii console. It… | 10 | 1015 | abandoned |
| hackndev/zinc Zinc is an experimental bare-metal stack for Rust targeting ARM microcontrollers, aiming to provide an RTOS-like foundation written entirel… | 10 | 1000 | abandoned |
| openpilot openpilot is an open-source operating system for robotics that currently functions as an advanced driver assistance system (ADAS) for 300+ … | 89 | 63922 | active |
| XiaoZhi AI Chatbot XiaoZhi is an open-source MCP-based AI voice chatbot firmware for ESP32-family microcontrollers, connecting large language models like Qwen… | 91 | 31445 | active |
| KOReader KOReader is an open-source document viewer application primarily aimed at e-ink e-readers, supporting formats like PDF, DjVu, EPUB, FB2, Mo… | 87 | 30448 | active |
| Tencent/ncnn ncnn is a high-performance neural network inference framework written in C++ and optimized for mobile, embedded, and desktop deployment. It… | 83 | 23907 | stable |
| MNN MNN is a lightweight, high-performance deep learning inference engine developed by Alibaba, supporting LLMs, vision, audio, and multimodal … | 90 | 16188 | active |
| ggml-org/ggml ggml is a plain C/C++ tensor library for machine learning with no dependencies, designed to be simple, portable, and efficient. It supports… | 99 | 15480 | stable |
| ReFirmLabs/binwalk Binwalk is a fast firmware analysis tool rewritten in Rust that identifies and optionally extracts files and data embedded inside other fil… | 63 | 14370 | active |
| threat9/routersploit RouterSploit is an open-source exploitation framework dedicated to embedded devices like routers, modeled after Metasploit. It provides mod… | 55 | 13256 | active |
| serde-rs/serde Serde is Rust's standard serialization and deserialization framework, built on the trait system with compile-time derive macros instead of … | 93 | 10838 | stable |
| RetroPie A shell-based setup script that installs and configures RetroArch, emulator cores, and the EmulationStation front end on Raspberry Pi, ODro… | 66 | 10420 | active |
| PiKVM PiKVM is an open-source KVM-over-IP solution built on Raspberry Pi that lets you remotely control servers and workstations (keyboard, video… | 77 | 10390 | stable |
| pocoproject/poco POCO (Portable Components) is a collection of cross-platform C++ class libraries for building network- and internet-centric applications, c… | 94 | 9483 | stable |
| FreeBSD The official publish-only Git mirror of the FreeBSD source tree, containing the complete kernel, userland, libraries, boot loader, and buil… | 77 | 9398 | stable |
| Cynthion HackRF is an open source, low-cost software-defined radio (SDR) hardware platform from Great Scott Gadgets, with this repository containing… | 86 | 8154 | stable |
| Bruce Bruce is an open-source (AGPL-3.0) ESP32 firmware packed with offensive-security and Red Team tools such as WiFi attacks, Evil Portal, ward… | 88 | 6946 | active |
| google-ai-edge/LiteRT-LM LiteRT-LM is Google's production-ready, high-performance open-source framework for running large language models on edge devices, built as … | 88 | 6708 | active |
| sipeed/NanoKVM NanoKVM is an open-source IP-KVM system for compact RISC-V hardware devices that lets you remotely access and control computers over the ne… | 91 | 6558 | active |
| GmSSL GmSSL is an open-source cryptographic toolkit developed at Peking University implementing Chinese national commercial cryptography standard… | 74 | 6166 | stable |
| Cactus Cactus is a hybrid edge-cloud AI inference engine for mobile devices, wearables, smart home devices, and robots, built in C++ with custom q… | 85 | 6111 | active |
| AidLux (AidLearning) AidLux (originally AidLearning) is an AIoT development platform that runs a native Ubuntu Linux environment with GUI, deep learning tooling… | 63 | 5812 | active |
| martin-ger/esp_wifi_repeater Firmware for the ESP8266/ESP8285 that turns the chip into a full WiFi NAT router and, in a separate edition, a true L2-bridge WiFi repeater… | 67 | 5271 | active |
| pytorch/executorch ExecuTorch is PyTorch's framework for exporting and running AI models on-device across mobile, embedded, and edge hardware, with a tiny (~5… | 94 | 5113 | active |
| Picovoice/porcupine Porcupine is a highly-accurate, lightweight on-device wake word detection engine powered by deep neural networks. It enables always-listeni… | 72 | 4959 | stable |
| networkupstools/nut Network UPS Tools (NUT) is an open-source toolkit for monitoring and managing power devices such as UPS units, PDUs, ATS switches, PSUs, an… | 79 | 4366 | active |
| albfan/miraclecast MiracleCast is a C implementation of the Wi-Fi Display (Miracast) specification for Linux, providing both Display-Sink and (planned) Displa… | 61 | 4343 | active |
| cifertech/ESP32-DIV ESP32-DIV is open-source firmware (with open schematics and PCB files) for a custom ESP32-S3 handheld device that bundles Wi-Fi, BLE, 2.4GH… | 86 | 4146 | active |
| rtty Remote Terminal System rtty is a remote terminal solution consisting of a lightweight C client for embedded Linux devices and a Go server with a Vue web frontend.… | 95 | 4044 | active |
| verilator/verilator Verilator is an open-source Verilog/SystemVerilog simulator and lint system that compiles RTL designs into fast, multithreaded C++ or Syste… | 77 | 4021 | stable |
| IREE IREE is an MLIR-based end-to-end machine learning compiler and runtime that lowers models from frameworks like PyTorch, TensorFlow, JAX, an… | 95 | 3980 | active |
| unikraft/unikraft Unikraft is an open-source Unikernel Development Kit for building custom, specialized operating system kernels tailored to individual appli… | 82 | 3881 | active |
| quickjs-ng/quickjs QuickJS-NG is a small, embeddable JavaScript engine written in C that aims to support the latest ECMAScript specification. It is an activel… | 88 | 3805 | active |
| ESPEasy ESPEasy is open-source firmware for ESP8266 and ESP32 microcontrollers that turns them into easy-to-configure multi-sensor and actuator dev… | 87 | 3617 | active |
| google-ai-edge/LiteRT LiteRT is Google's successor to TensorFlow Lite, an on-device runtime for high-performance ML and GenAI inference on edge platforms. It pro… | 86 | 3514 | active |
| nihui/opencv-mobile opencv-mobile provides minimal, prebuilt OpenCV binary packages for Android, iOS, ARM Linux, Windows, Linux, macOS, HarmonyOS, WebAssembly,… | 79 | 3363 | active |
| Batocera Linux Batocera Linux is an open-source retro-gaming Linux distribution that turns any computer or single-board computer into a dedicated game con… | 68 | 3265 | active |
| Eclipse Zenoh Zenoh is a Rust-implemented pub/sub/query protocol and library that unifies data in motion, data at rest, and computations with minimal wir… | 97 | 3259 | active |
| CosmosOS/Cosmos Cosmos is an operating system construction kit that lets developers build bare-metal OS kernels using .NET languages like C#, VB.NET, and F… | 99 | 3217 | active |
| Arm NN Arm's Compute Library is a C++ collection of over 100 low-level machine learning and computer vision functions optimized for Arm Cortex-A/N… | 98 | 3197 | active |
| HeyWillow/willow Willow is an open source, self-hosted voice assistant platform for ESP32-S3-BOX hardware, designed as a privacy-focused alternative to Amaz… | 84 | 3127 | active |
| qt-creator/qt-creator Qt Creator is a cross-platform integrated development environment (IDE) built by the Qt project for developing applications in C++ (and oth… | 97 | 3078 | active |
| dalathegreat/Battery-Emulator Battery-Emulator is firmware that lets second-life EV battery packs be reused as stationary home energy storage by translating communicatio… | 93 | 2959 | active |
| i-am-shodan/USBArmyKnife USB Army Knife is firmware for ESP32-based USB devices (like the T-Dongle-S3) that turns them into a close-access penetration testing tool.… | 73 | 2954 | active |
| armink/FlashDB FlashDB is an ultra-lightweight embedded database written in C that provides two storage modes: a key-value database (KVDB) and a time-seri… | 76 | 2860 | stable |
| rbonghi/jetson_stats jetson-stats is a Python package for monitoring and controlling NVIDIA Jetson boards (Thor, Orin, Xavier, Nano, TX series). It provides jto… | 94 | 2627 | active |
| onekey-sec/unblob unblob is an extraction suite that parses unknown binary blobs for 78+ archive, compression, and file-system formats, recursively extractin… | 88 | 2570 | active |
| ppogg/YOLOv5-Lite YOLOv5-Lite is a lightweight object detection model family evolved from YOLOv5, with models as small as ~900KB (int8) that run 10-15+ FPS o… | 23 | 2488 | active |