Star on GitHubStar2.4k stars

Case study

KuKirin G4: decoding BLE ride-mode notifications

The KuKirin G4 BLE Mode Monitor parses observed FFF2 notifications from a scooter and prints changes between ECO, SPORT, and RACE modes. Its Python client validates frame length and a gate byte before decoding the mode field; the documented mapping comes from one scooter and firmware combination.

Targets
Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C2 code & docs, no demo or download
Stars
2
Last commit
2026-09-14
Language
Python
License (GitHub)
MIT

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Observed
Code and documentation observed; no download method or demo found.
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

  • Prerequisites: Python 3.10+, Bluetooth access, and a KuKirin G4 for the hardware path; that path is documented for macOS.
  • Limits: The mapping comes from one scooter and firmware combination; no raw captures or formal protocol specification are included.
  • License: MIT license.

Cite

BibTeX

@misc{kukirin-g4-ble-mode-case,
  title = {{KuKirin G4: decoding BLE ride-mode notifications}},
  howpublished = {\url{https://github.com/maksdoner/Kukirin-G4-Bluetooth-Control}},
  url = {https://github.com/maksdoner/Kukirin-G4-Bluetooth-Control},
  urldate = {2026-11-06},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/kukirin-g4-ble-mode-case/}}
}

Plain text

KuKirin G4: decoding BLE ride-mode notifications. https://github.com/maksdoner/Kukirin-G4-Bluetooth-Control (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/kukirin-g4-ble-mode-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · maksdoner/Kukirin-G4-Bluetooth-Control · Revision 9927f41

More in Protocols

All 720 entries in ProtocolsProtocols case studies (645)

↑↓ move↵ open⌘↵ new tab