DFI and ECM Discuss all aspects of DFI (Digital Fuel Injection), ECMs (Electronic Control Module), scanners, and diagnostic equipment. Fine tune your Third Gen computer system for top performance.

Homemade OBD1 reader with Arduino?

Old 10-27-2013, 02:08 AM
  #1  
Senior Member

Thread Starter
 
Dartht33bagger's Avatar
 
Join Date: Feb 2010
Location: Oregon
Posts: 683
Likes: 0
Received 9 Likes on 6 Posts
Car: 1991 Z28
Engine: L31-R 350 w/ EBL P4
Transmission: 700R4
Axle/Gears: 2.73
Homemade OBD1 reader with Arduino?

Hey guys,

I'm having some car problems right now and I need to read the values from the various sensors to see if everything is working correctly. The scan tool I usually use is owned by my Grandpa, who just had shoulder surgery last week, so I won't be able to use that for a few weeks.

I was, however, able to find a post where a guy used an Arduino variant board that allowed him to do usb-to-serial. The link to that is here:http://www.dieselplace.com/forum/63-...than-10-a.html

I have an Arduino Uno laying around from an engineering class I took a few years ago. The board has the ability to do usb-to-ttl serial and it has all of the ports (GND, TX, and RX) that the board in the above link has. I'm tempted to try it out, but I can't any solid info anywhere on the baud 8192 port that GM uses. Some sites mention using max232s to convert rs232 to ttl, and other sites talk about just using ttl.

So what does GM usually use? If I hook up my Arduino with ttl and GM uses rs232, I'll probably fry my board. So I want to know if this will work or if I'll have to buy some extra parts because I don't have the money to afford a scan tool.
Old 10-27-2013, 09:53 AM
  #2  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Re: Homemade OBD1 reader with Arduino?

The GM ECMs of this era use a 0 - 5 V signal. It is inverted from RS-232 so that a MAX232 device used to convert provides the proper RS-232 signal to a PC/Laptop serial port (+-5 to 12 volts, or so).

Most u-controllers that have TTL serial also have their signal inverted from RS-232, so you can connect directly to it's port from the ECM. The only issues is, the ALDL signal is bi-directional on one line.

IIRC, (been a while) a resistor and diode is enough to convert back and forth between the u-controller TX & RX, to the ECM's bidirectional TX/RX on one line.

RBob.
Old 10-27-2013, 12:15 PM
  #3  
Moderator

iTrader: (2)
 
Six_Shooter's Avatar
 
Join Date: Mar 2006
Posts: 4,356
Received 10 Likes on 8 Posts
Car: 1973 Datsun 240Z/ 1985 S-15 Jimmy
Engine: Turbo LX9/To be decided
Transmission: 5-speed/T-5
Axle/Gears: R200 3.90/7.5" 3.73
Re: Homemade OBD1 reader with Arduino?

There are many schematics online for single and double transistor cables for the OBD1 GM ECM.

It's also been found that many of the USB to FT232 break-out boards on the market will work to read data from an OBD1 GM ECM as well, by shorting the the TX and RX pins, connected to the data wire at the ALDL port and then connect the ground as well, for the reference.

IIRC the UNO has a similar functionality, but does take a sketch to enable it properly.
Old 10-27-2013, 12:35 PM
  #4  
Senior Member

Thread Starter
 
Dartht33bagger's Avatar
 
Join Date: Feb 2010
Location: Oregon
Posts: 683
Likes: 0
Received 9 Likes on 6 Posts
Car: 1991 Z28
Engine: L31-R 350 w/ EBL P4
Transmission: 700R4
Axle/Gears: 2.73
Re: Homemade OBD1 reader with Arduino?

Thanks guys. This is just what I needed. If I ground the reset pin, the Uno automatically goes into ttl serial mode. I'll try to hook it up later today.
Old 10-27-2013, 08:18 PM
  #5  
Senior Member

Thread Starter
 
Dartht33bagger's Avatar
 
Join Date: Feb 2010
Location: Oregon
Posts: 683
Likes: 0
Received 9 Likes on 6 Posts
Car: 1991 Z28
Engine: L31-R 350 w/ EBL P4
Transmission: 700R4
Axle/Gears: 2.73
Re: Homemade OBD1 reader with Arduino?

It worked! I was able to get two logs in tunerpro RT from the car. In both logs I started from my garage and ended in my garage. The first log has a little bit more throttle variety. The second log is just me going up to a flat street and flooring it a few times because I think I didn't in the first one.

My issue can be seen in this thread here: https://www.thirdgen.org/forums/tech...esitation.html

I was told to get data from all of the sensors to try and diagnose my issue. One thing I did notice is that the TPS never hit 100% even though I definitely had the throttle to the floor multiple times in log 2. I don't really know what I'm looking for, though, and I was wondering if one of you guys could take a look at my logs and see if everything is running ok?

Last edited by Dartht33bagger; 09-26-2014 at 08:50 PM.
Old 10-29-2013, 03:24 PM
  #6  
Junior Member

iTrader: (1)
 
amargari's Avatar
 
Join Date: Oct 2004
Location: Morristown, NJ
Posts: 14
Likes: 0
Received 0 Likes on 0 Posts
Car: 73 Camaro LT/RS
Engine: 327
Transmission: Supert T-10
Re: Homemade OBD1 reader with Arduino?

Ignore message. I found what I was looking for.

Last edited by amargari; 10-29-2013 at 06:12 PM.
Old 10-30-2013, 05:26 PM
  #7  
Member

 
-srs-'s Avatar
 
Join Date: Dec 2008
Location: Tyler, Tx
Posts: 401
Likes: 0
Received 0 Likes on 0 Posts
Car: 1991 Z28 Vert
Engine: 305 TPI
Re: Homemade OBD1 reader with Arduino?

Very cool project. Have you considered using a RaspberryPi?
Old 10-30-2013, 07:36 PM
  #8  
Senior Member

Thread Starter
 
Dartht33bagger's Avatar
 
Join Date: Feb 2010
Location: Oregon
Posts: 683
Likes: 0
Received 9 Likes on 6 Posts
Car: 1991 Z28
Engine: L31-R 350 w/ EBL P4
Transmission: 700R4
Axle/Gears: 2.73
Re: Homemade OBD1 reader with Arduino?

It ended up working with the Arduino. All I had to do was put the device in TTL-Serial mode and I was able to log the data.

I'm still trying to figure out how to read the data that came out though
Old 10-30-2013, 08:57 PM
  #9  
Moderator

iTrader: (2)
 
Six_Shooter's Avatar
 
Join Date: Mar 2006
Posts: 4,356
Received 10 Likes on 8 Posts
Car: 1973 Datsun 240Z/ 1985 S-15 Jimmy
Engine: Turbo LX9/To be decided
Transmission: 5-speed/T-5
Axle/Gears: R200 3.90/7.5" 3.73
Re: Homemade OBD1 reader with Arduino?

Originally Posted by Dartht33bagger
It ended up working with the Arduino. All I had to do was put the device in TTL-Serial mode and I was able to log the data.

I'm still trying to figure out how to read the data that came out though
You should be able to use Tuner Pro to decipher the data. This would be just like any other USB to ALDL interface at that point.
Old 11-06-2013, 06:57 PM
  #10  
Junior Member
 
GaryDoug's Avatar
 
Join Date: Jan 2008
Location: Florida
Posts: 21
Likes: 0
Received 0 Likes on 0 Posts
Car: 98 Trans Am
Engine: LS1
Transmission: A4
Re: Homemade OBD1 reader with Arduino?

You may be interested in this project also. Looks very promising so far.
http://www.gearhead-efi.com/Fuel-Inj...2318-ALDLdroid
Old 11-12-2013, 01:37 PM
  #11  
TGO Supporter

iTrader: (2)
 
Jim85IROC's Avatar
 
Join Date: Jul 1999
Location: Readsboro, VT
Posts: 13,574
Received 9 Likes on 8 Posts
Car: 85 IROC-Z / 88 GTA
Engine: 403 LSx (Pending) / 355 Tuned Port
Transmission: T56 Magnum (Pending) / T5
Axle/Gears: 3.42 / ?
Re: Homemade OBD1 reader with Arduino?

Originally Posted by Dartht33bagger
It worked! I was able to get two logs in tunerpro RT from the car. In both logs I started from my garage and ended in my garage. The first log has a little bit more throttle variety. The second log is just me going up to a flat street and flooring it a few times because I think I didn't in the first one.

My issue can be seen in this thread here: https://www.thirdgen.org/forums/tech...esitation.html

I was told to get data from all of the sensors to try and diagnose my issue. One thing I did notice is that the TPS never hit 100% even though I definitely had the throttle to the floor multiple times in log 2. I don't really know what I'm looking for, though, and I was wondering if one of you guys could take a look at my logs and see if everything is running ok?

Here is the dropbox link to the xdl files: https://www.dropbox.com/sh/6tpt0pqlkhealvc/TqTNcz_-sQ
Did you have to write any code to retrieve this data log, or was this literally just a hardware interface? The reason that I ask is that I'm at the very early stages (read: I just thought of the idea this morning) of thinking about using an arduino to retrieve ALDL data and drive a TFT display, but the part that has really been confusing me is how to retrieve and interpret the serial data from the ALDL. I was assuming that I was going to have to write code to even decipher the serial stream because I kept reading that the ALDL's serial output was, ahem, unique. From the sound of it, you were able to capture the serial bitstream with the built-in abilities of the Arduino. If that's the case, then all I would have to write code for would be to extract the data I need from that bistream and send the appropriate data to the TFT.
Old 04-05-2014, 03:53 PM
  #12  
Senior Member

Thread Starter
 
Dartht33bagger's Avatar
 
Join Date: Feb 2010
Location: Oregon
Posts: 683
Likes: 0
Received 9 Likes on 6 Posts
Car: 1991 Z28
Engine: L31-R 350 w/ EBL P4
Transmission: 700R4
Axle/Gears: 2.73
Re: Homemade OBD1 reader with Arduino?

Sorry for missing your post Jim85IROC. I just got around to look into this issue yesterday and came back to report in on this post. I did not have to do anything special to get the Arduino working. All I had to do was put it into TTL serial mode and connect it to the ODB1 port. Using a program called Tunerpro RT, I was able to use the Arduino as a serial port to read the data off the ECM.

As for my original issue, the MAP seems okay. At 101.5 kpa it was reading 4.8V. At about 24.3 kpa it was reading 0.7V. While I was testing the MAP sensor, I noticed that the vacuum line running from the planum to the MAP sensor was loose and lost vacuum if I moved it at all. I replaced the vacuum line and the car seems to run a lot better now. I'm thinking (and hoping) that the new hose fixed the issue.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Formula8r89
Cooling
6
09-22-2015 04:24 PM
Greg '85 T/A
History / Originality
1
08-14-2015 01:40 PM
IROCTOM
Aftermarket Product Review
13
12-22-2001 07:46 AM


Thread Tools
Search this Thread
Quick Reply: Homemade OBD1 reader with Arduino?



All times are GMT -5. The time now is 01:32 AM.