FlexScan - The DIY-Scantool

by Oliver Scholz

Note: this is a work in progress and is not quite finished yet. But finally, the schematics and board layouts are online! My prototype board works and finally the software is done as well, at least a beta version. I'll be open to feedback and I'd like to hear your opinions if you like this project

General

Image of FlexScan board The FlexScan is a flexible, standalone handheld scantool base for experimenting with automotive data streams. It is designed for the Do-It-Yourselfer and the entire schematics and documentation are/will be published. It is based on the popular 8032 microcontroller family, so there are a wealth of freeware and shareware tools available. You will need a good working knowledge of this CPU and a solid background in electronics if you want to undertake this object.

FlexScan currently supports three different data formats: GM's 160 baud C3 data stream, GM's 8192 baud UART format and the modern GM Class 2 (J1850) standard. Since some Chrysler cars use a compatible standard, the J1850 part might also be used on late Chrysler vehicles. I don't know about that though. Note: Class 2 is only supported if the optional Motorola MC68HC58 DLC (Data Link Controller) IC and related circuitry are used. These components are not necessary in order to use FlexScan as a scantool for the C3 and UART data streams. The board has provisions for these parts and support can also be added at a later time if necessary.

Image of FlexScan FlexScan consists of a 12 key keypad, a 2x16 LCD display, the CPU with on-chip operating system and a socket for an application program EPROM. It further has a power supply suitable to connect the scantool to the vehicle's power supply, e.g. the cigarette lighter socket.

FlexScan is a base for experiments, it is not a fullly featured scantool. Since each vehicle is different, you will have to do some experimenting to decode the data received by the unit, but you will be relieved of the burden of low level protocols and data acquisition.

Also the FlexScan operating system offers many functions that make converting and displaying common values found in GM data streams simple. Plus, the software provides some debugging support, so you can quickly get started even without expensive in-circuit simulator tools.

Image of FlexScan Image of FlexScan Connector The CPU features an "Operating System" that I called ScanOS which provides these services and more. It can read an item in memory and convert the data to something readable. But it is up to *you* to tell the scantool what that data means. Usually you can look at a byte, disconnect a sensor, and compare the differences and thus figure out most of the data stream. You can also borrow a commercial scantool and compare the data to what it displays. The datastream information for some vehicles/ECMs has also been published on the internet, the gm_ecm-page has some links which can be a good starting point even if your ECM information is not available.

These pages here show some demonstration code snippets as well as the implementation of a full fledged scantool application that supports all Pontiac Fieros ever made. This one is actually finished and running now on the beta version of ScanOS. You can use this "sample application" as a basis for your own experiments and modify it to your heart's content.

The pinout I used for the 9 pin female connector to plug into the scantool is:

  1. Signal ground
  2. Chassis ground
  3. NC
  4. ALDL
  5. NC
  6. 10k output
  7. J1850
  8. NC
  9. Battery power

One more thing you have to make yourself is the plug to use with the ALDL connector. The board only provides 4 terminals:

It is up to you to get or manufacture a connector to plug into your ALDL port and make a cable to connect to the scantool. If you prefer to buy a ready-made cable, you can try the one available at scantool.net, but this cable is for modern OBD2 cars only and will not work with C3 ECM cars like the Fiero.

Oh, yet one more note: I can of course take no responsibility that FlexScan works with your vehicle. I own a Fiero and it works on my cars, and the sample application can be used as a basis for your own experiments. Chances are that many variables in the data stream mean the same thing for the Fiero as in your vehicle. But that is up to you to find out. I will not be able to help you program your application or build the scantool for you. So don't even ask. Not even for a date with Kate Beckinsale or Anna Friel (Really. Although... nah). I also can not help you locate sources for the various components, esp. the Motorola MC68HC58 DLC-chip. Except for that one, all (critical) parts are readily available from sources like DigiKey or others for example. In some cases a similar but functionally identical part may be substituted. You be the judge. You will probably not get many parts at your local Radio Shack, this project is much too specialized. On the other hand, I tried to stick to parts as commonly available as possible. I did choose mostly surface mount parts for size reasons, but if you don't want to fit your device into a handheld box, regular sized parts will work fine too. As far as transistors are concerned, they are all NPN, universal type, nothing fancy. You may have trouble getting anywhere with the European transistor types in some places of the world.

I do not offer boards, kits, cases or tools to help you with this project. You may email me for email assistance, but I can't promise you I'll have the time to respond in a timely fashion and I won't mail you any material. I also can not supply you with any further information on the Class 2/J1850 protocol. You can acquire those from SAE. Some relevant documents are J1850 and J2178 parts 1 through 4. But I don't even own these myself, so don't ask for copies.

However, I can offer you a processor programmed with the Scan OS at cost, you can email me for details. I do not offer it as a download (yet) because it's still a beta version, and I'd like to track who has one, and get to know their experiences and possibly improve ScanOS and remove any bugs undoubtedly still in it. Maybe if there is sufficient interest we can start a FlexScan webring and I'll be glad to publish your FlexScan application files if you like.

Click here to continue


There have been visitors to this site since May 31, 2000.