I ordered:
- a Freeduino serial V2.0 + LCD display at NKC ($17+$10)
- an OBD plug at CarPlugs.com ($5)
- a sample MCZ33290EF from Freescale ($0)
I should be in business, I will find a 510 ohms resistor somewhere here and some push buttons, it's the only component needed.
I even started to write some codes, I started with standard C but why re-invent the wheel to support digital I/O and all, it's in the Wiring/IDE already. So I went back to the standard IDE, and it will be easier to share with other people.
It compiles, obviously it's not tested, copy/paste in IDE
EDIT July 3rd: Maybe I will not update this post anymore, for all information go to the homepage of the project at
http://code.google.com/p/opengauge/
Source is available here:
http://code.google.com/p/opengauge/s...no/obduino.pde
CABLE
-----
To keep compatibility with already existing cable, the OBD-II to DB9F cable is wired like this:
Code:
DB9F OBD-II
1---------------5 (Signal ground)
2---------------4 (Chassis ground)
3-NC
4---------------7 (ISO K line)
5-NC
6---------------10 (J1850 bus-, future use)
7---------------2 (J1850 bus+, future use)
8-NC
9---------------16 (Battery)
Do not plug it into a PC!!! This goes to an interface only!!!
You can make it yourself with an OBD-II plug available at
http://www.carplugs.com/ for $5+$3sh.
Use at least AWG24 wires especially for Battery and Chassis ground.
Or buy an already made cable at
http://www.obd2allinone.com/ for $10+$5sh
INTERFACE
-------
The cable goes into an interface to adapt the ISO signal for the Arduino input.
It concists of a small IC, a resistor, a DB9M that will be plugged with the cable mentionned above, and a few wires that connect to the Arduino board.
Schematic is like this:
Code:
MC33290
+-------+
Arduino pin 3 -------------5|TX ISO|4-----------------+------- DB9M pin 4 (ISO K Line)
| | |
Arduino pin 2 -------------6|RX GND|3--DB9M pin 1 / between MC pin 4 and pin 1
| | \ goes a 510 ohms resistor
Arduino 5V pin output -----7|VDD NC|2-- /
| | |
Arduino 5V pin output -----8|CEN VBB|1-----------------+------- DB9M pin 9 (12V Battery)
+-------+
The Arduino is powered by the 12V line coming from the cable too
Code:
Arduino 12V input ------------------ DB9M pin 9 (12V Battery)
Arduino GND input ------------------ DB9M pin 2 (Chassis Ground)