|
OBDuino32K
Homepage of the OBDuino32K Project
WHY? What does it do?This instrument will provide real time data of your car's condition and its fuel efficiency. This directly translates to saving money! How? The number one cause of low mileage, and the number one means of increasing your mileage are controled by just your right foot. By providing real time feedback of your driving habits this device will provide hard data and motivation to learn to handle your vehicle in an eco-friendly manner. With this tool, and your improved driving techniques, some have said these type of devices can pay for themselves in a month or two. What does it cost?Time and a little money. Here is a sample list of parts, cost, and possible places to obtain them
Note 1, Interface hardware: The ELM, an extra 33 dollar chip, acts as an interpreter between the OBDuino32K and the car, so that the device can, without additional programming, support ALL 1996 and later cars. If the extra 33 dollars doesn't stop you, also consider that you will need to build additional hardware after the elm chip according to their documentation. See page 56 of their data sheet. ISO9141-2 and ISO14230-4 (KWP2000) protocols are used commonly for imported cars, such as Toyota and Honda. This is the most tested interface and accomplishes this with the use of the Freescale MC33290. Available from Future Electronics, Mouser, or Digi-Key. CAN Protocol is still being finalized and has not been integrated into the code base. This is used on most newer cars (2008+). For now, the ELM Chip is the way to go. While progress is being made, no date is available. Note 2, Cable Connection: You will be building a cable that goes from the Car (OBD2 Connection) To your device. While the Diagrams describe how to use a serial connector for the opposite end, others using just the ISO protocol have found success just using a phone cable. This limits you to 4 wires, which means you cable will limit your device to only using ISO protocol, which in most cases is fine. Note 3, Protoboard: While you will use this as a base for the cable connection for your cable and possibly your MC33290 chip or other supporting hardware, some have chosen to build this device completely on one board. This means buying an arduino kit without a base. Although it means a little more planning on your part, it results in a much smaller device and will save you a few dollars at the same time! (The kit referenced contains almost everything. But it is missing a 5 volt regulator) What tools and skills will I need to build this?If you have ever soldered or tinkered with electronic projects before, you can most likely build this with careful attention, and minimal bodily harm. Collect these tools on a nice workspace:
A Note about cases and construction material: The project box to enclose your project is up to you. Some fun choices have been an underarm deodorant container, or even a mini-rice krispy box, or a less fun plastic box. The size and style are up to you, but keep in mind the temperature of the hot sun on your dash. The sun WILL re-melt hot glue. While it might be quick to use to keep things in order, once things are finalized for your design it's best to use real glue or epoxy. What protocol does my car use?While no comprehensive database with a fancy search exists, a good start is to take a look at this chart to see if your vehicle is listed. Or Here or here If you can not confidently find the protocol of your car there, please check the FAQ for more details. Great, I Confirmed the Protocol and Received the parts, Let's Build!Congratulations, Lets go to the building page: Oh no! it doesn't work for me!Please check out the FAQ section. If you are no further ahead, check if your answer is available on the forums at ecomodder.com. | |||||||||||||||||||||||||||||||||
Is it possible to include other information in the display from other sensors? For example, direction of vehicle based on data from a digital compass, outside/inside temperature based on some thermal sensors ? They can just be plugged in some free inputs on the arduino and reported on a virtual screen.
Any chance to show the software for opening up a datastream from the OBD II port? I'm new with the Arduino and need some guidance.
The chart page no longer exists. However it is still available on archive.org's cache: http://web.archive.org/web/20080722123042/http://www.etools.org/files/public/generic-protocols-02-17-03.htm
Fundimental-Logic in the above Links no longer ship parts. New product links should be provided.
Use sparkfun.com
I'd like to confirm the next statement: J1850-10.4 is to be used with elm interface?
I also would like to have more details on where you found the codes for odbII system. I'm using Maxidas scanning tool for my jobs, and i think the programming code use the same simple statement that the computer show. If it's as simple as this, I think I could give you a hand to enhance your system.
for J1850-10.4 is there a modification to the existing programing code to be done?
thanks a lot
Hello Guys! I was pretty excited and filled with enthusiasm, however i hit a wall. My 1999 Missubishi Galant,made in Japan, Okazaki, sold in Switzerland seems to be using "J"ODB ... i tried reading the ECU data with ELM 327 - no go, just cycles through the available protocols, i guess supported by Bluetooth device . <Edit> the protocol seems to be "ISO 9141-2 MUT-II" ... Any thoughts? Regards , Lachezar.
Hey there, I'm about to try this project out on a 1996 Honda civic. I fill be using the Freescale MC33660EF for my ISO interface, since the original MC33290 is no longer available. I'm just wondering though about the 510 ohm resistor that is included in the interface circuit beteen pins 4 and 1 on the frescale ic. What specifically does that do, is it just a pullup on the car's dataline? how critical is the 510 ohm value? Looking at the datasheet i found a line that states RISO = 510 Ω to VBB, CISO = 10 nF to Ground. Does this mean that i need to add a capacitor between the bus and ground aswell?
Hi. I´am not able to compile "obduino.pde" into a arduino IDE. Proces is terminated with this result. Any ideas ? I tried IDE versions 0.21 to 1.0 .
result: sketch_may14a.cpp: In function 'int iso_read_byte()': sketch_may14a:480: error: 'serialRead' was not declared in this scope sketch_may14a.cpp: In function 'void iso_write_byte(byte)': sketch_may14a:493: error: 'serialWrite' was not declared in this scope
Thanks Tomas