Home / Drivers & Low-level Hardware

443 open-source Drivers & Low-level Hardware projects built by reverse engineering

Open-source projects in Drivers & Low-level Hardware that exist because someone reverse engineered a closed product. Most-starred: MonitorControl, tinygrad, G-Helper, LibreHardwareMonitor, linux-surface.

Search and filter this category →

Lab Instruments & Thermal Cameras84 all 84 →

  1. stlink★ 5,213 · active · C

    Open source STM32 programming toolset for ST-Link debug probes

  2. openFPGALoader★ 1,773 · active · C++

    Universal FPGA programmer supporting many vendor JTAG cables and boards

  3. OpenHantek6022★ 1,140 · active · C++

    DSO software for Hantek 6022BE/BL USB oscilloscopes with open firmware

  4. OpenHantek★ 831 · slowing · C++

    DSO software for Hantek, Voltcraft and similar USB oscilloscopes

  5. libsigrok★ 448 · active · C

    Signal analysis library with drivers for many logic analyzers, scopes and meters

  6. ch341prog★ 422 · active · C

    Open SPI/I2C flash programmer for the CH341A USB adapter

  7. libseek-thermal★ 345 · slowing · C++

    Linux driver for Seek Thermal Compact, CompactXR and CompactPRO cameras

  8. PyThermalCamera★ 326 · slowing · Python

    Python software for the Topdon TC001 thermal camera on Linux and Raspberry Pi

  9. OWON-VDS1022★ 306 · active · Python

    Unofficial improved software release for the OWON VDS1022/I USB oscilloscope

  10. rd-usb★ 276 · active · Python

    Web GUI for RuiDeng/Riden USB testers (UM34C, UM24C, UM25C, TC66C)

Gaming Laptops & Handheld PCs83 all 83 →

  1. Lenovo Legion Toolkit★ 7,536 · archived · C#

    Lightweight replacement for Lenovo Vantage and Hotkeys on Legion laptops

  2. Universal x86 Tuning Utility★ 2,901 · active · HLSL

    Power, TDP and undervolt tuning for Intel/AMD laptops and handhelds

  3. Lenovo Legion Toolkit (community)★ 2,425 · active · C#

    Community continuation of Lenovo Legion Toolkit, a Vantage replacement for Legion laptops

  4. Handheld Companion★ 1,742 · active · C#

    Windows tool for handheld PCs: controller emulation, gyro, TDP and fan control without vendor apps

  5. Steam Deck Tools★ 1,145 · slowing · C#

    Windows fan, overlay, power and Steam Controller emulation for the Steam Deck hardware

  6. alienfx-tools★ 886 · active · C++

    Open tools for Alienware lights, fans and power control, replacing AWCC

  7. Thermal Control Center for Dell G15★ 846 · active · Python

    Open-source alternative to Alienware Command Center for Dell G15 thermal modes

  8. rogauracore★ 777 · active · C

    RGB keyboard control for ASUS ROG laptops on Linux (reverse engineered USB commands)

  9. Div Acer Manager Max★ 750 · active · C#

    Linux GUI for Acer Predator/Nitro laptops, replicating NitroSense/PredatorSense features

  10. MControlCenter★ 720 · active · C++

    Linux app to change MSI laptop fan, battery and performance settings via the EC

Laptop EC & Peripherals82 all 82 →

  1. MonitorControl★ 34,577 · active · Swift

    macOS app to control external display brightness over DDC

  2. G-Helper★ 15,770 · active · C#

    Lightweight open replacement for ASUS Armoury Crate laptop control

  3. LibreHardwareMonitor★ 9,286 · active · C#

    Hardware sensor monitor with reverse-engineered Super I/O and EC readers

  4. linux-surface★ 7,856 · active · Shell

    Linux kernel and drivers for Microsoft Surface devices

  5. Lunar★ 5,722 · active · Swift

    macOS display brightness controller using DDC and private display APIs

  6. throttled★ 2,998 · active · Python

    Linux daemon working around Intel firmware-induced throttling on Lenovo and other laptops

  7. RyzenAdj★ 2,445 · active · C

    Adjust power settings of Ryzen mobile processors via undocumented SMU calls

  8. ddcutil★ 1,422 · active · C

    Query and change monitor settings over DDC/CI and USB MCCS on Linux

  9. intel-undervolt★ 1,099 · dormant · C

    Undervolting and power-limit tool for Intel CPUs using undocumented MSRs

  10. nbfc-linux★ 792 · active · C

    C port of NoteBook FanControl for Linux using per-model EC register configs

Headsets, Audio Interfaces & Webcams41 all 41 →

  1. gopro_as_webcam_on_linux★ 708 · active · Shell

    Use a GoPro as a webcam on Linux via its USB webcam mode

  2. OpenSCQ30★ 534 · active · Rust

    Cross-platform app for Anker Soundcore headphone and earbud settings

  3. OpenFreebuds★ 466 · active · Python

    Open app for Huawei FreeBuds settings and noise control on Linux and Windows

  4. linux-enable-ir-emitter★ 370 · active · Rust

    Enables infrared emitters on laptop IR cameras under Linux by finding the UVC extension control

  5. elgato-gchd★ 298 · dormant · C++

    Reverse engineered Linux userspace driver for the Elgato Game Capture HD

  6. Linux Arctis Manager★ 215 · active · Rust

    Open replacement for SteelSeries GG to manage Arctis headsets and ChatMix on Linux

  7. SoundcoreManager★ 184 · slowing · Rust

    Rust app to control Anker Soundcore headphones over Bluetooth

  8. Arctis Sound Manager★ 177 · active · Python

    SteelSeries GG and Sonar alternative for Arctis headsets on Linux with mixer and EQ

  9. macbook12-audio-driver★ 173 · active · C

    Linux audio driver for the CS4208 codec in the 12-inch MacBook

  10. sc0710★ 163 · dormant · C

    Linux driver for the Elgato 4K60 Pro Mk.2 capture card

Printers, Scanners & Fingerprint40 all 40 →

  1. python-validity★ 1,246 · slowing · Python

    Reverse-engineered Validity/Synaptics fingerprint sensor driver for ThinkPads

  2. catprinter★ 861 · active · Python

    Prints to cheap BLE "cat" thermal printers via reverse-engineered protocol

  3. brlaser★ 723 · dormant · C++

    Open driver for Brother laser printers that lack PostScript support

  4. Epson-Waste-Reset★ 423 · active · C++

    Open-source utility to reset Epson printer waste ink pad counters

  5. sane-airscan★ 373 · active · C

    SANE backend for driverless eSCL and WSD network scanners

  6. goodix-fp-dump★ 364 · dormant · Python

    Reverse-engineering tools and prototype drivers for Goodix fingerprint sensors

  7. node-hp-scan-to★ 304 · active · TypeScript

    Enables HP All-in-One scan-to-computer without HP software

  8. Validity91★ 241 · dormant · Python

    Reverse engineering the Validity 138a:0091 fingerprint sensor in Dell XPS laptops

  9. hw-harness★ 240 · active · Shell

    Harness that compares vendor and Linux scanner driver USB control transfers

  10. labelle★ 191 · active · Python

    Open print tool for Dymo LabelManager label printers

GPU Drivers35 all 35 →

  1. applecpu★ 267 · dormant · HTML

    Reverse-engineered Apple Firestorm/Icestorm CPU microarchitecture notes

  2. DLSSNR-AMD★ 206 · active · C++

    Reimplementation of the NVIDIA DLSS 5 neural-rendering network as Vulkan compute shaders for AMD GPUs

  3. mesa-lima★ 164 · dormant · C

    Development tree of the Lima Mali-400 driver before upstream Mesa merge

  4. gddr6★ 159 · active · C

    Linux GDDR6/GDDR6X VRAM temperature reader for NVIDIA RTX cards

  5. radeon-tools★ 154 · dormant · Python

    AMD Radeon reverse engineering tools

  6. PVR_PSP2★ 116 · slowing · C

    Driver-layer GPU libraries and tests for the PS Vita's PowerVR SGX

  7. grate★ 90 · active · C

    Reverse-engineering tools and docs for the NVIDIA Tegra 2/3 GPU (open Tegra graphics)

  8. dlss-nr-on-intel★ 71 · active · Python

    Independent reimplementation of the DLSS neural rendering inference pass on an Intel iGPU

  9. three-dlss-nr★ 66 · active · TypeScript

    Three.js WebGPU port of OpenDLSS-NR, the reimplementation of NVIDIA's DLSS 5 neural renderer

  10. linux_openpvrsgx★ 65 · active · C

    Reshaping PowerVR SGX GPL kernel drivers for mainline Linux

Firmware/BIOS (coreboot, UEFI)21 all 21 →

  1. fwupd★ 4,209 · active · C

    Linux firmware updater with many reverse-engineered device update protocols

  2. MEAnalyzer★ 1,343 · active · Python

    Intel/AMD engine firmware (ME, TXE, CSE, PSP) analysis tool

  3. flashrom★ 1,188 · active · C

    Utility to read and write flash chips on mainboards, programmers and devices

  4. efiXplorer★ 1,141 · active · C++

    IDA plugin for UEFI firmware analysis and reverse engineering

  5. UEFI-Editor★ 966 · active · TypeScript

    Editor for UEFI setup IFR forms to expose hidden BIOS settings

  6. skulls★ 852 · slowing · C

    Prebuilt coreboot images and flashing docs for ThinkPad laptops

  7. PSPTool★ 716 · active · Python

    Parses and modifies AMD Platform Security Processor firmware blobs

  8. IFRExtractor-RS★ 493 · active · Rust

    Extracts UEFI HII IFR setup forms into human-readable text

  9. fiano★ 375 · active · Go

    Go tools and library for parsing and modifying UEFI firmware images

  10. UEFI_RETool★ 369 · archived · Python

    Tool for analysing UEFI firmware modules

Wi-Fi & Radios21 all 21 →

  1. rtl-sdr★ 1,002 · active · C

    Turns RTL2832U DVB-T dongles into SDR receivers via reverse-engineered debug mode

  2. esp32-open-mac★ 860 · slowing · C

    Reverse-engineered open-source Wi-Fi MAC layer for the ESP32

  3. Hamlib★ 857 · active · C

    Ham radio control library for rigs, rotators and amplifiers using vendor CAT protocols

  4. CHIRP★ 599 · active · Python

    Programming tool for many handheld and mobile radios using reverse engineered cloning protocols

  5. open-ath9k-htc-firmware★ 485 · slowing · C

    Fully open firmware for Atheros AR9271/AR7010 USB Wi-Fi chips

  6. nexmon_csi★ 479 · active · C

    Extract Wi-Fi channel state information from Broadcom chips via Nexmon firmware patches

  7. qdmr★ 359 · active · C++

    GUI to configure and program cheap DMR radios on Linux and macOS

  8. OsmocomBB★ 333 · active · C

    Free GSM baseband firmware for Calypso-based phones built by reverse engineering

  9. dmrconfig★ 284 · slowing · C

    Configuration utility for DMR radios (TYT, Baofeng, Radioddity) with reverse engineered protocols

  10. bl602-re★ 105 · dormant · Assembly

    Reverse engineering of the BL602 Wi-Fi/BLE binary blobs

Apple Silicon (Asahi)19 all 19 →

  1. tinygrad★ 33,802 · active · Python

    ML framework whose extra/accel/ane holds reverse-engineered Apple Neural Engine work

  2. neural-engine★ 2,548 · active

    Community documentation of the Apple Neural Engine and how Core ML uses it

  3. muvm★ 985 · active · Rust

    microVM runner used by Asahi to run x86 games with FEX on 4K-page hosts

  4. linux-m1★ 871 · dormant · C

    Linux kernel source tree

  5. ane (Linux ANE driver)★ 540 · slowing · C

    Reverse-engineered Linux driver and userspace for the Apple Neural Engine

  6. macvdmtool★ 378 · active · C++

    Tool to send Apple USB-PD vendor-defined messages (serial/reboot) between Macs

  7. asahi-audio★ 216 · active · Makefile

    DSP and audio configuration for Apple Silicon Macs on Linux

  8. speakersafetyd★ 208 · active · Rust

    Userspace speaker protection daemon for Apple Silicon Macs under Linux

  9. Asahi U-Boot★ 201 · active · C

    U-Boot port for Apple Silicon Macs used in the Asahi boot chain

  10. avd★ 183 · slowing · C

    Reverse-engineered Apple Video Decoder (AVD) driver work for Linux

Drawing Tablets & Input16 all 16 →

  1. wacom-driver-fix★ 1,610 · active · Makefile

    Patched Wacom drivers for old Bamboo, Intuos and Cintiq tablets on modern macOS

  2. TabletDriver★ 1,227 · slowing · C++

    Low-latency Windows graphics tablet driver for Wacom, Huion, XP-Pen and others

  3. gsl-firmware★ 389 · active · C

    Firmware collection for Silead touchscreen controllers, extracted from Windows drivers for Linux

  4. universal-pidff★ 268 · active · C

    Linux PIDFF force feedback driver with fixes for Moza, Simagic and other wheelbases

  5. dkms-hid-nintendo★ 260 · archived · C

    DKMS package of the hid-nintendo driver for Joy-Con and Switch Pro controllers

  6. Tuhi★ 169 · slowing · Python

    Linux app to download drawings from Wacom SmartPad devices over a reverse engineered BLE protocol

  7. veikk-linux-driver★ 142 · dormant · C

    Linux kernel driver for VEIKK graphics tablets

  8. libx52★ 134 · active · C

    Saitek X52/X52 Pro joystick MFD and LED driver and mapping software for Linux

  9. TuxBox★ 114 · active · Python

    Linux driver for TourBox controllers over USB and Bluetooth, with haptics and GUI config

  10. inklingreader★ 50 · active · C

    GNU/Linux replacement for the Wacom Inkling SketchManager

Other1

  1. IBM MCGA★ 40 · slowing

    Reverse-engineered logic of the IBM PS/2 MCGA video gate array chips