inexpensive PIC based OBD-2 interface


OBD-II became the mandatory I/O diagnostic port on cars starting around 1996 in the US. Considering that the interface consists of a couple of I/O lines, serial/usb adapters have been ridiculously expensive for quite a while – especially newer USB versions. [Renan] sent in this PIC18F2450 OBD-II interface. The designer says he can provide boards for just over $6 and programmed PICs if there’s interest. The chip is a few dollars, and everything else is pretty cheap too. Need to work on your car? This thing will cost $15 or so. I think I just might have to burn out a board on my mill later.

45 thoughts on “inexpensive PIC based OBD-2 interface

  1. wowzers!!! if only this worked for cars in 94/95 when they had “hybrid” data ports. Id be down to buy one if there was a link, not because I need one, but to help this guy out and say thank you for the effort.

  2. yeah i’d buy one of these for $15. wondering how you get from db9 to the obdii port though; he doesn’t mention it at all.

  3. maybe I missed it but is there source code for the PIC firmware? I’ve been debating making something like this for a while… specifically something to work with my 1995 Nissan 240sx… I know lots of people in my local car club that would love to have one of these I’d love to whip up a batch to sell to the other members at cost since these things are usually so expensive.

    Another benefit to having the source is you could wire up a character LCD and a few buttons to make yourself a built in diagnostics tool.

    I’ve got no use for OBDII stuff. Only my truck is new enough to have it but I couldn’t care less about running diagnostics on that.

  4. The 9pin to OBDII cables are readily available cheaply on Ebay, that’s where I got mine, or can be built yourself.

    For $15 I’ll scrap making my own, and get one of these for my car computer. My effort can be better spent making new software, not duplicating the wheel.

  5. i’ve contacted him as well about his multiadapter board. i am quite interested in this project, i just dont have the time to make a pcb right now, hopefully he has them available for $6 still.

  6. @ Brendan Shanks
    He tells you on the site (now at least) which pins on the OBD2 connector go into the serial port. You could hak together your own cable or direct wire the system if you want to.

    Hardest thing will be the OBD2 connectors as i dont know where to get those.

  7. OMG, I was looking for something like this two weeks ago. I guess I did not look hard enough. Oh well, the $200 OBD2 scanner I got was still cheaper then a $400 repair bill at the service station.

  8. I would be curious if something like this could be used on a Ducati motorcycle. I have been meaning to figure out what type of interface it uses. The one I found for sale was very very expensive.

  9. I just can’t image the costing of the product. He
    is willing to charge so little :O I take my hats off
    for his willingness :) I haven’t try it yet but looks
    promising. BTW he is a WxWidget user :D

  10. The text and the schem say he uses a MC33290 IC for com with the OCD bus. yet the board dosent show any 8 pin DIP on it. unless its SMD on the reverse side. im confused. ill look at the gerber later.

  11. @ chupa

    they are surface mount on the bottom layer. look to the right of the 4 FETs, you will see them right next to each other.

  12. I think some of you are misunderstanding.

    All that this device does is converts from one transport protocol to another (basically, rs232 to usb).

    You still need the software on the PC to be able to access the diagnostic system of the car.

    It would be a much, much, larger project if you tried to make it a standalone reader. Don’t get me wrong, it can be done, and would be a fun project, but this particular one isn’t it, but is a good start if thats what you’re looking for. And I’m not trying to bash the project either, it is very cool, but some people have a misconception.

  13. I’ve had a hand held unit for a while that I paid $250 for. It handles OBD II and some older protocols.

    These are life savers for cars with ECM’s, especially road side.

  14. Awesome project. I built an oldschool RS232-OBDII interface from schematics for the open-OBDII project on sourceforge but this is way snazzier.
    Digikey carries a version of the Freescale chip and the PIC: MCZ33290EFR2CT-ND $1.65
    PIC18F2455-I/SO-ND $8 (DIP)

    What a superb project.

  15. This is great. Most solutions have been serial and like the post states, USB options have been pricey.

    I’ve been using the cable from http://obddiagnostics.com/ for a number of years now.

    The gentleman that makes this cable also sells the parts and documentation to build your own based on his design.

    What’s more is this cable is the basis for most open source projects involving OBD. Head on over to source forge and search for obdII.

    Thank you for the great find. Also thanks to the hacker for helping people gain control over their cars.

  16. @emperor_dane:
    using the pic 18f4550 or 18f2550 (40 or 28 pin) to implement a virtual com port is extremely easy. Microchip has sample code on their website that does just that.

    @jake:
    i only see one fet on the schematic, and like chupa don’t see any mc33290 ic. i’m not looking at the gerbers though…

    what i want to know though, is where he can get $6 pcbs with blue soldermask and silkscreening at what i’m assuming is prototype quantities. i can get pcbs for $6 bucks but its without soldermask or silkscreen…

  17. This hardware interface only works with a subset of the available OBD-2 protocols. It does not work with J1850 PWW, J1850 VPW and CAN (controller area networks). The CAN interface is now standard on all 2007 vehicles. So before you invest time and effort in this device, make sure that your vehicle has an ISO-9141-2 or KWP2000 interface, otherwise, you’re out of luck.

  18. If this device works like ELM323 (the author says that it is compatible) would it be then possible to use it with another PIC or Atmel that would request&read data and display it on a LCD display? Is it possible to connect two microcontrollers via it’s USB?!

  19. Sofware is free on internet, with search, What I need is something that will write to the obd, so I can do a liottle programming.

  20. Cliff, The ducati uses a Cann network. ODB II is not supported on it. You can get a rig from dashpro that will not only allow you to read the data from the unit but err write new data say like odometer etc..

  21. I just payed someone $100 to tell me which wheel sensor is bad on my buick rendezvous. They told me which on it was and said that for another $100 they would install it, (the part costs $89 so I had to at that point) I recently bought a USB cable to hook up to the obd2 sensor but I have no idea where to start. I make engine monitoring systems for aircraft so I know electronics but I’m not to savvy with programming. Can someone point me in the right direction to be able to read my obd2? THANKS A TON

  22. I’ve got a obd2 scanner but I dont have the right cables for audi A6 there in the mail until they come I thought I could hard wire the obd2 if I new the what color of wire went to the coresponding pin It’s a 15 pin scanner and the audi uses 4 pins blk and red/yel and bluei believe.if you could help,Thanks Mark

    1. Try looking in Wikipedia. I found a lot of good information there as to the types of OBD and which manufacturers use certain pins.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s