Showing posts with label serial. Show all posts
Showing posts with label serial. Show all posts

Wednesday, January 10, 2018

Decoding GM's ALDL with Teensy 3.6


I want to log my Jeep's Engine Control Module (ECM) diagnostic data reliably and inexpensively any time the vehicle is running so I can tune it to pass emissions tests and reduce pollution.

To do that, I am using a new Teensy 3.6 microcontroller to first decode the data stream out of the ECM and then store it on a microSD card for later retrieval.

My Jeep is running a retrofitted General Motors #1227747 ECM, which is the brains of a mid-80's Throttle Body Injection (TBI) system found on Chevy and GMC trucks.

The ECM, which predates OBDII systems, spits out a serial data stream called Assembly Line Diagnostic Link (ALDL) at 160 baud. This data stream protocol is nothing like plain old RS-232 serial protocol, however...

Friday, April 30, 2010

RS-232 to TTL level shifter

While working on equipping Pokey with a bluetooth modem (articles forthcoming), I found that I needed an RS-232 to TTL level shifter, so I could safely hook up the modem to the PC for troubleshooting.  I probably should've saved the time and bought one from Sparkfun Electronics.  But, it was fun to build.  Here's how.

A re-purposed computer mouse cable with PS/2 connector plus a DB9 adapter provided the connectivity to the computer on one end and the bluetooth modem on the other. Some web searching uncovered a few suitable circuits.  I selected the SparkFun diagram (pdf), which I drew up in Eagle, then laid out a board to fit into one of the small enclosures I got from the TGIMBOEJ awhile back (a Hammond 1551KBK). Here are the Eagle files for the project.

SparkFun Circuit Diagram in Eagle

POV-Ray Rendering With Eagle3D

Fabricating the PCB went easier this time than in prior projects. I used single-sided board this time and the transfer went really well too.  Instead of using just the sponge, I soaked the board in pure ferric chloride for about a half hour then scrubbed with a sponge (and no water this time!). The copper came off lickety split. Took about 2 or 3 hours from inception to completed device. Not bad!

The etched and drilled level shifter PCB

The populated circuit board, enclosed, and wired

Completed RS-232/TTL Level Shifter

I'll admit that the circuit didn't work the first time I tried it, but a little bit of troubleshooting and rewiring had it working perfectly in no time!  What's nice is that I can now use this for all kinds of serial communications projects and it is dandy for troubleshooting communications.