

MotherBoard
Homebrew 6502 Computer
- Size
- 170.2 × 170.2 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 66
- Nets
- 230
- Pads
- 648
- Tracks, vias
- 1,101, 175
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 14 Nov 2020
- Updated
- 26 May 2026
Overview
MotherBoard is an open-source printed circuit board by RomualdRousseau, from the RomualdRousseau/Miniish repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 170.2 × 170.2 mm with 66 parts on 230 nets, routed with 1,101 tracks and 175 vias.
It is built around the 74HC148P-E, 74HC574D and 74HC590ADW, with the NE555P among its other parts. Its parts include 20 connectors, 13 resistors, 12 capacitors, 9 ICs and 3 switches. It belongs with the retro computing and games and computers and single-board computers boards and the FPGA and CPLD boards of this library.
Main components
474HC148P-E
DIP-16-55℃~+125℃ 15ns@4.5V,50pF 2V~6V 4uA 5.2mA 5.2mA 74HC Decoder Single Supply DIP-16 Signal Switches, Multiplexers, Decoders ROHSRenesas ElectronicsSignal Switches, Multiplexers, Decoders74HC574D
SOP-20L-40℃~+125℃ 1 13ns 15ns@6V,50pF 2.7V~6V 20uA 28MHz 5ns 6.5pF 7.8mA 7.8mA 74HC Series 8 D-Type Enable Rising Edge Tri-State SOP-20L Flip Flops ROHSMDDFlip Flops74HC590ADW
SOIC-16-300milSOIC-16-300mil Counters, Dividers ROHSTexas InstrumentsCounters, DividersNE555P
DIP-80℃~+70℃ 100kHz 10mA 4.5V~16V DIP-8 555 Timers / Counters ROHSTexas InstrumentsTimers / Counters
README
README.mdMiniish - Homebrew 6502 Computer
The goal of this project is to build a 8bit game console based on 6502 CPU. The entire project is strongly inspired by the work and videos of Ben Eater, but also Javidx9 and his emulator.
Mother Board
It is basically the same hardware design presented by Ben Eater. I just cleaned up the adress control logic to have as mush of the 32K RAM available.
The address plan is:
0000 --------------------------------
// RAM
8000 --------------------------------
// LO ROM
D000 --------------------------------
// IRQ Status
D100 --------------------------------
// PICTURE PROCESSING UNIT (PORT1B)
D200 --------------------------------
// AUDIO PROCESSING UNIT (PORT2B)
D300 --------------------------------
// I/O
D400 --------------------------------
// Reserved
E000 --------------------------------
// HI ROM
FFFF --------------------------------
Picture Processing Unit (PPU)
VGA Card
The card is built using a FPGA and strongly inspired to the NES PPU and the capability of PICO-8.
The overall specs of the VGA card is 16 colors with a 128x128 display area using the VGA 640x480 60Hz standard. The 16 colors are the PICO8 palette.
The VGA card is interfaced to the motherboard through a sprite based unit. The video ram is not mapped to the computer ram but instead, the CPU sends instructions to a sprite generator very similar to the NES (greatly based on Javidx9 explanations).
The overall spec of the sprite generator is:
-
1 nametables for the background composed of 16 * 16 tiles. Each tile is 8x8 pixels. Scrolling vertical and horizontal modes are supported.
-
256 sprites with tansparency support. Each sprite is also a tile of 8x8 pixels.
-
64 simultaneous sprites on screen and 16 sprites per scanline
-
NMI is generated at each vertical blank
Audio Procesing Unit (APU)
The card is built using a ATMEGA328p at 20Mhz with the library the_synth of Edgar.
The synthetizer has the overall spec:
-
4 channels at 20KHz
-
4 waveforms: triangle, square, sinus + noise
-
4 envelopes
-
modulation
-
IRQ0 is generated as the next data frame callback
Parts
66| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C1, C4, C6, C7, C9, C10, C11, C12, C13 |
| 9 | 3K3 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2, R4, R6, R7, R8, R9, R10, R11, R12 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | WD65C22 | Package_DIP:DIP-40_W15.24mm | U8, U9 |
| 1 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R13 |
| 1 | 10nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C14 |
| 1 | 10uF | Capacitor_THT:C_Radial_D5.0mm_H11.0mm_P2.00mm | C5 |
| 1 | 1M | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3 |
| 1 | 1N4001 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D2 |
| 1 | 220 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R14 |
| 1 | 220nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C8 |
| 1 | 2N3904 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | 4.7K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 74HC148 | Package_DIP:DIP-16_W7.62mm | U5 |
| 1 | 74HC574 | Package_DIP:DIP-20_W7.62mm | U6 |
| 1 | 74HC590A | Package_DIP:DIP-16_W7.62mm | U1 |
| 1 | ACO-16MHz | Oscillator:Oscillator_DIP-14 | X1 |
| 1 | AS6C62256 | Package_DIP:DIP-28_W15.24mm | U3 |
| 1 | ATF22V10B | Package_DIP:DIP-24_W7.62mm | U7 |
| 1 | ATX-24 | Connector_Molex:Molex_Mini-Fit_Jr_5566-24A_2x12_P4.20mm_Vertical | J25 |
| 1 | CLOCK_SEL | Connector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_Vertical | J3 |
| 1 | CLOCK_SPD | Button_Switch_THT:SW_DIP_SPSTx05_Slide_6.7x14.26mm_W7.62mm_P2.54mm_LowProfile | SW1 |
| 1 | DMA | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | EXTRN_CLCK | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
| 1 | GPIO1 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J19 |
| 1 | GPIO1_PWR | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J21 |
| 1 | GPIO2 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J20 |
| 1 | GPIO2_PWR | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J24 |
| 1 | GPIO3 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J22 |
| 1 | GPIO4 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J23 |
| 1 | IRQ2 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |
| 1 | IRQ3 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J8 |
| 1 | IRQ4 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J11 |
| 1 | IRQ5 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J10 |
| 1 | IRQ6 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J9 |
| 1 | LED | LED_THT:LED_D5.0mm | D3 |
| 1 | LOGO | Cow:SmallCow | XiaoNiuNiu |
| 1 | NE555P | Package_DIP:DIP-8_W7.62mm | U10 |
| 1 | NMI | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J5 |
| 1 | ON_OFF | Button_Switch_THT:SW_E-Switch_EG1224_SPDT_Angled | SW2 |
| 1 | PORT1 | Connector_NES:NES_Cartdrige | J14 |
| 1 | PORT2 | Connector_NES:NES_Cartdrige | J16 |
| 1 | PORT3 | Connector_NES:NES_Cartdrige | J17 |
| 1 | PORT4/ROM | Connector_NES:NES_Cartdrige | J18 |
| 1 | RESET | Button_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx83-2LFS | SW3 |
| 1 | WD65C02 | Package_DIP:DIP-40_W15.24mm | U4 |
More from RomualdRousseau/Miniish
8- 2 layers119.9 × 73.4 mm

- 2 layers125 × 49 mm

- 2 layers49 × 49 mm

- 2 layers119.9 × 73.4 mm

- 2 layers80 × 43.4 mm

- 2 layers80 × 43.4 mm

- 2 layers80 × 23.6 mm

- 2 layers119.9 × 73.4 mm

Similar boards
- 2 layers234 × 87.3 mm

V0c
KITTY-6502/hardware
the KITTY is a 65c02 homebrew kit microcomputer designed around text mode graphics and cartridge media. It is fully open source, and uses exclusively in-production parts.
123 parts - 4 layers72.7 × 52.6 mm

New interrupt handler
Trilobyte-CPU/8-bit-computer
A DIY 8-bit computer built mostly with discrete logic chips
43 parts2 - 2 layers160.1 × 101 mm

PLC-14500
nicolacimmino/PLC-14500
Retro trainer board based on the MC14500 1-bit ICU. The project is OSHW certified and a ready to assemble kit is available on Tindie.
173 parts70GPL-3.0 - 2 layers190 × 100 mm

- 2 layers55.2 × 50.2 mm

6502fast3serial22v10
gfoot/fastpdip6502
Fast PDIP-only 6502-based homebrew computer - code and hardware design sources
22 parts7Unlicense - 2 layers22.9 × 33.7 mm

- 2 layers62.2 × 25.9 mm

- 2 layers284.9 × 96.5 mm

Questions
How big is the MotherBoard PCB?
It measures 170.2 × 170.2 mm and has 2 copper layers, 1.6 mm thick.
What parts does the MotherBoard use?
66 parts, built around the 74HC148P-E, 74HC574D, 74HC590ADW and NE555P. 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 MotherBoard KiCad files?
From the RomualdRousseau/Miniish repository on GitHub, at the commit this page was made from: the board is Hardware/MotherBoard/MotherBoard.kicad_pcb and its schematic Hardware/ArduinoMultiInterface/ArduinoMultiInterface.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the MotherBoard 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).