Home / Automotive / Scooters & E-bikes

66 open-source Scooters & E-bikes projects

Scooters & E-bikes (Automotive): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.

  1. VESC firmware★ 3,538 · active · C

    Open motor controller firmware widely used in e-skateboards and scooters

  2. hoverboard-firmware-hack-FOC★ 1,823 · active · C

    Custom field-oriented-control firmware for hoverboard mainboards

  3. hoverboard-firmware-hack★ 875 · slowing · C

    Custom firmware for hoverboard mainboards written from scratch

  4. xiaomi-m365-firmware-patcher★ 443 · slowing · Python

    Patch Xiaomi M365 scooter firmware

  5. vanmoof-encryption-key-exporter★ 396 · archived · TypeScript

    Export your own VanMoof bike details and encryption keys

  6. m365_dashboard★ 224 · archived · C++

    Custom display dashboard for the Xiaomi M365 scooter

  7. M365-BLE-PROTOCOL★ 223 · dormant · C

    Documentation of the Xiaomi M365 scooter BLE protocol

  8. xiaomi-m365-compatible-bms★ 219 · dormant · C++

    Open-source BMS firmware compatible with the Xiaomi M365 scooter

  9. Hoverboard-Firmware-Hack-Gen2★ 215 · dormant · C

    Custom firmware for second-generation dual-board hoverboards

  10. bipropellant-hoverboard-firmware★ 204 · dormant · C

    Open source hoverboard firmware with serial control protocol

  11. ha-bosch-ebike★ 162 · active · JavaScript

    Bosch eBike Smart System integration for Home Assistant

  12. BMSBattery S-controllers firmware★ 150 · dormant · C

    Open firmware for cheap Chinese e-bike motor controllers

  13. ninebot-docs★ 132 · dormant

    Documentation of the Ninebot/Xiaomi scooter serial protocol

  14. vanmoof-web-controller★ 113 · slowing · TypeScript

    Web Bluetooth controller for VanMoof S3/X3 settings

  15. WheelLog★ 94 · active · Kotlin

    Android app for electric unicycles using reverse-engineered BLE protocols

  16. vanbike-lib★ 88 · archived · JavaScript

    Access VanMoof bikes without the app (BLE protocol, key export)

  17. hass-bosch-ebike★ 85 · active · Python

    Home Assistant integration for Bosch Smart eBikes

  18. VanMoofKit★ 82 · slowing · Swift

    Swift package to communicate with VanMoof S3 and X3 bikes

  19. bafang-python★ 81 · active · Python

    Deciphering the Bafang e-bike controller protocol in Python

  20. vesc_scooter_support★ 80 · active · Common Lisp

    VESC Lisp script adding Xiaomi M365/Ninebot BLE dashboard protocol support

  21. home-assistant-niu-component★ 71 · active · Python

    NIU electric scooters via the unofficial NIU app API

  22. pOneWheel★ 71 · dormant · Java

    Android app for the Onewheel board over BLE

  23. beambreak★ 68 · slowing · Python

    Boosted Board reverse engineering project

  24. vanmoof-tools★ 55 · active · C

    Tools supporting VanMoof S3/X3 reverse engineering

  25. pymoof★ 47 · dormant · Python

    Connect to a VanMoof SX3 e-bike over BLE from Python

  26. TSDZ2_wireless★ 45 · dormant · C

    Open-source wireless firmware and display for the TSDZ2 e-bike motor

  27. obike★ 43 · dormant · Python

    Reverse engineering of the oBike bike-share BLE and HTTP protocol

  28. emtb★ 36 · slowing · Monkey C

    Garmin data field showing Shimano STEPS e-bike info

  29. ninebot-ble★ 35 · active · Python

    Python client for Ninebot scooters over BLE

  30. ha-bosch-ebike-flow★ 31 · active · Python

    Bosch eBike Flow integration for Home Assistant

  31. miauth★ 31 · slowing · Java

    Authentication and communication with Xiaomi M365/Ninebot scooters over BLE

  32. cowboy-ha★ 29 · active · Python

    Cowboy e-bikes in Home Assistant via the unofficial Cowboy app API

  33. homeassistant-silence★ 28 · active · Python

    Silence electric scooters via the unofficial Silence app API

  34. stromer★ 28 · active · Python

    Home Assistant integration for Stromer speed pedelecs via their cloud API

  35. vanmoof-battery-tool★ 28 · slowing · Python

    Python tool for VanMoof batteries

  36. TSDZ2 motor firmware★ 24 · archived · C

    Open-source firmware for the TongSheng TSDZ2 mid-drive motor

  37. lime-scooter★ 23 · dormant · C++

    Reverse-engineered Lime gen3 scooter controller for an ESP8266

  38. VanMooof-Module★ 21 · active · Go

    Reverse-engineered VanMoof S3/X3/S4/X4 module protocols

  39. decode-vanmoof-blt-packages★ 20 · dormant · Go

    Inspect Bluetooth sniff captures of VanMoof bike traffic

  40. ebike-connect-js★ 20 · slowing · TypeScript

    Unofficial Node API for the Bosch eBike Connect web service

  41. LevoEsp32Ble★ 20 · dormant · C++

    Arduino library reading telemetry from Specialized Levo e-bikes over BLE

  42. niu-app-api★ 19 · dormant

    Reverse engineering of the NIU e-scooter app API

  43. ha-vmoto-super-soco★ 18 · active · Python

    Super Soco and Vmoto e-motorcycles via the unofficial vendor app API

  44. scooter-display★ 18 · active · Rust

    Reverse-engineered custom Rust firmware for the Egret GT e-scooter display

  45. Scooter-Tools-App★ 18 · active

    App monitoring and configuring Xiaomi and Ninebot scooters over BLE

  46. vanmoof-bms★ 17 · active · Go

    Reverse-engineered VanMoof S3 DynaPack battery ModBus registers

  47. VanmoofX3RE★ 17 · slowing · HTML

    Reverse engineering of the VanMoof X3 e-bike

  48. wazetripper★ 17 · active · Java

    Drives a Royal Enfield Tripper navigation pod from Waze over BLE

  49. vanMoof (PowerShell)★ 14 · dormant · PowerShell

    PowerShell code to download your VanMoof data

  50. ha-specialized-turbo★ 12 · archived · Python

    Home Assistant integration for Specialized Turbo e-bikes via BLE

  51. M365Downgrader★ 12 · dormant · Java

    Proxy that injects custom firmware into the Xiaomi M365 scooter update flow

  52. vanmoof-s6-ble-protocol★ 12 · active

    Reverse engineering of the VanMoof S6 MQTT-over-BLE protocol

  53. cowboybike-strava-sync★ 11 · active · Python

    Sync rides from the Cowboy bikes API to Strava

  54. ioBroker.bosch-ebike★ 11 · active · JavaScript

    ioBroker adapter for Bosch eBikes

  55. BEStie★ 10 · active · C

    Bosch eBike LDI bridge exposing power/speed/cadence as FTMS

  56. eScive★ 10 · active · Dart

    Third-party app for iScooter e-scooters from reverse-engineered BLE packets and apps

  57. ha-bosch-ebike-pibridge★ 8 · active · Python

    Bosch eBike live BLE data to Home Assistant via Raspberry Pi

  58. specialized-turbo★ 8 · active · Python

    Python library for Specialized Turbo e-bike BLE communication

  59. SmartBridge★ 7 · active · Kotlin

    Send Bosch eBike power data to Garmin devices

  60. VanMoof-SA5-HomeAssistant★ 6 · active · Python

    Home Assistant integration for VanMoof S5/A5 e-bikes

  61. ebike-dl★ 5 · slowing · Python

    Bosch eBike Connect portal downloader and KML converter

  62. esphome-fiido-bms★ 5 · active · C++

    ESPHome component for Fiido e-bikes: battery telemetry and control of power, lights and gears

  63. shimano-steps-ep8-canbus★ 4 · active

    CAN captures and reverse-engineering of Shimano STEPS EP8

  64. ScooterLink★ 2 · active · Swift

    iOS app that talks to the Honda PCX 2025 TFT display, replacing Honda RoadSync media control

  65. esphome-xbot★ 1 · active · C++

    ESPHome component for e-scooters built around XBOT/LebiTEC controllers

  66. joyor_s5★ 0

    Smart speed limiter for the Joyor S5 e-scooter with protocol reverse engineering notes