OBD2 and Particle Devices

Wondering if anyone has interfaced any OBD2 module with any particle device? Came across this, also has a accompanying Arduino library but not sure of the compatibility with Particle.


Any guidance would be appreciated :slight_smile:

It has been done for the Particle Gen2 devices (Photon & Electron). Check out carloop.io. The firmware and hardware are also on github.

Note that this is currently not doable on Gen3 devices (Xenon, Boron & Argon) until timer issues are worked out for a soft CAN support.

1 Like

Hmm seems pretty interesting.

Unfortunately i was hoping to have something done with the GEN 3 devices. I am not familiar with the timer issues, whats that about?

The STM32F processors used in the Gen2 devices have built-in CANbus support, so the carloop library is very clean and elegant.

In the case of the Gen3 devices, the processor is from the Nordic nRF family, which do not have built-in CANbus support. That means the CANbus will have to be written in firmware. To do that, a timer is needed to get the CAN signal timing right. However, all the timers are in use for NFC, BLE, etc. There are some threads on this forum where people are looking for solutions to free up timers for various reasons. If that can be solved, then maybe we can get CANbus.

I’ve been working on something similar, ISO9141 done in firmware for Gen2. It’s been almost 2 years and still a work in progress, but with only a limited amount of time.

There is other devices you can use like the MCP25625 SPI <>Canbus with Integrated Transceiver which your going to need anyway.

1 Like

@muneebr1, since the device you linked to uses a UART interface, it could be used with any Particle device via a hardware serial port (eg. Serial1) since the device UART is both 3.3v and 5v compatible. As for the Arduino code, it should be straight forward to adapt for Particle devices since many of the libraries are already available for Particle (eg. OLED display) or built-in already (eg. GSM on Electron and Boron).