An EPROM reader/writer for Arduino
These two sketches read/write type 2532 4k and 2516 2k UV-erasable EPROMs. It was developed to troubleshoot/replace ROMs in an old arcade machine.
Data output as hex dump or Intel Hex file format
Insert EPROM into the socket and power up the Arduino
Upload the eprom-reader.ino
sketch. Once the device is initialised, LED 1 will flash.
Then open the serial monitor and the EPROM contents will be read out and dumped over the serial monitor
Comment/uncomment dumpRomText() and dumpRomIntelHex() to select desired output format
Comment/uncomment the appropriate 'for' loop to read 4k or 2k ROMs
Data to write is placed in a static array in image.h
. Use the C utility bin2c
to convert binary files to a 'C' array compatible with this sketch.
Set the VPP switch to 5V before powering up
Upload the eprom-writer.ino
sketch. Once LED1 and LED2 are flashing alternately open the serial monitor and follow the instructions to start programming.
When finished, switch VPP back to 5V and disconnect the Arduino.
I used an Olimexino-32U4 which is equivalent to an Arduino Leonardo. I had an old 28 pin ZIF socket so just used the top 24 pins for the 2532 and 2516 parts. The programming voltage is generated by a boost converter module from eBay adjusted to 25V.
This is my circuit, but you can wire it up how you like as long as you update the pin definitions in the sketches:
And here's what it looks like, built on a prototyping shield: