Open-source hardware software
1351 open-source libraries, tools and applications tagged hardware, ranked by how closely hardware 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.
1351 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| modem-works/dream-recorder Dream Recorder is an open-source DIY bedside device built on a Raspberry Pi 5 that records users speaking their dreams aloud and turns them… | 38 | 1622 | active |
| Firmata Firmata is a serial communication protocol for controlling microcontrollers from software on a host computer, and this repository is the Fi… | 23 | 1621 | stable |
| clash-lang/clash-compiler Clash is a functional hardware description language based on Haskell, with a compiler that transforms high-level descriptions into synthesi… | 93 | 1619 | active |
| mrcodetastic/ESP32-HUB75-MatrixPanel-DMA An Arduino/ESP-IDF library for the ESP32, ESP32-S2, and ESP32-S3 that drives HUB75/HUB75E RGB LED matrix panels using hardware DMA for high… | 91 | 1619 | active |
| nevermore3d/Nevermore_Micro Nevermore Micro is an open-source hardware design for compact activated carbon air filters that remove VOCs and fumes from 3D printer enclo… | 32 | 1619 | active |
| adonno/tagreader A DIY NFC tag reader project built on an ESP8266 D1 Mini and PN532 module, with ESPHome firmware designed specifically for Home Assistant. … | 55 | 1611 | active |
| AngelLM/Thor Thor is an open source, 3D-printable 6-degrees-of-freedom robotic arm designed to be affordable (under 350€) and accessible for education, … | 28 | 1611 | active |
| joypad-ai/joypad-os Joypad OS (formerly USBRetro) is open-source C firmware for microcontrollers (RP2040, ESP32-S3, nRF52840) that turns any input device into … | 96 | 1610 | active |
| hardbyte/python-can python-can is a Python library providing controller area network (CAN bus) support with common abstractions over many hardware interfaces. … | 62 | 1607 | stable |
| KieronQuinn/uTag uTag is an Android app plus a SmartThings mod that enables Samsung Galaxy SmartTags to be used on any non-Samsung Android device running An… | 90 | 1605 | active |
| thenickdude/wacom-driver-fix A set of patched Wacom tablet drivers that fix broken Bamboo, Graphire, Intuos 1-3, and first-gen Cintiq drivers on macOS Catalina, Big Sur… | 44 | 1605 | active |
| prusa3d/Prusa-Firmware-Buddy The official open-source firmware for Prusa Research 3D printers (MINI, MK3.5/MK3.9/MK4, XL, CORE One) running on 32-bit ARM microcontrolle… | 96 | 1603 | active |
| Heads Heads is an open-source firmware and OS configuration that runs a minimal Linux as a coreboot or LinuxBoot ROM payload, moving the root of … | 68 | 1602 | active |
| lemmingDev/ESP32-BLE-Gamepad An Arduino/PlatformIO library that turns ESP32-family microcontrollers into Bluetooth LE HID gamepads. It supports up to 128 buttons, 6 axe… | 96 | 1601 | active |
| KindleModding/WinterBreak WinterBreak is a jailbreak tool for Amazon Kindle e-readers, built on top of the Mesquito framework. It allows users to unlock their Kindle… | 81 | 1601 | active |
| ChristopheJacquet/PiFmRds Pi-FM-RDS is a C program that turns a Raspberry Pi into an FM radio transmitter, generating FM modulation with real-time RDS (Radio Data Sy… | 58 | 1593 | active |
| ZipCPU/zipcpu ZipCPU is a small, lightweight 32-bit RISC CPU soft core written in Verilog for FPGA deployment, with its own instruction set (not RISC-V),… | 75 | 1588 | active |
| PlummersSoftwareLLC/NightDriverStrip NightDriverStrip is C++ firmware for the ESP32 that drives addressable LED strips and matrices with animated effects, configurable over WiF… | 80 | 1584 | active |
| ZimengXiong/tinyTouch tinyTouch is an open-source DIY hardware and software project that lets you authenticate, sudo, and log in to your computer with a fingerpr… | 80 | 1584 | active |
| Haskell-Things/ImplicitCAD ImplicitCAD is a math-inspired programmatic CAD program written in Haskell that builds 2D and 3D geometry using constructive solid geometry… | 54 | 1583 | active |
| node-hid/node-hid node-hid is a Node.js native addon for accessing USB and Bluetooth HID devices such as keyboards, game controllers, and custom peripherals.… | 77 | 1579 | active |
| lsongdev/node-escpos A Node.js ESC/POS printer driver library for controlling thermal receipt printers. It provides a printer API plus adapters for USB, network… | 23 | 1579 | active |
| ChipWhisperer ChipWhisperer is an open-source toolchain for hardware security research, providing capture hardware designs, FPGA/USB firmware, and a Pyth… | 96 | 1578 | active |
| cnlohr/channel3 Firmware for the ESP8266 that turns the chip into an analog broadcast television transmitter, outputting an NTSC/PAL-compatible signal on C… | 51 | 1578 | active |
| ergogen/ergogen Ergogen is a JavaScript-based generator for ergonomic keyboard layouts. From a declarative config file it produces 2D layouts, plates, case… | 51 | 1575 | active |
| bancika/diy-layout-creator DIY Layout Creator (DIYLC) is a multi-platform desktop application for drawing circuit layouts on stripboard, perfboard, PCB, and point-to-… | 98 | 1569 | active |
| Xilinx/linux-xlnx Xilinx's fork of the official Linux kernel, containing Xilinx-specific drivers and platform support for Zynq, Zynq UltraScale+ MPSoC, Versa… | 75 | 1564 | active |
| pimoroni/pimoroni-pico Official C/C++ and MicroPython libraries and examples for Pimoroni's Raspberry Pi Pico add-ons, RP2040 boards, and Breakout Garden sensors.… | 91 | 1562 | active |
| rugarciap/Turbo-Boost-Switcher A macOS menu bar application that enables or disables Intel Turbo Boost by writing to the CPU's MSR register via a precompiled kernel exten… | 48 | 1558 | active |
| jazwa/rackstack A modular, 3D-printable mini rack system for homelab hardware, fully parameterized in OpenSCAD. It includes pre-generated STLs for mini, mi… | 59 | 1557 | active |
| NutShell NutShell is an open-source RISC-V processor (SoC) designed by students at UCAS as part of the OSCPU project, written in Chisel/Scala. It su… | 66 | 1553 | active |
| RinCat/RTL88x2BU-Linux-Driver An out-of-tree Linux kernel driver for Realtek RTL88x2BU (RTL8812BU/RTL8822BU) 802.11ac USB WiFi adapters. It is built as a kernel module (… | 75 | 1550 | active |
| unlir/XDrive XDrive is open-source firmware (with hardware schematics and enclosure designs) for a stepper motor driver featuring a multi-function inter… | 32 | 1550 | active |
| DantSu/ESCPOS-ThermalPrinter-Android An Android library written in Java that lets developers print to ESC/POS thermal receipt printers over Bluetooth, TCP, or USB connections. … | 23 | 1547 | stable |
| chenxuuu/sms_forwarding Low-cost SMS forwarding firmware for ESP32C3 + ML307R 4G modem hardware that automatically forwards received SMS messages to up to five con… | 73 | 1540 | active |
| riscv-software-src/opensbi OpenSBI is the open-source reference implementation of the RISC-V Supervisor Binary Interface (SBI) specification, running as firmware in M… | 84 | 1538 | active |
| mfactory-osaka/ESPTimeCast ESPTimeCast is firmware for a WiFi-connected LED matrix clock and weather display built on ESP8266/ESP32 with MAX7219 displays. It provides… | 62 | 1537 | active |
| nefarius/HidHide HidHide is a Windows kernel-mode filter driver that acts as an 'input device firewall', allowing users to block individual applications' ac… | 60 | 1535 | active |
| mcallegari/qlcplus Q Light Controller Plus (QLC+) is a free, cross-platform application for controlling DMX and analog lighting systems such as moving heads, … | 87 | 1534 | active |
| App Sandbox Easy-GPU-PV is a PowerShell-based tool that automates setting up Hyper-V virtual machines with GPU paravirtualization (GPU-PV) on Windows. … | 10 | 5578 | maintenance |
| hybridgroup/go-haystack A Go/TinyGo library and toolset for tracking personal Bluetooth devices through Apple's Find My network, using OpenHaystack and Macless-Hay… | 66 | 1529 | active |
| raspberrypi/rpi-eeprom Official Raspberry Pi tooling of shell scripts and pre-compiled binaries for updating and configuring the bootloader EEPROM on Raspberry Pi… | 90 | 1524 | active |
| Fazecast/jSerialComm jSerialComm is a platform-independent Java library for accessing serial ports without requiring external native tools or the deprecated Jav… | 52 | 1522 | stable |
| RonSijm/ButtFish ButtFish is a meme C# application that transmits chess engine best-move suggestions as Morse code vibrations to a buttplug.io-compatible de… | 50 | 1516 | active |
| SoapySDR SoapySDR is a vendor and platform neutral C++ support library providing a generalized API and runtime for interfacing with software-defined… | 56 | 1513 | stable |
| fossasia/pslab-grove-shield The PSLab Grove Shield is an open hardware add-on board for the Pocket Science Lab (PSLab) open-source measurement device, hosting its PCB … | 63 | 1512 | active |
| Wren6991/PicoDVI PicoDVI is a library that bitbangs DVI/HDMI video output directly from RP2040 and RP2350 microcontrollers using PIO, DMA, and overclocked C… | 71 | 1508 | active |
| ToanTech/Deng-s-foc-controller An open-source dual-channel brushless motor FOC (field-oriented control) driver board based on ESP32, with full hardware design files (BOM,… | 32 | 1505 | active |
| ChendoChap/pOOBs4 A kernel exploit for PlayStation 4 firmware 9.00 that leverages a filesystem (exfat) bug triggered via a specially formatted USB drive, com… | 32 | 1500 | stable |
| lwfinger/rtw89 An out-of-tree Linux kernel driver for Realtek RTW89-series Wi-Fi chips (8851BE, 8852AE/BE/CE, 8922AE), covering 802.11ax (Wi-Fi 6) and Wi-… | 32 | 1500 | active |
| usbarmory/usbarmory USB armory is an open source hardware design for a compact secure computer built into a USB stick form factor, based on ARM SoCs. This repo… | 74 | 1499 | active |
| ucb-bar/gemmini Gemmini is Berkeley's open-source generator for parameterizable systolic-array DNN hardware accelerators, written in Chisel (Scala) and int… | 66 | 1493 | active |
| OLIMEX/OLINUXINO OLinuXino is a family of fully open-source, open-hardware (OSHW certified) industrial-grade ARM single board computers from Olimex, with pu… | 66 | 1493 | active |
| fhdm-dev/scoppy Scoppy turns a Raspberry Pi Pico and an Android phone or tablet into a low-cost oscilloscope and logic analyzer. The Pico firmware samples … | 39 | 1492 | active |
| dekuNukem/bob_cassette_rewinder An open-source hardware/firmware project that defeats the DRM on Bob dishwasher detergent cassettes, allowing users to reset and refill the… | 29 | 1492 | active |
| markondej/fm_transmitter A C++ command-line tool that turns a Raspberry Pi (up to Pi 4) into an FM radio transmitter by modulating the GPIO clock output. It broadca… | 58 | 1491 | active |
| GxEPD2 Arduino Display Library An Arduino library for driving SPI e-paper (e-ink) displays from Good Display and Waveshare, built on Adafruit_GFX for graphics and text. I… | 72 | 1490 | active |
| licheedev/Android-SerialPort-API An Android library for serial port (RS232/UART) communication, forked from Google's open-source android-serialport-api demo and modernized … | 23 | 1489 | active |
| Time-Appliances-Project/Time-Card Time Card is an open-source PCIe card design (with schematics, BOM, Gerbers, firmware, and Linux driver code) that serves as a precision ti… | 76 | 1485 | active |
| OUI-SPY Flock-You is ESP32-S3 firmware that turns a Seeed XIAO ESP32-S3 into a passive 2.4 GHz promiscuous-mode WiFi sniffer for detecting Flock su… | 61 | 1470 | active |
| ShlkOfTheRa/scarab-osd MWOSD (scarab-osd) is an open-source multipurpose on-screen display (OSD) firmware for UAVs and FPV drones, written in C for Arduino-compat… | 55 | 1469 | active |
| DualCoder/vgpu_unlock A Linux tool that patches the NVIDIA GRID vGPU driver to unlock vGPU functionality on consumer-grade GeForce and Quadro GPUs. It works by h… | 32 | 5317 | maintenance |
| pyocd/pyOCD pyOCD is an open-source Python library and command-line tool for programming and debugging Arm Cortex-M microcontrollers across a wide rang… | 89 | 1467 | active |
| Arksine/moonraker Moonraker is a Python-based web API server that exposes HTTP and WebSocket APIs for controlling and monitoring the Klipper 3D printer firmw… | 66 | 1466 | active |
| JPersson77/LGTVCompanion A Windows application (UI plus background service) that automatically powers LG WebOS TVs and displays on and off in sync with the PC, incl… | 92 | 1463 | active |
| olofk/fusesoc FuseSoC is a package manager and build abstraction tool for HDL (Verilog/VHDL) code, aimed at increasing reuse of IP cores and simplifying … | 87 | 1463 | active |
| tinygs/tinyGS TinyGS is an open-source firmware for ESP32-based LoRa ground stations that form a distributed network to receive transmissions from LoRa s… | 76 | 1463 | active |
| fossasia/magic-epaper-firmware Magic ePaper Firmware is open-source C firmware for controlling FOSSASIA's e-ink (e-paper) displays on microcontrollers. It acts as a bridg… | 42 | 1462 | active |
| coredevices/PebbleOS PebbleOS is the open-source operating system firmware for Pebble smartwatches, maintained by Core Devices in C. It provides the watch platf… | 82 | 1460 | active |
| QSpectrumAnalyzer QSpectrumAnalyzer is a PyQtGraph-based GUI spectrum analyzer for software-defined radio devices. It wraps multiple measurement backends suc… | 23 | 1458 | stable |
| intel/compute-runtime Intel's open-source Graphics Compute Runtime (NEO) providing OpenCL 3.0 and oneAPI Level Zero compute API support for Intel HD Graphics and… | 98 | 1457 | active |
| jlas1/Klicky-Probe Klicky Probe is an open-source 3D printer bed probe design using a microswitch with magnetic attachment, primarily aimed at CoreXY printers… | 65 | 1454 | stable |
| pal1000/Realtek-UAD-generic An unofficial, community-built package of generic Realtek Universal Audio Drivers (UAD) assembled from parts of various OEM-specific Realte… | 53 | 1452 | active |
| USBToolBox A USB mapping tool for building custom USB injector kexts for Hackintosh systems, supporting both Windows and macOS. It discovers USB ports… | 23 | 1451 | active |
| bacher09/pwgen-for-bios A collection of master password generators for various BIOS/UEFI firmware from vendors like Dell, HP, Asus, Samsung, and Sony. It powers th… | 58 | 1450 | active |
| showmewebcam/showmewebcam A firmware image that turns a Raspberry Pi Zero (or Pi 4) with a Raspberry Pi camera module into a high-quality USB webcam using UVC gadget… | 23 | 1450 | active |
| rockchip-linux/kernel A fork of the Linux kernel source maintained by Rockchip as the Board Support Package (BSP) kernel for their SoCs. It provides Rockchip-spe… | 64 | 1444 | active |
| aolofsson/oh OH! is an open-source library of silicon-proven Verilog hardware building blocks for ASIC and FPGA design, containing over 150 modules such… | 10 | 1442 | active |
| 007revad/Synology_M2_volume A shell script that automates creating an M.2 NVMe storage pool and volume on Synology NAS devices running DSM 7, without requiring Synolog… | 70 | 1440 | active |
| BigTreeTech TFT TouchScreen Firmware Open-source firmware for BigTreeTech TFT touchscreen 3D printer controllers, written in C. It provides a touch interface and Marlin mode fo… | 34 | 1435 | active |
| system76/launch The System76 Launch Configurable Keyboard repository contains open source mechanical (FreeCAD) and electrical (KiCad) designs, firmware, an… | 32 | 1435 | active |
| yaqwsx/PcbDraw PcbDraw is a Python CLI tool that converts KiCad PCB board files into attractive 2D SVG drawings suitable for pinout diagrams. It also incl… | 82 | 1434 | active |
| DSLogic DSView is a cross-platform GUI application for controlling and viewing data from DreamSourceLab instruments such as logic analyzers and osc… | 23 | 1433 | active |
| sylefeb/Silice Silice is an open-source hardware description language designed to make writing FPGA hardware algorithms with pipelines and parallelism eas… | 75 | 1432 | active |
| Greaseweazle Host tools for the Greaseweazle, an open-source USB device that reads and writes raw flux-level data on nearly any type of floppy disk. The… | 63 | 1431 | active |
| ZhaJiHu/Cubli_Mini An open-source hardware and firmware project that recreates ETH Zurich's Cubli as a low-cost, 10x10x10 cm self-balancing cube that balances… | 32 | 1426 | active |
| Vial Vial is an open-source cross-platform GUI application (with a web version) and a QMK firmware fork for configuring mechanical keyboards in … | 68 | 1423 | active |
| wetox-team/flipperzero-goodies A collection of useful data and scripts for the Flipper Zero multi-tool device, including intercom keys and Python scripts. It is maintaine… | 40 | 1423 | active |
| schoolpost/CinePI CinePI V2 is an open-source cinema camera design built around a Raspberry Pi 4B and the Sony IMX477 High Quality Camera module, with CAD fi… | 10 | 1422 | active |
| ddcutil ddcutil is a Linux command-line tool and shared library (libddcutil) for querying and changing monitor settings such as brightness, color l… | 94 | 1418 | active |
| NVIDIA/gdrcopy GDRCopy is a low-latency GPU memory copy library built on NVIDIA GPUDirect RDMA technology, allowing CPU-driven copies between host and GPU… | 83 | 1416 | active |
| solosky/pixl.js Pixl.js is an open-source hardware emulator for Nintendo Amiibo figures, based on a replica of the Espruino Pixl.js board. It emulates NTAG… | 77 | 1415 | active |
| htx-studio/One-Handed-Keyboard An open-source one-handed mechanical keyboard project with an integrated trackball, released under MIT license. It provides PCB designs (LC… | 25 | 1413 | active |
| analogdevicesinc/no-OS Analog Devices' bare-metal C software framework providing device drivers for ADI components on systems without an operating system. It incl… | 89 | 1410 | active |
| eclipse-mraa/mraa Eclipse MRAA is a C/C++ library with bindings for Python, Node.js, and Java for controlling low-speed I/O (GPIO, I2C, SPI, UART) on GNU/Lin… | 72 | 1409 | active |
| pftf/RPi4 Installable UEFI firmware images for the Raspberry Pi 4, built from the official EDK2 (edk2-platforms) Raspberry Pi 4 firmware. It enables … | 87 | 1408 | active |
| Smoothie Smoothieware is a modular, open-source G-code interpreter and CNC controller firmware written in object-oriented C++ for 32-bit controller … | 72 | 1408 | active |
| espressif/kicad-libraries Official KiCad symbol, footprint, and 3D model libraries for Espressif SoCs, modules, and DevKits. Distributed via KiCad's PCM and intended… | 85 | 1406 | active |
| corna/me_cleaner A Python script that modifies Intel ME/TXE firmware images to reduce the co-processor's ability to interact with the system, disabling it d… | 66 | 5051 | maintenance |
| skuep/AIOC AIOC is open-source firmware and hardware design for a Ham Radio All-in-one-Cable, a USB-C adapter based on STM32F302 that enumerates as a … | 45 | 1405 | active |