Scooters & E-bikes (Automotive): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.
Open motor controller firmware widely used in e-skateboards and scooters
Custom field-oriented-control firmware for hoverboard mainboards
Custom firmware for hoverboard mainboards written from scratch
Patch Xiaomi M365 scooter firmware
Export your own VanMoof bike details and encryption keys
Custom display dashboard for the Xiaomi M365 scooter
Documentation of the Xiaomi M365 scooter BLE protocol
Open-source BMS firmware compatible with the Xiaomi M365 scooter
Custom firmware for second-generation dual-board hoverboards
Open source hoverboard firmware with serial control protocol
Bosch eBike Smart System integration for Home Assistant
Open firmware for cheap Chinese e-bike motor controllers
Documentation of the Ninebot/Xiaomi scooter serial protocol
Web Bluetooth controller for VanMoof S3/X3 settings
Android app for electric unicycles using reverse-engineered BLE protocols
Access VanMoof bikes without the app (BLE protocol, key export)
Home Assistant integration for Bosch Smart eBikes
Swift package to communicate with VanMoof S3 and X3 bikes
Deciphering the Bafang e-bike controller protocol in Python
VESC Lisp script adding Xiaomi M365/Ninebot BLE dashboard protocol support
NIU electric scooters via the unofficial NIU app API
Android app for the Onewheel board over BLE
Boosted Board reverse engineering project
Tools supporting VanMoof S3/X3 reverse engineering
Connect to a VanMoof SX3 e-bike over BLE from Python
Open-source wireless firmware and display for the TSDZ2 e-bike motor
Reverse engineering of the oBike bike-share BLE and HTTP protocol
Garmin data field showing Shimano STEPS e-bike info
Python client for Ninebot scooters over BLE
Bosch eBike Flow integration for Home Assistant
Authentication and communication with Xiaomi M365/Ninebot scooters over BLE
Cowboy e-bikes in Home Assistant via the unofficial Cowboy app API
Silence electric scooters via the unofficial Silence app API
Home Assistant integration for Stromer speed pedelecs via their cloud API
Python tool for VanMoof batteries
Open-source firmware for the TongSheng TSDZ2 mid-drive motor
Reverse-engineered Lime gen3 scooter controller for an ESP8266
Reverse-engineered VanMoof S3/X3/S4/X4 module protocols
Inspect Bluetooth sniff captures of VanMoof bike traffic
Unofficial Node API for the Bosch eBike Connect web service
Arduino library reading telemetry from Specialized Levo e-bikes over BLE
Reverse engineering of the NIU e-scooter app API
Super Soco and Vmoto e-motorcycles via the unofficial vendor app API
Reverse-engineered custom Rust firmware for the Egret GT e-scooter display
App monitoring and configuring Xiaomi and Ninebot scooters over BLE
Reverse-engineered VanMoof S3 DynaPack battery ModBus registers
Reverse engineering of the VanMoof X3 e-bike
Drives a Royal Enfield Tripper navigation pod from Waze over BLE
PowerShell code to download your VanMoof data
Home Assistant integration for Specialized Turbo e-bikes via BLE
Proxy that injects custom firmware into the Xiaomi M365 scooter update flow
Reverse engineering of the VanMoof S6 MQTT-over-BLE protocol
Sync rides from the Cowboy bikes API to Strava
ioBroker adapter for Bosch eBikes
Bosch eBike LDI bridge exposing power/speed/cadence as FTMS
Third-party app for iScooter e-scooters from reverse-engineered BLE packets and apps
Bosch eBike live BLE data to Home Assistant via Raspberry Pi
Python library for Specialized Turbo e-bike BLE communication
Send Bosch eBike power data to Garmin devices
Home Assistant integration for VanMoof S5/A5 e-bikes
Bosch eBike Connect portal downloader and KML converter
ESPHome component for Fiido e-bikes: battery telemetry and control of power, lights and gears
CAN captures and reverse-engineering of Shimano STEPS EP8
iOS app that talks to the Honda PCX 2025 TFT display, replacing Honda RoadSync media control
ESPHome component for e-scooters built around XBOT/LebiTEC controllers
Smart speed limiter for the Joyor S5 e-scooter with protocol reverse engineering notes