Open-source projects in Devices, IoT & Hardware that exist because someone reverse engineered a closed product. Most-starred: KOReader, LibrePods, OpenLogi, Zigbee2MQTT, MiGPT.
Search and filter this category →Ebook reader app for Kindle, Kobo, PocketBook and reMarkable
Zigbee to MQTT bridge, removes the need for proprietary vendor hubs
Connects Xiaomi XiaoAI smart speakers to ChatGPT and Doubao via the Mi cloud API
Cloud-free web UI and firmware replacement for robot vacuums (Roborock, Dreame)
Decode radio transmissions from 200+ devices on ISM bands
Home Assistant integration for Xiaomi MIoT devices via the miot spec protocol
This tool retrieves tokens for all devices connected to Xiaomi cloud and encryption keys for BLE devices.
Python library & console tool for controlling Xiaomi smart appliances
Gateway firmware bridging RF, IR, BLE and LoRa devices to MQTT
Home Assistant integration for local control of Tuya devices without the cloud
⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over...
Linux manager for Logitech Unifying, Bolt and Lightspeed receivers and devices
macOS driver for Xbox 360 and Xbox One wired controllers
RFID research toolkit firmware and client with protocol RE support
GTK GUI to configure gaming mice via libratbag
Local open-source alternative to Logitech Options+ for remapping HID++ mice
Use Switch Joy-Cons and Pro Controllers on Windows as XInput devices
Open-source RGB lighting control without vendor software
Open-source Linux drivers and daemon for Razer peripherals
Unofficial userspace driver for HID++ Logitech mice and keyboards
UPS monitoring with drivers for many vendor UPS protocols, much of it reverse engineered
ESP32 firmware that talks the Hoymiles/TSUN microinverter radio protocol directly (NRF24/CMT2300A)
Home Assistant integration for Anker Solix power stations and balcony storage
ESPHome component to monitor and control JK-BMS via UART or BLE
Tools and docs for communicating with Hoymiles microinverters over their proprietary 2.4 GHz protocol
Home Assistant integration for Huawei SUN2000 inverters via Modbus
EcoFlow cloud integration for Home Assistant using the app's MQTT channel
ESPHome component for local Emporia Vue 2 energy monitor readings
Home Assistant integration for the Emporia Vue energy monitor
Home Assistant component for Solarman dataloggers used with Deye and other inverters
Auto-configures and controls Midea M-Smart devices over the LAN
ESPHome firmware for Mitsubishi heat pumps using the CN105 connector
ESP32 module that controls Daikin air conditioners through their serial port
ESPHome climate component for Mitsubishi heat pumps via the CN105 serial port
Home Assistant climate component for ACs that use the Gree protocol
Monitors and controls Daikin/Rotex Altherma heat pumps via the 2-wire P1/P2 thermostat bus
Midea air conditioners and dehumidifiers controlled over the reverse-engineered Midea LAN protocol
Native HomeKit IR remote for air conditioners on ESP8266
Arduino library to control split-unit heat pumps over decoded IR protocols
Universal Wi-Fi dongle for UART-controlled appliances such as Midea air conditioners
Cloudless Android app for Mi Band, Amazfit, Pebble and other wearables (GitHub mirror; now on Codeberg)
Fetch Garmin Connect health data into InfluxDB/Grafana
Download and parse Garmin Connect and watch data into SQLite
Remote CGM monitoring server for people with diabetes
Open-source weight tracker supporting many reverse-engineered Bluetooth scales
Android app for continuous glucose monitors, reading Dexcom and Libre sensors directly
iOS automated insulin delivery app controlling pumps via reverse-engineered RF protocols
Open-sourced Pebble smartwatch operating system
Open-source artificial pancreas system for Android with pump drivers
Python library to parse ANT/Garmin .FIT files
Node.js control of Mi Home devices over the miIO protocol
Home Assistant integration for Haier hOn appliances (Haier, Candy, Hoover)
Home Assistant integration for Haier smart home appliances via the Haier cloud API
Open hardware and software for Miele appliances' optical diagnostic interface
Unofficial firmware for Dyson V6/V7 vacuum battery management systems
Roborock integration for Home Assistant using the Roborock app's API
Reverse engineering Bosch/Siemens (BSH) home appliances: D-Bus protocol, washer and dryer electronics
RoboRock Control Center desktop client
Controls Samsung appliances from Home Assistant over the local network
Python tool to talk to Home Connect appliances over the local network
Local RTSP/WebRTC streams for Wyze cameras using the reverse-engineered TUTK protocol
Tools for handling DJI drone firmware and reverse-engineered protocols
Unofficial GoPro WiFi API documentation
Home Assistant control of Tapo cameras using the private local API
Unofficial GoPro API Library for Python - connect to GoPro via WiFi.
Home Assistant integration for Eufy Security cameras and doorbells
Camera access library supporting vendor PTP extensions for thousands of cameras
DJI DroneID reverse engineering and receiver
Runs the DJI 4G dongle (EG25-G) on a Mac by presenting it as a Quectel EC25 in a Linux VM
RTSP bridge for Reolink IP cameras using their proprietary Baichuan protocol
Controls NVIDIA display settings and LG TVs, including hidden settings
TV channel list editor for Samsung, LG, Sony, Panasonic, Philips and other TV file formats
Flashing guides and images for S905L3A IPTV boxes (Android 9, CoreELEC, Armbian, OpenWrt)
Integrates the PlayStation 5 with Home Assistant via the PS Remote Play discovery protocol
Script that uploads images to Samsung Frame TV art mode
Controls Onkyo A/V receivers over the eISCP network protocol
Homebridge plugin for Sony Bravia Android TVs over the Bravia IP control API
Shell snippets to authenticate and send remote commands to Sony Bravia TVs
Python automation library for Denon AVR receivers
Wakes, sleeps and switches inputs on LG TVs used as macOS monitors
Open-source server replacement for the Toniebox Boxine cloud
Python package for the DJI/Ryze Tello using its reverse-engineered low-level protocol
Python library for LEGO Boost and Powered Up devices
JavaScript module to control LEGO Powered Up, Boost and WeDo 2.0 hubs over BLE
MicroPython firmware for LEGO Powered Up, SPIKE and MINDSTORMS hubs
Arduino library for controlling LEGO Powered Up and Boost hubs
Collected reverse-engineering documentation for the Toniebox hardware, firmware and protocols
Python driver for the LEGO MINDSTORMS NXT brick over USB and Bluetooth
Home Assistant integration for Yoto players
Description and unofficial implementation of the Furby audio protocol
AirPods features (ANC, ear detection, battery) on Android and Linux via reverse-engineered AAP
Plays music on Xiaomi XiaoAI speakers through their unofficial cloud API
Connects ChatGPT and other LLMs to Xiaomi XiaoAI speakers via the unofficial MiService API
Unofficial Galaxy Buds manager using the reverse-engineered RFCOMM protocol
Python library to communicate with Google Chromecast devices
HTTP API bridge for controlling Sonos speakers
Control features of Logitech, SteelSeries, Corsair and other USB headsets on Linux/macOS
SoCo (Sonos Controller) is a Python project that allows you to programmatically control Sonos speakers.
Cross-platform client for Sony headphones via the reverse-engineered protocol
Free Android app to show AirPods battery status
GTK4 GUI for Focusrite Scarlett/Clarett mixer controls on Linux (replaces Focusrite Control)
Unofficial tool to configure and control TC-Helicon GoXLR on Linux
Trigger events and automate shows from Pioneer CDJs
Cross-platform client for the Dirtywave M8 tracker's headless serial display protocol
Unofficial Python package for rekordbox databases, XML and analysis files
Sample and MIDI device manager for Elektron, Korg, Arturia and other synths on Linux
Python control suite for Novation Launchpad and Midi Fighter controllers
Akai MPC Live/X/Force/One technical explorations, internals and mods
Tools and unofficial OSC protocol docs for the Behringer X32/M32 digital mixers
Java library to sync and communicate with Pioneer DJ Link equipment
Unofficial packages for Ring Doorbells, Cameras, Alarm System, and Smart Lighting
Open hardware that controls Chamberlain/LiftMaster Security+ garage openers locally, replacing myQ
Home Assistant integration for Wyze devices via the reverse-engineered API
ESP32 hub between Nuki locks and the smart home using the Nuki BLE protocol
Python Ring Door Bell is a library written in Python 3 that exposes the Ring.com devices as Python objects.
Unofficial library for ZKTeco fingerprint attendance machines
Arduino/ESP library interfacing DSC security systems via the reverse engineered Keybus
ESPHome firmware for ratgdo garage door controllers
Homebridge plugin for myQ LiftMaster and Chamberlain garage openers
Open-source schematics for the ratgdo PCB
Custom firmware for the Ulanzi TC001 smart pixel clock
ESP8266 replacement for a MiLight/LimitlessLED hub
Reverse engineering of the Linsn RV901T HUB75 LED receiver card as an FPGA board
Philips Hue bridge emulator that controls many types of lights
Python connector for Philips WiZ lights via local UDP protocol
Home Assistant integration for GeekMagic SmallTV displays
Home Assistant integration for Govee lights
Python library for Divoom Pixoo 64 Wi-Fi pixel displays
REST API to interact with Wi-Fi Divoom Pixoo devices
Unofficial control library for Twinkly smart LED lights
Android app reading Libre 1/2/3, Dexcom G7, Sibionics and other CGM sensors directly
iOS toolkit for closed-loop insulin delivery apps
Research version of xDrip+ CGM app with extra sensor support
iOS app reading CGM transmitters (Dexcom, Libre bridges)
Uploads LibreLink Up CGM readings to Nightscout
iOS artificial pancreas system based on OpenAPS
Utilities to download readings from many reverse-engineered glucometers
Android app that collects CGM data from many sources for watches and cars
Home Assistant integration pulling ResMed myAir CPAP data via undocumented API
Medtronic 600-series pump data direct to Nightscout
Plato, an alternative document reader for Kobo e-readers that drives the e-ink hardware directly
Self-hosted replacement for the reMarkable cloud sync service
Stream the reMarkable screen over SSH by reading its framebuffer
Live screen viewer for the reMarkable tablet written in PyQt5
Stream the reMarkable screen to any browser
Rust framework for reMarkable apps with native e-ink refresh, built by reversing the display driver
Binary patches adding tweaks to reMarkable's closed xochitl app on rM1 and rM2
Library/tool to draw text and images to Kindle/Kobo/reMarkable eInk framebuffers
Unofficial Python tool to convert Supernote .note files to PNG/SVG/PDF
inotify-based launcher for custom apps on Kobo devices
Guide to repurposing a discontinued Lululemon Mirror as a smart mirror with a replacement mainboard
All-in-one data interface for WaterRower S4 and SmartRow rowers to BLE/ANT+
Library for Tindeq, Force Board, WH-C06 and other climbing force gauges over their BLE protocols
Python controller with reverse-engineered BLE protocol for Kingsmith/Xiaomi WalkingPad treadmills
Companion app on NordicTrack/iFit consoles that exposes speed and incline to QZ (qdomyos-zwift)
WaterRower S4 adapter that exposes the Bluetooth LE Cycling Power Service
Node.js library for communicating with the WaterRower S4 monitor
Application interface and logger for the WaterRower S4 monitor
Decodes Zwift Click controller BLE messages for use outside Zwift
Exports iFit workouts to Garmin Connect via iFit's private web API
Badge Magic app to program Bluetooth LED name badges
Open firmware and access point to drive electronic shelf label e-paper tags
Python library and GUI for NIIMBOT label printers
Arduino library to draw text and graphics on cheap BLE thermal printers
Custom BLE firmware for Hanshow e-paper shelf labels
Tools to send images to infrared electronic shelf labels (reverse-engineered protocol)
Web service to print labels on Brother QL printers
Upload tool for USB-HID LED name badges
Reverse engineered BLE protocol and Python CLI for the Fichero D11s thermal label printer
Driver for the ED060SC4 e-ink display panel
Stream VR games from a PC to a standalone headset via Wi-Fi
Linux OpenXR streaming to standalone headsets like Quest and Pico
Unofficial modification of the PS VR2 PC driver to expose eye tracking and more
XR virtual desktop for Linux using reverse-engineered AR glasses drivers
Service for PS Move controller tracking and pose data
Linux service for XR glasses (Xreal, Viture, Rokid) head tracking
3D 180/360 video player for macOS using the PSVR headset
Make Pimax foveated rendering (LibMagic) work on other headsets
Reverse engineered documentation of Valve Lighthouse tracking
Flutter app to control the power state of Valve Index lighthouses
Reverse engineered schematics of the Raspberry Pi Compute Module 5
Open-source hardware recreation of the original NES motherboard
Open-source pin-compatible silicon clone of the Zilog Z80
Reverse-engineered EBAZ4205 Zynq crypto-miner control board repurposed as a dev board
Analysis of counterfeit DS18B20 temperature sensors and how to identify them
Projects and pinouts for repurposed Colorlight i5/i9 FPGA modules
Software for reverse engineering integrated circuits from die images
Reverse engineering of disposable vapes with color TFT LCDs
Reverse engineering the RP3A0 SoC of the Raspberry Pi Zero 2 W
Traces and schematics of custom chips reverse engineered from silicon die shots
Reads data from public transit cards with NFC on Android and iOS
iOS FeliCa reader for Japanese e-money, transit and ID cards
CLI and GUI that reads FeliCa transit IC cards such as Suica
Control cheap HID-based USB relay boards on Linux
NFC tag tools for Xiaomi HyperOS device linking
Third-party client for Xunlei OneThing Cloud (Wanke Yun) devices
Arduino library for low-cost LiDARs incl. Xiaomi LDS02RR, Neato XV11 and Camsense X1
Reads status from the HP DPS-1200FB server power supply over I2C
Reverse-engineered SVAKOM SL278H Bluetooth protocol with AI remote control
Python library to control Chinese USB HID 125kHz RFID readers/writers
Self-hosted, cloud-free command center for Bambu Lab printers over their local MQTT/FTP protocol
Home Assistant integration for Bambu Lab 3D printers
Reverse engineering of Bambu Lab filament RFID tags
Community custom firmware for Bambu Lab X1 series printers
OrcaSlicer plugin restoring Bambu Lab printer control after firmware lockdown
Reverse-engineered documentation of Bambu Lab printer MQTT, cloud and camera protocols
Open-source drop-in replacement for Bambu Studio's proprietary networking plugin
ESP32 desk monitor for Bambu Lab printers using the printer's local MQTT feed
Unofficial firmware mod running Klipper and Moonraker on Flashforge Adventurer 5M
Collection of Bambu Lab filament RFID tag scans for research
Large community collection of infrared remote codes for the Flipper Zero
Home Assistant integration with a device-code database for IR/RF-controlled ACs, TVs and fans
Large crowd-sourced, manufacturer-independent database of infrared remote control codes
Z-Wave control panel and MQTT gateway built on zwave-js
ZHA quirks database for Zigbee devices that deviate from the ZCL specification
Python library implementing a Zigbee stack
C++ library to control Z-Wave networks, with a device config database
Node.js Zigbee library used by Zigbee2MQTT
Toolkit for low-level Zigbee operations in Home Assistant ZHA
MQTT client to control Broadlink IR/RF devices
Vulkan reimplementation of NVIDIA DLSS 5 neural rendering network, bit-exact against original
Reverse-engineered documentation of the Broadcom VideoCore IV
Tools and docs for reverse engineering NVIDIA GPUs (nouveau)
Reverse-engineering tools and docs for Qualcomm Adreno GPUs
Reverse engineering of Vivante GPU driver and tools
Userspace MediaTek mt76 USB Wi-Fi driver for macOS monitor-mode sniffing