So this is a side project I completed a while ago. It came from an issue I was having finding a suitable design for a simple EEPROM programmer circuit that could write data fast enough to work with the EEPROM I was using.
I needed the circuit to be simple and easy to put together, so I decided to use an Arduino and jellybean logic chips if possible.
The design I came up with uses one micro controller with an SPI interface, and 3x74LS164 and 1x74LS165.
The 74LS164 are used for writing data out over SPI to a 24 bit wide parallel interface, the 74LS165 is used to read a byte back in from the interface.
After building it up on a breadboard and verifying that the circuit was indeed fast enough to be within the EEPROMs timing requirements, I decided to design and order some PCBs using easyEDA and JLCPCB.
The PCB is designed so that you can connect up any EEPROM you wish using a bunch of jumper cables. It's tedious to wire up but it was the most simple way of providing a generic connection interface so that I could use the board with lots of different EEPROMs.
How I currently use the board is using a piece of Python code I found online and modified to suit my requirements to stream the file I want to write to the EEPROM over to an Arduino through the serial port. The Arduino has related reciever code which I also found online and modified to suit this project. The Arduino receives the data in 256 byte chunks which it writes to the EEPROM, reads back from the EEPROM and sends to my PC for validation. If an error is found the same data is sent over again and the process is repeated.
The whole system has worked reliably for me once I got rid of the last software bugs.
I'll be sharing the circuits, PCB schematics, and code used in the project in further posts.
In the next post are a few images of the board and as I currently have it set up.
Edit:
If anyone has any interest in a board just PM me I have a few spares I can send with or without the required parts
