So I've been working on a program to update the cluster with all the fun new information we've discovered over in the original cluster-hacking thread. After some hours of R&D on what's in the memory we can now:
- Turn on the shift light, change shift RPMs
- Set custom shutdown text with the HSV logo
- Change logos
- Turn off the DRL light, and/or the DRLs
- Dim the MPH light on 04 clusters
- Fix the speedometer error on 04 clusters
- Enable the current gear indicator
- Recalibrate the temperature gauge
And a whole bunch of other stuff, and in the car too.
This is still beta software, but I've had a few beta testers try it out and had some success in-car. I'd like some feedback from 05-06 people to make sure nothing's different with the heartbeat stuff, so please post in this thread about your results.
I'm releasing vzclustermod under GPLv3, which means that everyone can look at and modify the source should they feel so inclined.
To get the software/documentation, go here:
http://1337vending.com/vzclustermod/
A word on cables:
I've tried this cable here on the bench and in the car:
http://www.aldlcable.com/sc/details.asp?item=aldlobd2u
I've also tried the FTDI FT232RL usb to serial adapter for Arduino (found on ebay) on the bench and had good results. I haven't tried it in the car, because I have the good cable. People have reported success using FTDI FT232RL usb-serial adapters in-car, but I know some people have had problems with communication.
Update: If the cable does not explicitly specify ALDL or OBD1 it will not work! R&D at your own risk!
Build your own cable
here! Thanks to Shane.
A word on 160°F thermostats:
If you are running a 160°F thermostat, you will need to set the cold shift RPM to whatever shift point you want for all gears! Since the cold shift light is active below 185°F (85°C), it will never look at the other settings. As of this post, no one has located where the temperature is stored in the cluster memory (pretty sure it's not in the eeprom), so we have no way to update it. :smurf:
A word on drivers:
If windows doesn't automatically detect your cable, you may need to go here to get the drivers for your FTDI FT232 cable:
http://www.ftdichip.com/Drivers/VCP.htm
There's a getting started doc on the site, but I'll post it here as well:
Getting Started
If you're using the windows binary, double click the vzclustermod-xxxbeta.exe, which should open a command window like so:
Since the program is all command line, the rest of the getting started will be text rather than screenshots.
To find out what COM ports are available, type listports Example:
Code:
[incar-cluster]$ listports
COM1
COM5
COM4
If you're not sure which COM port is your ALDL Cable, unplug it from the computer, run listports, and plug it back in and run listports again. Whichever one disappeared and reappeared is your cable.
Now open the port:
Code:
[incar-cluster]$ open com4
serial port opened successfully
[incar-cluster-com4]#
Note that the prompt changed from [incar-cluster]$ to [incar-cluster-com4]#
Turn the key on, but leave the engine off.
Now you're ready to work! If you're in the car, no need to change modes, if you're on the bench type bench. This will keep the program from listening for vehicle heartbeats.
To verify your cable is working, run listen and you should see something like this repeated over and over:
Code:
[incar-cluster-com4]# listen
==Heartbeat==
Module:b8 Mode:A2 Data:B8
Module:b9 Mode:02 Data:00,00
Module:40 Mode:C6 Data:39,02
Module:BCM-data Mode:12 Data:00,00,00,3D,19,00,00,70,F2,1E,00,00,10,00,00,00,94,00
Module:a8 Mode:03 Data:
Module:20 Mode:8B Data:
Module:21 Mode:09 Data:38,2C,00,00,00,00,00,94,94
Module:90 Mode:1B Data:
Module:91 Mode:03 Data:18,00,00
Module:a0 Mode:0B Data:
Module:Airbag-data Mode:02 Data:08,00
Module:Transmission-data Mode:07 Data:FF,10,40,05,00,00,00
Module:b8 Mode:A2 Data:B8
Module:b9 Mode:02 Data:00,00
Module:40 Mode:C6 Data:39,02
Module:BCM-data Mode:12 Data:00,00,00,3D,19,00,00,70,F2,1E,00,00,10,00,00,00,94,00
Module:20 Mode:8B Data:
Module:21 Mode:09 Data:38,2C,00,00,00,00,00,94,94
Press Ctrl+C to stop listening, it scrolls quite quickly.
To read table 9, run read 9. This is a stock 2004 table.
Code:
[incar-cluster-com4]# read 9
Waiting for heartbeat...
Send: ['F2', '57', '01', '09', 'AD']
['01', '09', '05', '00', '00', '00', '00', '00', '50', '79', '7C', '7E', '7E', '7E',
'60', '80', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00']
ALDL Mode: 0x1 (read configuration table) Table: 0x9
Startup Logo: Pontiac
HSV Serial: 0
HSV Model: XU6
Cold shiftlight 4000 RPM
1st gear shiftlight 6000 RPM
2nd gear shiftlight 6200 RPM
3rd gear shiftlight 6300 RPM
4th gear shiftlight 6300 RPM
5th gear shiftlight 6300 RPM
Shift light on: False
Custom text:> <
Note that the shift light is off, but the RPM values are set. 2005-2006 GTOs have the RPM values set to 9000.
I want my shiftlight on!!!1 ... Ok, now send preset shiftlight-on
Code:
[incar-cluster-com4]# preset shiftlight-on
===Current Config===
Send: ['F2', '57', '01', '09', 'AD']
['01', '09', '05', '00', '00', '00', '00', '00', '50', '79', '7C', '7E', '7E', '7E',
'60', '80', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00']
Startup Logo: Pontiac
HSV Serial: 0
HSV Model: XU6
Cold shiftlight 4000 RPM
1st gear shiftlight 6000 RPM
2nd gear shiftlight 6200 RPM
3rd gear shiftlight 6300 RPM
4th gear shiftlight 6300 RPM
5th gear shiftlight 6300 RPM
Shift light on: False
Custom text:> <
===New Config===
['01', '09', '05', '00', '00', '00', '00', '00', '50', '79', '7C', '7E', '7E', '7E',
'60', '90', '00', '00', '00', '00', '00', '00', '00', '00', '00', '0 '00']
Startup Logo: Pontiac
HSV Serial: 0
HSV Model: XU6
Cold shiftlight 4000 RPM
1st gear shiftlight 6000 RPM
2nd gear shiftlight 6200 RPM
3rd gear shiftlight 6300 RPM
4th gear shiftlight 6300 RPM
5th gear shiftlight 6300 RPM
Shift light on: True
Custom text:> <
===Write config===
Send: ['F2', '70', '28', '09', '05', '00', '00', '00', '00', '00', '50', '79', '7C', '7E', '7E', '7E',
'60', '90', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'B9']
['28', '09', '01']
Easy.
Other useful presets are under the Presets documentation. For those averse to RTFM, here are some good presets:
mph-dim
drl-fulloff
custom-text=RTFM
I also want to thank the following people, because I certainly didn't figure this out all by myself:
DSMinVA for the original POC here on LS1GTO
Beerman and 06phantom for figuring out the security algorithm
Tazzi for explaining ALDL stuff and original cluster R&D
Stoopalini for the spreadsheet
Slow for eeprom dumps and the Tech 2 ALDL dumps
Chris White for showing that this is possible

And everyone who beta-tested stuff.:burnout:
Cheers. :gears: