Skip to the content
PCBKitNew board
2 layers262.5 × 107.9 mmCommodore pet clone, the printed circuit board in 3D

Open hardware clone of the Commodore PET 4032

Size
262.5 × 107.9 mm
Copper layers
2
Thickness
0.57 mm
Parts
316
Nets
390
Pads
1,761
Tracks, vias
5,506, 1,044
Pours
8
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
8 Jun 2022
Updated
9 Sep 2025

Overview

Commodore pet clone is an open-source printed circuit board by DLehenbauer, from the DLehenbauer/commodore-pet-clone repository on GitHub, published under the CC0-1.0 licence. It is a 2-layer board of 262.5 × 107.9 mm with 316 parts on 390 nets, routed with 5,506 tracks and 1,044 vias.

It is built around the SN74LS07D, 74LS245SC and SN74LVC4245APWRE4, with the LM317AG-TN3-R, AMS1117-3.3 and SM4007 among its other parts. Its parts include 84 capacitors, 73 resistors, 15 ICs, 14 diodes and 12 connectors. It belongs with the retro computing and games boards and the FPGA and CPLD boards of this library.

Main components

10

README

README.md

Note: The latest information on this project is here.

PET Clone

Open hardware clone of the Commodore CBM/PET using modern parts. Some assembly required. :-)

Status

Working prototype. PCB and SMT manufacturing files are here.

About

This open hardware CBM/PET clone can be used in two ways:

  1. By itself with an HDMI display and USB keyboard
  2. As a mainboard replacement to repair/enhance a vintage CBM/PET

You can also do both at once, as shown in the image below:

Design

The following block diagram provides an overview of the system architecture:

Here are the highlights:

  • CPU and I/O are similar to the original Commodore design, using the 6502, PIA, and VIA.
  • Main RAM, Display RAM and ROM are combined on a single 128K SRAM.
    • On POR the MCU initializes $9000-FFFF with the user's selected ROM set
    • After initialization, $9000-FFFF is write protected.
  • Timing, address decoding, and native PET video are consolidated on a small FPGA.
  • The MCU reads display RAM and mirrors the PET video to HDMI (via bit-banged DVI)
  • The MCU also reports USB keyboard input to the FPGA
    • The FPGA intercepts reads from $E812 to inject USB key input as-needed
    • When no USB keys are pressed, the read passes through to PIA1.

Contributing

Collaborators warmly appreciated (see Issues).

License

This project is public domain under the CC0-1.0 license, exempting portions incorporated from other open source projects as noted here and in the source code.

License: CC0-1.0

Parts

316
QtyValueFootprintReferences
47100nCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C10, C11, C13, C18, C19, C20, C22, C23, C26, C27, C28, C30, C34 +31
39PowerTie_2PET:NetTie-2_SMD_Pad_1.6_to_0.4mmPT1, PT2, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19, PT20, PT21, PT22, PT23 +23
15PowerTie_2PET:NetTie-2_SMD_Pad_0.28PT40, PT41, PT42, PT43, PT44, PT45, PT46, PT47, PT48, PT49, PT50, PT51, PT52, PT53, PT54
1133Resistor_SMD:R_0402_1005MetricR19, R21, R22, R48, R51, R63, R67, R68, R69, R70, R71
910kResistor_SMD:R_0402_1005MetricR18, R20, R25, R27, R49, R52, R55, R56, R57
910kResistor_SMD:R_Array_Convex_4x0603RN2, RN4, RN6, RN8, RN9, RN10, RN14, RN15, RN16
9270Resistor_SMD:R_0603_1608MetricR1, R2, R3, R4, R5, R6, R10, R11, R16
81uCapacitor_SMD:C_0402_1005MetricC14, C29, C31, C32, C53, C60, C75, C83
710uCapacitor_SMD:C_0603_1608MetricC16, C17, C24, C25, C70, C81, C82
72k2Resistor_SMD:R_0402_1005MetricR7, R8, R9, R64, R65, R73, R74
61kResistor_SMD:R_0402_1005MetricR17, R23, R26, R29, R31, R66
510nCapacitor_SMD:C_0402_1005MetricC62, C65, C67, C69, C73
5SM4007Diode_SMD:D_SOD-123FD5, D11, D12, D13, D14
422nCapacitor_SMD:C_0402_1005MetricC12, C15, C33, C59
44.7kResistor_SMD:R_Array_Convex_4x0603RN1, RN3, RN5, RN7
44k7Resistor_SMD:R_0402_1005MetricR38, R39, R40, R59
4LED_REDLED_SMD:LED_0603_1608MetricD1, D6, D7, D9
31k5Resistor_SMD:R_0402_1005MetricR41, R44, R50
32.2u 6.3VCapacitor_SMD:C_0402_1005MetricC37, C38, C52
3470Resistor_SMD:R_Array_Convex_4x0603RN11, RN12, RN13
35.6kResistor_SMD:R_0402_1005MetricR54, R58, R60
3MountingHolePET:PET_MountingHole_4mmH2, H3, H4
3SN74LS07Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU2, U3, U4
3SN74LVC4245APWRPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU18, U19, U20
3SS34Diode_SMD:D_SMAD2, D3, D4
2100kResistor_SMD:R_0402_1005MetricR30, R33
222uCapacitor_SMD:C_0805_2012MetricC21, C36
227Resistor_SMD:R_0603_1608MetricR12, R15
2300Resistor_SMD:R_0402_1005MetricR28, R47
230pCapacitor_SMD:C_0402_1005MetricC47, C48
2470Resistor_SMD:R_0402_1005MetricR13, R14
256kResistor_SMD:R_0402_1005MetricR35, R36
25V PWRConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ10, J20
274LS245Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU5, U6
2AO3401AJLCPCB:SOT-23_L2.9-W1.3-P1.90-LS2.4-BRQ1, Q3
2LED_GRNLED_SMD:LED_0603_1608MetricD8, D10
2LM317AG-TN3-RPET:TO-252-2_ThermalViasU10, U15
2W65C21NPackage_DIP:DIP-40_W15.24mm_SocketU7, U8
11.2kResistor_SMD:R_0402_1005MetricR32
11.5kResistor_SMD:R_0402_1005MetricR45
110Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR61
110u 6.3VCapacitor_SMD:C_0402_1005MetricC50
112 MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1120Resistor_SMD:R_0402_1005MetricR43
112kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR72
112k 1%Resistor_SMD:R_0402_1005MetricR34
115kResistor_SMD:R_0402_1005MetricR24
13.9kResistor_SMD:R_0402_1005MetricR37
14.7u 10VCapacitor_SMD:C_0402_1005MetricC58
14.7u 16VCapacitor_SMD:C_0603_1608MetricC84
1470uPET:CP_Radial_D18.0mm_P5.00mm_P7.50mmC35
147nCapacitor_SMD:C_0603_1608MetricC55
147u 10VCapacitor_SMD:C_1206_3216MetricC54
14k7Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR53
15.1kResistor_SMD:R_0402_1005MetricR46
1600 200maInductor_SMD:L_0603_1608MetricFB1
168Resistor_SMD:R_0805_2012MetricR42
174LS145Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU1
19V POWERConnector_BarrelJack:BarrelJack_HorizontalJ7
19V POWERConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ11
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U13
1AS6C1008Package_DIP:DIP-32_W15.24mm_SocketU12
1CASS ARetrocomputing:CBM_PET_CASS_EDGE_CON_12PJ5
1CASS A READJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP3
1CASS A ~{MOTOR}Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP5
1CASS A ~{SWITCH}Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1CASS BRetrocomputing:CBM_PET_CASS_EDGE_CON_12PJ6
1CASS B READJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP4
1CASS B ~{MOTOR}Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP6
1CASS B ~{SWITCH}Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1CASS_A_HEADERConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ27
1CASS_B_HEADERConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ28
1CONFIGButton_Switch_THT:SW_DIP_SPSTx04_Slide_6.7x11.72mm_W7.62mm_P2.54mm_LowProfileSW5
1DVI_CECJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP7
1DVI_SCLJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP9
1DVI_SDAJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP8
1FLASHConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8
1FPGA_MCUConnector_PinHeader_2.54mm:PinHeader_2x11_P2.54mm_VerticalJ16
1FPGA_P1Connector_PinHeader_2.54mm:PinHeader_2x15_P2.54mm_VerticalJ24
1FPGA_P2Connector_PinHeader_2.54mm:PinHeader_2x14_P2.54mm_VerticalJ23

The 285 most common of 316 parts.

Questions

How big is the Commodore pet clone PCB?

It measures 262.5 × 107.9 mm and has 2 copper layers, 0.57 mm thick.

What parts does the Commodore pet clone use?

316 parts, built around the SN74LS07D, 74LS245SC, SN74LVC4245APWRE4 and LM317AG-TN3-R. 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 Commodore pet clone KiCad files?

From the DLehenbauer/commodore-pet-clone repository on GitHub, at the commit this page was made from: the board is hw/Mainboard/Mainboard.kicad_pcb and its schematic hw/Mainboard/Audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Commodore pet clone design in my own project?

Its repository publishes it under the CC0-1.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).

Similar boards

  • 2 layers262.5 × 107.9 mmEconopet, the printed circuit board in 3D

    Econopet

    DLehenbauer/econopet

    Mainboard replacement for Commodore PET/CBM series machines

    295 parts19CC0-1.0
  • 4 layers170 × 101 mmFreeDSP G, the printed circuit board in 3D

    FreeDSP G

    freeDSP/FreeDSP-G

    ADAU1467 DSP Board for Electric Guitar Players

    377 parts7CC0-1.0
  • 4 layers50 × 50 mmFiddlesticks, the printed circuit board in 3D

    Fiddlesticks

    kushurox/fiddlesticks_pcb

    This project is open for learning purposes. Check the LICENSE file for details.

    103 partsMIT
  • 4 layers178 × 99 mmFreeDSP OCTAVIA, the printed circuit board in 3D

    FreeDSP OCTAVIA

    freeDSP/freeDSP-OCTAVIA

    8ch Output ADAU1452/1466 DSP Board with Analog/COAX/OPT/USB/Raspberry-Pi Input

    529 parts19CC-BY-SA-4.0
  • 4 layers100 × 100 mmX16fpga, the printed circuit board in 3D

    X16fpga

    eshankiyer/x16-fpga-board

    Commander X16-compatible computer on one 100x100 mm 4-layer board: Spartan-6 + iCE40 (official VERA), SDRAM, two expansion slots. KiCad, JLCPCB fab files, Verilog gateware.

    224 parts
  • 4 layers127.6 × 98 mmHomebrew6502Project, the printed circuit board in 3D

    Homebrew6502Project

    snorklerjoe/useful6502

    A homebrew 65c02s-based computer and custom operating system, with a handful of modern features.

    275 parts1MIT
  • 2 layers40.8 × 45 mmSATNEO, the printed circuit board in 3D

    SATNEO

    arithmaldor/Saturn2NEOGEO

    Use a saturn controller on a neo geo or supergun

    14 parts
  • 2 layers100 × 95 mmRRFExtRP2040, the printed circuit board in 3D

    RRFExtRP2040

    nyarurato/RRFExtRP2040Board

    DIY Duet3 Extension Board

    92 parts