TomasHubelbauer / onewheel-web-bluetooth

Onewheel Web Bluetooth
https://tomashubelbauer.github.io/onewheel-web-bluetooth
MIT License
13 stars 1 forks source link

Still working? #1

Closed alana314 closed 1 year ago

alana314 commented 1 year ago

Thanks for making this! I'm able to pair to my XR+ but can't read any characteristics except firmware revision (4162) and hardware revision (4213). Is it still possible to make this work?

TomasHubelbauer commented 1 year ago

Hi, I don't remember much about this code, unfortunately, but at some point I updated the firmware on my XR which changed the unlock sequence and I could no longer get this to work. Or maybe that happened when I switched to a Pint? I am not sure. I am surprised the unlock works for you with the XR. My XR is out of commission now, so I have no way to test this code anymore, but if you have a spare moment, the code is super trivial, so you might be able to troubleshoot this with your board. If you're interested in doing that, here's how you'd do it:

This should let you see how far the code gets or doesn't get and what data the board sends or doesn't send.

I think the most likely scenario is that you have a newer firmware version and it uses different UUIDs for the characteristics you don't see with my utility.

To find their new UUIDs you'd need to get a Bluetooth eaverdropped and listen in on the comms between the board and the mobile app to see what the UUIDs are and how the data looks like. This would allow you to update the code to add handling for these new/renamed characteristics.

Hope this helps!

alana314 commented 1 year ago

Thanks, that's super helpful as I'd like to get more into BT LE characteristic investigation. Although it looks like OWCE is locked out too, it seems pretty locked down.

TomasHubelbauer commented 1 year ago

Yeah, unfortunately Future Motion are right to repair offenders and that extends to their treatment of the BLE protocol used to communicate between the official app and the Onewheels. It might be that cracking the communication between the app and the newer firmware versions is just too difficult at this point.