

Eeprom programmer
Code to program an AT28C256 EEPROM using an Arduino MEGA.
- Size
- 49 × 58 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 36
- Pads
- 78
- Tracks, vias
- 114, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 7 Sep 2025
- Updated
- 7 Aug 2026
Overview
Eeprom programmer is an open-source printed circuit board by Grazen0, from the Grazen0/eeprom-programmer repository on GitHub, published under the MIT licence. It is a 2-layer board of 49 × 58 mm with 9 parts on 36 nets, routed with 114 tracks and 0 vias.
Its parts include 4 resistors, 2 diodes, 1 capacitor, 1 IC and 1 connector. It belongs with the interfaces and adapters boards of this library.
README
README.mdEEPROM Programmer
Code to program an AT28C256 EEPROM using an Arduino MEGA. Consists of firmware for an Arduino Mega 2560, and an uploader that talks to the firmware via serial USB.
Hardware
The firmware is designed to work with a custom-made board that can be inserted on top of the Arduino's side pin column.
![]() | ![]() |
|---|
The schematic is as follows:

The pins labeled "Arduino MEGA" go on top the rightmost header columns of the Arduino.
Usage
The uploader can be used as follows:
# You may specify a chain of "commands" to execute. More on commands below.
# Unlock, write a file, and lock again
eeprom-programmer \
'unlock' \
'write <file.bin>' \
'lock'
# Read the EEPROM's first 256 bytes into out.bin
eeprom-programmer 'read out.bin --len=256'
# Doom
eeprom-programmer 'erase'The CLI supports the following commands:
read <FILE> [--start=<ADDR>] [--len=<NUM>]: Dumps the EEPROM's contents to<FILE>.write <FILE> [--no-verify] [--verify-attempts=<NUM>]: Writes<FILE>to the EEPROM starting at address 0.verify <FILE> [--fix] [--max-attempts=<NUM>]: Verifies the EEPROM against<FILE>.unlock: Executes the software data protection (SDP) disable algorithm.lock: Executes the SDP enable algorithm.erase: Executes the software chip erase algorithm.
References
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3, R4 |
| 2 | LED | LED_THT:LED_D5.0mm | D1, D2 |
| 1 | 10µ | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C1 |
| 1 | 120 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 150 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | AT28C256 | Socket:DIP_Socket-28_W11.9mm_W12.7mm_W15.24mm_W17.78mm_W18.5mm_3M_228-1277-00-0602J | U1 |
| 1 | Arduino MEGA | Connector_PinHeader_2.54mm:PinHeader_2x18_P2.54mm_Vertical | J1 |
Questions
How big is the Eeprom programmer PCB?
It measures 49 × 58 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Eeprom programmer use?
9 parts. 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 Grazen0/eeprom-programmer repository on GitHub, at the commit this page was made from: the board is kicad/eeprom_programmer.kicad_pcb and its schematic kicad/eeprom_programmer.kicad_sch. 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
- 2 layers103 × 30.5 mm

- 2 layers31.8 × 47.6 mm

- 2 layers24 × 27.3 mm

Expansion Card Retrofit
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
9 parts1.1kCC-BY-4.0 - 2 layers15.6 × 17.3 mm

SKR Mini TFT Thermistor Board
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
9 parts1.1kGPL-3.0 - 2 layers39.1 × 49.5 mm

Learnoliver
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
9 parts915 - 2 layers17.4 × 16.9 mm

- 2 layers9.8 × 108 mm

- 2 layers

Keyboard after
adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
9 parts547GPL-3.0

