Skip to the content
PCBKitNew board
2 layers40.6 × 68.6 mmEeprom programmer, the printed circuit board in 3D

An Arduino Nano sketch and schematic for an Atmel 28cx programmer.

Size
40.6 × 68.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
46
Pads
96
Tracks, vias
283, 42
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
5 Apr 2019
Updated
4 Feb 2022

Overview

Eeprom programmer is an open-source printed circuit board by yoppeh, from the yoppeh/eeprom-programmer repository on GitHub, published under the MIT licence. It is a 2-layer board of 40.6 × 68.6 mm with 7 parts on 46 nets, routed with 283 tracks and 42 vias.

It is built around the AT28C256-15PU. Its parts include 3 capacitors and 3 ICs. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

eeprom-programmer

An Arduino Nano sketch and schematic for an Atmel 28cx programmer. The schematic started out only targeting 8kx8 chips (rev. A) but has been updated to connect all address lines for the 28cx series (rev. B), so any of those eeproms should work up to the 32kx8 chips. The design is based on this one, from Ben Eater.

The Arduino Nano sketch implements a serial interface to the programmer. It accepts one-letter commands:

  • e - erase the eeprom
  • f - fill eeprom with incrementing bytes
  • h - help (this) text
  • l - lock the eeprom against writes
  • r - read and dump eeprom contents
  • s - set the size of the eeprom
  • u - unlock eeprom writes
  • v - software version info
  • x - xmodem transfer binary file to eeprom

Any standard terminal program can be used to talk to the programmer. I use the following:

Be sure to set the size of your target eeprom with the s command before doing anything. It doesn't affect the chip in any way, but tells the programmer what size your chip is for the erase, fill and read commands and error checking in the xmodem transfer.

The programmer uses standard x-modem, as provided by any respectable terminal program—and certainly all of the above listed terminal programs—to put binary files onto the eeprom. No other software is required. The programmer will verify every 64 bytes as they are written (the size of an internal eeprom page).

Although the eeprom chips are supposed to come from the factory unlocked, I've heard stories of some chips being purchased off ebay that arrive locked. Try doing an unlock on a chip if you have problems writing to it.

When doing an xmodem transfer to the chip, the program will wait indefinitely for you to start the xmodem transfer from your terminal software. You can abort the transfer at this point by pressing the ESC key. Otherwise, once you have started the transfer, it will continue until the process completes or an error is detected.

If you want to fill the eeprom with a specific byte, say the 6502 nop 0xea, just change

text
fill[j] = i + j; 

on line 490 to

text
fill[j] = 0xea;

Parts

7
QtyValueFootprintReferences
3.1ufeeprom-programmer:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2, C3
274LS595eeprom-programmer:DIP254P762X508-16U1, U2
1AT28C256-15PUeeprom-programmer:DIP254P1524X482-28IC1
1Arduino_Nano_v3.xeeprom-programmer:Arduino_NanoA1

Questions

How big is the Eeprom programmer PCB?

It measures 40.6 × 68.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Eeprom programmer use?

7 parts, built around the AT28C256-15PU. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Eeprom programmer KiCad files?

From the yoppeh/eeprom-programmer repository on GitHub, at the commit this page was made from: the board is schematic/eeprom-programmer.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Eeprom programmer design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers101.6 × 76.2 mm8051dumper, the printed circuit board in 3D

    8051dumper

    JohnDMcMaster/8051dumper

    by NF6X. Forked from: https://gitlab.com/NF6X_Retrocomputing/8051dumper

    41 parts27
  • 2 layers99.9 × 64 mmMsx eeprom, the printed circuit board in 3D

    Msx eeprom

    costarc/msxcart_flash32k

    A MSX 32K EEPROM AT28C256 cartridge rewritable by software.

    99 parts22MIT
  • 4 layers100 × 100 mmRosco 6502, the printed circuit board in 3D

    Rosco 6502

    rosco-6502/rosco_6502

    Design, documentation and software for the Really Old School Computer (6502)

    62 parts8MIT
  • 2 layers99.5 × 70 mmZed-80, the printed circuit board in 3D

    Zed-80

    Gnardisitor/zed-80

    Simple Z80 computer based on Grant Searle's Z80 computer.

    33 parts
  • 2 layers99 × 96.5 mm6502-pactvm v01, the printed circuit board in 3D

    6502-pactvm v01

    napicella/8-bit-computer

    Resources for an 8 bit computer based on the 6502 micro processor

    15 parts
  • 4 layers160 × 100 mmRosco m68k, the printed circuit board in 3D

    Rosco m68k

    rosco-m68k/rosco_m68k

    Design, documentation and software for the Really Old School Computer (M68K)

    84 parts200
  • 2 layers116.8 × 147.3 mmCpu, the printed circuit board in 3D

    Cpu

    eshazen/retro-25

    Retro-tech HP-25 calculator clone using Z80

    52 parts33
  • 4 layers167.7 × 111.2 mmBB816-PCIE BANKZERO, the printed circuit board in 3D

    BB816-PCIE BANKZERO

    Aronnax9000/BB816-MATX-PCIE

    ATX form factor motherboard for Adrien Kohlbecker's BB816 CPU breakout board (rev. A27)

    16 parts2