Here's another version of the Flash EEPROM Programmer for the ATMEL AT28C256 32K EEPROM.
This one using an Arduino MEGA 2560 board and almost nothing else.
01/29/2023
In recent months I’ve been contacted a couple of times regarding the Z80 Mini System project by other hobbyist interested in building a version for themselves.
I’m always happy to assist anyone willing to undertake a project such as this and in my most recent response to a fellow tinkerer, I explained that first one needs to build an EPROM or Flash (EEPROM) programming device like the ones I’ve described in my EPROM Programmer and UNO Flash programmer project pages. I recommend building the project using flash ROM memory instead of EPROM since erasing and re-programming these devices is much simpler and the construction of the UNO Flash programmer is a bit simpler than the EPROM Programmer version.
Then I imagined this poor fellow saying to himself, “Oh great! Now I have to build this thing before I can build the Z80 project that I really wanted...”
Which got me to thinking….
I originally designed my EPROM programmer using just a bare ATMega32 40 pin chip
(see https://sites.google.com/site/ericmklaus/projects-1/atmega32epromprogrammer )
However, at that time, I suspected that few people had such a chip lying around but many more might have and Arduino UNO (or at least have access to one)
So I re-built the second version around the Arduino UNO board.
Now if some folks had access to an UNO board, many might also have access to an Arduino MEGA 2560 board which has a TON of I/O pins.
Enough to eliminate the need for any additional components
(other than perhaps a socket for the EEPROM and the the LED)
So here’s yet another version of the programmer based on the Arduino MEGA board.
If you’re in a hurry, you can easily build this entirely on a solderless breadboard.
I used a 36 pin edge connector salvaged from an old IDE disk drive or CDRom drive.
As before, Links for the companion utilities EPprogmr_PCSide_Program.zip and EPsave_PCSide_Program.zip can be found here: EPROM Programmer
The schematic and Arduino code can be downloaded from the links below.
Once again , the source code is nicely commented so it should be easy to modify.
Some more photos:
9/27/2024
MEGA Flash Programmer for PLC32 EEPROMs
Having purchased a Pocket 8086 new-retro IBM compatible PC that used an
SST 39F512 flash EEPROM to store the BIOS, I wanted to have a way to
re-program the BIOS should the need arise.
Unlike other EEPROMs I've used, this EEPROM chip came in a PLCC32 package
so a new adapter needed to be built with the correct socket and a few
additional address signals/pins.
One thing I DID NOT want to do was mess with the original EEPROM so
I searched through some of the parts I've rescued from old motherboards and CD-ROM drives and
came across these chips in PLCC32 packages:
1. SST 29EE512 (64k) Most like the SST 39F512 but without sector erase.
2. AT49F0202 (256K) Similar to 39F512 but programs 128 bytes at a time.
3. AMIC A2940 (512K) different program & erase command bytes.
I ordered a few, prototype board compatible, PLCC32 sockets and wired up
another adapter board for the Arduino MEGA 2560.
Then I developed 3 more versions of the programmer code to support each type of EEPROM.
Other than the additional Address signals, due to the larger capacity, the read
functions work like any other EPROM so eventually each of these chips could be
programmed with the Pocket 8086 BIOS code. Since the unused address pins on
EEPROM in the Pocket 8086 are not connected, in the case of the A2040, I needed to program
each of the 8 64K blocks with the same code before I could successfully boot with that chip.
You'll find a new schematic and 3 new versions of the code in the download area.
The PC side programs for the original flash programmer are compatible with all the
new versions of programmer code.
Arduino MEGA 2560 board with PLC32 adapter
PLCC32 adapter bottom view.
2/1/2025 Update
Building the programmer on a breadboard with all those messy wires is fine if you goal is to get your chip
programmed and move on to the REAL project, (whatever it goes in)
But if you'd like to an example of how to do things properly , check out Dana's build here:
https://www.qcontinuum.org/eeprom-programmer
About the attachments: (download links are below)
FlashPgmerM1.pdf This is the schematic (28 pin DIP version) in PDF format.
FlashPgmerM3.pdf The PLCC32 version schematic in PDF format.
FlashPgmerM1.ino Here's the MEGA source code for the AT28C256. (plenty of comments, easy to follow)
FlashPgmerM2.ino The source code for the SST39F512 & SST29EE512 PLCC32 EEPROMS (64k x 8)
FlashPgmerM3.ino The source code for the AT49F020 PLCC32 EEPROM (256k x 8)
FlashPgmerM4.ino The source code for the AMIC A2940 PLCC32 EEPROM (512k x 8)
Links for EPprogmr_PCSide_Program.zip and EPsave_PCSide_Program.zip
can be found here: EPROM Programmer