|OBD-II (april 2007)
I'm right now looking on how to make my own OBD-II interface to read out diagnostic codes from my car. OBD is the abbrivation for On-Board-Diagnostic. The interface includes different protocols.
- ISO15765-4 (CAN)
- ISO14230-4 (KWP2000)
- J1850 VPW
- J1850 PWM
My car (Toyota) uses the first one - ISO 9141-2.
Below you see a drawing of the topology. This tester i'm working on is the one at the rightmost position of the drawing. The tester can be communicating to more than one unit in the vehicle.
This is the topology of the interface. The serial data is transmitted over the K-line.
To communicate with the computer in the car you need a µ-controller. I prefer to use the microcontrollers from Microchip. Looking around you can also find a already preparred microcontroller from ELM electronics (www.elmelectronics.com ) in Toronto. Having some experience with Microchip controllers you can soon find out that it looks like that ELM electronics are using a Microchip controller for their product (which they also write on their homepage now). I checked the Microchip parametric search engine and looked for 28 pins with CAN controller. One possibility could be the Microchip PIC18F2480. Look by your own to see some similarities. PIC18F2580, PIC18F4480 or PIC18F4580 are also candidates.
- Pin 1: Master Clear (negated)
- Pin 2,3,4: Analog inputs (10 bit ADC)
- Pin 8: VSS
- Pin 17: Tx
- Pin 18: Rx
- Pin 19: VSS
- Pin 20: VDD
- Pin 21: "ISO K" is on the PIC: External interrupt 0
- Pin 22: "ISO L" is on the PIC: External interrupt 1
- Pin 23: CAN Tx
- Pin 24: CAN Rx
ELM electronics are very resonable with their prices also if you think about that work that they have put into this huge SW project which is not a simple task to do. Here you can see some part of their order list (april 9. 2007). The one marked with * means that you will also get the Microchip MCP2551 High Speed CAN Transceiver as well as the ?-controller. It is a "simple" transceiver (not a µ-controller). If you bye the DIP version without the tranceiver you only have to pay 32.50 Canadian Dollars [CAD] (this is 157 danish kroner [DKK]) which to my opinion is very reasonable.
Datasheets for µ-controllers
Serial to USB
Most portable PC's doen't support serial ports anymore. I need a USB interface on my unit. This can be made by using only one chip. A Serial to USB bridge from f.ex. http://www.silabs.com/
They have a product called CP2102 which is a Single-Chip USB to UART Bridge.
When using this a driver will be installled on the PC and by using this driver the Serial interface can be used on a virtuel COM port using the PC USB port.
Datasheet for Single-Chip USB to UART Bridge
Look back later - I will look further into this and describe my progress. First of all i have now bought a raw cable adaptor from OBD2cables.com (type number 143301) which is a cable with a J1962M in one end and a DB9 connector in the other end.
OBD-II Cable (click to enlarge)
I now created a PCB from the shematic. This PCB includes hardware for all OBD-II interface types. It uses a USB interface to the connect it to the PC. Nearly all of the components are SMD (Surfaca Mounted Devices). The PCB is dual-layer with components on the top and buttom layer.
This is it.
I plan to sell these boards if somebody is interested. Please pop me a mail if so.
Follow this link:
Buy your own PCB
Go to the new KOCH Engineering web shop to order your parts for your own OBD-II interface today
Click here to go to the shop
Copyright © 2007 - KOCH Engineering (Henrik J. Koch)