On this weeks Food For Thought, I thought I would have a talk about engine management systems within a car. Can you run an ECU from another car that is from the same brand? For example, if you have an Alfa Romeo Mito car and you want more power from say the Abarth 595 Competizione. Could you run the ECU from the Abarth in your Alfa Romeo?

Reason I ask this is because both cars are, of course, made by Fiat. Now for this example, let’s say the ECUs are both Bosch ME 7.9.10. Along with the fact that both cars have the same base engines. There may be some slight differences such as the cam lobes or compression or internals being forged and so on but overall, the Abarth 595 is clocked to 180HP.

Ok so what are the potential issues?

  1. Immobilizer issues
  2. PID commands not matching
  3. CANBUS issues

Starting with the immobilizer issues. Nowadays, it is possible to virginize an ECU so that it will register with the cars body computer and key. So this solves that issue.

The next issue are that the PID commands may not match up of the sensors (correct me here if I am wrong, I am learning about this stuff currently). So would that mean you would need some form of medium (device between the ECU and the body loom wires) which translates the commands from the ECU to the sensors and body ECU? Or will the commands work because the cars come from the same company?

Finally, would there be any issues where the CANBUS cannot communicate with the different messages that get passed around. So say for example that when you press the brakes, the reverse lights come on or the radio changes station. Potentially you would use the likes of MultiECUScan (link here) to do a proxy alignment so that the CANBUS can realign to all of the systems of the vehicle.

Why do you want to even know these things???

Isn’t a Panda with 150HP such a cool idea?!

So the reason I brought this interesting topic up. I have a Fiat Panda 100HP and I have a bunch of stuff from a 150HP Fiat Bravo which I would like to dump into the Panda. Instead of rewiring the whole car, I would like to create a patch loom and connect the body computer of the Panda to the Bravo ECU so that I would have a 150HP Turbo Panda. Epic stuff if you ask me!

So, what are your thoughts? Is it possible to swap the ECUs and all of the commands of an ECU from one car work in another? Let me know what you think below.

**Update**

Hi everyone! After several months of being away, I can finally say that it is totally possible to use an ECU that was not designed for your car originally. Here are the details. Let me first outline the computers which are used in a Fiat Bravo Vs Fiat Panda:

Fiat Bravo 150HP 1.4 Turbo

Body Computer – Magneti Marelli

ECU – Bosch ME7.9.10

Fiat Panda 100HP 1.4 N/A

Body Computer – Siemens

ECU – Bosch ME7.6.3

As shown above, the computers are different between the two models. As it turns out. The CAN protocols used to communicate between the body computer and the ECU are similar in this case. This means that I am able to install the Bosch ME7.9.10 into the Panda. This ECU contains the MAP which accommodates turbo metrics. This means that if I can get the wiring diagrams for the Panda 1.4 and the Bravo 1.4 turbo, I will be able to use this ECU for this swap.

So what does this mean? One can’t simply rewire and use the new ECU…

That is true. The next problem we face is the immobilizer. The immobilizer code is specific to every car on each ECU. This code is also applied to the body computer and the key (or keys) for the specific car. This means that if I try to start the car using the Bravo ECU, Panda body computer and key, nothing will happen.

However, a solution to this is to replicate the code from the old Panda ECU to the Bravo ECU. Immobilizer codes are generally stored on an Eeprom. This is a form of hardware memory which keeps the immobilizer flashed on to even when the car is off. But this also raises another problem. The memory location of the immobilizer is 99% likely to be in different locations across the two ECUs. Back to square one I guess…

Nope, there is another option, virginize the ECU. Virginizing an ECU causes the ECU to enter a factory mode. When ECUs are made in factories and are being applied to cars, they are set to a factory mode. Once the ignition key is turned on in the car, the ECU registers the key which was used in the ignition (FYI this is my understanding from my research online).

Virginizing an ECU means that we have to access the ECU somehow using an interface. There are several options on the market made by companies as below:

  • Alientech – Kess, JTag
  • AMT Cartech – Mpps
  • Gelletto

These companies have all sorts of interfaces that have specific jobs. For example, Alientech provide 2 products, Kess and JTag. Kess is used to access ECUs through the OBD2 ports, whereas JTag requires you to remove the ECU from the car, open it up and potentially solder wires onto the ECU so that the interface can communicate with the ECU. This is usually ECU specific and thankfully Kess and JTag provide you with all of the information you need to connect to your ECU.

For my project, I decided to virginize the ECU myself using JTag as this was the only way you can connect to the Bosch ME7.9.10 after researching what people had done. You can ask a tuning shop to virginize the ECU for you, I decided to do this as more of a learning experience and to build my understanding.

After I virginized the ECU, repinned the body loom ECU plug in the car, I turned the key for the first time and the car started right up with no issues. The CANBUS was able to communicate with the key and body computer and the dashboard showing everything is running perfect.

Now I have to warn you, please do you research on this kind of thing. This may have worked for me but it may not work for you. You will need to make sure you know what you are doing.

I hope this post has been useful, please feel free to comment below with any questions or input about this process or just let me know your thoughts.