1

I bought an OBD connector from Sparkfun to try to connect to my vehicle via arduino.

I'm just beginning and am not sure if I can just connect the connector pics to the arduino directly, or if there is some other required hardware?

Does anyone know if I can connect directly and why or why not?

The Guy with The Hat
  • 5,232
  • 7
  • 29
  • 51

1 Answers1

1

I briefly read up on this subject and I found out this:

It seems like there's a protocol called J1850. There's no native support on the Arduino for that, but you might be able to do something bit-banging if you can find the specifications for this protocol. If you do this, I'd advise accessing the registers directly and skipping the digitalRead() command.

There are a few protocols in use, so it is hard to know without knowing the car you drive to even tell what the car will send.

More on this topic...

Anyway, it seems like you need a chip to use with this. Sparkfun also sells a breakout board for the STN1110 OBD-II to UART chip (tutorial). I couldn't really find anything else besides this.

Anyway, you probably need another chip to do this work. The Arduino isn't meant to do all of these protocols, and the OBD isn't UART-compatible.

Anonymous Penguin
  • 6,285
  • 10
  • 32
  • 62
  • Thanks for the help! I also found an pdf here https://www.google.com/url?sa=t&source=web&rct=j&ei=uvPxU-vjLo27oQTW2YDgCA&url=https://www.cs.purdue.edu/homes/millerrv/Ryan_Miller/Projects/Entries/2010/12/21_Arduino_OBD-II_Interface_files/CS497_presentation_miller.pdf&cd=1&ved=0CBwQFjAA&usg=AFQjCNEguP_tgEU-i6_6MbNqOoXj9er37A&sig2=1teeC0hht_QSnBZAc9JrBQ –  Aug 18 '14 at 12:38
  • @mECH interesting! It looks like they used the MC33290 and bit banging to do this. I don't have time now to look into it more now, but a library with hardware timers would be helpful... – Anonymous Penguin Aug 18 '14 at 20:51