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.

Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Thread Tools
 
Search this Thread
 
Old Jun 26, 2018 | 08:21 AM
  #1  
cosmonautpg's Avatar
Thread Starter
Junior Member
 
Joined: May 2014
Posts: 54
Likes: 2
From: San Jose, CA
Car: 1992 Camaro RS
Engine: LH0 V6
Transmission: A4
Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I wanted to give a quick status about a project I recently forked from a dormant GitHub repository for monitoring 8192 baud ALDL streams from OBD-I GM ECMs.

Being an experienced engineer/scientist and an amateur mechanic, I decided that I needed more data from the 3.1L V6 LH0 in my 1992 Camaro RS if I were to properly diagnose and learn along the way. Also, I was looking for something that had the 80’s command line UNIX/DOS aesthetic to match the era of the car.

Photos/video are below — the code is compiled on a Raspberry Pi in an integrated 7” screen display case connected to the ECM through an ALDL USB cable from Red Devil. The address definitions were modified from an original LT1 configuration to a LH0 definition ($88 from a TunerPro RT file I found). The console is fully-customizable to display whatever addresses are coded up — the ones shown are some low-hanging fruit as I play around with the arrangement of the displays.

If if people are interested in the step-by-step guide on how this was coded up/compiled and how the Pi was configured, I’d be willing to write a How To — let me know! ~PG




Reply
Old Jun 26, 2018 | 09:58 AM
  #2  
W.E.G.'s Avatar
Supreme Member
10 Year Member
 
Joined: Dec 2012
Posts: 1,356
Likes: 15
From: northern VA
Car: 88 Sport Coupe Camaro
Engine: V6 2.8
Transmission: Borg-Warner T-5
Axle/Gears: RPO/GU6: 3.42
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Nice work!
Reply
Old Jun 26, 2018 | 10:00 AM
  #3  
IROCK1987's Avatar
Junior Member
5 Year Member
 
Joined: Jun 2018
Posts: 29
Likes: 5
From: Utrecht, The Netherlands
Car: 1987 Iroc-Z
Transmission: Auto
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Totally amazed by the ingenuity of this forum. Awesome job!
Reply
Old Jun 27, 2018 | 12:21 AM
  #4  
cosmonautpg's Avatar
Thread Starter
Junior Member
 
Joined: May 2014
Posts: 54
Likes: 2
From: San Jose, CA
Car: 1992 Camaro RS
Engine: LH0 V6
Transmission: A4
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Thanks!
Reply
Old Jun 27, 2018 | 07:03 AM
  #5  
87v6Bird's Avatar
Member
15 Year Member
iTrader: (1)
 
Joined: Jan 2009
Posts: 237
Likes: 1
From: Alabama
Car: 87 Firebird, 89 Trans Am
Engine: 406, LB9
Transmission: T56, 700R4
Axle/Gears: 3.23 Torsen, 2.73 Posi
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

In for more info on this.
Reply
Old Oct 3, 2018 | 05:14 PM
  #6  
rkmason's Avatar
Junior Member
 
Joined: Jan 2008
Posts: 3
Likes: 0
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I would also like to get some insight into your code. I've been using a modified version of a Linux PC LT1 ALDL program (ALDL-io) I got from GitHub which I compiled for and am running on a Pi 3. My ecm is a GM MEFI 3 unit which utilizes the general GM ALDL type of commands and data monitor output with a MEFI 3 specific datastream decode definition. Thx

Last edited by rkmason; Oct 3, 2018 at 05:22 PM.
Reply
Old Oct 3, 2018 | 11:21 PM
  #7  
Bow_Tied's Avatar
Member
15 Year Member
Liked
Loved
Community Favorite
iTrader: (1)
 
Joined: Apr 2009
Posts: 378
Likes: 17
From: Ontario, Canada
Car: 1987 IROC-Z
Engine: L98 5.7L
Transmission: MD8 700R4
Axle/Gears: G80 GW6 3.27:1
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Very cool
Reply
Old Oct 5, 2018 | 04:25 AM
  #8  
J.C. Denton's Avatar
Member
15 Year Member
Liked
Loved
Community Favorite
iTrader: (1)
 
Joined: May 2008
Posts: 416
Likes: 82
From: Viersen, Germany
Car: 85 Iron Duke, 88 GTA and 92 TA
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

That's what I ever wanted to do... Please teach us how to!
Reply
Old Oct 7, 2018 | 01:24 PM
  #9  
David Wade's Avatar
Junior Member
 
Joined: Apr 2013
Posts: 16
Likes: 0
From: Craig, Colorado
Engine: 5.7L TPI
Transmission: T-5
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I'd be interested in a how to. I'd love to build one that would hang out in the car like in the video.
Reply
Old Dec 27, 2018 | 11:35 PM
  #10  
LeeLeadingham's Avatar
Junior Member
 
Joined: Nov 2018
Posts: 1
Likes: 0
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I'm interested in a How-to on this as well!
Reply
Old Jan 16, 2019 | 03:57 PM
  #11  
Tootie Pang's Avatar
Supreme Member
15 Year Member
iTrader: (2)
 
Joined: Aug 2009
Posts: 1,972
Likes: 127
From: Los Angeles
Car: 1989 IROC Convertible
Engine: 350 TPI L98
Transmission: WC T5
Axle/Gears: 3.42
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Me seven!
Reply
Old Feb 11, 2019 | 04:05 PM
  #12  
gbeaird's Avatar
Member
20 Year Member
iTrader: (1)
 
Joined: Sep 2004
Posts: 322
Likes: 84
From: Pearland, Texas
Car: 1985 Firebird & 1992 Camaro B4C 1LE
Engine: 310 LS1. & 305
Transmission: TH350 & T5
Axle/Gears: 9" 3.73
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Yes, cool! I grabbed one of these to play around with in the home office. I was trying to run it over wifi, though, and something somewhere kept timing out, or going into sleep mode, disconnecting it from the network that only a reboot would fix. I shelved the project until I get a larger home router so I can hard wire the thing into the network. Other projects, though.....

You're not the only one who's done this. I've seen someone on another forum who's messing with the Pi to datalog on his vehicles.
Reply
Old Feb 11, 2019 | 07:59 PM
  #13  
David Wade's Avatar
Junior Member
 
Joined: Apr 2013
Posts: 16
Likes: 0
From: Craig, Colorado
Engine: 5.7L TPI
Transmission: T-5
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

The Pi displaying the stats from the computer won't need a network connection, Unless you are talking a bluetooth connection between the PI and the adapter. I haven't seen many OBD1 units that have bluetooth. It uses the 12v power and the ALDL cable in the picture. The PI would need to be able to run a program that can decode the stream across the USB connection. If I knew how to do that in Python I could probably come up with a cool display.
Reply
Old Feb 15, 2019 | 10:43 AM
  #14  
86CamaroDan's Avatar
Senior Member
 
Joined: Jan 2008
Posts: 631
Likes: 7
From: Massachusetts
Car: 86' IROC
Engine: Supercharged 350
Transmission: T56
Axle/Gears: 3.45
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Thats frigin sweet. I need to get something like this for my MS2. This power on/off with ignition power?
Reply
Old Mar 26, 2019 | 08:27 AM
  #15  
Lando-Cal's Avatar
Junior Member
 
Joined: Mar 2019
Posts: 1
Likes: 0
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Hey OP, I know I'm a bit late to the party here, but can you link your repo? I'd love to extend this to the $42 TBI I'm on.
Reply
Old Mar 27, 2019 | 09:33 AM
  #16  
HellHound's Avatar
Junior Member
iTrader: (1)
 
Joined: Sep 2016
Posts: 98
Likes: 0
From: In my trans am
Car: I drive trans am. Duh
Engine: Yes, I have one in the trans am
Transmission: I have one of those too In trans am
Axle/Gears: In the rear of trans am
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I think he forgot about us. Best guess is he is having a fun time playing with that thing...
Reply
Old Jul 25, 2020 | 11:51 AM
  #17  
cosmonautpg's Avatar
Thread Starter
Junior Member
 
Joined: May 2014
Posts: 54
Likes: 2
From: San Jose, CA
Car: 1992 Camaro RS
Engine: LH0 V6
Transmission: A4
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

Hey all -- apologies as the last year as been a bit busy but I'm jumping back into my ALDL work. I'll post here as I dig it back up and start making progress again!
Reply
Old Aug 16, 2025 | 05:00 PM
  #18  
AirwolfPL's Avatar
Junior Member
20 Year Member
 
Joined: Apr 2004
Posts: 28
Likes: 0
From: Warsaw
Car: '89 Chevrolet Camaro IROC-Z
Engine: LB9 305cid TPI
Transmission: TH700R4
Axle/Gears: 10-bolt, 3.42
Re: Project: Fully-customizable Raspberry Pi-based ALDL Monitor for OBD-I ECMs

I fixed the ALDL-IO for Raspberry Pi 5:

after downloading last version (1.6.2) from https://ecmhack.com/misc/raspberry-p...arddatalogger/ you need to install correct libraries for RPi5:

apt install build-essential libftdi1-dev libncurses-dev libtinfo-dev

then replace the contents of the Makefile with:


# compiler flags
CFLAGS= -O2 -Wall
OBJS= acquire.o error.o loadconfig.o useful.o aldlcomm.o aldldata.o consoleif.o remote.o datalogger.o mode4.o
LIBS= -lpthread -lrt -lncurses -lncursesw -lftdi1 -ltinfo

# install configuration
CONFIGDIR= /etc/aldl
LOGDIR= /var/log/aldl
BINDIR= /usr/local/bin
BINARIES= aldl-ftdi aldl-tty aldl-dummy

.PHONY: clean install stats

# not building tty driver by default yet
all: aldl-ftdi aldl-tty aldl-dummy
@echo
@echo '*********************************************************'
@echo ' Run the following as root to install the binaries and'
@echo ' config files: make install'
@echo '*********************************************************'
@echo

# not installing tty driver by default yet
install: aldl-ftdi aldl-dummy
@echo Installing to $(BINDIR)
cp -fv $(BINARIES) $(BINDIR)/
ln -sf $(BINDIR)/aldl-ftdi $(BINDIR)/aldl
@echo 'Creating directory structure'
mkdir -pv $(CONFIGDIR)
mkdir -pv $(LOGDIR)
@echo 'Copying example configs, will not overwrite...'
cp -nv ./config-examples/* $(CONFIGDIR)/
@echo
@echo '*******************************************************'
@echo ' No automatic updates of configs are done. Please see'
@echo ' examples/ if this was an existing installation, and'
@echo ' attempt to merge these changes manually...'
@echo '*******************************************************'
@echo
@echo '****************************************************************'
@echo ' The default log directory is /var/log/aldl, if you are running'
@echo ' this program as a regular user, you must change permissions on'
@echo ' that directory...'
@echo '****************************************************************'
@echo
@echo Install complete, see configs in $(CONFIGDIR) before running

aldl-ftdi: main.c serio-ftdi.o config.h aldl-io.h aldl-types.h $(OBJS)
gcc $(CFLAGS) main.c -o aldl-ftdi $(OBJS) serio-ftdi.o $(LIBS)
@echo
@echo '***************************************************'
@echo ' You must blacklist or rmmod the ftdi_sio driver!!'
@echo ' Debian users can try the debian-config.sh script. '
@echo '***************************************************'
@echo

aldl-tty: main.c serio-tty.o config.h aldl-io.h aldl-types.h $(OBJS)
@echo 'The TTY serial driver is unfinished,'
@echo 'Using it will simply generate an error.'
gcc $(CFLAGS) $(LIBS) main.c -o aldl-tty $(OBJS) serio-tty.o $(LIBS)

aldl-dummy: main.c serio-dummy.o config.h aldl-io.h aldl-types.h $(OBJS)
gcc $(CFLAGS) $(LIBS) main.c -o aldl-dummy $(OBJS) serio-dummy.o $(LIBS)

useful.o: useful.c useful.h config.h aldl-types.h
gcc $(CFLAGS) -c useful.c -o useful.o

loadconfig.o: loadconfig.c loadconfig.h config.h aldl-types.h
gcc $(CFLAGS) -c loadconfig.c -o loadconfig.o

acquire.o: acquire.c acquire.h config.h aldl-io.h aldl-types.h
gcc $(CFLAGS) -c acquire.c -o acquire.o

error.o: error.c error.h config.h aldl-types.h
gcc $(CFLAGS) -c error.c -o error.o

serio-ftdi.o: serio-ftdi.c aldl-io.h aldl-types.h config.h
gcc $(CFLAGS) -c serio-ftdi.c -o serio-ftdi.o

serio-tty.o: serio-tty.c aldl-io.h aldl-types.h config.h
gcc $(CFLAGS) -c serio-tty.c -o serio-tty.o

serio-dummy.o: serio-dummy.c aldl-io.h aldl-types.h config.h
gcc $(CFLAGS) -c serio-dummy.c -o serio-dummy.o

aldlcomm.o: aldl-io.h aldlcomm.c aldlcomm.h aldl-types.h serio-ftdi.o config.h
gcc $(CFLAGS) -c aldlcomm.c -o aldlcomm.o

aldldata.o: aldl-io.h aldl-types.h aldldata.c aldlcomm.o config.h
gcc $(CFLAGS) -c aldldata.c -o aldldata.o

consoleif.o: consoleif.c modules.h
gcc -lncurses $(CFLAGS) -c consoleif.c -o consoleif.o

datalogger.o: datalogger.c modules.h
gcc $(CFLAGS) -c datalogger.c -o datalogger.o

remote.o: remote.c modules.h
gcc $(CFLAGS) -c remote.c -o remote.o

mode4.o: mode4.c modules.h
gcc $(CFLAGS) -c mode4.c -o mode4.o

clean:
rm -fv *.o *.a $(BINARIES)

stats:
wc -l *.c *.h */*.c */*.h
then enter commands:
make clean
make
make install

And it will compile OK.

Also I'm looking for definitions file for TPI ECM (IROC-Z) if anybody has it...

I'm going to integrate ALDL-IO into my on-board AI Agent (think of it as KITT) so it will have access to the ALDL readouts.
Reply
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Pelle
DFI and ECM
5
Oct 22, 2011 07:32 AM
epsmotorsports
Electronics
6
Nov 8, 2008 10:57 PM
chevyowner02
LTX and LSX
2
Jul 31, 2006 03:53 PM
Blown WS6
Engine Swap
23
Apr 12, 2005 07:21 PM




All times are GMT -5. The time now is 05:13 AM.