Search topics...

Have you ever read the contents of a serial-EEPROM chip from a dead system (though EEPROM chip is ok)?

0 upvotes
Practice with AISoon

This is a common recovery/forensics task. Even when the host board is dead, the serial EEPROM (e.g., a 24-series I²C, 25-series SPI, or 93-series Microwire part) is an independent device that retains its data, so you can read it back independently of the broken system.

Approach:

  • In-circuit (in-system) read: clip onto the chip (e.g., an SOIC test clip) and drive its serial bus from an external master — a dedicated EEPROM/Flash programmer, a "bus pirate"/FTDI adapter, or another microcontroller. You provide power (VCC at the correct voltage — careful with 1.8 V vs 3.3 V vs 5 V parts), GND, and the bus signals (SDA/SCL for I²C; SCK/MOSI/MISO/CS for SPI). Caveat: with the dead board still attached, other devices on the same bus or the dead host driving lines can interfere or back-power the board, so you may need to hold the host CPU in reset, isolate VCC, or desolder the chip.
  • Out-of-circuit read: desolder the EEPROM and read it in a programmer socket — cleanest and most reliable.

Read protocol (technical core):

  • I²C (24-series): send the device control byte (with chip-select address bits) for a write to set the internal address pointer (a "dummy write" of the word address), then send a repeated-start with the read bit and clock out bytes sequentially, the master ACKing each byte and NACKing the last.
  • SPI (25-series): assert CS, send the READ opcode (0x03) followed by the address, then clock out data bytes for as long as CS is held.
  • Microwire (93-series): send the READ opcode + address, then clock out the data word(s).

Then save the dumped image to a file for analysis/restore. (Reading is non-destructive; just match voltage and bus type to avoid damaging the part.)