Skip to content

Python - Arduino Eeprom programmer based on Ben Eater's project that sends bin files over serial data USB

License

Notifications You must be signed in to change notification settings

handmade0octopus/python-arduino-eeprom-programmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arduino Nano Python EEPROM programmer through serial data connection

This project is based in 99% on Ben Eater's EEPROM programmer. So all credits go to him for this wonderful invention.

Copyright 2017 Ben Eater

This code and schematic are MIT licensed.

Circuit

This is a simple circuit for programming the 28C16, 28C64, 28C256, and similar parallel EEPROMs using an Arduino. Since the Arduino doesn’t have enough pins to directly control all of the address, data, and control lines of the EEPROM, two 74HC595 shift registers are used for the 11 address lines (15 for the 28C256) and the output enable control line.

Schematic of EEPROM programmer

How does it work?

The base Arduino code is nearly identical to Ben Eater's one (see link above). Small changes were made to the code. It features additional functions to debug and see what's inside EEPROM even without pluggin it in.

It uses serial connection and first it sends 1 byte of data to tell Arduino how big the rom is. It takes whatever is coded to bin1.bin and then it reads from EEPROM and saves it to bin2.bin so you can compare if writing was correct. I used Windows HxD program to decode HEX file as it's easy to use.

Edit 'nano_programmer.py' and change COM6 port to the one which your Arduino is using.

Edit 'makerom.py' to your liking. It's setup so it only creates 1024 bytes for faster programming (whole 32KB ROM takes over 5 min to program!). You can program it once so 7FFC and 7FFD are set up correctly and you can edit only 1024 so it saves a lot of time!

About

Python - Arduino Eeprom programmer based on Ben Eater's project that sends bin files over serial data USB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published