Monday, January 30, 2012

A ponyprog EEPROM programmer implementation

To fix a tv set I had to build a EEPROM programmer for NVM3060 EEPROMs.

At first I believed it was possible to use my i2c EEPROM programmer I use for 24CXX memories, but I have soon realized that NVM memories follow a different signaling standard called IM-BUS.

Googling around I've found the PonyProg project from Claudio Lanconelli (, an EEPROM programmer able to rely with this kind of memories. It is a funny programmer built of a "mother" board and many "daughter" boards, one for each memory and PICs family the programmer is able to deal with.

So I implemented the motherboard and the daughter board for NVM memories.

The motherborad was simplified as I considered it a little redundant. In fact the external power supply circuitry (Q4,Q6)  is, in my honest opinion, not needed and can be replaced by a simple jumper.
Aside is my modification manually depicted on the original diagram. JP2 is in fact used to switch between the external power supply and the internal power recovered from the RS232 by mean of D1, D2, D3.

I tested it in both configurations. Trying to deal with an NVM chip using the internally recovered power supply leads to read/write errors because the NVM is pulling too much current. Switching to the external supply things went fine with no problem.

Have you found this information useful? Please support my effort. Thank you!