Building an EEPROM programmer

Behold this ATtiny85 based EEPROM programmer. It seems like a roundabout way of doing things, but [Quinn Dunki] wanted to build to her specifications using tools she had on hand. What she came up with is an ATtinyISP USB programmer, pushing data to an ATtiny85, which then programs an EEPROM chip with said data.

The hardware is the next module for her Veronica 6502 computer build. When we last saw that project [Quinn] was planning to add persistent storage for the operating firmware. This will be in the form of an EEPROM programmed with this device. Using ISP and an ATtiny as a go-between means that she should have no problems reflashing the OS without removing the chip. But it all depends on how she designs the interface.

For example, she blew a whole bunch of time troubleshooting the device because garbage data was being written to the chip. In the end, having her manual bus programmer hooked up during the flashing operation was the culprit. Lesson learned, it’s onward and upward with the build.

We’ve been featuring [Quinn's] projects a lot lately. That’s in part because they’re really interesting, but also because she does such a great job of documenting her experience.

16 thoughts on “Building an EEPROM programmer

  1. I actually made one of these about a week ago as well – used two ’373 latches and a teensy to do it. Was thinking about posting it. Bit more interesting how she did it, though.

    If you can hook up a serial port, you can write bursts of data to the AVR, store it in the AVR’s RAM, then write the whole buffer to the eeprom.

  2. I thought we’d already established, female submissions must be accompanied by a mug shot..? Whatever, just remember for next time.

    Very clean build though been there with a very similar face palm moment.

    What’s she plugging her ribbon’s into? That looks hella useful.

    1. Maybe breakaway pin headers? You’d have to use ones with spacing that match your breadboard, and find cables that also match that spacing, but what a simple and convenient trick that would be…

      1. I have a ton of ribbon cables with connectors on them, and though they are a bit small the pin spacing is correct, a little brute force and pin headers fit in them fine (though its tough as dried beans to get back out in one piece)

    2. Yeah, I totally dig those ribbon cable headers. I’ve been cutting my ribbons to length and then tinning the ends so I can use them on my breadboards. Headers like that would make it way easier and greatly speed things up.

    3. 0.1″ pin headers slot straight into a breadboard (and the connection is improved if you push the pins in slightly so you have about half the pin above and below the plastic block). You can then solder ribbon cable to pin header sockets to make the connectors.

      1. Yah, those are 0.1″ headers connecting the ribbon cables to the breadboard. The trick is they are 10.4mm tall, taller than standard. You need the extra length to seat properly in both the connector and the board. In addition, you have to push on the pins to center them in their plastic retainers so they stick out equally on both sides. I have about 10 of those ribbons, and 10 matching pairs of header dongles. I use them constantly. Can’t recommend them enough.

  3. You (HaD) should have mentioned that this was a *PARALLEL* EEPROM burner. I was staring at the picture wondering what all those wires were for, since most EEPROMs are SPI or I2C (4 to 2 wires!)

    You (Quinn) should be able to program modern flash memory chips with essentially the same circuit (and slightly different pre-erase algorithms.) Or “non-volatile SRAM” chips (with a built-in battery.)
    Both are still available in DIPs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s