

C64-eeprom
Simple AT28C64/256 EEPROM adapter for 2364/32 mask roms typically used for the Commodore 64 Kernal/BASIC/Character rom.
- Size
- 21.6 × 36.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 8
- Nets
- 28
- Pads
- 65
- Tracks, vias
- 88, 31
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 1 Feb 2024
- Updated
- 27 Feb 2024
Overview
C64-eeprom is an open-source printed circuit board by relic-se, from the relic-se/c64-eeprom repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 21.6 × 36.1 mm with 8 parts on 28 nets, routed with 88 tracks and 31 vias.
Its parts include 2 connectors and 1 IC.
README
README.mdC64-EEPROM
Use standard 0.6" DIP EEPROMs in place of a mask rom footprints. Compatible with various mask roms and EEPROMS with solder jumper configuration.
| Top | Bottom |
|---|---|
![]() | ![]() |
Compatible ROM ICs
Use the following tables to determine the necessary solder jumper configuration.
EEPROMs
| EEPROM | Configuration |
|---|---|
| AT28C64(B) | A13 and A14 jumpers can be left unconfigured (NC). |
| AT28C256 | A13 and A14 jumpers can be configured to select 1 of 4 banks. Leave both as "0" (GND) to use first 4/8KB. |
It is possible to connect switches to the A13 and A14 solder jumper pads to enable quick bank switching with an AT28C256 to select between 4 ROM images. To minimize size and materials, this board does not include this feature by default.
Mask ROMs
| Mask ROM | Typical Usage | Configuration |
|---|---|---|
| 2364 | C64 Kernal (901227-03) & BASIC (901226-01) ROMs | Solder pad 2 (middle) to pad 1 (arrow) of the 64/32 jumper (the 64 side) and the OE jumper. |
| 2332 | C64 Character ROM (901225-01) | Solder pad 2 (middle) to pad 3 (bottom) of the 64/32 jumper (the 32 side) and the A12 jumper. |
Materials
This board uses 2 SMD 0.1" pitch pin headers and 1 0.6" wide, 0.1" pitch SMD DIP socket. SMD components were selected to reduce board width. However, standard through hole components can be easily modified to be SMD compatible by bending the socket legs outward and the pin header legs left and right alternating outward.
No other components are necessary as the AT28C64/256 EEPROMS are 5V-compatible and otherwise identical to standard mask roms. Using this board without an IC socket for the EEPROM is possible, but not recommended.
Programming
EEPROMs are fairly simple and easy to program. They can be programmed using a standard TL866 programmer or any other compatible ROM programmer. A number of other solutions also exist which don't require specialized equipment. Here are a few options using off-the-shelf components:
- PicoPROM
- 32u4-programmer (a little bit of self-promotion here)
- Arduino EEPROM programmer
- eeprom-writer
- TommyPROM
Parts
8| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x12_Pin | Connector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_Vertical_SMD_Pin1Right | J1, J2 |
| 2 | Jumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2 |
| 1 | A12/CS2 | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP4 |
| 1 | A12_GND | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP3 |
| 1 | OE_GND | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP5 |
| 1 | ~ | Package_DIP:DIP-28_W16.51mm_SMDSocket_LongPads | U2 |
Similar boards
- 2 layers20.5 × 24.8 mm

- 2 layers14.4 × 10.5 mm

OSO SWAB B1-00 Sensor Watch Accelerometer
joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch
8 parts2.1k - 2 layers7.9 × 39.1 mm

Brain board STM32F407 SD wing it
rusefi/rusefi
rusefi - GPL internal combustion engine control unit
8 parts1.2k - 2 layers59.9 × 25.7 mm

Buffer
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
8 parts1kGPL-3.0 - 2 layers52 × 12.6 mm

USB
shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.
8 parts960Apache-2.0 - 2 layers87.5 × 48.5 mm

7 input macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
8 parts915 - 2 layers36.2 × 63.1 mm

PicoMemcard pico
dangiu/PicoMemcard
Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico
8 parts694GPL-3.0 - 2 layers36 × 10 mm

PCB4-PWR BTN Rev.A
OLIMEX/DIY-LAPTOP
Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop
8 parts578Apache-2.0
Questions
How big is the C64-eeprom PCB?
It measures 21.6 × 36.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the C64-eeprom use?
8 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 C64-eeprom KiCad files?
From the relic-se/c64-eeprom repository on GitHub, at the commit this page was made from: the board is c64-eeprom.kicad_pcb and its schematic c64-eeprom.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the C64-eeprom design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).


