

Code for my 6502 build
- Size
- 102.5 × 30 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 4
- Nets
- 40
- Pads
- 72
- Tracks, vias
- 103, 15
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 24 Nov 2019
- Updated
- 19 Jul 2026
Overview
Rom is an open-source printed circuit board by atarola, from the atarola/compy6502 repository on GitHub. It is a 2-layer board of 102.5 × 30 mm with 4 parts on 40 nets, routed with 103 tracks and 15 vias.
Its parts include 2 capacitors, 1 IC and 1 connector. It belongs with the retro computing and games boards of this library.
README
README.mdcompy6502
compy6502 is an early-stage 6502 homebrew computer project. The long-term
goal is to build enough hardware and firmware to run Tetris on the machine.
The design follows the spirit of Ben Eater-style breadboard/modular 6502
systems for simplicity and debuggability, but uses a different memory map based
on the MMU/address-decoder architecture in docs/mmu.png.
The repo currently includes KiCad hardware designs, early ROM bring-up
firmware, build/write scripts, emulator test scaffolding, and architecture
reference images in docs/.
Memory Map
The intended memory map is:
$0000-$BFFF RAM
$C000-$C0FF I/O page
$C100-$FFFF ROMThe I/O page is split into four 64-byte device slots:
$C000-$C03F IO0B
$C040-$C07F IO1B
$C080-$C0BF IO2B
$C0C0-$C0FF IO3BThe linker script currently uses $8000-$FFFF as the 32 KB EEPROM image range
so CPU addresses map directly to the correct physical offsets on the chip.
ROM Layout
The intended ROM organization is:
$C100-$C1FF public jump table
$C200-$DFFF kernel routines and drivers
$E000-$EFFF enhanced monitor
$F500-$FFF9 Wozmon fallback monitor
$FFFA-$FFFF CPU vectorsCredits
docs/mmu.png: Mike McLaren, K8LH.docs/Beater 02b.png: Mike McLaren, K8LH.
Parts
4| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 0.1u | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C2 |
| 1 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C3 |
| 1 | 28C256 | Socket:DIP_Socket-28_W11.9mm_W12.7mm_W15.24mm_W17.78mm_W18.5mm_3M_228-1277-00-0602J | U1 |
| 1 | Board Connector | Connector_PinHeader_2.54mm:PinHeader_1x40_P2.54mm_Horizontal | J1 |
Questions
How big is the Rom PCB?
It measures 102.5 × 30 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Rom use?
4 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 Rom KiCad files?
From the atarola/compy6502 repository on GitHub, at the commit this page was made from: the board is kicad/rom/rom.kicad_pcb and its schematic kicad/ACIA/ACIA.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Rom design in my own project?
Its repository states no licence, so its author keeps all rights: ask atarola before reusing the design.
More from atarola/compy6502
9- 2 layers190.5 × 105 mm

- 2 layers102.5 × 30 mm

- 2 layers102.5 × 44.8 mm

- 2 layers105.4 × 30 mm

- 2 layers102.5 × 30 mm

- 2 layers102.5 × 30 mm

- 2 layers102.5 × 30 mm

- 2 layers49.5 × 30 mm

- 2 layers102.5 × 30 mm

Similar boards
- 2 layers18.5 × 26 mm

24g2usb rp2350zero
joypad-ai/joypad-os
Universal controller firmware for building adapters, dongles, and custom controllers.
4 parts1.7kApache-2.0 - 2 layers116 × 33 mm

- 2 layers19 × 18 mm

Daughter board
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
4 parts915 - 2 layers24.8 × 24.8 mm

Nrf24 breakout
tardate/LittleArduinoProjects
a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!
4 parts803MIT - 2 layers26 × 20 mm

Cap chain
drandyhaas/KiCadRoutingTools
A set of Python/Rust tools to aid routing in KiCad
4 parts744MIT - 2 layers34.7 × 20 mm

XG Station Power MSI
osy/XG_Mobile_Station
Open source eGPU dock for ROG Ally and ROG Flow
4 parts712CC-BY-4.0 - 2 layers20.3 × 24.5 mm

Jack power input
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
4 parts546MIT - 2 layers35.1 × 92.1 mm

SDEX2M2 MicroSD Express to M.2 NVMe Adapter for Switch 2 WIP
NVNTLabs/switch2-SDEX2M2
Micro SD Express to M.2 NVME Adapter for Nintendo Switch 2
4 parts542GPL-3.0