One additional note.. I'm not using cross platform stuff.

All my work ioutside of ardruino is pure Android because I loathe iOS.

Ironically I absolutely love OSX.

What Bluetooth characteristic(s) are you connecting to from your Android device to talk with the CBT? That's the bit I can't get working at the moment.


Hah! I too hate iOS and love OSX!

Hey James, check here for some quick info on the characteristics: LE, Sensors and you

@jamesatfish‌, serial communication service UUID is 7a1fb359-735c-4983-8082-bdd7674c74d2
I subscribed to its characteristic b0d6c9fe-e38a-4d31-9272-b8b3e93d8657 (with indicate method), and send commands to its other characteristic b0d6c9fe-e38a-4d31-9272-b8b3e93d8658 (with notify method).
But they are interchangeable. You can also use the same characteristic to write and receive data (subscribe).

Yeah, I'm only using notify. Works good enough for everything I need to do.

Here is the source code for my app:
To ease dealing with OBD protocol I implemented mask filtering on firmware for CAN messages id. That's because ODB II CAN messages id are only in the range from 0x7E8 to 0x7EF. You can find it in my <a href="">v0.5.1 can-mask branch</a>.
I suggest also to disable bluetooth rate limiting, in order to avoid missing some CAN packets when you receive quick responses from the car.
The apk is here:

Thanks all - managed to get the CBT chatting via Bluetooth last night, so appreciate all the hints.

  • 27
  • 30568

Looks like your connection to CANBus Triple was lost, please wait while we try to reconnect.