Skip to the content
2 layers179.6 × 119 mmCpu, the printed circuit board in 3D

This repository contains a complete KiCad project for creating a PCB that implements the circuit design of Ian Ward in his YouTube video with the title of Homebrew CPU Project

Size
179.6 × 119 mm
Copper layers
2
Thickness
1.6 mm
Parts
52
Nets
132
Pads
369
Tracks, vias
907, 87
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
7 Mar 2024
Updated
2 Oct 2024

Overview

Cpu is an open-source printed circuit board by dlutz52, from the dlutz52/Homebrew-CPU-PCB repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 179.6 × 119 mm with 52 parts on 132 nets, routed with 907 tracks and 87 vias.

It is built around the SST39SF040-70-4C-PHE, 74LS163APC and 74LS00SC, with the 3386P-1-502LF among its other parts. Its parts include 11 resistors, 10 ICs, 7 diodes, 6 capacitors and 3 switches.

Main components

4

README

README.md

Homebrew CPU Project PCB

My inspiration for this PCB came from following Ian Ward's project on his web site:

20xt6 Homebrew CPU Project

This PCB implements the LCD Character Display: Milestone 1 Complete! stage of this series of videos.

But there is more to come in the future, so checkout Ian's videos on his future plans:

Discrete Logic Rhythm Game Prototype (no CPU)

Designing a Rhythm Game: Homebrew CPU Plan Step 2

Maze Game Prototype (no CPU!)

I will try to keep up with him.

PCB Front Image PCB Front Image

PCB Back Image PCB Back Image

Homebrew CPU PCB BOM

Wed, Mar 21, 2024, 08:58:15

Component Count: 25

RefQtyValueVendor\Part #Description
C1, C3, C5310uFGenericElectrolytic capacitor
C2, C4, C62.01uFDigikey\FG28C0G1H103JNT06Unpolarized capacitor
D11YELLOW\ResetGenericLED\3mm\Yellow
D21RED\HALTGenericLED\3mm\Red
D31BLUE\CLOCKGenericLED\3mm\Blue
D4, D5210_SEG_LED BAR_GRAPH (Blue)Digikey\1497-1079-5-NDLED Bar Graph\Blue\1x10
D6110_SEG_LED BAR_GRAPH (Yellow)Digikey\754-1179-5-NDLED Bar Graph\Yellow\1x10
D71GREENGenericLED\3mm\Green
J11PinSocket_1x16_P2.54mm_VerticalGenericFemale Pin Header\1x16\2.54mm pitch
J21UJC-HP-M-G-5-MSMT-TRDigikey\2223-UJC-HP-M-G-5-MSMT-TRDKR-NDType C/20 VDC/3A/Horizontal/6 Pin/Power Only
R1, R3, R831KohmDigikey\13-MFR-25FTE52-1KCT-NDResistor\1Kohm\1%\1/4W\Axial
R2, R6, R7, R94330ohmDigikey\13-MFR-25FRF52-330RCT-NDResistor\330ohm\1%\1/4W\Axial
R41220ohmGenericResistor\220ohm\1%\1/4W\Axial
R513ohmGenericResistor\3ohm\1%\1/4W\Axial
R10, R1125.1KohmDigikey\13-MFR-25FTE52-5K1CT-NDResistor\5K1ohm\1%\1/4W\Axial
RN1, RN2, RN33470ohmDigikey\4609X-101-471LF-NDResistor Array\8 Resistors\470ohm\9SIP
RV1110KohmJameco\2276439Panasonic EWAQ30C15A14 Audio Slide Pot
RV2, RV325KohmDigikey\3386P-1-502LFTrimmer Pot\5Kohms\0.5W\1/2W\Through Hole
SW11TL2230Digikey\EG6031-NDSwitch\Pushbutton\DPDT\Through Hole
S11REG SELECTDigikey\450-1654-NDSwitch\Tactile\SPST-NO\0.05A\24V\Through Hole
S21ENABLEDigikey\450-1654-NDSwitch\Tactile\SPST-NO\0.05A\24V\Through Hole
U1, U32LM555Digikey\LM555CNNS/NOPB-ND555 Timer/Oscillator\100kHz\8-PDIP
U2174LS00Digikey\296-1626-NDNAND Gate IC 4 Channel 14-PDIP
U4, U5, U6, U7, U8574LS163Digikey\296-3661-5-NDBinary Counter\4 Bit\Positive Edge\16-PDIP
U9, U102SST39SF040-70-4C-PHEDigikey\SST39SF040-70-4C-PHE-NDFLASH Memory\4Mbit\70ns\32-PDIP

The LCD and its 16-pin male header are represented only with 3D models, but you need a 2004 LCD with a soldered 16-pin male header with a pitch of 2.54mm to plug into the 16 pin female header to complete this PCB. I have found the best place to get these is on eBay.

Do NOT try to use a 2004 LCD with an I2C adapter on it.

Most symbols/footprints/models are contained under the 'libraries' directory. Capacitors, resistors and LEDs use KiCad symbols/footprints/models.

KiCad 7.0.10 was used to create this PCB. KiCad 8.0.1 is out now and this project opens in that version. The newer KiCad will warn that this project was created in previous version and will be saved in a the newer format. When closing the schematic or a PCB just discard any changes. If you do not you will not be able to use KiCad 7 any more without difficulties.

Models in KiCad's 3D view will display an appropriate socket under the ICs but these can be omitted on the PCB - they are used to make it easier to replace any components should they need it in the future. The only exceptions are the sockets for the SST39SF040 FLASH chips. These chips can be changed out for different program\lookup combinations, so you do not want to solder them to the PCB. I would recommend using 32-pin sockets from Aries Electronics or something equivalent, for example, Digikey\A410AE-ND.

Parts

52
QtyValueFootprintReferences
574LS163Homebrew-CPU-PCB:DIP-16_W7.62mm_SocketU4, U5, U6, U7, U8
4330ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R6, R7, R9
4MountingHoleMountingHole:MountingHole_2.7mm_M2.5H1, H2, H3, H4
30.01uFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC2, C4, C6
310uFCapacitor_THT:CP_Radial_D4.0mm_P2.00mmC1, C3, C5
31KΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R3, R8
3470ΩHomebrew-CPU-PCB:R_Array_SIP11RN1, RN2, RN3
23386P-1-502LFHomebrew-CPU-PCB:BOURNE-3386PRV2, RV3
25.1KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR10, R11
2LED_BAR_GRAPH 10_SEG (Blue)Homebrew-CPU-PCB:LED_Bar_Graph_10_SEGD4, D5
2LM555Homebrew-CPU-PCB:DIP-8_W7.62mm_SocketU1, U3
2SST39SF040-70-4C-PHEHomebrew-CPU-PCB:PDIP32_PH_SST_MCHU9, U10
110KHomebrew-CPU-PCB:10K_Audio_Slide_PotRV1
1220ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
13ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
174LS00Homebrew-CPU-PCB:DIP-14_W7.62mm_SocketU2
1BLUE\CLOCKLED_THT:LED_D3.0mmD3
1CUI_UJC-HP-M-G-5-MSMT-TRHomebrew-CPU-PCB:CUI_UJC-HP-M-G-5-MSMT-TRJ2
1GREENLED_THT:LED_D3.0mmD7
1LCD 2004 Female HeaderHomebrew-CPU-PCB:LCD_2004_PinSocket_1x16_P2.54mm_VerticalJ1
1LED_BAR_GRAPH 10_SEG (Yellow)Homebrew-CPU-PCB:LED_Bar_Graph_10_SEGD6
1LOGOHomebrew-CPU-PCB:Lutzcraft_logo_1125DPIG***
1RED\HALTLED_THT:LED_D3.0mmD2
1RESETHomebrew-CPU-PCB:SW_1825967-1S1
1SINGLE STEPHomebrew-CPU-PCB:SW_1825967-1S2
1TL2230Homebrew-CPU-PCB:TL2230EEF140SW1
1YELLOW\RESETLED_THT:LED_D3.0mmD1

The 50 most common of 52 parts.

Similar boards

  • 6 layers313 × 259.5 mmOpen8-vga motherboard, the printed circuit board in 3D

    Open8-vga motherboard

    adham404/Open8-VGA

    An 8-bit computer from 74HC logic: microcoded CPU, VGA, PS/2, on-board editor and assembler. Play it in your browser.

    322 parts3MIT
  • 2 layers62.3 × 65 mmNixie hvdc, the printed circuit board in 3D

    Nixie hvdc

    YashKarthik/nixie-hvdc

    boost converter for nixie tube power supply

    44 parts1
  • 2 layers177.8 × 107.9 mmWaCS-52KX R1, the printed circuit board in 3D

    WaCS-52KX R1

    dtatum7/WaCS-52KX

    Control board upgrade for a 13.8 V 50 A linear bench power supply

    113 partsMIT
  • 4 layers130 × 64.3 mmTspico v2.6, the printed circuit board in 3D

    Tspico v2.6

    timex-sinclair-projects/tspico-hardware

    Status 2026-10-19: prototype 3 (v3.0-proto3, changes below). Proto1 (v3.0-proto1) was built and brought up; proto2 added its fixes (below).

    93 partsCERN-OHL-S-2.0
  • 2 layers244 × 244 mm6809PC-6U, the printed circuit board in 3D

    6809PC-6U

    danwerner21/6809PC

    6809 PC

    167 parts2
  • 2 layers320 × 150 mmDigiTrainer, the printed circuit board in 3D

    DigiTrainer

    RetroStack/BitStack-DigiTrainer

    A trainer board for digital electronics

    262 parts2MIT
  • 4 layers236.8 × 240.9 mmDIY Video, the printed circuit board in 3D

    DIY Video

    jimbro1000/DIY-Video

    General purpose video system for 8-bit computers using 74LS logic

    315 parts1

Questions

How big is the Cpu PCB?

It measures 179.6 × 119 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Cpu use?

52 parts, built around the SST39SF040-70-4C-PHE, 74LS163APC, 74LS00SC and 3386P-1-502LF. 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 Cpu KiCad files?

From the dlutz52/Homebrew-CPU-PCB repository on GitHub, at the commit this page was made from: the board is cpu.kicad_pcb and its schematic bar_graph.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Cpu 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).