Need Help Decoding 2026 KuKirin G4 Bluetooth Packets (Beken BK-BLE-1.0)
Hi everyone,I am trying to build a custom HTML site using the Web Bluetooth API to connect to my 2026 KuKirin G4 e-scooter, which runs a BK-BLE-1.0 Bluetooth module (Firmware version 6.1.2).No official or third-party apps connect to this scooter model, but I successfully cracked the code to unlock the Bluetooth data stream. By continuously sending the passcode A5 00 00 00 00 00 00 A5 every 600ms to the write channel (0000fff1), the scooter stays connected and streams data back to me on the notification channel (0000fff2).While the scooter is sitting completely still at 0 km/h with a 100% full battery, it continuously alternates back and forth between two different 16-byte data packets.Here are the exact numbers that show up on my screen:Packet Type 1 (Starts with 25 26)25 26 82 17 DF 19 18 00 04 00 00 00 00 00 DB 0BPacket Type 2 (Starts with F2 B0)F2 B0 11 28 8C 14 00 8C 1A 55 11 04 1F 00 00 13What changes when testing:When sitting idle (0 km/h): The bytes change back and forth by themselves between these two packets, which causes values like battery and speed placeholders to jump around constantly.When accelerating: Byte 11 immediately switches from 00 to A9. Meanwhile, Byte 13 starts changing frantically, spiking all the way up to 90 or higher from a standstill, but then drops all the way back down to 00 even if I hold the throttle steady at speed.I do not know what these byte numbers mean, how they are formatted, or how the scooter calculates its actual speed and battery percentage from them.If anyone knows how to decode this specific Beken controller data format, please let me know!