Thomas Beck started a new project to develop a Raspberry Pi based OBD2, On-Board Diagnostic tester, to read vehicle data, trouble codes, and read monitor data. He had developed earlier a firmware for the elektor OBD Analyser NG, a handheld analyser with graphical display, ARM Cortex M3 controller and open source user interface. Since this device is not available anymore, he is working on a new one.
The On-Board Diagnostics is a system that makes status of all vehicle subsystems reachable by the vehicle owner or the repair technician, the data are requested from the vehicle through a list of predefined codes, then the OBD device will process and display them.
The Raspberry Pi must have similar interfaces to the OBD Analyser NG. On the user side there is a serial interface which is available at the Raspberry Pi GPIOs, but on the vehicle side a DIAMEX DXM OBD2 module is used. Thus, Thomas decided to develop a simple add-on board to make the module compatible for using with Pi.
Thomas used the DXM on his own OBD2-Analyser NG for prototyping the idea, and share his successful results with DIAMEX, the manufacturer of the DXM module, which accepted the idea and developed a Pi-OBD add-on board based on their modern AGV OBD2 module.
The Pi-OBD add-on board consists of an DIAMEX AGV OBD2 interface with an automotive-proven power supply/voltage regulator for the AGV, the Pi and a display. It has a PCB that suitable with the Raspberry Pi B+, 2 and 3. The complete system is powered via the OBD2 cable. The Pi-OBD uses a few GPIOs and covers some more. So, using a display connected via an HDMI ribbon cable is recommended.
As a result, there are two options to add OBD2 to Raspberry Pi:
- OBD2 for Raspberry Pi using the DIAMEX Pi-OBD add-on board, it needs:
- Pi-OBD add-on board
- OBD2 cable
- 7″ touchscreen
- Raspberry Pi/Raspbian with free serial device, e.g. /dev/ttyAMA0 or /dev/ttyS0
- HHGui OBD2 software for the Pi
- OBD2 for Raspberry Pi using the DIAMEX DXM OBD2 module, it needs:
- XM OBD2 module
- A few additional parts like PCB (a breadboard will do), wires, connector for GPIOs, connector for OBD2 cable, optional but recommended: 2 resistors, 1 capacitor, 1 diode
- OBD2 cable
- Vehicle 12V socket to USB adapter + USB cable to power the Pi and the display
- Raspberry Pi/Raspbian with free serial device, e.g. /dev/ttyAMA0 or /dev/ttyS0
- Display for the Pi (minimum display size 320 x 165 pixels)
- HHEmu OBD2 software for the Pi
This project is still in the development phase and it is open source. All technical details are available at its official page.