BMW M57 cruise control

When swapping the M57 into the Dogger I wanted cruise control,. the button was in and I wanted it to work.

It was fitted to all P38’s I think

The switches from the BMW in the steering wheel use a K-bus data stream into the engine ECU , the ECU does all the necessary stuff and works well.

But how to get the correct data into the ECU when you don’t have a BMW MFL steering wheel ? well at first I was going to make a little circuit to do this, so I acquired a switch pack from aE46 to sniff the data, but realised it would be easier to repurpose the unit.

BMW MFl steering wheel for range rover K-bus use
you dont need the M series wheel any with the cruise buttons will do.

so I did, I soldered on these wires to a plug and then linked them to the buttons on the P38 steering wheel and sent the wire with k-bus data to the DDE4 ecu. The cruise and phone buttons are on separate PCB’s and although it’s a funy shape it is a small board.

BMW MFL switch pack for cruise repurposed for a Range rover with M57 conversion in a camprvan

all the errors in the ECU dissapeared and using OBD reader I could see the button operating but speed input error was still there.

Now most old BMW ECU’s take the speed signal from one of the rear wheel ABS sensors so I did just that, the signal from the speed sensor on the P38 was the same format, but it didnt work 🙁

I still got the speed signal error!!, turns out the DDE4 ECU wants the speed on the CAN bus… I don’t have a E46 to get the data from, I roughly know the data format but cannot get it to accept it…..continued soon

unless anyone knows better …

Share your joy of knowledge with the world..

5 thoughts on “BMW M57 cruise control

  1. liam

    Very interesting. Does the ECU also need to see an input from the steering angle sensor for CC to work? I was considering making my own system using an arduino and simulating the throttle pedal inputs.

    1. Beady

      Hi Liam,
      no, it doesn’t need the steering angle, I once made a speed limiter for the rally cars that disconnected the throttle pedal and uses a digital pot to simulate the pedal, it read the pedal but restricted the pedal amount to keep the speed to to a limit. the driver selected the speed like 30mph and then kept their foot to the floor and the car would go as fast as possible with max power but not go over the set limit. This is used in the big desert races when we travel through villages, the organizers are very strict on speeding.
      The DDE4 ECU used on the M57 has a very good cruise, so making the original BMW MFL controls connect to the P38 wheel button , which is simple. I think this the best way to go.

      1. Liam Challis
        Liam Challis says:

        Thanks for your reply, clever idea for the speed limiter. Yes making a “digital pot” with the arduino was my plan but using the DDE4 would be far better if it can be made to work. I have done some more research on this and it appears that cruise only works in the top two or three gears and it checks that the ratio between speed input and engine RPM matches those gears. Therefore the ECU will either need to be coded for the different ratios in the land rover or you need feed a modified speed signal to the ECU which it deems to be “plausible.”

        1. Beady

          coded ratio’s, would be easy in the Arduino code.

  2. P38 Autobox comms with the M57 engine – BeaDy

    […] BMW M57 Cruise control in a conversion […]

Leave a Reply

Your email address will not be published.