Introduction

I have a cheap (thus probably a clone) ELM327 OBD-II Bluetooth scan tool that has been pretty much un-usable due to the Bluetooth connection being unreliable: it rarely allows paring, and once paired it only connects once.

The plastic enclosure is semi-transparent, and while I was peering at the innards I noticed what looked like a discrete Bluetooth module. It occurred to me that (since ELM327 is a serial protocol) this module is acting as a UART-to-serial-over-Bluetooth bridge, so maybe I could replace this module with a USB serial adapter (extract the rotten Bluetooth, so to speak).

Image of a generic Bluetooth-serial module

The rotten Bluetooth module

Opening it up

The cover was glued at two spots on diagonal corners so I inserted an X-Acto knife in the gap near each spot, which broke the bonds and allowed me to pull off the cover. Note: if you try this yourself, please be very careful - it seems like an easy way to cut yourself, badly!

The module appeared to be soldered to the rest of the device via 4 castellated pins. Applying 12V to pin 16 (+) and 4/5 (GND) powered it up and allowed me to trace out ground and 3.3V with my multi-meter. I assumed the remaining two pins would be 3.3V TX and RX.

Extraction

I used my re-flow station to heat the pins and tilted the module up from the un-attached side, but I wasn’t patient enough so while this process removed the module, it also took the pads for the TX/RX pins with it. I followed the vias next to the (now missing) pads to the other side of the board and fortunately, after removing the two SMD capacitors (because that was totally my plan) I was able to solder two small wires in place of the caps.

USB-ification

I had a spare PL2023-based USB serial adapter board with 3.3V interface pins, which I attached to the two UART pins, as well as to the ground pad that I had previously identified.

The scan tool wired to the USB serial adapter for testing

Checking if it works

Connecting to this port from my laptop at 38400 baud (N81) presented a working EM327 interface:

Screen capture of serial terminal showing ELM327 messages

I like a GUI serial terminal, don’t judge me.

Finishing up

Some zip ties and a few blobs of hot glue fixed USB adapter and jumper wires in place, yielding a reasonably sturdy new wired USB OBD-II scan tool.

An image showing the modified OBD-II adapter prior to applying hot glue

Just prior to hot-glue application

Testing

I used A USB-A extension cable, USB-A to USB-C OTG adapter and Torque Pro on my Android phone to make it work in the car:

An image of the OBD-II adapter plugged into the car

USB connection to the OBD-II port

A screen capture of Torque Pro connected to the USB device on Android

Torque connected to the ELM327