P38 Autobox comms with the M57 engine

I am putting some info on the web for all to use and add to, I did this work over ten years ago and never got around to sharing it.

But this covid-19 has to have some upsides and this is one of them.


Three other blog posts on P38/BMW techy stuff….

BMW M57 Cruise control in a conversion

Simple hack for the P38 BECM serial communications

Making the HVAC work on a P38 with a M57 conversion


When we did the first M57 into a P38 back in 2006 the autobox was the difficult bit and the datastream between the original M51 ECU and the gearbox controller was a pain, it took a few hundred hours of reverse engineering and then I was never 100% happy with the conversion, while the data stream worked perfect there was still a conflict with the torque produced by the M57 and the torque converter settings in the gearbox and it’s controller MAPS, we tried using the 4.6 gearbox ECU and also modifying the torque converters.

The issue is getting the gearbox to coast, ie when you lift off ,the gearbox goes into neutral. This data stream does remove all the errors and stops limp mode, the sport switch flashes when the gearbox ECU has an error and is Limp mode.We made a companion PC program for the converter so we could change the throttle and torque settings on the fly over Rs232, thereby gearing the data to the gearbox ECU but nothing really got it perfect, it is a usable simple engine conversion but the autobox still bugged me, we sold only a few of them. The time to fix this issue was not justified by the price we sold them for, if it had been for the Desert Warriors it would have sold for 10 times the price and the customer would have a spare just in case .

Lets start with the wires. they are different on the <99 car and >99 cars.

pre 99 Model year cars ( ones with the red hazard light switch)

wiring on  p38 for the autobox signal  range rover campervan canversion M57 diesel

Post 99 MY cars , one with a black hazard light switch.

luckily both the wires into the gearbox ECU stay the same colour and function. it is the OY and SR wires we are interested in.

The SR wire is the torque reduction request from the gearbox to the ECU, so it can change gear easily, The M57 wants this info over CAN-Bus and we did wire it to the CAN bus converter but we never implemented this and found it made little difference, if you aren’t going to try using it then this must be connected to +12v via a 1.5k resistor, to stop errors. The signal is a PWM from the gearbox and is around 100HZ 50% normally.

The OY wire has the data signal 12v PktoPk square wave

The signal is basically a clever PWM consisting of a timing pulse then 9 x (throttle position then engine torque).

the timing pulse is

5mS HI, 500 uS Low,5ms HI, 500Ms Low

the throttle and torque have the same total period of 5.4 mS (185 Hz)

zero throttle is 800uS Hi and 4.8mS Low

50% thottlle is 2700uS Hi and 2700Us Low

100 Throttle is 4.8mS Ho and 800uS Low

after the throttle, the torque pulse uses the same format but is 0-255 range instead of 0-100%. after nine pairs of throttle and torque, there needs to be a timing signal.

this data is easiy obtained from the M57 ECU via the CAN bus datastream.

here is the data for the CAN bus :

BMW CAN bus data info.zip

This Zip contains the firmware (.BIN files) for the gearbox controllers, I remember that the controllers are the same except for the firmware so they can be swapped onto the EPROM and tested, there are torque maps inside them for the gearchanges but we never had time to mess with them, the 4.6 uses an extra wire for the signals if you need that I have it.

RangeRover_Gearbox_Controller_firmware.zip

The password is here ????

Please send me any updates so I can add to this so we can help others that follow.

Share your joy of knowledge with the world..

14 thoughts on “P38 Autobox comms with the M57 engine

  1. Josh

    Hi Beady,
    Just wondering what you used to read the firmware for the P38 gearbox controller, I am assuming being later model P38 you are talking about the GS8.83.1 controller. I would like to use this controller in a classic to run a 2 with the electronic control and as such would like to be able to read and flash the controller. I have KESS and KTAG V2 and a Galletto V54 o read or do you have to open the unit and pin onto the chips directly to read it. I plan on using an Arduino unit to send the info that is required across the CAN for the TCU.

    From what I gather above it is only the timing pulse, throttle position an torque that is being sent across the CAN is this correct?

    Thanks,
    Josh

    1. Beady

      Hi Josh,
      This was a long time ago for me, If I remember correct I pulled the memory chip and used a old school reader.
      I agree, they only replicated the info from the complex signal over to CAN, it is very easy to sniff the CAN stream to confirm this.
      The CAN version would be easier and more reliable to integrate to your needs as there is so much CAN stuff around now.
      be careful with the power supplies and power filtering on the Arduino and get genuine ones, I have not had the greatest reliability using Arduino on cars unlike PIC based boards which have been 100% abuse proof.
      consider a using a BARTH controller, they are getting bit pricey now but are very reliable and quick and easy to use. I just wish there was a better connector on them, we put them in box with a Deutch bulkhead fitting.

      bd

      1. Josh

        Hi Beady,

        Thank you for the reply. Great to know it just a simple chip, I hadn’t actually opened an ECU yet. I have been looking at the bin file in the free version of winOLS to see if I can identify the maps etc.

        I have been looking at the range rover manual for the P38 and looking at what is on the CAN as with this:
        CAN communications between EAT ECU and ECM – Petrol vehicles from 99MY
        – CAN version identifier
        – Emissions (OBDll) control
        – Engine air intake temperature
        – Engine speed
        – Engine speed fault flag
        – Engine temperature
        – Engine torque
        – Engine torque fault flag
        – Friction torque
        – Maximum engine torque
        – Reduced engine torque
        – Road speed
        – Status of engine speed torque reduction
        – Throttle position

        Unfortunately I don’t have a P38 that I can CAN sniff at the moment as I have a classic and an L322.

        I am using the 4.6L controller and have just been trying to determine which messages on the CAN will be critical, I can see that I will need a P38. Out of that bunch of messages above which ones did you disregard and have the controller working without faults?

        Thanks,
        Josh

        1. Beady

          Hi Josh
          I had a look in my old files and I have the BIN files for both controllers to save you some time, the 2.5 and 4.6
          you can download them here
          https://www.beady.com/BigFileForBlog/P38_controller_4_6%20and%202_5%20gearbox.zipp

          bd

          1. Beady

            This may also be of some help
            It is a CAN specification for early BMW cars.

            https://www.beady.com/BigFileForBlog/BMW_CAN_INFO.zip

            bd

  2. Michael

    Hi beady
    In your opinion if the m57 with the 6speed auto box was fitted to a p38 and both ecus engine and auto where used and mapped to be standalone
    Would the becm need to be adapted for them ?
    Thanks Michael

    1. Beady

      hi Michael,
      It depends on what features you want, the two mapped together would work but feedback to the BECM would have to be looked at to get the dash to show the gears, but as far as running it should work fine

      I don’t know if the 6speed will go onto the transfer box or not.
      bd

  3. Luis Alberto lazarte
    Luis Alberto lazarte says:

    Hola !!!!!
    Tu trabajo es espectacular!!!!
    Mi pregunta es la siguiente: si la conversión de M51 a M57 es pero con una caja manual?
    Todos esos líos de cables de comunicación no harían falta ? No?

    1. Beady

      caja manual es fácil, caja automática que necesita para controlar la caja de cambios, ver este post ..

      1. Luis Alberto lazarte
        Luis Alberto lazarte says:

        Agradezco tu respuesta.y pido disculpas por la tardanza en leerla.

  4. Jacek

    Hi,
    is changing firmware in gearbox controller the only thing I need to do? Or should I install CAN-bus data converter too?

    1. Beady

      You need the CAN bus converter, if you change the firmware then you still need the converter, just the signals are different, the early petrols used an extra wire for the signals. If you are converting a diesel ( easiest one to do) then the auto gearbox will be in error/limp mode all the time.
      over on rangerrovers.pub forum there is a discussion about sending the CAN data from the DDE4 M57 ecu straight into the later 99-> petrol ecu, because this was how it works as standard. it’s worth a read.

      a community effort to make an Arduino CAN emulator would be worth it, then it could get updated with a group effort to work correct from my starting point.

  5. Jacek

    Hello
    I am going to change from m51 to m57 in my p38.
    the topic stopped on the chest communication with ecu.
    I am impressed with your work. I’d love to replace the firmware, but unfortunately the file link is not active

    1. Beady

      fixed
      thanks, and good luck with the conversion

Leave a Reply

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