I am doing a lot of reverse engineering on SOIC-8 Eeproms in automotive ecus. At the moment it requires unsoldering the chip, read/write, solder the chip back in, test, repeat.

Most Eeproms have to be removed from the PCB in order to be read.

As you can imagine when this happens multiple times pins can become damaged and the PCB becomes a bit messy (if you're trying to do it in a hurry). Not to mention over just a week the amount of wasted hours.

How can I make it easier to read and write to the Eeprom without having so unsolder it from the PCB each time?

Most of the Eeproms I come across are Microwire devices such as the 93C46/56/66.

  • 1
    \$\begingroup\$ Have you done any searching at all? The answer is yes, but they aren't cheap. Shopping questions are off-topic here. \$\endgroup\$ – Dave Tweed Nov 13 '16 at 14:50
  • \$\begingroup\$ I have changed the wording so I am no longer specifically asking for a product, is it more on topic now? \$\endgroup\$ – Terry Gould Nov 13 '16 at 14:54
  • \$\begingroup\$ OK, fair enough. Generally speaking, there isn't going to be a 1-piece solution. Emulation Technology is one vendor of sockets that I've used in the past, but they are not themselves surface-mount. Ironwood Electronics makes a complete solution in two parts; you solder an adapter to the board and then plug the socket assembly into that. \$\endgroup\$ – Dave Tweed Nov 13 '16 at 15:05
  • 1
    \$\begingroup\$ Such solutions are not mechanically very robust -- they're intended to be used on a lab bench, not in a garage. A custom flex circuit to connect the socket to the board might be a better idea. You might also consider developing an EEPROM emulator -- essentially a dual-port RAM that connects permanently between your development machine and the target board. \$\endgroup\$ – Dave Tweed Nov 13 '16 at 15:10
  • \$\begingroup\$ What interface is your EEPROM using? I2C? SPI? \$\endgroup\$ – ThreePhaseEel Nov 13 '16 at 16:55

Since we're, either way, talking about a relatively intrusive change to your system, one could consider that

  • SOIC definitely isn't the smallest existing footprint for EEPROMS and
  • you essentially want in-system programming.

So, what about ditching the SOIC form factor EEPROMS completely?

I imagine something like the "stamp" PCB format, ie. a small PCB with contacts at the edge that fits where your SOIC EEPROM would have been.

The only purpose of that board would be to

  • go where originally your SOIC EEPROM was,
  • carry an electrically compatible EEPROM,
  • allow to disconnect the EEPROM's power supply from the rest of your system, and
  • have test points that go to the address/data lines of your EEPROM

That way, you could power off your system, only power on the EEPROM (e.g. by pulling off a jumper and connecting an external voltage supply), and then use the EEPROM as if it was desoldered (assuming that your system has high impedance on the EEPROM wires when powered off).

You could permanently solder that PCB in place.

Notice that this often isn't even necessary. If you can build / buy a reliable pin probe, and can assure that nothing else accesses the EEPROM bus during readout/programming (e.g. by holding the microcontroller it connects to in reset), many typical buses (I²C, for example) will allow you to access your EEPROM while it's still built-in.

  • \$\begingroup\$ For SPI/Microwire EEPROMs, this is probably the best solution to avoid backdriving pins. I2C busses are much easier in that you can simply multi-master the I2C bus while the system is operating in some sort of standby mode instead of having to isolate the EEPROM \$\endgroup\$ – ThreePhaseEel Nov 13 '16 at 18:48
  • \$\begingroup\$ @ThreePhaseEel exactly what I say in my last paragraph :) \$\endgroup\$ – Marcus Müller Nov 13 '16 at 19:53
  • \$\begingroup\$ Could I read/write a Microwire Eeprom if I hold the MCU in reset, or if I short the oscillator? \$\endgroup\$ – Terry Gould Nov 13 '16 at 22:10
  • \$\begingroup\$ possibly – that depends on the MCU's pin states during reset \$\endgroup\$ – Marcus Müller Nov 13 '16 at 22:36

Since you are dealing with pre-fabricated production-grade boards, it is very unlikely that they will have any isolation gates to isolate the EEPROM chips when the board is powered off. Therefore the most sensible and straight-forward solution is to use a SOIC-8 socket with a small matching footprint.

If you really need a very frequent turn-around, you need to design an interposer (preferrably on a flex cable) to any suitable EEPROM emulator until the code content is finalized.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.