This is a rather long post I’ve decided to put up to give an in depth knowledge dump on how the conversion was done. If you have the attention span of the average tik toker, this probably not for you.
Over the last couple of years I started getting a more in depth understanding of the GM ECU & TCM code for the GM E38/T43 computers via a program called Ghidra, this is a program that can reverse engineer and decompile code from known processor architectures, not just PC’s but integrated cpu’s in automotive, home appliances etc.
It was from here I decided it was probably time i revisited trying to get an early VZ V8 to work with the 6L80 natively, I had intentions on trying to do this back in 2018, but time & knowledge was something i was very short on. Cue, many years later I now posses both knowledge, ability, time and a little disposable money to do it!
This led to me picking up slightly damaged VZ SS with the required 6lt/4L65e, Apparently it had a bit of an excursion off road when the owner fell a sleep, resulting in some damage to the front/rear bumpers and drivers side rear wheel & swing arm.
I’ve always thought it would be possible to get the 6L80 to work in the VZ 6LT cars is because it runs an E38 ecu just like the VE did when it was introduced in September 2006 with both a 6 & 4 speed auto (exported to Saudi Arabia) along with Manual options. I already knew the box physically fits in the tunnel because I have converted a few VT-VZ car’s already.
The biggest difference however is that the VZ model encompassed support for the 5.7lt LS1 with it’s P59 ecu & the Alloytec’s Bosch ecu, which meant wiring & modules to support all 3 types of engine combinations.
With a LS1 motor there is a PIM (Powertrain Interface Module) that translates data from the ecu’s native VPW protocol to UART protocol for the dash cluster, ABS & BCM modules to get data. So for the E38 ecu to talk to those same modules the PIM module now converts from CAN to UART, the ABS module went from talking on the old UART to now CAN directly, similarly things like the cruise control stalk went from the BCM to the new PIM too.
The Hard Part / Nerdy Stuff
Delving into Ghidra & selecting the relevant CPU architecture type for the ECU binary file the program can then start to decompile the file & with any luck it find’s links to instruction sets & cross-referenced values.
While Ghidra doesn’t tell you what all the numbers mean, since they can be different based on the specific use case the calibration was written for, it does help if trying to follow a structure or routine from 1 calibration to another. Similar blocks of data are often always together across different calibration/part numbers even if they located in different locations in the calibration file.
Now having the decompiled file doesn’t help on it’s own without having something to actually reference back to, so luckily some one had passed on a couple of factory style definition files that gives names & often descriptions to what each parameter is. It is with information that it becomes possible to understand what the values mean or what a simple 0 instead of a 1 means. i.e Switching something on or off.
Then it’s a matter of pattern recognition in the hopes that similar values & code structure are used across the different calibrations that GM has from all the different vehicle types. i.e Holden, GMC, Corvette, Camaro etc.
Tuning Software
From the above, it’s possible to add these “missing” options to tuning software, in my case since I primarily use EFILIVE for tuning & since they allow for users to add in options via a CAX file. The cax file basically allows the end user to add in tables or maps that are not already defined in the software.
In this case to get the 6L80 to work with the VZ ecu we need to make some changes;
- Turn off NSBU (Neutral Safety Back Up) Switch
- Turn on IMS (Internal Mode Switch)
- Automatic Max Gear from 4 to 6
- Gearbox Gear Ratios (Optional)
- Vehicle Speed Sensor Pulses per Revolution 40 to 36
- Transmission Type (Optional)
1 & 2 above are a requirement because the 4L60/65 use a NSBU on the side of the gearbox, but the 6L80e doesn’t. Instead it uses an IMS inside the gearbox that slides when the shifter linkage is moved. The remaining settings feed information into things for torque mgmt & speed calibration settings.
While i didn’t bother to test not changing the above settings with the 6l80 wired in, it made no sense not to since when looking at a factory 6L80 ecu tune the new values are what are configured, it would appear even the early Holden calibrations didn’t have the correct gear ratios & transmission type selected on the 2006-2008 VE models.
Wiring
For the wiring, I pulled the engine harness off the motor & stripped out all the old NSBU & trans plug wiring along with the wiring to the original T42 trans controller that sits in the passenger kick panel. A majority of the wiring to the T42 controller is repurposed, In this instance I simply terminated the wiring to a new deutsch connector that sat on the engine bay side of the firewall. This then allowed for me to make changes if needed during testing.
New transmission plug & wiring re-wrapped in new automotive high temp tape.
6L80 Install
Installing the box is simple, just unbolt the old 4 speed and install the new 6 speed with matching torque convertor, original shifter rod will require some slight adjustment so that it doesn’t rub along the side of the case. A new trans mount & modified tailshaft then needs to be done as the 6l80 uses a larger 3 bolt spigot.
CAN BUS – Make it, break it or fake it?
Now with that done, the ECU side should be happy right? Sort of, it’s really going to depend on what your donor transmission came from. At the time of starting this conversion project I was under the impression of 1 simple fact when it came to the TCM’s that are in these gearbox’s.
There was 2 year ranges that were programmatically compatible with each other, that being years 2007 to 2009 & then from 2010 to 2017 i.e end of the VF’s. This meant that you could not install a 2010 gearbox into a 2007 model car & have it work, It would come up with a U0100 or P0700 DTC, Hell even a 2009 gearbox tune will not talk which always bothered me because it didn’t make sense that by simply performing a full OS flash with an 07 or 08 tune into the 09 techm it would work.
The solution to this problem it seems was always in the code. In every ECM & TCM operating system is the CAN ID broadcast data, now this does vary from 1 OS to the next, but luckily the majority of CAN ID’s needed for the ECM/TCM modules to talk/listen to each other have not changed too much over the years.
So what I found was the CAN ID’s that the ECM\TCM were configured to use for it’s “State of Health Monitoring” between the modules was different. SOHM basically runs as a check to confirm that the other module hasn’t disappeared, If it looses communication it triggers a check engine light & potentially limp mode.
So with this knowledge I started with a 2008 TCM OS as my baseline to confirm communication to ECU, gearbox would shift etc, then changed over to a 2009 OS.
With changes to the 09 Calibration to match similar settings to that of the earlier 08, I was no longer getting a U0100 code or 3rd gear limp mode. Great news! Now I wonder how far can i can push this?
Slight side track…
So I grab an older 06 ecu from my collection & install it in my vy ute, This effectively runs a 2011 VE ECU & TCM OS combination since it’s a 6lt/6l80 combo. I change out the ecu & flash the VZ tune file in with some basic injector & map settings to get it running, multiple flashes later & that too now communicated to the ECU with no error codes. I could shift into 3rd gear via tapshift and reverse in & out of my workshop. When i got the settings wrong, I would momentarily have reverse and 1st gear before it would lose forward gears.
I’ll be doing some further testing in 06 VE soon by replacing the ecu with a later year thanks to it’s larger injector support to see if i can get it to work & be happy with all the other CAN modules.