Wearables & Health (Devices, IoT & Hardware): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.
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
Offline Whoop 4.0 app using the reverse-engineered BLE protocol
Stream EEG from Muse headsets over BLE to LSL
Watchface editor for Xiaomi watches and bands
Sync Withings measurements to Garmin Connect and TrainingPeaks
Python client and protocol docs for the Colmi R02 smart ring
Rust toolkit with reverse-engineered BLE protocol for Oura Ring Gen 3/4/5
Open-source reimplementation of the Pebble smartwatch firmware
Android SDK for the Xiaomi Mi Band BLE protocol
Garmin Connect health data integration for Home Assistant
Open-source driver for raw Emotiv EPOC EEG data
Garmin Connect activity backup tool
Python library for the Xiaomi Mi Band 2 BLE protocol
Access Xiaomi Mi Band 4 from Linux over BLE
Findings and custom firmware for Colmi R02-class smart rings
Download your Garmin Connect data and GPX tracks via its web API
OpenAPS reference design for artificial pancreas algorithms
OpenAPS toolkit for DIY artificial pancreas systems
Get Huami/Amazfit/Mi Band auth keys for use with Gadgetbridge
iOS CGM app reading Libre and Dexcom sensors directly
Convert Huawei Health activities and import them into Strava
Reverse-engineered library to sync data from early Fitbit trackers
iOS automated insulin delivery system based on OpenAPS
Replacement notification system and tweaks for Amazfit Pace/Stratos
Read Xiaomi Mi Scale body metrics over BLE to MQTT
Unofficial watchface creator for Xiaomi wearables
Home Assistant body metrics for Xiaomi Mi Scale 1 and 2
Xiaomi Mi Band 2 library for Node.js and Web Bluetooth
Original script to download Garmin Connect data and GPX tracks
Android app to sync Casio G-Shock watches over BLE
Muse EEG headset library using Web Bluetooth
Extract FIT files from ANT-FS Garmin watches
Community replacement for the defunct Pebble app store
Unofficial SDK and clients for RayNeo iO smart glasses (HarmonyOS, iOS, Android)
Watch face editor for Mi Band 5 and 6
Open-source sync for Suunto Ambit watches (reversed USB protocol)
Accesses the Xiaomi Mi Band from Android over Bluetooth LE
nRF51/nRF52 fitness trackers and smartwatches reverse engineered as dev platforms
Export Xiaomi scale and Omron BLE data to Garmin Connect
Custom firmware for the Xiaomi Mi Band 8 fitness band
Unofficial Android SDK for Xiaomi Mi Band
Go package for decoding and encoding Garmin FIT files
Captures real-time heart rate from Xiaomi Mi Band over BLE
Python API to read Dexcom Share CGM data
Convert an Apple HealthKit export zip to SQLite
Write-up and code reverse engineering the WHOOP strap BLE protocol
Windows app streaming Muse EEG headset data via LSL
Mobile app that reads Mi Body Composition Scale over BLE and uploads to Garmin Connect
Mi Band BLE integration library for Android
Offline WHOOP companion that pairs over BLE and keeps data local
FIT file parsing and decoding library for Python 3
Exports workout data from the Mi Fit and Zepp apps via their private API
Universal BLE smart scale bridge for Renpho, Xiaomi, Eufy and other scales
Home Assistant integration for Hatch Rest sleep devices
Node.js client to get or set any Garmin Connect data point
Amazfit Bip and Cor watchface viewer and editor
Xiaomi Mi Band Bluetooth example project
Accesses the Xiaomi Mi Band from macOS over Bluetooth LE
Exports your Garmin Connect data into a local SQLite database via the unofficial API
Local-first iOS companion app for WHOOP straps
Syncs smart scale data between Xiaomi, Garmin, Zepp and other ecosystems
Stream raw Emotiv EEG headset data to browsers and clients
Hardware bridge between Bluetooth and Medtronic/Omnipod pump radio protocols
Reverse engineering of the Omnipod insulin pump radio protocol
Python API and CLI for Polar devices (reversed protocol)
Download data from Garmin ANT wireless devices
Research and custom firmware for Mi Band 9/10 BES2700 SoC
Amazfit/Mi Band and other smartwatch support for Sailfish OS and Linux
Python module to access the Emotiv EPOC EEG headset on Linux
CLI for managing Garmin Connect workouts via the web API
Python CLI downloading Garmin Connect data to local files and SQLite
MCP server reading Coros fitness data
Android replacement for the Meta AI app that speaks the Ray-Ban Meta glasses' Bluetooth protocol
Sync Withings weight data to Garmin Connect
Hooks Polar FlowSync to free your training data
Extract data from Apple Health XML export
Android example of the Mi Band 2 BLE protocol and auth
Mi Band/Amazfit heart rate over BLE to VRChat via OSC
Python parser for NeuroSky MindWave EEG headsets
Unofficial macOS Bluetooth bridge and local HTTP API for RayNeo iO glasses
DT78 smartwatch BLE protocol reverse engineering
Seiko UC-2000 computer watch reverse engineering
Web Bluetooth heart rate monitor for Mi Band 4 and 5
Analytics for Mi Band data extracted from the Mi Fit database
ResMed CPAP therapy data collection for Home Assistant via an ez Share WiFi SD card
ESPHome component that reads iPhone notifications via Apple Notification Center Service over BLE
Web app reading Mi Body Composition Scale over Web Bluetooth and exporting to Garmin
Unofficial Python API for the Owlet Smart Sock baby monitor cloud
PHP adapter for the Garmin Connect web API
GUI editor for Amazfit ZeppOS watch faces
Home Assistant integration that pulls weight data from the Renpho cloud API
Cross-platform SDK for HeyCyan smart glasses capture, audio and AI functions
Read wearable health metrics over BLE and write them to Apple Health
Decompiled Xiaomi fitness app for studying the Mi Band protocol
SDK and docs for building apps for Fossil Hybrid HR watches
Tools for reverse engineering the Withings WS-30 Wi-Fi scale
Reverse engineering the Fitbit Aria Wi-Fi scale
Open-source BLE protocol for Muse S EEG headsets
Enable and monitor heart rate from Mi Band 2/3/4 on Windows
Home Assistant integration for Owlet baby monitors via their cloud API
Browse, edit and install Galaxy Fit3 watch faces
Info and tools for reverse engineering the M6 fitness band
Bulk export COROS activities to FIT
Python library for the unofficial Garmin Connect API
Bluetooth LE app for TomTom GPS watches
Functions to download data from WHOOP's internal API
Read Mi Band steps and battery and trigger vibration
Pack/unpack .bin watchfaces for Amazfit Verge Lite/GTR/GTS
Python library for Peloton workout data via its web API
Talk to Garmin watches over their proprietary BLE protocol from Python
Home Assistant integration for Etekcity BLE fitness scales
Reverse engineering smart ring protocols
Philips Sonicare toothbrush brushing data over its BLE protocol, no cloud
Python code to read the Medisana BS440 Bluetooth scale
Python script to set time on Casio G-Shock watches over BLE
Node.js reader for Xiaomi Mi Scale BLE advertisements
Two-way phone/watch communication library for Amazfit Pace and Stratos
Unofficial .NET Garmin Connect client
MCP server for Garmin Connect using its unofficial web API
Bulk export TCX files from Polar Flow
Unofficial WHOOP API client
Oral-B iO toothbrushes and chargers read locally over Bluetooth
Barebone FreeRTOS firmware for the Amazfit Bip
Tools for working with Amazfit watchface files
Reads Xiaomi weight scale advertisement data and documents the protocol
Home Assistant-first custom firmware for Eight Sleep Pod 3/4/5
Create and schedule Garmin Connect workouts via its unofficial API with a compact language
Home Assistant integration for Renpho ES-CS20M and other Renpho BLE scales
JavaScript library for parsing Huami watchface binaries
Web editor for Huami .bin watchfaces
Exports Withings activities as GPX via the Withings web API for import into Strava
Third-party Android client for Meta Ray-Ban Stories glasses via reverse-engineered protocol
Medisana blood pressure monitors read over Bluetooth LE
Open-source alternative Android app for the Xiaomi Mi Scale
Unofficial CLI for the Suunto cloud API
Decompilation of the official Xiaomi Mi Band app
Web scraper downloading intraday Fitbit data unavailable in the official API
Philips shavers and OneBlade over their BLE protocol
OKOK Bluetooth scales read from their reverse-engineered BLE advertisements
Local offline archive of Garmin Connect health data via the unofficial API
Home Assistant integration for Oclean toothbrushes over BLE
Exports Garmin Connect data to Google Sheets and CSV
Python library for the SNOO smart bassinet API
Reverse engineering the Sony Ericsson LiveView protocol
Dart decoder for WHOOP 4.0/5/MG, Oura ring and generic HR strap protocols
Offline biometric data extractor for the Helio Smart Strap over BLE
Firmware fetcher for Huami/Amazfit wearables
Open-source implementation of Sony's LiveView protocol
Unofficial API specification for WHOOP
Unofficial Suunto integration for Home Assistant
CLI that syncs Renpho scale data to Garmin Connect
JavaScript library for Muse EEG headbands over Web Bluetooth
Batch exporter for Suunto Movescount activities
Tool to export, save and analyze Garmin Connect data
Unofficial TypeScript client for the Suunto app API
Unofficial guide to SDK development for the Fitbit Versa 4 and Sense 2
Reverse-engineered BLE Garmin Fenix sync for Linux, no smartphone
Source-first toolkit for custom Xiaomi Smart Band 10 watch faces: JSON layouts, validation, a React/SVG studio, anima...
Unofficial Android app passing notifications to the Huawei Color (Honor) Band A1
CLI exporting Polar RCX5 training sessions via the DataLink USB stick
Flutter plugin for taking measurements from Bluetooth Xiaomi weight scales
Python uploader for Garmin Connect
Python client for fetching health data from the private Renpho API
Python BLE reader documenting the Whoop 4.0 protocol
Save Suunto Ambit moves without Moveslink and Movescount
Interact with the COROS API
OpenTelemetry-native Prometheus exporter for Garmin Connect
Android app reading Suunto Ambit watches and converting to GPX
Unofficial Android companion app for the Samsung Galaxy Fit3
Python utility to sync Fitbit trackers with the Fitbit server
Pull Zepp/Mi Fit/Huami data into InfluxDB
Python client for FORM Swim Goggles reverse-engineered API and BLE protocol
Sync and configure Suunto watches on Linux via Wine
Unofficial, experimental client getting live data from Fitbit trackers over BLE
Pure Python driver for the Oura Ring
Computes recovery, strain and sleep from a WHOOP band's raw sensor stream
Syncs Eufy smart scale body composition to Garmin Connect, Strava and Zwift
Unofficial handler for the Garmin Connect web API
Home Assistant integration for KingSmith WalkingPad treadmills
Reverse-engineered BLE protocol for Wellue O2Ring-S oximeter
Homebridge plugin for Eight Sleep
Swift driver for the Omnipod DASH insulin pump BLE protocol
Community-maintained Pebble SDK command-line tool
Python library for Suunto Ambit data files
Local Garmin data warehouse with an MCP server, synced from Garmin Connect's unofficial API
Fetch Huami wearable pairing data (auth keys) for third-party apps
Reverse engineering the Suunto t3c sync protocol
Python client for the Suunto GPS Track Pod
Node app that reads Yunmai body scales over BLE
Unofficial CLI for the Zepp/Huami mobile health API
Unofficial software to manage apps on the Xiaomi Mi Watch via ADB
Fetches Xiaomi Mi Scale 2 readings over BLE and publishes them to MQTT
Notes for open-source local control of the Eight Sleep Pod 3
TypeScript SDK for your own Garmin Connect data through private endpoints
Ruby implementation of the private API of the Hello Sense sleep tracker
Home Assistant custom component for Yunmai body scales
Local Eight Sleep integration built on Free Sleep
Reverse-engineered local-first BLE client for the HT36 smartwatch, zero cloud
Raw BLE client and protocol docs for J2208-family fitness bands
Export food logs from the Zepp/Amazfit cloud API
Spark protocol server to control Eight Sleep Pod 2 locally
Reverse-engineered BLE protocol of a no-name Jieli-chipset smartwatch
ESPHome component reading Omron Bluetooth blood pressure monitors
ESPHome component for Oclean toothbrushes: battery, dock state and session history
Desktop GUI that fetches activity data from Garmin Connect
Swift package for the undocumented Whoop strap BLE protocol
Custom firmware for the Xiaomi Mi Band 8
Reverse engineering documentation for the Eview EV-05 GPS tracker
Unofficial Garmin LiveTrack exporter
Disassembly of the Makibes HR3 fitness band firmware
Nike+ SportBand reverse engineering in Python
Reverse-engineered implementation of the Soleus GPS watch sync protocol for Linux