The "Steady Hand" Programmer Blows EEPROMs for Your Retro Computing Projects — By Hand

Designed to solve the bootstrapping problem, this EEPROM programmer is built entirely from discrete logic.

Pseudonymous classic computing enthusiast "interrupt_tv," hereafter simply "TV," has built a device designed to bootstrap the ROM chips for homebrew single-board computer designs — by letting you enter the data into physical programmable read-only memory (PROM) chips by hand.

"Steady Hand is a digital circuit for programming EEPROMs [Electrically Erasable Programmable Read-Only Memory chips] by hand," TV explains. It's inspired by [a] video by Ben Eater, where he creates a circuit for programming an EEPROM using DIP switches and jumper wires. Steady Hand is much more ergonomic than his design, though it is somewhat more complex. While Ben Eater provides the 'how' inspiration, the 'why' inspiration comes from Jeremiah Orians' stage0 project, and the general concept of bootstrapping: creating a computer software environment from nothing. When building a homebrew computer, one would typically use a significantly more complex modern computer to write the homebrew computer's software to an EEPROM. I created Steady Hand as a first step towards resolving this problem."

The Steady Hand is designed to solve the bootstrapping issue in homebrew computing — letting you program EEPROMs by hand. (📷: interrupt_tv)

A classic homebrew computer, traditionally built around an eight-bit CPU like the MOS 6502 or Zilog Z80, boots using the aid of a ROM chip — either into a monitor, which allows the user to directly access memory to program the system, or into a programming environment like BASIC or Forth. In mass-manufactured systems, these ROM chips are programmed — or "blown" — at the factory; in homebrew systems, they're programmed individually using a more powerful computer.

The Steady Hand takes the need for a more powerful computer away, replacing it with a mass of wires spanning multiple solderless breadboards. The name comes from the XKCD comic strip #378, in which a series of programmers try to one-up each other in their chosen editing software until one declares that "real programmers use a magnetized needle and a steady hand," themselves being one-upped by a programmer who claims to use chaos theory to flip bits via the flapping of butterflies' wings.

The name comes from XKCD #378, though no magnetized needle and good eyesight are required. (📷: XKCD)

There's no needle here — nor any butterfly — but a data entry system comprised of a hexadecimal keypad with address navigation buttons and a red "write" button, with entries confirmed via seven-segment display. Tested with the common AT28C256 EEPROM — "[it] should be usable with AT28C16 and AT28C64 EEPROMs by reconfiguring a few jumper wires," TV notes, though warns this is as-yet untested — it allows the user to program its memory byte-by-byte. There's no microprocessor in the system, nor even a microcontroller: it's all built using off-the-shelf logic chips and passive components.

Full details are available on Codeberg, along with the KiCad project files under the strongly reciprocal variant of the CERN Open Hardware License Version 2; TV plans to take the breadboard design and create a dedicated PCB.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles