DSG DQ250   The DQ250 is in simple terms, a 6 speed manual gearbox that is automated through electro-mechanical control of the selected gear and clutch engagement. Designed by Borg Warner, it was the first automated twin-clutch gearbox used in a production car when introduced in 2003. The DQ250 has two clutches, one that engages…

Written by


DSG Control with Rabbit ECU




The DQ250 is in simple terms, a 6 speed manual gearbox that is automated through electro-mechanical control of the selected gear and clutch engagement. Designed by Borg Warner, it was the first automated twin-clutch gearbox used in a production car when introduced in 2003.

The DQ250 has two clutches, one that engages the even gears, and one that engages the odd gears. The clutches are multi-plate wet and concentric, housed within a basket. They are both immersed in oil and engaged using oil pressure.

DIY EFI, Arduino ECU

Both the gear selection and clutch engagement are performed by the mechatronic unit, which is an assembly of an electronic control unit and solenoid valves that send oil pressure to the required circuit to command the correct gear and clutch pressure.

It is widely reported that the mechatronic unit is programmed to modulate the clutch pressure until 1% slip RPM is achieved. This is similar to a conventional lock-up torque converter strategy where slip is controlled for smooth drivability.

The upside here for the DIY programmer is that the DSG uses a closed loop strategy and this relaxes the need for extreme accuracy in the load control signals being send from a DIY ECU installation.

Electrical interface

The good news for installs of a DIY controller such as Rabbit ECU is that the DQ250 is relatively stand-alone. It basically has a power and CAN bus connection, and a few other diagnostic connections such as K Line. 

  • K Line (1)
  • CAN-H (10)
  • Power-ignition (11)
  • Power-battery (13)
  • CAN-L (15)
  • Ground (16)
  • Ground (19

Teensy ECU, Teensy EFI, Teensy Fuel Injection


Engine Torque Management

The DQ250 control is mostly autonomous. When in automatic mode (shifter in D) the DQ250 mechatronic controller determines which gear to select, along with which clutch to engage and how much clutch pressure to apply. But as anyone who drives a manual car knows, there is some cooperation needed from the engine to make the shifts happen smoothly.


During upshifts, the requirement for torque management is not particularly strict. A reduction in torque during the shift helps smoothen and speed up the shift. Failing to reduce torque does not prevent the shift occurring, but presumably causes additional clutch wear.

The torque reduction on upshifts using Rabbit ECU uses two methods:

  1. Retarding timing monetarily at the shift point to reduce torque
  2. Reducing fuel flow momentarily at light loads to reduce torque




Because the shifts occur quickly, the Rabbit ECU does not reduce the throttle angle – this happens too slowly and without enough precision to have a useful affect on torque.

You can see video here of Rabbit ECU DQ250 upshifts.

Rabbit ECU GDI, Teensy DIY ECU


Torque management is particularly important when downshifting, when torque must be reduced for up to 1.1 seconds as both clutches are disengaged and the mechatronic is selecting a lower gear. Experimentation with Rabbit ECU shows that not managing torque during downshifts can cause the down-shift to be aborted, with both clutches disengaging and the engine free revving because the match rpm is not close enough. 

As any tuner would know, it is possible to reduce torque drastically by retarding timing and missing fuel injection events. But this would be crude and cause drivability problems, so a better solution is to ignore the driver pedal position and open the throttle just enough to rev-match to the RPM needed for the lower gear being selected. When off pedal, a downshift needs a small blip of the throttle position to increase the RPM. When on pedal, a downshift usually needs a large reduction in throttle position to keep the RPM within range for rev matching.

Because the Rabbit ECU has control over the electronic throttle, this can all happen in cooperation with the DSG just like the OEM system.

Teensy Direct Injection, DIY ECU


The rev matching strategy using Rabbit ECU is quite simple – a 2D table of free rev RPM versus required TPS, and a table of gear ratios. Using the current vehicle speed, and downshift gear, the rev match RPM can be calculated.

The MAP-MATE RPM Match Table controls the throttle opening depending on the target rev match RPM. It is tuned by free revving the engine and inputting the TPS at that engine RPM.

DIY GDI, Aftermarket DSG Controller


The VSS per 1000 RPM table contains the gear ratios of the DSG so that the Rabbit ECU can calculate the selected gear based on vehicle speed. It is also useful because the Rabbit ECU can calculate the expected RPM is any given gear, and determine the clutch slip based on the actual engine RPM. It is possible to diagnose clutch slip when pushing the DQ250 to its limits with additional boost.

DSG Control Rabbit ECU, DIY EFI, GTI ECU, VW GTI Tuning


The Rabbit ECU will command the throttle to ‘blip’ so that the target RPM is reached during downshifts as shown here.



CAN Signals

Removing the OEM ECU and replacing it with a DIY controller requires the new ECU to send the same (or similar) signals to the DSG so it can continue to operate correctly. Not sending the correct signals to the DSG controller results in the flashing D symbol at the instrument cluster and a locked gear shifter!

The DQ250 is connected to the power-train 500 kbps CAN bus and the relies on signals to/from:

  1. Engine control ECU
  2. ABS controller module
  3. Gear selector module

The CAN signals needed can be easily discovered using a tool such as Kvaser CanKing, and a USB to CAN converter such as Kvaser Leaf Light.

After a process of studying the CAN traffic on the OEM powertrain CAN bus, the following ECU signals were identified as being needed to control the DQ250.

  1. Engine RPM (ID 640 @ 10ms)
  2. Output Torque (ID 640 @ 10ms)
  3. Pedal Position (ID 640 @ 10ms)
  4. Throttle Position (ID 640 @ 10 ms)
  5. OFF/MID/WOT Pedal (ID 640 @ 10ms)
  6. Manifold Pressure (ID 1160 @ 10ms)
  7. Engine Coolant Temperature (ID 648 @ 20ms)
  8. Brake Switch (ID 648 @ 20 ms)

Also, CAN ID 866, 644, 1152, 1162 and 1416 should be sent but can be hard coded from the OEM CAN trace. The DSG also relies on other signals from the ABS controller but this was not changed in the Rabbit ECU test VW GTI MK6.

All of the CAN signals are created at the Rabbit ECU diagnostic module, code here. All of the Rabbit ECU source code is found under GPL license here at GitHub.



18 responses to “DSG Control with Rabbit ECU”

  1. Roman Avatar

    Hello where i can buy ECU ? And Price pls?

    1. matthew@mdac.com.au Avatar

      Hi, the basic Arduino kit is here: https://www.tindie.com/products/ECUMatt/rabbit-ecu-enclosure-kit-silver/ Also there are other options such as the Teensy kit at the Tindie store 🙂

  2. Robert Gjaja Avatar
    Robert Gjaja

    Can you confirm if I can run DSG on a non ECU controlled classic race car with your Rabbit unit?
    If so then what’s the price?

    1. matthew@mdac.com.au Avatar

      Hi mate,

      I don’t think it would work very well sorry. Without having ECU managed torque by way of timing and fuel adjustments during gear changes, I think the box would be stressed by clutch slippage. Also, with no electronic throttle, downshifts would be very difficult and slow.

  3. Ridhwan Lambat Avatar
    Ridhwan Lambat

    Do I need the dsg gearbox to communicate with main ecu ? Or is it tuned separately?

    1. matthew@mdac.com.au Avatar

      Hi Ridhwan, no the main ECU is removed in this project. The Rabbit ECU communicates over CAN with the DSG and you tune the Rabbit ECU.

  4. Ridhwan Lambat Avatar
    Ridhwan Lambat

    So let me explain my situation, I have a mini cooper s r53 with a manual 6 speed. I want to convert it to a dsg for faster acceleration and also economy plus with the ability to switch between different maps. How would the rabbit ecu aid me ? Can I use it as a piggy back ?

    1. matthew@mdac.com.au Avatar

      Hey sounds like an awesome project. Sure we’d be very happy to help – the Rabbit ECU can handle this transplant project. It is a little difficult to piggy-back – ideally the Rabbit ECU should control the electronic throttle because of the need to blip the throttle, or close the throttle at certain times. Be willing to give it a try though. What in particular do you want the OEM ECU to keep controlling?

  5. Ridhwan Lambat Avatar
    Ridhwan Lambat

    Well really it comes down to Options and what makes the most sense and also to an extent budget.

    I’m happy to install a stand alone but can it out perform the stock ecu plus being mini/bmw could there be issues ? Especially since its supercharged.

    Is there anyway I can email you directly without coming back here , its abit of a task lol

    1. matthew@mdac.com.au Avatar

      Of course, totally understand – always budget restrictions and issues getting everything fully integrated. Rabbit ECU can outperform the OEM ECU in terms of unlimited tuning/future development/additional HW features. Competing against OEM refinement and emissions is always going to be tricky – Siemens would have invested bug bucks and engineering hours there! Sure we can chat more about this over email, matthew@mdac.com.au, or forum https://rabbitecuproject.freeforums.net/ cheers.

  6. Jakob Avatar

    Awesome Job
    I have a question
    The DSG for the torque reduction on change gear need only the torque percentage from the id 0x280?
    Or need and another signal that the torque reduction has finish?

    1. matthew@mdac.com.au Avatar

      Hi, we don’t do tech support here in page comments.
      If you have a Rabbit ECU or want to try a Rabbit ECU RA1 (recommended) for CAN experiments like this, you can ask for support in the forum https://rabbitecuproject.freeforums.net/board/1/general-discussion

  7. Bryne Avatar

    Hi, Here I have one for you. I have a VR6 R32t with a DQ500 4MO in 2002 VW Bora race car.

    I have converted my DQ500 with the HTG GCU and of course its now hardwired between the solenoids/sensors and the HTG controller. I cant get the controller to work. Not uncommon atm.

    I am running and EMtron EV8 ecu with DBW etc. I don’t want to change the ECU.

    I’m looking for a solution where I can use the in situ wiring and have a controller control the transmission and send CAN messages, as required, to and from the EMtron to control the DBW and received the torque data to run the transmission.

    Is than something the Rabbit can do? Can you help.

    1. matthew@mdac.com.au Avatar

      Hi Bryne,

      Reliability and safety are our main concern with the Rabbit ECU DSG feature. Bosch and Borg-Warner have come up with an ECU that wholly controls the fuelling, spark and DBW based on the OEM CAN signals, redundant PPS, redundant TPS and other signals such as brake signal. They know what they are doing. We are happy to follow that paradigm with the Rabbit ECU. There is no cutting of OEM wires, resoldering and no non-standard and untested CAN messages. Sorry we can’t help – we are not changing how the Rabbit ECU works because it is proven to be reliable and dependable.

  8. niels Avatar

    Hi Matt,

    If converting an old VW (in this case, a VW Corrado) to an EA888+DSG, is the Rabbit Rg1 ecu fully plug&play on an ME17.1/5 wiringloom(which can be modified for the CE2 relais box)? Or do the connectors need to be repinned?
    Will it control the DSG straight away once plugged in?

    Thank you!

    KR Niels

    1. matthew@mdac.com.au Avatar

      Hi Niels, yes the Rabbit RG1 harness is plug-and-play for the MED 17.5 ECU with pinout for the CCZB 2.0T engine. No re-pinning is needed. For retro-fitting to an older car you would need the DSG shifter and to make things simple a CAN adapter such as this http://www.vdveer-engineering.nl/en/products/can-convertor-dsg/can-convertor-dsg-manual.
      If you are game to try without the CAN adapter, then some more Rabbit ECU programming will be needed to send CAN messages that will keep the DQ250 happy. I can help with this.

  9. Oleksandr Avatar

    HI! Thanks for the project!
    I have an old Lincoln Aviator 2003 4.6l vehicle, and main idea is to swap the original broken transmission 5R55S with DSG dq250. Could you please point me to or help if your solution can fits my needs? Maybe it is even impossible.


    1. matthew@mdac.com.au Avatar

      Hi Oleksandr,

      I don’t think it is sensible to try fit a transverse gearbox to a longitudinal driveline. If you would really like to have a DSG gearbox behind a V8, have you considered the Audi DL382? https://tvsengineering.com/en/dsg-gearbox/dl382-2/

      I am not sure if the DL382 has the same controller and CAN messages as the DQ250, but it seems possible that they could be similar. You would need to research the Audi Q5 CAN database to see if there are similarities. If there are strong commonalities between DQ250 and DL381 controller and CAN database, then the Rabbit ECU might work well.

      Good luck,


Leave a Reply

Your email address will not be published. Required fields are marked *