Search topics...

Have you ever written data to a serial-EEPROM chip before it is soldered down to a PCB?

0 upvotes
Practice with AISoon

Pre-programming serial EEPROMs before assembly is standard practice (configuration data, MAC addresses, serial numbers, calibration defaults). Two common ways:

  • On a programmer / in a socket (gang programmer): place the bare chip in a programmer or ZIF/gang socket and program it before it goes on the board. High volume uses automated handlers or chips pre-programmed by the distributor. This is the literal "before it's soldered down" case.
  • In-system programming (ISP) right after placement via a programming header is the alternative, but the question is about pre-programming the loose part.

Write protocol (technical core), e.g. for I²C 24-series:

  1. Apply correct VCC and ground; ensure WP (write-protect) pin is deasserted so writes are allowed.
  2. Send the device control/address byte (write), the word address, then the data byte(s).
  3. Respect page-write boundaries: you may write a full page in one transaction, but data must not cross a page boundary (it wraps within the page). Align multi-byte writes to pages.
  4. After issuing a write, wait the write-cycle time (tWC, typically ~5 ms) or use ACK polling — repeatedly address the device until it ACKs, signaling the internal write completed — before the next write. For SPI 25-series: send WREN (write-enable) first, then the WRITE opcode + address + data (within a page), deassert CS to start the cycle, then poll the status register WIP/RDY bit until done; the write-enable latch auto-clears after each write.

Concerns: set/clear the WP pin appropriately, verify by reading back, watch page sizes and write-cycle timing, and use the right voltage. Pre-programming saves test/assembly time but means the part's contents must be correct for that board variant.