How to convert your BMW from GM to a ZF 6HP

How to convert your BMW from GM to a ZF 6HP


This guide covers everything you need to know to swap your BMW with an N52 engine from GM to a  ZF6HP transmission! It will not cover the general tasks of how to remove your transmission from your car (which any mechanic can do) but the specifics you need to know for this particular swap.


Thanks to various circumstances, BMW had to fit a certain amount of vehicles in the period from roughly 2006 - 2010 with a 6-speed GM Automatic Transmission, instead of the 6-speed unit from ZF. Usually, all BMWs with 6-Speed Auto were fitted with either the ZF 6HP19/21, ZF 6HP26/28, or ZF 6HP32/34. However, BMW with N52 (and N43) engines were sometimes equipped with the GM unit. Most commonly the GM unit is found in the US-Versions of 325i and 330i (E9x) and the 125i/130i (E8x).

Do I have a GM or ZF in my N52 BMW?

Online part catalogs aren't able to determine whether a certain N52 vehicle at a certain build date got fitted with a GM or ZF unit. (Hint: your BMW Dealer can, based on your VIN. xHP will also tell you "not supported" when a GM trans is in your car) This creates constant confusion among potential xHP customers, whether they can use xHP or not. (xHP only works for ZF) While it is out of scope for us, to redo our development for the few cars with GM unit, it's pretty easy to swap your GM unit for a ZF and take advantage of an immense performance and fun gain. We're not shy to say, you won't recognize your car again. Some might disagree, but even if not "xHP-ed" the ZF is superior to the GM in many aspects, and despite there being some traps, it's easy to swap when prepared with the right parts and knowledge. 

First of all, the correct ZF is a direct swap in any BMW with GM 6L45. It will bolt on the engine side and it will bolt to your driveline. As both transmissions were used in production and OEMs always tend to do as few variants of certain parts as possible, this isn't surprising at all. However, some auxiliary things need to be changed and you need to make sure to source the right ZF transmission, which is where your journey should start. We did this swap on 2009 130i (LCI), so the transmission to the source was a 6HP21, sometimes called 6HPTU. TU stands for "Technische Uberarbeitung" and is kind of the LCI version of the 6HP. (Note: the parts catalog ALWAYS spits out "6HP19Z", regardless if the car in question has a 6HP19 or 6HP21. BMW just discriminates against them by PartNo.)

However, you need to make sure you are getting a ZF that matches your car and has the correct TCU fitted. The safest way of course is to source a ZF trans that comes from the very same car and build date, but this isn't mandatory and sometimes not even possible when only GM was used in that period. The 6HP came in 3 sizes and all cars that came with the GM 6L45 need a 6HP19 or 6HP21 for swapping. You can cancel out all other versions. As a rule of thumb search for a 6HP19, if your car is 2006 and before, all others are fine with a 6HP21. NOTE: Although TCUs from non-LCI cars can work in LCI vehicles, you may run into problems. (this depends on the program variant used in the DME and TCU and even may stop working after updating one of them, so don't do it).

Programm number on a white sticker on your N52 car

How do I find the correct ZF for swapping?

It's pretty easy, to tell if you're looking at a 6HP19 or 21 because it's stamped in the housing on the driver-side. But there's more to consider. There are many different program numbers out there and not all of them will work in your N52 car. The program number can be found on a white sticker, at the driver-side of the transmission, and is preceded by "HW".

For 2005/2006 N52 cars, those are safe to use: 7563275, 7564645

Note: Do NOT use transmissions from X3 E83 or Z4 E85/E86 in your E87/E88 or E9x car. Those communicate on K-Line and you won't be able to reach them through the OBD port. They would need to be bench-flashed before they can communicate in their new environment. 

For cars 2007 and above, those are safe to use: 7573661, 7591971

Make sure the transmission comes with the matching torque converter! The one from the GM transmission will not match the ZF trans!

Both lists are not complete, but other HW# may have issues communicating and would need to be flashed before even P/R/N/D shifting is possible.

What you need for a swap

What other parts do I need for the swap?

  • Trans-Support-Bracket: 22326795972
  • Oil-Cooler Line Feed: 17227577635 (for E87 130i, check parts catalog for your car)
  • Oil-Cooler Line Drain: 17227577636 (for E87 130i, check parts catalog for your car)

If you sourced a trans from a 135i/335i you will need to swap the output flange to # 24207552327 as well. (those 6HP21s had bigger flanges compared to the smaller models)


!! This is important !!

Although the connector on the vehicle loom to the trans is mechanically the same, the pin-out is totally different! Do NOT just plug the new trans in. You will need to open the connector, extract the pins (it is best to get a tool for that, otherwise it's major PITA., For instance, Beta Set 1497/C23), and re-pin as shown below. It's pretty straightforward if you mark all wires before removing them from the connector. Unused wires can be isolated and tucked away in the loom. (ZF has only one permanent positive, whereas GM had 2) Be sure not to mix the wires, as this can lead to permanent damage to the TCU. The picture shows the pin-out on the transmission! (mirrored to connector!) Double and Triple-Check for the right slot on the connector each time you place a wire! The connector usually has the PIN # stamped in, so you can compare it to the pin-out given below.

Pinout X8500 GM 6L45 ZF 6HP 19/21

Getting it to work

  1. Once the transmission is in place and wired, you can check for communication with xHP. It should instantly recognize your car now. If not, you likely have an issue with the wiring!

  2. At this point, you also may open the oil-filler screw slightly and check if there's even any fluid in there. Often used transmissions are emptied at the scrapyard, so you need to fill them up. Even if not, it's likely a good idea to do a service when you're already on it. (new oil, sealings, and filter) Beware when checking oil, it will instantly spill if you open it too wide!

  3. Start the car and check if PRND at the gear lever is working. If not, you likely have an issue with your wiring.

  4. If all is fine, check the oil-level with the engine running according to ZF specs before driving.

  5. Do a short test drive, and see if shifts are reasonably fine. Check if trans reacts to S-Mode at the lever and +/- Steptronic. Check your steering wheel paddles in S.

  6. If you got this far, you can use xHP just like anybody else. Have fun! If you still run into issues, or the app still tells you that your car is not supported, please contact us.



This guide was written to the best of our knowledge but it is still your responsibility to double-check things (e.g. get electrical wiring plans from your very car!) and use common sense when carrying out this swap. We do not take any responsibility for damage caused to your car or the environment due to errors in the guide, installation errors, or non-matching parts.