Interfacing M93C56W

Hello!

As the title suggests, I am trying to interface an M93C56W EEPROM, used in the ECU of my dad's Vitara. He swapped in a new engine, ECU and harness. The ECU has an immobilizer function, but we do not have the matching immo module and key, so after some digging I discovered that if the EEPROM inside the ECU reads "90" in hex at a certain address, the ECU will let the car start.

Problem is, as soon as the ignition is cycled, the processor inside the ECU overwrites this byte with something else and the car won't start anymore and I get the flashing light for immo error.

I am planning on using an Arduino Nano, to write this byte at this address every time the ignition is switched off, or on (I don't know whether the EEPROM contents change during driving or when the ignition is first switched on). I found a library for interfacing specifically the 93c56 and is super simple to use. And I managed to write data to an EEPROM and read from it!

What worries me is that, whenever the ignition is switched on, the CPU of the ECU will also try to access the EEPROM as well as the Arduino, essentially creating 2 masters and 1 slave type of deal. Would it be necessary to "sync" them and how would I go about doing that?
Though if I make it so the Nano writes only after ignition is switched off (CPU == off). Then I don't see a problem.

Then there is the issue of writing in circuit, which I don't know if it will be possible.

Your solution sounds interesting but you may want to investigate further. The ECU memory device has a limited number of erase and write cycles. Check with the dealer they may be able to solve your problem without costing a lot. I believe it is a simple fix with there diagnostic machine. This was put in as an anti theft function. You may also check with your source for the unit, they should also be able to help you.

I won't comment on wether it's a good idea to mess with the internals of your car, only how you could do it.

It looks like a SPI EEPROM? I think that adding another another master to the bus would be an exercise in frustration. Have you considered emulating the EEPROM with a microcontroller instead?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.