Universal Programmer for parallel EEPROMS using a python CLI and a simple Arduino with 2 shift-registers to interface the EEPROM.
Based on the Arduino Code written by Ben Eater.
pip install eepro
- Flash an Arduino with the sketch in
Arduino/EEPROgraMmer
- Connect the Arduino to the external components following the schematic.
Check out the original project
There is also a Autodesk Eagle Project with pregenerated Gerbers in the Boards directory. This Board holds the 2 Shift Registers and has a place for a ZIF Socket.
usage: eepro [-h] -p PORT [-f FILE] [-b BAUD] [-s SIZE] [-w | -r] [-v] [-c] [--check-empty] Write to or read from an EEPROM optional arguments: -h, --help show this help message and exit -p PORT, --port PORT serial port to the programmer -f FILE, --file FILE binary file to write -b BAUD, --baud BAUD baudrate for communication with the programmer -s SIZE, --size SIZE size of the EEPROM in bytes -w write <file> to the EEPROM -r read the contents of the EEPROM into file -v verify file contents after writing -c clear the EEPROM (with 0xff bytes) before writing or reading --check-empty make sure the EEPROM is empty (filled with 0xff)
Clear the first 2048 bytes of the EEPROM and read back to make sure they are set accordingly
./eepro --port /dev/tty.wchusbserial1440 -c --check-empty -s=2048
The following command will clear the EEPROM, write the contents
of firmware.bin
and reads back the content
./eepro --port /dev/tty.wchusbserial1440 -cvwf firmware.bin -s=2048
Read the first 2048 bytes of the EEPROM and write the result into
firmware.bin
. The content is then read again to check against errors.
./eepro --port /dev/tty.wchusbserial1440 -vrf firmware.bin -s=2048