Ashcon Mohseninia's OpenVehicleDiag Hits 1.0.0, Adds SocketCAN Support for Raspberry Pi ECU Diags

"It should be possible," creator notes, "to run OpenVehicleDiag on nothing more than a Raspberry Pi and $5 MCP2515 shield."

Ashcon Mohseninia's OpenVehicleDiag (OVD), an open source vehicle engine control unit (ECU) diagnostic platform written in Rust, has reached version 1.0.0 — adding SocketCAN support and Pass-Thru for popular ODB-II adapters.

OpenVehicleDiag — then Open Vehicle Diagnostics — was announced earlier this year as a final-year project by University of Reading student Ashcon Mohseninia. "In the current times with Right to Repair being hyped with consumer electronics, I decided to tackle right to repair for consumer vehicles," Mohseninia explains. "I had bad experiences with my local Mercedes workshop charging more than my car is worth to plug their 'special' tool into my car to clear a fault code in the transmission ECU. This proves there is nothing 'special' about OEM software, since the vast majority of cars utilize the same diagnostic protocols under the hood."

The result was a tool, amusingly written in the Rust language, which offers a range of functionality for vehicle diagnostics: A CAN analyzer for packets accessible via the ODB-II port; automated scanning for ECUs which support the UDS or KWP2000 protocol; advanced JSON sessions; parsing of Daimler's CBF file format and conversion to open JSON; and full support for J2434 Pass-Thru, offering broad compatibility with diagnostic adapters.

The latest release of OpenVehicleDiag includes SocketCAN support and a new Pass-Thru library. (📹: Ashcon Mohseninia)

In its latest release, which brings OpenVehicleDiag to v1.0.0, the software now includes SocketCAN support — tested, Mohseninia warns, in simulation but not on real hardware — which brings down the entry price considerably: "In theory," Mohseninia explains, "it should be possible to run OpenVehicleDiag on nothing more than a Raspberry Pi and $5 MCP2515 shield! Also in the pipeline is experimental support for those cheap BT/USB ELM327 OBD-II adapters."

The new release also brings with it a Pass-Thru library, introducing support for Macchina's A0 and M2 OBD-II adapters with vendor-specific software packages running on Windows - including Volkswagen's ODIS, Toyota's Techstream, and Daimler's Xentry. At the same time, the library also brings the Pass-Thru API — unofficially, its creator notes — to Linux and macOS.

The latest release is now available on GitHub, under the GNU General Public License 3.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles