GW Diag

Android · Case study v0.6, in use on my own car

GW Diag talks to the XTOOL GWBT dongle's Bluetooth protocol directly: read and clear codes on every module, watch live data, run actuator tests, and share the dongle with other OBD apps.

I want an app like this

The story

Problem
The XTOOL GWBT dongle only works with its vendor app, so the owner can't use it with anything else or dig deeper than the app allows.
Solution
I reverse-engineered the dongle's protocol and built a scan tool on top of it, with UDS diagnostics per module and a local ELM327 emulator so any ELM327-compatible app can use the dongle too.
Result
v0.6 reads and clears codes across the PCM, ABS, cluster, body, steering, airbag and TPMS modules of a 2009 Mazda3, and runs bi-directional actuator tests.

Features

  • Auto Scan of every module, with read and clear fault codes
  • Live data, OBD-II generic modes and vehicle info (VIN, calibration, ECU)
  • Bi-directional actuator tests (UDS 0x2F), each behind a confirm
  • ELM Bridge: a local ELM327 emulator so other OBD apps can share the dongle

Built with

  • Kotlin
  • Jetpack Compose
  • Bluetooth RFCOMM
  • UDS / ISO 15765
  • Protocol reverse engineering

Support

Questions, bugs or feature requests? Email info@dreamz-code.com and put “GW Diag” in the subject.

Need something like GW Diag?

I build custom apps with the same care. Tell me about your project.

Request a callCall (830) 308-8986