Electronics > Projects, Designs, and Technical Stuff
General EEPROM Programmer - Simple, Cheap, Easy to interface with.
(1/1)
theworldbuilder:
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   :-+
theworldbuilder:
Images:
theworldbuilder:
Sorry for the long delay, life got busy with other things and I just forgot about this post,
Just to gonna add the schematics for anyone interested.


There's a lot of stuff that's not needed for a breadboard version of this circuit. Just ignore all the header stuff and you should be good to go.

The reason for the resistors between the last 74LS164 and the EEPROM is that this is where the data is going to be presented from the 74LS164 during write and the EEPROM during read. The resistors are needed to stop shorting and potential damage to EEPROM on top of incorrect readback of the data.


I have also attached the gerber file for the PCB.


If there's interest I can post the code for data transfer back and forth between the PC and Arduino, although the code needs to be seriously tidied up and is quiet hard to read at the moment.
Navigation
Message Index
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod