Manual

The VetteALDL manual

From plugging in the cable to reading the body computer – the same help that is built into the app, in six languages.

Quick start

New to VetteALDL? These eight steps take you from the download to your first trouble codes and live data. Each step links to the full explanation further down.

  1. What you need – a Corvette from 1982–1995, a Windows laptop and an ALDL cable, ideally the VetteALDL cable (The cable). No car at hand? The built-in simulator lets you try everything (Simulator).
  2. Install – run VetteALDL-Setup-<version>.exe and keep Install the FTDI cable driver (recommended) ticked. No administrator rights needed (Installing and updating).
  3. Plug in – cable into the laptop, then into the ALDL connector under the dash on the driver's side. Ignition ON; the engine may be off or running (Connecting to the car).
  4. Choose your car – on the Connection page pick your Corvette from the vehicle list, or press Auto-detect (Vehicles and auto-detect).
  5. Connect – leave Cable driver on Automatic (recommended) and press Connect. The lamp in the title bar turns green when the ECM answers. It does not? Run the Connection debugger.
  6. Read the trouble codes – Trouble codes → Read codes now. Every code comes with a plain explanation and a diagnostic path under More (Trouble codes).
  7. Watch the engine – Dashboard and Live data show every value with its normal range; LiveDoctor points out readings that do not add up and offers step-by-step guided tests (Dashboard and Live data, Guided tests).
  8. Get help – every connection is recorded. If something looks wrong, open Sessions & support, create a support bundle and press Send to the VetteALDL team (Reporting a problem).

Safety: before any output test the car must be parked, parking brake on, transmission in P/N. Road tests only with a passenger working the laptop.

What VetteALDL is

VetteALDL reads and tests the electronics of 1982–1995 Corvettes from a Windows laptop through the car's ALDL diagnostic connector: live engine data, trouble codes with plain-language explanations, and tests that lead you to the faulty part. It is three pieces designed together, so the only unknown left is your car:

  1. The VetteALDL cable – a USB cable with a genuine FTDI chip and an open-collector driver that behaves on the ALDL wire exactly like the car's own modules (see Cable).
  2. The VetteFTDI driver – our own user-space driver for FTDI chips. It talks to the chip directly through Microsoft's WinUSB, so FTDI driver versions, fake-chip sabotage and 16 ms latency no longer matter. The VetteALDL cable does not need it (it uses FTDI's own signed driver); VetteFTDI is for cables with fake chips.
  3. This application – live data with normal ranges; trouble codes of the engine computer (ECM), body computer (CCM), ABS/ASR and air bag (SIR) with diagnostic paths; LiveDoctor and guided tests; recordings you can play back; output tests; dash diagnostics; a connection debugger, a bus monitor and the Virtual Tech 1 (GM's Tech 1 scanner, emulated). In six languages, free, with no ads and no tracking.

Terms used in this manual: ECM = the engine computer (GM calls the 1994–95 one PCM); body computer (CCM) = the Central Control Module of 1990–96 cars (body functions, Pass-Key, instrument cluster); trouble code = a fault a computer has detected and stored; output test = VetteALDL tells a computer to switch a part on or off.

The window at a glance

The menu on the left follows the way you work at the car: connect, look, diagnose, test. A page that does not apply to the selected car says so.

MenuWhat it is for
ConnectionChoose your car and cable and connect – Connecting to the car
Dashboard, Live dataEngine values as gauges and as a full table with normal ranges and charts – Dashboard and Live data
Trouble codesRead, understand and clear codes – Trouble codes
LiveDoctorAutomatic findings and step-by-step guided tests – LiveDoctor, Guided tests
RecordingsPlay back any earlier connection – Recordings
Body & switches, ABS / ASR, Air bag (SIR)The other computers of 1990–93 cars – Body & switches, ABS / ASR, Air bag (SIR)
ActuatorsOutput tests: switch fans, relays, lamps and more – Output tests
Dash diagnosticsRead module codes on the instrument cluster – Dash diagnostics
Virtual Tech 1Run GM's Tech 1 software from your own cartridge images – Virtual Tech 1
Help, SettingsThis manual; preferences, your own definitions and updates – Settings
ToolsConnection debugger, Bus monitor, Cable, Sessions & support – folded away at the bottom of the menu; click Tools to open the group – Connection debugger, Bus monitor, The cable, Sessions

The title bar shows the connection lamp and state (Connecting to the car), an EXPERT chip while Expert mode is on, the language (EN, PL, DE, ES, FR, IT), the units (°C km/h or °F mph) and the day / night theme button ◐. A bar on top of the page appears when the live data do not fit the selected car (automatic check); the player bar at the bottom appears while a recording plays. The number next to LiveDoctor in the menu counts its active findings, and short messages appear in the corner of the window. Buy me a coffee at the bottom of the menu opens the project's support page in your browser.

Installing and updating

Install VetteALDL once on your Windows laptop; newer versions install over it and keep your data.

  1. Download the installer VetteALDL-Setup-<version>.exe from vettealdl.com. Beta versions are marked as pre-releases; the .sha256 file next to the installer lets you check the download.
  2. Run it. It installs for your Windows user only (by default in %LOCALAPPDATA%\Programs\VetteALDL) and needs no administrator rights. Options: Create a desktop shortcut, Install the FTDI cable driver (recommended) – Windows asks for permission once, nothing else to click – and Start VetteALDL when finished.
  3. VetteALDL opens in its own window with its own built-in browser engine; it does not depend on your web browser.

Updating: Check for updates in Settings → About asks vettealdl.com whether a newer version exists (only when you press it) and offers Download. Close VetteALDL and run the new installer over the old one – your sessions, recordings and settings stay.

Uninstalling: Windows Settings → Apps, or Uninstall.exe in the program folder. Your data in %LOCALAPPDATA%\VetteALDL is kept unless you tick Also delete my data (sessions, recordings, logs, settings).

Window and zoom: the window opens no larger than your screen and remembers its size, position and zoom. Ctrl +, Ctrl − and Ctrl + mouse wheel zoom, Ctrl 0 returns to the automatic size (more).

Connecting to the car

The Connection page is where you choose your car and cable and start talking to the car – open it first every time you work on the car.

  1. Plug the cable into the laptop and into the ALDL connector under the dash on the driver's side.
  2. Turn the ignition ON. The engine may be off or running.
  3. Check that your car is selected under Vehicle. The box below the list shows the model years, engine, ECM, mask, the ALDL speed, the data pin and whether the 10 kΩ A–B resistor is needed (Vehicles and auto-detect).
  4. Leave Cable driver on Automatic (recommended); it shows Cable found when the cable is plugged in (Cable drivers).
  5. Press Connect. The chain under the lamp lights up link by link: Cable → ALDL bus → ECM answers → Live data. Once it is green, open the Dashboard, Live data or Trouble codes.
  6. Press Disconnect when you are done – VetteALDL hands the bus back to the car.

If the connection fails or is lost, the page offers the Connection procedure and the Connection debugger; Problem connecting? opens the procedure at any time. Connection details shows the counters (samples, frames, echo, garbage, timeouts, framing errors) and the Engine log.

The tell-tale lamp

The lamp in the title bar works like a dash warning lamp: grey = disconnected, amber = cable open / connecting (and while a recording plays), green = the ECM answers and data flows, red = lost contact or error. Next to it the state is spelled out – for example Cable OK – waiting for the bus, ECM responding, Live data, Receiving 160 baud or Lost contact with ECM – and while data flows, how the bus was taken and the samples per second.

Connection procedure – first time or after a change

With a new cable, a new laptop or when something has changed, follow these steps in order. The same steps are in the Connection procedure box at the bottom of the Connection page.

  1. Cable on the bench – cable into the laptop only, not into the car yet → Connection debugger, steps 1 and 2.
  2. In the car, ignition OFF – cable into the ALDL connector under the dash (driver's side) → debugger step 3.
  3. Ignition ON (engine off) → debugger step 4. This step also recognises your ECM (auto-detect).
  4. Cable driver – keep the interface on Automatic. The VetteALDL cable uses a genuine FTDI chip: its driver comes with the installer, or from Windows Update when the cable is plugged in. No driver yet? Press Install cable driver – Windows asks for permission once. Only fake FTDI chips need the advanced VetteFTDI mode (Cable drivers).
  5. Connect – Connection → Connect. The green lamp means the ECM is answering.
  6. Something does not work? – Sessions & support → Create support bundle and send it (Reporting a problem). Your session can be replayed byte by byte.

1982–88 cars (160 baud)

The 1982–88 engine computers send their data slowly (160 baud) on pin E, and most of them send the full data list only with a 10 kΩ resistor between ALDL pins A and B – the switch on the VetteALDL cable. VetteALDL only listens to these ECMs (state Receiving 160 baud); they cannot be commanded, so there are no output tests. See Do I need the 10 kΩ resistor?

Sharing the bus with the body computer (1990–95)

On 1990–95 Corvettes several computers share the one ALDL wire and the body computer (CCM) is in charge: it asks the ECM for data about every 200 ms to drive the dash. VetteALDL has to take turns with it. The Auto strategy handles this by itself; change it only when a connection behaves oddly.

How it works: VetteALDL takes the bus the way the factory-era DataMaster did – it waits for the CCM's presence poll F0 56 F1 C9 and answers within milliseconds with F1 56 08 B1. While connected it keeps the dash and HVAC refreshed, and hands the bus back (mode 0) when you disconnect. If the CCM will not be silenced, the app rides on the CCM's cycle instead ("synchronised" – slower, but the dash keeps working).

Connection → Advanced:

  • Bus access strategy – Auto (CCM link-up → silence → sync), CCM link-up only (DataMaster style), Silence with the definition macro (TunerPro style), Never silence – ride on the CCM cycle (dash stays alive) or Listen only (never transmit).
  • Keep the dash and HVAC refreshed while connected – on by default.
  • Sample-rate limit – as fast as possible, or 10, 5 or 2 samples per second.
  • Cable echo – whether VetteALDL expects to hear its own bytes come back (single-wire cables echo everything they send); leave it on auto.

Starting the engine while connected: start the engine first and then connect – or choose Never silence while cranking, so the body computer keeps its normal exchange with the ECM.

Simulator – practise without a car

Choose Simulator (demo, no car) as the cable driver to connect to a virtual Corvette of the selected type on a virtual bus. Use it to learn the app at home or to rehearse the debugger: Simulated situation injects typical faults – ignition off, data wire on an empty pin, wires swapped, ground not connected, a cable with TX tied to the bus, a 160 baud car, fake FTDI garbage, a broken RX or TX wire, electrical noise, or a body computer that talks while the ECM is dead. Simulated CCM obeys silence (mode 8) sets how the simulated body computer reacts.

Cable drivers – which one to choose

Windows needs a driver to talk to the USB chip in the cable. In almost every case Automatic finds the cable and its driver by itself and you need nothing else.

Leave Cable driver on Automatic (recommended): VetteALDL finds the cable by itself – FTDI's own driver first, then a cable bound to WinUSB (VetteFTDI), then any USB-serial COM port – and shows Cable found (or Cable in use by this connection); Rescan looks again. The VetteALDL cable uses a genuine FTDI FT232R, and FTDI's Microsoft-signed driver comes with VetteALDL: the installer sets it up (one Windows permission prompt, nothing else to click), or press Install cable driver on the Connection page. Windows Update also installs it by itself when the cable is plugged in on a PC connected to the internet. With FTDI's driver you get 2 ms latency, exact 8192 baud, framing-error reporting and an EEPROM check.

FTDI D2XX

Uses FTDI's own D2XX library (installed with FTDI's driver) directly – what Automatic picks for a genuine FTDI cable. 2 ms latency and error reporting.

COM port

COM port (FTDI VCP / other) is for other USB-serial adapters (CH340, CP210x, PL2303) that accept 8192 baud. With an FTDI adapter in COM-port mode set Device Manager → Ports → USB Serial Port → Port Settings → Advanced → Latency Timer to 1 ms; the port list shows the current latency.

VetteFTDI (advanced – fake FTDI chips)

Cheap cables often carry fake FT232 chips that FTDI's current driver refuses (garbage data or a dead cable). VetteFTDI is our own user-space driver: it talks to the chip through Microsoft's WinUSB, so it works with genuine and fake chips alike, with 1 ms latency and framing-error reporting. The cable must first be bound to WinUSB once with the bundled Zadig (Akeo Consulting, GPLv3):

  1. Choose VetteFTDI – fake FTDI chips (advanced) on the Connection page and press Install VetteFTDI driver… → Start Zadig. Windows asks for permission – answer Yes.
  2. In Zadig pick your cable. Check the USB ID: 0403 6001 (FT232R) or 0403 6015 (FT231X/FT230X); a clone "bricked" by FTDI driver 2.11 shows 0403 0000 – that one is right too. Never pick your mouse, keyboard or any other device.
  3. WinUSB is already selected: press Replace Driver (or Install Driver) and wait up to a minute.
  4. Close Zadig, press Rescan and choose VetteFTDI.

While WinUSB is bound the cable has no COM port, so old programs (TunerPro, DataMaster) cannot use it. To undo: Device Manager → Universal Serial Bus devices → your cable → Uninstall device, tick "Attempt to remove the driver for this device", then unplug and re-plug the cable.

Why "driver lottery" happened with old tools

  • FTDI driver 2.11 (2014) rewrote the product ID of fake FT232RL chips to 0000 – the cable "disappears".
  • FTDI driver 2.12 (2016) injected the text "NON GENUINE DEVICE FOUND!" into the data – programs showed garbage.
  • The default 16 ms latency makes the Corvette CCM link-up miss its few-millisecond window.
  • Many programs only open COM1–COM4 (DataMaster) or COM1–COM9 (FreeScan, WinALDL).

VetteALDL avoids all of these, and the Connection debugger detects each of them.

Vehicles, definitions and auto-detect

Each Corvette engine computer sends its data in its own layout, so VetteALDL has to know which one your car has: pick your car once from the list, or let Auto-detect find it.

A definition tells the app how to talk to one ECM family and how to decode its data. The built-in Corvette library covers every OBD1 Corvette; what VetteALDL can read over the cable depends on the car:

Car (definition)Engine data and codesOutput testsBody computerABS/ASRAir bag
1982 and 1984 L83 Cross-Fire, 1985 L98 ($1F)✓ (160 baud)––––
1986 L98 ($32), 1987–88 L98 ($32B)data (160 baud); codes on the check-engine lamp––––
1989 L98 ($6E)✓✓–––
1990–91 L98 ($8D)✓✓ incl. body computer✓lamp flash codes✓
1990–92 ZR-1 LT5 ($8E)✓✓ incl. ZR-1 secondary system and body computer–lamp flash codes (1990–91)✓
1992–93 LT1 ($DA2)✓✓ incl. body computer✓✓✓
1993–95 ZR-1 LT5 ($F0)✓––––
1994–95 LT1 ($EE)✓✓–status and codes with the engine datastatus and codes with the engine data

✓ = read or tested over the cable. Where the table shows – or a lamp, Dash diagnostics shows how to read that module's codes on the instrument cluster or on its warning lamp.

The "$8D" style name is the mask – GM's software ID inside the ECM's PROM. The same ECM hardware runs different masks in different cars, and the data layout depends on the mask.

Auto-detect (on the Connection page, ignition ON) listens to the bus, tries 160 baud if needed, politely takes the bus, sends every known data request and scores each matching definition by how physical the numbers look (battery 10–16 V, coolant, MAP, TPS…). It shows its progress, a Confidence and the best candidates with a Use button. Enter the Year and Engine when two ECMs answer identically (e.g. 1992–93 LT1 and ZR-1) – the car you give wins.

You can import your own TunerPro .adx file in Settings; it appears under Your definitions.

Does the selected car fit? (automatic check)

Several ECMs send replies of the same size with a different layout – read with the wrong definition the numbers still move, they are just nonsense (e.g. 3000 rpm with the engine off). While reading, VetteALDL decodes the same bytes with every definition of that ECM and keeps the one whose numbers make physical sense. When the choice is clear it switches by itself and tells you; otherwise a bar on top of the page offers Switch. Output tests stay blocked until the data fit the selected car. With the engine off a 1992 LT1 and a ZR-1 look alike – select your car; once the engine runs the difference is obvious.

VetteALDL also warns when the ECM reports a 10 kΩ resistor or a short between A and B, when the data look implausible or when the reply length does not match the definition.

Checked against GM's Tech 1

The engine and body definitions were compared field by field with the data lists of GM's own Tech 1 software running in VetteALDL's emulator: wrong scalings and inverted status bits of the community definitions were corrected, every trouble code of the 1989–93 ECMs and the 1992–93 body computer sits on the bit GM uses, and the 1984 L83 and 1985 L98 (160 baud) data were checked the same way. Details: docs/tech1-datalists.md in the project.

Connection debugger

The Connection debugger finds out why a connection does not work – PC, driver, cable, connector or car – with four short tests run in order. Use it the first time, with a new cable, or whenever the lamp does not turn green.

  1. 1. Computer & driver – cable in the PC only. Lists ports and USB chips, checks the drivers and the FTDI EEPROM (inverted lines, bricked PID) and tries to open the cable.
  2. 2. Cable on the bench – cable in the PC, not in the car. Echo test: every byte sent must come back clean (finds broken TX/RX, a missing pull-up, a 3.3 V board, fake-driver garbage).
  3. 3. In the car, ignition OFF – is the data wire on a ground pin (swapped wires), is the line quiet (missing ground)?
  4. 4. Ignition ON – engine off or running; enter the year and engine if you know them. Is there bus traffic, does the ECM answer, which ECM is it? A silent bus means a wrong or empty pin; garbage means a ground problem, a 160 baud car or a TX-tied cable.

Select a step and press Run this test; when a step passes, the next one is selected for you. Start over clears the results. The Conclusions are ranked (fail → warn → info → OK), each with its evidence and how to fix it; a root cause hides the problems that follow from it. The debugger uses the cable driver chosen on the Connection page (shown as Interface) and closes the connection – press Connect again afterwards.

Dashboard and Live data

The Dashboard and Live data pages show what the engine computer measures right now – use them to watch the engine while it runs, to check a sensor, or to see whether a value is normal.

Dashboard

Gauges for engine speed, vehicle speed, coolant, MAP, throttle and battery with LCD read-outs, and tiles for the other key values your ECM sends – O2, fuel trims (BLM, INT), spark advance, IAC, knock retard, air and oil temperature, injector pulse, desired idle – each with min/max and a small trend line. Hover over a tile to see what the value means. Two cards list the trouble codes and LiveDoctor findings reported now; click one to open its page.

CSV log: Record CSV log saves every value to a file until you press Stop recording; Sessions & support → Open CSV logs opens the folder. The file opens in Excel – tick CSV logs with decimal comma (European Excel) in Settings if your Excel expects decimal commas. You do not need a CSV log to review a drive later: every connection is recorded anyway (Recordings).

Live data

Three tabs:

  • All values – every value the ECM sends, with Now, unit, Normal range and min/max since connecting. The small i button next to a name explains the value and gives its typical reading on a warm engine at idle.
  • Chart – up to four values of your choice over the last 60 seconds.
  • Status flags – every on/off signal (closed loop, fans, A/C…) as a lamp.

Units follow the °C km/h / °F mph switch in the title bar.

Normal ranges

The Normal column shows what a healthy C4 reads in the present engine state – key on / engine off, running, warm, idle; the app picks the state from the live values and names it above the table (Normal ranges for: …). A value just outside is amber (outside normal), one clearly out of spec red (clearly out of spec); hover over the range for a note. Sources: GM's Tech 1 scalings, the service manual (sensor voltages, charging, O2) and typical values of healthy cars where the manual gives none (idle rpm, IAC, fuel trims, spark). A red value is a place to look, not a verdict.

Trouble codes

A trouble code is a computer's note that it saw a fault. The Trouble codes page reads them, explains each one in plain language and gives you a diagnostic path – start here when a warning lamp is on or the car misbehaves.

Reading codes

Press Read codes now: VetteALDL connects if needed, waits for fresh data and tells you what is stored. Codes reported now shows each code with a big LCD number, a short plain-language title and a More section: what the ECM detected, symptoms, likely causes (most common first), a step-by-step diagnostic path with expected values, specifications, what to watch in Live data and notes. Code meanings depend on the ECM family – VetteALDL always uses the one for your selected car. The list All codes this ECM can report shows every code with SET or not set.

Look up a code: type a number into the box at the top right – for example a code flashed on the check-engine lamp – and press the search button. It works without a connection.

Clearing codes

Write the codes down (or create a support bundle) and clear them only after the repair – clearing erases the evidence of intermittent faults. Clear codes clears the ECM (ignition ON, engine OFF); Clear CCM codes and Clear ABS/ASR codes clear only that module. Each asks you to confirm with the tick I have written the codes down / exported a support bundle. A fault that is still present sets its code again. Every clear is marked in the recording.

Body computer (CCM), ABS/ASR and air bag codes

With the 1990–91 L98 and 1992–93 LT1 definitions VetteALDL also reads the body computer every few cycles (GM data lists A111 for 1990–91 and A173 for 1992–93): fuel level, voltages, doors, hatch, key, PASS-Key state, season odometer, oil-life counter, relays and telltales, plus its trouble codes – current ones as C13…C74 next to the ECM codes, stored ones as H… under Stored in the body computer (CCM), exactly like the speedometer shows them in DIAG mode (C41 = loss of ECM data). On 1992–93 LT1 cars the ABS/ASR module is read too (GM A175) with its codes A21…A83 (ABS / ASR). Current air bag codes appear here as well; the Air bag (SIR) page adds the history codes. On 1994–95 LT1 cars the ABS/ASR and air bag status and codes come with the engine data and appear on this page.

LiveDoctor

LiveDoctor is a second pair of eyes on the live data: it spots readings that contradict each other or a healthy engine and tells you what to check next. It works by itself whenever data flow – there is nothing to start.

Examples: throttle almost closed at 90 km/h with high MAP, a lazy O2 sensor, lean only at idle (vacuum leak), idle too high with the IAC almost closed (extra air), charging voltage too low or too high, an engine that does not warm up or overheats, knock at idle, temperature sensors that disagree on a cold engine. A finding appears only after the condition has lasted a few seconds and clears when it goes away. Its limits were checked against the service manual.

The page has three parts: Guided tests at the top (next section), Active now and History (this session). Each finding explains why it matters, lists the Next diagnostic steps, links the Related codes and shows the values that triggered it. New findings also pop up as a message on any page, and the Dashboard lists the active ones. LiveDoctor also runs on a played-back recording. It is a hint, not a verdict – always confirm with a measurement.

Guided tests

Guided tests are step-by-step procedures at the car for the most common C4 faults. VetteALDL tells you what to do – start the engine, hold 2500 rpm, tap the block – watches the live data while you do it, and then tells you what the numbers mean and what to check next. Use one when you have a symptom (hard starting, running hot, a high or unsteady idle, poor power) or as a health check after buying a car or finishing a repair.

How a test runs

  1. Connect to the car (or play a recording) and open LiveDoctor – the tests are at the top of the page. Each card says what the test checks, what it needs (cold engine, warm engine, on the road, with a passenger, with a helper, spray can / propane) and about how long it takes.
  2. Press Start. The panel shows Step 1 of n, what to do, a progress bar, a clock and the live values that matter for this step.
  3. Do what the step says. Most steps end by themselves when the data show you have done it; a few ask you to press Next or Finish. A step that is not completed in time is skipped, and the result says that its part is missing. Stop test ends the test at any time.
  4. The Result lists findings – ✓ fine, ℹ information, ▲ warning, ✕ fault – each with the reason and the next checks, plus a Measured table. The numbers are compared with the service manual and GM's Tech 1 data. Run again repeats the test, Close returns to the list.

Only one test runs at a time. If the selected ECM does not send a value a test needs, its card says Not available for this car and names the missing value. Each result is saved in the session, so it travels with a support bundle. The tests also run on a played-back recording.

Safety

  • Road tests (full-throttle run, steady cruise): only with a passenger working the laptop, on an empty road where it is legal and safe. The driver drives – nothing else.
  • Leak finder: fire risk – use unlit propane or short bursts of carburettor or brake cleaner, never near the exhaust, the alternator or the spark plug leads.
  • Engine running: keep hands, sleeves and the cable away from the belts and fans; parking brake on, transmission in P/N for the tests in the garage; run the engine outdoors or with exhaust extraction.

The tests

TestUse it whenWhat you doWhat it checks
Morning sensor check – cold engine, about 1 minHard cold starts, rich smell, readings you doubtEngine cold for at least 6 hours. Key ON, engine OFF, pedal untouched, 20 seconds.Coolant, air and oil temperatures agree; MAP equals barometric pressure; closed-throttle TPS voltage; O2 sensor bias voltage; battery at rest.
Engine won't start – about 2 minThe engine cranks but does not startKey ON and listen for the fuel pump (about 2 seconds). Then crank for about 5 seconds without touching the pedal and press Next.Crank signal (reference pulses), Pass-Key fuel enable, clear-flood mode (pedal pressed), injector pulse, battery dip while cranking, temperature sensors. When the electronics look alive it names fuel pressure (with the value for your engine) and spark as the next checks.
Warm-up and cooling – cold engine, about 25 minRunning hot or cold, fan questionsStart the cold engine and let it idle, A/C off, pedal untouched, until the cooling fan switches on and the temperature drops a little (15–25 minutes).Warm-up time, thermostat, a jumping coolant reading, the fan's switch-on temperature and whether it really cools, time to closed loop, warm idle. Only the ECM's own fan decisions count – not a fan switched by an output test or for the A/C.
Idle, air leaks and throttle – warm engine, about 8 minHigh, low or hunting idle, stallingWarm engine (coolant 75 °C or more). 60 seconds of idle in P/N, A/C and lights off, hands off; 30 seconds at a steady 2500 rpm; three short blips to about 2500 rpm, 10 seconds apart; A/C on for 30 seconds and off again (press Next when done, or if there is no A/C).Idle against the ECM's target and the IAC position (extra air, or an IAC at its limit), vacuum leak (lean only at idle), fuel trims, the throttle returning to its stop after the blips, closed-throttle TPS, manifold vacuum, O2 activity, idle under A/C load.
Leak finder – warm engine, spray can / propane, about 10 minThe idle test or LiveDoctor suggests a vacuum leakWarm idle, hands off for 20 seconds while the app learns the normal O2 and integrator. Then spray in short bursts, one spot at a time, 5 seconds apart: intake manifold gaskets, throttle body base, vacuum hoses, brake booster hose, PCV valve and grommet, injector O-rings. Press Finish when done.Every sudden rich jump of the mixture is announced at once with the time, so you know where you were spraying.
O2 sensor – warm engine, about 4 minPoor fuel economy, rich or lean running, a lazy-O2 findingWarm engine in closed loop: a steady 2000 rpm for 20 seconds, then two quick throttle snaps to about half and release, 5 seconds apart.How far and how often the sensor switches, whether it goes rich on a throttle snap and lean on deceleration.
Battery and charging – with a helper, about 3 minSlow cranking, dim lights, a battery that goes flatKey ON, engine OFF for 10 seconds; start the engine; at idle switch on the headlights, the blower on maximum and the rear defogger, wait 30 seconds and press Next; keep the loads on and hold 2000 rpm for 15 seconds.Battery at rest, the dip while cranking, charging at idle with loads and at 2000 rpm against the service manual limits, overcharging.
Knock sensor – warm engine, with a helper, about 2 minPinging, low power, knock-sensor codeA helper holds about 1500 rpm while you tap the engine block near the knock sensor firmly with a small wrench for a few seconds.That the ECM retards the spark – the service manual's tap test of the sensor, its wiring and the ECM's knock circuit.
Full-throttle run 50→80 km/h – warm engine, on the road, with a passenger, about 3 minHesitation or weak power under loadDrive steadily at about 50 km/h in 2nd or 3rd gear (automatic: D); where it is safe and legal, full throttle up to about 80 km/h, then lift and drive on gently.The mixture goes rich (fuel supply keeps up), knock retard, the throttle opens fully, MAP near barometric pressure and – where the ABS module is read – the speedometer against the ABS wheel speeds.
Steady cruise 70–90 km/h – warm engine, on the road, with a passenger, about 3 minA health check on the road, poor fuel economyDrive at a steady 70–90 km/h on a flat road with a light throttle for about a minute.Fuel trim at cruise, O2 activity, knock, charging, coolant temperature, torque-converter lock-up on automatics.

Tip for Engine won't start on 1990–95 cars: as for any cranking while connected, choose Never silence under Connection → Advanced, so the body computer keeps its normal exchange with the ECM (Sharing the bus).

Recordings – play a session back

Every connection to the car is recorded automatically, and the Recordings page plays it back later through the whole app – use it to study a drive on a big screen at home, to compare before and after a repair, or to look at a recording another owner sent you.

  • What is recorded is the raw traffic on the ALDL line, byte for byte – not just the values on the screen.
  • Recordings on this computer lists every connection with its date, car and size; press Play. Open a file plays a support bundle (.zip) or a bus recording (.aldl.jsonl) – also one made on another computer or sent by another owner. Playback starts on the Dashboard.
  • The whole app works as if the car were connected: dashboard, live data with normal ranges, charts, trouble codes, body switches, ABS, LiveDoctor and guided tests. The lamp turns amber and shows Replaying a recording.
  • The player bar at the bottom of every page: 10 s back and forward, play / pause, speed 0.5–20×, and a time line you can drag. Markers show output tests (blue) and cleared codes (red); click one to jump there. Grey stretches are gaps where the car sent no data.
  • After a jump the charts, min/max and LiveDoctor start again from the new position (LiveDoctor looks at the two minutes before it).
  • The recording is decoded again with the current definition of the car it was made with – a later, corrected definition therefore shows old recordings correctly too.
  • While a recording plays the cable is not used, output tests are disabled and nothing of it is mixed into the current session. Stop replay on the Recordings page, or ✕ on the player bar, ends it.
  • Drop-outs: if the cable or its USB driver drops out while connected, VetteALDL reopens it by itself every few seconds; the recording goes on in the same file, with a mark where the link was lost and regained. The recording is written to disk at least every 10 seconds.
  • Kept for 3 months: older sessions and their recordings are deleted automatically when VetteALDL starts. To keep one, copy its folder (or its .aldl.jsonl file) somewhere else – Open the recordings folder shows them – and open it here again at any time.

Good practice: at the car just connect and do the tests; think about the numbers later on the big screen. When you ask for help, send the support bundle – we replay exactly what you saw.

Body & switches

Body & switches shows what the body computer (CCM) sees – doors, hatch, key, lights and switches – and lets you test each switch; use it to find a switch the body computer does not see, including one that fails only now and then.

Available with the 1990–91 L98 and 1992–93 LT1 definitions (ignition ON; the body computer is read about once a second). The car seen from above shows numbered markers for the left and right door, rear hatch, key in ignition, door lock cylinder (key), power lock and unlock switches, seat belt, parking lights, high beam, rear defogger and oil level switch; ignition 1 (RUN) and ignition 3 (accessory) are in the list.

Switch test: open and close every door and the hatch, insert and remove the key, press lock and unlock, buckle up, switch the lights. A switch gets ✓ both seen once it has been seen in both positions (○ not seen yet, ● seen); one that never changes is the suspect – switch, wire or connector. Reset test starts again. Every change is logged with the time under Changes, so an intermittent contact shows up too.

Relays, telltales and CCM values lists everything else the body computer reports. Test the lamps, horn, relays and chimes takes you to the body computer output tests (Output tests).

ABS / ASR

The ABS / ASR page shows the anti-lock brake and traction control module of 1992–93 LT1 cars live – wheel speeds, sensors, pump, codes – and tests each wheel-speed sensor; use it when the ABS or traction control warning comes on.

  • Live data on the car seen from above: the speed at each wheel; status of the pump motor, ASR (traction control), brake fluid level and brake light switch; valve relay voltage, lateral acceleration, throttle angle (ASR) and engine speed (from the tach signal).
  • Wheel-sensor test: turn each wheel by hand (car on a lift) or roll the car slowly – each sensor gets ✓ signal once it reports a speed (the sensors only give a signal above walking pace). Press and release the brake pedal to test the brake light switch. The counter shows how many of the five are tested; Reset test starts again.
  • Wheel-speed check: while driving straight, a wheel that reads more than 10 % off the others is flagged – check that wheel's sensor, tone ring and air gap, and the tyre size.
  • Codes: Stored ABS/ASR codes (up to three) with the speed and the number of ignition cycles since each was set. Clear ABS/ASR codes clears them; a fault that is still present comes back.

Other years: on 1990–91 cars the ABS lamp flashes the codes when ALDL pin H is jumpered to pin A (ignition ON) – Dash diagnostics shows how and what they mean. The 1986–89 ABS does not flash codes; it needs GM's dedicated tester on its own diagnostic connector. On 1994–95 cars the ABS/ASR status and codes come with the engine data (Trouble codes).

Air bag (SIR)

The Air bag (SIR) page reads and clears the codes of the air bag module (DERM) of 1990–93 Corvettes over the cable; use it when the INFL REST lamp stays on.

Supported with the 1990–91 L98, 1990–92 ZR-1 and 1992–93 LT1 definitions. VetteALDL reads the module's current and history codes and clears them exactly as GM's Tech 1 does – the layout and the commands were learned from the Tech 1 software itself. The module state shows no faults or the number of current faults.

  • Current codes – present right now (the INFL REST lamp is on).
  • History codes – happened before and were stored.
  • Clear air bag codes – only after the fault has been repaired; a current fault comes back at once.

Safety: never measure the air bag module or its connectors with a meter. Before any work on the steering wheel, the column or the SIR wiring, disable the system as the service manual describes: the module's energy reserve can still fire the air bag after the battery is disconnected. Reading and clearing codes is safe.

Other years: the INFL REST lamp also flashes the codes with ALDL pins K and A jumpered (Dash diagnostics). On 1994–95 cars the air bag status and codes come with the engine data (Trouble codes). Corvettes before 1990 have no air bag.

Output tests (Actuators) and Expert mode

Output tests on the Actuators page let you switch parts of the car on and off through its computers – a cooling fan, a relay, a lamp, the horn – to prove whether the part and its wiring work. Use them when a trouble code or a LiveDoctor finding points to a circuit.

Safety: output tests change how the car behaves. Car parked, parking brake on, transmission in P/N; engine off unless the test needs it running. Every test asks you to confirm (Car parked, P/N, handbrake on – I take responsibility). A command is re-sent while it is active and released automatically after its time limit, when the car moves, or with Release all.

Running a test

Output tests need a live connection – connect first (after the Connection debugger, press Connect again). Press a state button next to a part, e.g. ON or Force OFF. The chip at the top shows the running test in words with a countdown and whether the module has confirmed it (confirmed by the module / no confirmation yet); its button is lit. A test is refused while the car is moving and while the live data do not fit the selected car (automatic check). Every test is marked in the recording.

What is available depends on the car: cooling fans, A/C compressor relay, AIR pump and switching valve, EVAP canister purge, check-engine lamp (MIL), 1-4 shift light, and on 1990–93 cars the body computer tests below. The commands are the exact frames GM's own Tech 1 software sends, recorded in the Virtual Tech 1 for 1989 L98 ($6E), 1990–91 L98 ($8D), 1990–92 ZR-1 LT5 ($8E, including the secondary port throttles, injector module and fuel pump) and 1992–93 LT1 ($DA2); 1994–95 LT1 uses the proven Scan9495 table. 1982–88 ECMs (160 baud) have no serial output control – GM's own scanner cannot switch anything on them either – and the 1993–95 ZR-1 ($F0) has no output tests in VetteALDL.

Relearn and reset functions

Under Relearn / reset functions: BLM reset (clear fuel learning) (1989–95 except the 1993–95 ZR-1) and IAC reset (relearn idle) (1994–95 LT1). Run them with the engine idling, warm, all accessories off; the ECM relearns afterwards.

Body computer tests (1990–93)

The groups Body computer – warning lamps, Body computer – relays and chimes and Body computer – instrument lighting switch the CHANGE OIL, CHECK GAGES, FASTEN BELTS, SECURITY and LOW OIL lamps, the horn, the rear defogger and courtesy lamp relays, chimes 1 and 2, and the lighting of the gauges, speedometer display, radio and (1992–93) green LEDs between full brightness and dark – the same commands the Tech 1 sends. Available with the 1990–91 L98, 1990–92 ZR-1 and 1992–93 LT1 definitions; Body & switches has a shortcut.

Expert mode

Functions that can damage the engine, transmission or catalytic converter if used at the wrong moment are hidden behind Expert mode: commanded idle speed (600–1200 rpm) on most ECMs, EGR valve, fuel loop mode, the transmission solenoids and torque converter clutch, the TCC / 1-4 skip-shift solenoid and the ZR-1 secondary system. Press Expert mode, read the warning, tick I understand and accept the risk and press Show dangerous functions; the EXPERT chip then shows in the title bar until you close VetteALDL. Expert mode also opens the Raw ALDL console (expert): type frame bytes in hex (e.g. F4 57 01 00), choose Add checksum and Wait for reply and press Send. Every frame is logged in the session recording.

Dash diagnostics

Many C4 modules can show their trouble codes on the instrument cluster, or flash them on a warning lamp, without any scanner or cable. The Dash diagnostics page shows how to start this mode for your model year and decodes what you see.

1990–96 Corvettes show module codes on the instrument cluster: 1990–93 with a jumper between ALDL pins G and A (key ON, engine off), 1994–96 between pins 12 and 4 of the 16-pin connector. Some modules flash their codes on their own lamp instead: the air bag on INFL REST (K–A), the 1990–91 ABS on the ABS lamp (H–A), Selective Ride Control on its service lamp; the climate control has its own panel diagnostics. On 1984–89 cars the check-engine lamp flashes the ECM codes with A–B jumpered. There pin G is the fuel-pump circuit: never jumper G–A on 1984–89 cars.

On the page choose the Model years, then:

  1. Enter diagnostic mode – the connector drawing (car socket, front view – the plug is mirrored) marks the jumper; the steps, warnings and how to leave the mode follow.
  2. Navigate – the buttons and what each screen shows.
  3. Decode what you see – pick the module, type the code and press Decode for causes and checks. Engine codes link to the full diagnostic path, body computer codes to the full trouble-code entry. All codes, Parameters and Tips complete it.

Virtual Tech 1

The Virtual Tech 1 runs the software of GM's hand-held Tech 1 scanner – from cartridge images you own – inside VetteALDL, so you can use the factory tool's menus, data lists and tests on your car or on the simulator.

It emulates the scanner's hardware (HD6303 processor, cartridge memory, 4×16 display, keypad and ALDL port), so the original cartridge software runs unchanged. VetteALDL contains no GM or Vetronix software: under Cartridge images press Import and choose cartridge dumps you own (.bin, header $A5) or a serial capture of TIS2000 programming a Mass Storage Cartridge (.txt) – every application in it becomes a separate image. An image marked missing pages may not work; stand-alone patch means its hand-over to a companion program is disabled in memory (the file is not changed); ✕ removes an image.

Choose an image and a connection: Simulator (pick the Simulated car from the VetteALDL definitions) or Cable (real car), which uses the cable chosen on the Connection page – set it to your cable, not the simulator. VetteALDL's own scanner stops while the Tech 1 owns the cable. Press Start and use the keypad or the keyboard: 0–9 = F0–F9, Y / N = YES / NO, ↑ / ↓, Enter, Esc = EXIT. ▲ / ▼ page through menus (in output tests ▲ = ON, ▼ = OFF). ALDL frames shows what the Tech 1 sends and what the car answers.

With the cable, output tests are real: they switch relays, fans and solenoids on your car – engine off unless a test needs it, parking brake on, transmission in P/N.

For Corvettes (see Which cartridge for which Corvette on the page): 81-93 POWERTRAIN covers the engine computer of 1982–93 (type the year, F0: VIN, the 8th VIN character – 8 = L83/L98, P = LT1, J = LT5 – and YES for your car line); 88-93 BODY and the 88-92 Y-body cartridge cover the body computer (CCM): data list, codes and dash tests. The 94-96 applications of the Mass Storage Cartridge need parts that the known capture does not contain, and 1982–88 engines talk at 160 baud, which the Virtual Tech 1 cannot connect to yet.

Bus monitor

The Bus monitor shows every message on the ALDL wire as it happens – for troubleshooting a connection, or to see how the car's computers talk to each other.

Each line shows the time, the type, the module and the bytes in hex. Types: RX = received from the car, ECHO = our own frame coming back through the cable, ECHO≠ = our own frame distorted by the cable, ACK = a module repeating our command back, JUNK = bytes that did not form a valid frame. Pause / Resume, Clear and Hide our own echo make it easier to read; the counters at the top right count frames per module. Normal Corvette traffic with the key on: 40 55 6B (the CCM polls the ECM), 41 … (the ECM answers), F0 56 F1 C9 (CCM presence poll).

Many ECHO≠ lines while the car answers cleanly mean a weak cable transmitter (e.g. a diode cable): reading works, but a Schottky diode or cable rev B gives a clean echo. Connection details shows the same warning.

The cable

The cable connects the laptop's USB port to the car's ALDL connector. This section explains which pin carries the data, why many do-it-yourself cables misbehave and how the VetteALDL cable avoids it; the Cable page has the schematic, the parts list and the build and test steps.

Pins: 1990–95 data on pin M; 1982–88 data on pin E (160 baud) plus the 10 kΩ A–B resistor; 1989 E and M tied together; pin A = ground. Cars with the 16-pin connector: data on pin 9, ground on pins 4 and 5. The connector is under the dash on the driver's side.

How it works: the ALDL line is one open-collector wire pulled up to 5 V inside the ECM; modules pull it low to send. A cable must therefore only ever pull it low – a USB-serial chip with its TX wired straight to the line drives it high all the time and fights every module, and the bits turn into garbage. The recommended design (rev B) uses a genuine FT232RL at 5 V, an open-collector transistor stage on TX (2N3904, 40 V), a BSS138 MOSFET isolator on RX, a 24 V TVS diode for spikes, a data-pin selector (M for 1990–95, E for 1982–88, both for 1989) and a switch for the 10 kΩ A–B resistor (1982–88 only). It survives 12–24 V on the data pin (wrong pin, battery) and is invisible to the car when unpowered.

A quick fix for existing "TX+RX tied together" cables is on the Cable page – it is not protected against 12 V. Test every new or modified cable with the Connection debugger, steps 1–4.

Sessions and support bundles

Sessions & support keeps a record of everything VetteALDL did and packs it into one file when you need help.

Every run of the app is recorded: connection attempts, the state of the lamp, debugger results, LiveDoctor findings, guided test results, thinned live data and the raw bus traffic. Recorded sessions lists them with the result (live data received, no live data or current) and the number of connections. Sessions are kept for 3 months.

Support bundle

Write what happened into the note box (car, year, engine, what you did) and press Create support bundle. The .zip holds this session's events and app log, the raw bus recording, the debugger results, system information (Windows version, the ports, USB chips and drivers the app saw), your settings, the three most recent CSV logs and your note – nothing else from your computer. You can open it and check it before sending. Then:

  • Send to the VetteALDL team – uploads the bundle over HTTPS after you confirm; no e-mail program needed.
  • E-mail to support ([email protected]) – opens a ready message, and the folder with the .zip opens so you can drag it in.
  • Show the file or Save a copy… – to copy it to a USB stick or attach it to a forum post.

A bundle can be replayed byte by byte – by us, by you or by another owner: Recordings → Open a file. Open bundles folder, Open CSV logs and Open data folder open those folders in Windows Explorer.

Settings

Settings holds your preferences, lets you add your own car definitions and shows the version with the update check.

  • General – Show the splash screen at start; CSV logs with decimal comma (European Excel); the data folder, where sessions, recordings, logs and support bundles are kept.
  • Import a definition – load a TunerPro .adx data definition or a VetteALDL .json file; it appears in the vehicle list under Your definitions.
  • Installed definitions – every definition with its number of values, flags and output tests, and its sources.
  • About – the version, Check for updates (asks vettealdl.com only when you press it; if a newer version exists, Download opens it) and Buy me a coffee.

Language, units and the day / night theme are switched in the title bar.

FAQ

The window is too big or the text too small

VetteALDL opens no larger than your screen and remembers its size and position; on small or strongly scaled laptop screens it starts maximized and a little zoomed out. Change the zoom with Ctrl + / Ctrl − or Ctrl + mouse wheel; Ctrl 0 returns to the automatic size. Double-click the title bar to maximize or restore the window.

Can I try VetteALDL without a car?

Yes. Choose Simulator (demo, no car) as the cable driver on the Connection page for a virtual Corvette (Simulator), or play a recording – also one another owner sent you (Recordings).

WinALDL / FreeScan / DataMaster did not work with my 1990–91 Corvette – why?

WinALDL only reads 160 baud ECMs. FreeScan has no $8D profile and never silences the CCM. DataMaster's installer is 16-bit (it cannot run on 64-bit Windows), it only opens COM1–4 and its CCM link-up needs 1 ms latency.

Values look like garbage

Run the Connection debugger. Typical causes: TX tied directly to the bus (fights the ECM), FT_Prog "invert TXD/RXD" left on for a TTL board, missing ground, a fake FT232 with FTDI driver 2.12, or the wrong definition (the automatic check usually catches that).

Do I need the 10 kΩ resistor? (A–B modes)

At key-on the ECM measures the resistance between ALDL pins A (ground) and B (diagnostic request) and changes its behaviour – GM's Tech 1 switches these resistors itself:

  • Open – normal operation, use it for road tests. 1985–88 TPI ECMs already send part of their data in this mode.
  • 10 kΩ – ALDL mode of the 1982–88 (160 baud) ECMs: full data list with slower updates (about 1.5 s), closed-loop timers bypassed, spark advanced, idle held near 1000 rpm, purge may be on. Do not judge idle quality or timing in this mode.
  • 0 Ω (A–B shorted) – field-service mode: key on, engine off = trouble codes flashed on the check-engine lamp; engine running = the lamp shows open/closed loop. With G–A it also starts the 1990–93 dash diagnostics.
  • 3.9 kΩ – back-up fuel / factory test: the ECM runs on its limp-home calibration.

On 1989 and later ECMs (8192 baud) leave A–B open while scanning – the $8D ECM even reports a 10 kΩ resistor, and the app warns. The Connection page shows for the selected car whether the resistor is required or must be off.

Can I change the fan-on temperature?

Not over ALDL on 1985–93 ECMs: the calibration lives in a replaceable PROM/MEMCAL chip. It can be read, edited (TunerPro + XDF) and burned to a new chip. 1994–95 LT1 PCMs are flash-programmable over ALDL.

Where does VetteALDL keep my files?

In %LOCALAPPDATA%\VetteALDL (Settings shows the exact path): sessions with their recordings, CSV logs, support bundles and your settings. Sessions & support has buttons to open each folder. Sessions and recordings older than 3 months are deleted automatically – copy what you want to keep.

Does VetteALDL connect to the internet?

Only when you ask it to: Send to the VetteALDL team uploads a support bundle after you confirm, and Check for updates asks vettealdl.com for the newest version. Links such as Buy me a coffee open in your browser. There are no ads, no analytics and no tracking.

This is a public beta – how do I report a problem?

Right after the problem open Sessions & support, write a short note (car, year, engine, what you did) and press Create support bundle. Then press Send to the VetteALDL team: the bundle goes straight to us over HTTPS (you confirm first; no e-mail program needed). Offline? E-mail to support opens a ready message, and the folder shows the .zip to drag into it. The bundle holds this session's app log and bus traffic – you can open it and check it before sending.

Credits and licences

Definitions are derived from community TunerPro ADX files (authors credited in each definition) and checked against GM's Tech 1 software. Protocol knowledge comes from the GM ALDL community (gearhead-efi, pcmhacking, thirdgen, corvetteforum, techedge, ecmguy), from reverse engineering of legacy tools for interoperability (TTS DataMaster, Scan9495 by GaryDoug, WinALDL, FreeScan), from GM data stream specifications A111, A172, A173 and A175 (body computer, 1992–93 LT1, ABS/ASR) and from the 1994 Corvette service manual. VetteALDL uses Python, pyserial, PyUSB/libusb and Qt (PySide6, LGPL). The Virtual Tech 1 emulates the scanner hardware only and contains no GM or Vetronix software.

Bundled: Zadig 2.9 by Akeo Consulting (GPLv3, unmodified, source at github.com/pbatard/libwdi) for the optional WinUSB binding.

VetteALDL is donationware – free to use, with voluntary donations of any amount – provided under the VetteALDL Licence Agreement (the LICENSE file in the program folder, also at vettealdl.com/license), and an independent project, not affiliated with or endorsed by General Motors, Chevrolet or Vetronix. "Corvette", "Tech 1" and other names are trademarks of their owners and are used only to describe compatibility. Use at your own risk; run output tests only with the car parked, parking brake on and the transmission in P/N.

VetteALDL is free and has no ads or tracking. If it saved you a trip to the shop, you can support further work (more models, cable kits, tests on real cars) at buymeacoffee.com/com4tee ☕ – the same link is at the bottom of the menu and in Settings → About.