Skip to the content
PCBKitNew board
2 layers100 × 100 mmCpu template with buffer, the printed circuit board in 3D

Cpu template with buffer

roberto314/Unicomp3

A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
58
Nets
174
Pads
481
Tracks, vias
1,145, 51
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
27 May 2024
Updated
13 Mar 2025

Overview

Cpu template with buffer is an open-source printed circuit board by roberto314, from the roberto314/Unicomp3 repository on GitHub, published under the BSD-2-Clause licence. It is a 2-layer board of 100 × 100 mm with 58 parts on 174 nets, routed with 1,145 tracks and 51 vias.

It is built around the SN74LVC125AD, SN74LVC245ANSR and SN74LVCC3245ANSR. Its parts include 20 connectors, 10 capacitors, 6 resistors and 6 ICs. It belongs with the retro computing and games boards and the FPGA and CPLD boards of this library.

Main components

3

README

README.md

UNICOMP

Version 3.00

A modular 8-bit Computer able to recreate (nearly) every microcomputer of the mid 70s to early 80s in Hardware without FPGAs (although an FPGA can be added). Can also be used as a teaching tool for:

  • VHDL or Verilog
  • C
  • RTOS (STM32F401 runs ChibiOS. Link: https://www.chibios.org)
  • Python
  • bash and linux in general (Olimex board runs linux with fbterm and tmux)
  • Harwaredesign
  • Timing of CPUs
  • maybe Assembler
  • SPI and I2C Interfaces
  • CPLDs and FPGAs

It is different from other designs because of these points:

  • it uses a 3.3V only Bus,
  • it uses fast RAM for 16 chipselect outputs with single address resolution over the whole 1MB range,
  • it uses one SRAM for RAM and ROM replacement (can be write writeprotected) with 1MB,
  • it uses a clock generator chip (DS1085) - no more crystals to change,
  • it is configureable via STM32 (RAM and ROM content, Clock frequency, chip select lines),
  • it can program the CPLDs (only XC9572 and XC9536 tested) from the STM32, no external programmer needed.
  • Board size is 100mm x 100mm - no backplane (like the PC/104 standard. Link: https://en.wikipedia.org/wiki/PC/104).
  • and maybe most convenient: it can change RAM and ROM content on the fly without crashing the CPU. For example starting the Apple I, going into Basic and uploading the program in about half a second is really nice.

Unicomp plus Logic Analyzer: Unicomp plus Logic analyzer

Unicomp modules

  • USB-Serial board:

    • a simple board with an universal 4x USB to UART module from ebay (FT4232).
  • CPU board:

    • can be any 8-bit CPU (6502, 6802, 6809, 68008, 6803, 8051,...)
    • a CPLD (XC9572) for clock generation and glue logic
  • Multi Serial boaŕd:

    • suggested chip select #0
    • can be used with the following serial interface chips: MC6850, MOS6551, MOS6552 or pin compatible
  • Multi Parallel boaŕd:

    • suggested chip select #1
    • can be used with the following parallel interface chips: MC6820, MC6821, MOS6520, MOS6521, MOS6522, MOS6526, MOS8520, MOS6532 in the first slot
    • the first slot can additionally mimic a MOS6530
    • the second slot can accommodate a MOS6522 or pin compatible
  • RAMROM board:

    • chip select fixed at #15 (for chipselect RAM or ROM) and #14 for Write Disable (High for ROM),
    • 1M of SRAM plus an extra 16-bit RAM for address decoding,
    • a STM32F401 'blackpill' board to fill the SRAMs with data over USB,
    • USB shell on the STM32 to change ROM content on the fly,
    • also configures the Address Range of all peripheral modules,
    • acts as a XSVF Player to program the CPLDs
  • Prototype board:

    • empty board for prototyping
    • no CPLD
  • MAX-II (EPM240) board:

    • CPLD plus Buffers
  • self made module:

    • chip select can be any non-used line in the Range from 0 to 13.
    • size is 100mm x 100mm
    • there is the prototype board in the repository for the position of the connectors and also the labels (pinout)

Configuration RAM

The configuration is done with 1Mx16 fast ram on the RAMROM board. It is configured from the STM32F401. The cs = 15 is for writing the main RAM, cs = 14 is the Write Disable. The rest is free.

Working Recreations of old computers (tested again with Unicomp3)

Nameprim. IOchips usedosweblink
Motorola MEK D2serialMC6802, MĆ6850newbug, xswtbug, mondebLink: https://www.retrotechnology.com/restore/smithbug.html
Motorola MEK D1serialMC6802, MĆ6821 (plus Arduino)MikbugLink: https://www.retrotechnology.com/restore/smithbug.html
SWTPC 6800serialMC6802, MĆ6821 (plus Arduino)MikbugLink: https://deramp.com/swtpc.com/
SWTPC 6800serialMC6802, MĆ6850SWTBUG, SWTBUGA, Mondeb, xSWTBUGLink: https://deramp.com/swtpc.com/
Heathkit ET3400serialMC6802, MĆ6850MITS BASIC, TSC MicroBASIC,...Link: https://github.com/jefftranter
HD6303 Board (Eric Klaus)serialHD6303 or MC6803Monitor +BASICLink: https://sites.google.com/site/ericmklaus/projects-1/hd6303cpuboard
MC3 ComputerserialHD6303 or MC6803MonitorLink: https://www.waveguide.se/?article=mc3-a-diy-8-bit-computer
Grant Searle 6809 boardserialMC6809E, MC6850MS BasicLink: http://searle.x10host.com/6809/Simple6809.html
Grant Searle 6502 boardserialMOS6502, MC6850OSI BasicLink: http://searle.x10host.com/6502/Simple6502.html
Daryl Rictor 6502 boardserialMOS6502, R6551SBC-2 (monitor only)Link: https://sbc.rictor.org/info2.html
Daryl Rictor 6502 boardserialMOS6502, MC6850SBC-2 (monitor only)Link: https://sbc.rictor.org/info2.html
SYM1serialMOS6502, UM6532SYM1 ( +BASIC +RAE)Link: http://retro.hansotten.nl/6502-sbc/synertek-sym-ktm/sym-1/
KIM1serialMOS6502, UM6532KIM1Link: http://retro.hansotten.nl/6502-sbc/kim-1-manuals-and-software/
Apple IserialMOS6502, MĆ6821 (plus Arduino)Wozmon + BASICLink: http://retro.hansotten.nl/6502-sbc/apple-1/
DREAM 6800BAS (Video)MC6802, MAX-IIDREAM operating System (Chip8)Link: http://www.mjbauer.biz/DREAM6800.htm
Psion Organizer ILCDHD6303Psion OSLink: https://www.jaapsch.net/psion/index.htm

python helper scripts

  • UC3_upload.py: multi-function script. up- or download RAM Content, write or read the clock chip, set the reset pin, upload configuration data from file, upload RAM data from file, gets version number,

  • UC3_make_uploadfile.py: creates an .ucb file for upload. It can have multiple RAM locations and lengths.

CPLD programming

Used Software and OS

Used Hardware

  • Oscilloscope: Rigol DS1054Z (4 channel)
  • Logic Analyzer: Hantek 4032L (32 channel)

History Lesson

The unicomp Project started a couple of years ago and is developed in my spare time. It is intended to be a module system to test out different hardware configurations or CPLD- or FPGA- extensions and to recreate old systems and test software and operating systems.

Differences Unicomp2 from Unicomp1:

  • chipselect not with CPLD but with RAM on every peripheral board - more flexible,
  • chipselect resolution improved to two,

Differences Unicomp3 from Unicomp2:

  • chipselect RAM is on RAMROM Board (16-bit wide) - that leads to:
  • simpler (and cheaper) peripheral modules,
  • no linux SBC needed,
  • CPLD programming from STM32 or with external programmer (JTAG Header on every CPU Module)
  • 3.3V Supply on RAMROM board,
  • RAM has now a backup battery (CR2032) battery,
  • improved documentation.

Parts

58
QtyValueFootprintReferences
10100nCapacitor_SMD:C_1206_3216MetricC1, C2, C3, C4, C5, C6, C7, C8, C9, C10
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
310kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1, R2, R12
31kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR3, R4, R5
2BUSConnector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ1, J2
2Conn_01x01Connector_PinHeader_1.27mm:PinHeader_1x01_P1.27mm_VerticalJ11, J12
2Conn_01x01Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ8, J9
2Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ19, J20
2Conn_01x09Connector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ18, J21
2Conn_02x02_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x02_P2.54mm_VerticalJ30, J31
2SN74LVC125ADPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU5, U6
2SN74LVC245ANSRPackage_SO:SO-20_5.3x12.6mm_P1.27mmU3, U4
2SpareConnector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ3, J4
1CLKJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJP3
1Conn_01x11Connector_PinSocket_2.54mm:PinSocket_1x11_P2.54mm_VerticalJ36
1Conn_01x12Connector_PinSocket_2.54mm:PinSocket_1x12_P2.54mm_VerticalJ29
1GAL_20x10Package_DIP:DIP-24_W7.62mmJ35
1JTAGConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_HorizontalJ22
1LOGOmy_own:Logo_100ProzentOffner_10x2.7mmG***
1Logo Open Source HardwareSymbol:OSHW-Logo2_7.3x6mm_SilkScreenH6
1Logo kicadSymbol:KiCad-Logo2_6mm_SilkScreenH5
1OutsideConnector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_HorizontalJ7
1PH2Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP9
1PH2_5/8Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJP2
1R/WJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP8
1RDNetTie:NetTie-2_SMD_Pad0.5mmNT1
1RWJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP1
1SN74LVCC3245ANSRPackage_SO:SO-24_5.3x15mm_P1.27mmU2
1SpareConnector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_VerticalJ6
1VBUFJumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mm_NumberLabelsJP4
1VccJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJP5
1WRNetTie:NetTie-2_SMD_Pad0.5mmNT2
1XC9572VQ44Package_QFP:TQFP-44_10x10mm_P0.8mmU9

Questions

How big is the Cpu template with buffer PCB?

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

What parts does the Cpu template with buffer use?

58 parts, built around the SN74LVC125AD, SN74LVC245ANSR and SN74LVCC3245ANSR. 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 template with buffer KiCad files?

From the roberto314/Unicomp3 repository on GitHub, at the commit this page was made from: the board is empty Boards/cpu_template_with_buffer/cpu_template_with_buffer.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Cpu template with buffer design in my own project?

Its repository publishes it under the BSD-2-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from roberto314/Unicomp3

12
  • 2 layers100 × 100 mmWD1771 Board, the printed circuit board in 3D

    WD1771 Board

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    122 partsBSD-2-Clause
  • 2 layers100 × 100 mmRAMROM Board, the printed circuit board in 3D

    RAMROM Board

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    105 partsBSD-2-Clause
  • 2 layers100 × 100 mm6809 CPU, the printed circuit board in 3D

    6809 CPU

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    103 partsBSD-2-Clause
  • 2 layers100 × 100 mmRamRomBoard, the printed circuit board in 3D

    RamRomBoard

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    97 partsBSD-2-Clause
  • 2 layers100 × 100 mmSchematics v10, the printed circuit board in 3D

    Schematics v10

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    92 partsBSD-2-Clause
  • 2 layers100 × 100 mm6502 6800 CPU, the printed circuit board in 3D

    6502 6800 CPU

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    91 partsBSD-2-Clause
  • 2 layers100 × 100 mmMMU v1, the printed circuit board in 3D

    MMU v1

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    90 partsBSD-2-Clause
  • 2 layers100 × 100 mmVideoBoard v1, the printed circuit board in 3D

    VideoBoard v1

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    86 partsBSD-2-Clause
  • 2 layers100 × 100 mmMP Board, the printed circuit board in 3D

    MP Board

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    71 partsBSD-2-Clause
  • 2 layers100 × 100 mmMOT Serial v11, the printed circuit board in 3D

    MOT Serial v11

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    68 partsBSD-2-Clause
  • 2 layers66.5 × 50.5 mm6303X FP64, the printed circuit board in 3D

    6303X FP64

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    60 partsBSD-2-Clause
  • 2 layers100 × 100 mmMOT Serial v10, the printed circuit board in 3D

    MOT Serial v10

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    56 partsBSD-2-Clause

Similar boards

  • 2 layers100 × 100 mmCPU 6809 board, the printed circuit board in 3D

    CPU 6809 board

    roberto314/Unicomp2

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    78 parts1
  • 2 layers24.5 × 145 mmRocketry circuit, the printed circuit board in 3D

    Rocketry circuit

    AdLunamUnizar/avionics

    Repositorio del departamento de electrónica del equipo de cohetería ALUnizar.

    24 parts
  • 2 layers252.9 × 77.6 mmSteno, the printed circuit board in 3D

    Steno

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    58 parts915
  • 2 layers50 × 50 mmAvrcraft poed, the printed circuit board in 3D

    Avrcraft poed

    cnlohr/avrcraft

    Minecraft server optimized for 8-bit devices.

    58 parts471
  • 2 layers97.3 × 71 mmZynScreen v1.5, the printed circuit board in 3D

    ZynScreen v1.5

    zynthian/zynthian-hw

    Zynthian hardware stuff: PCBs, schemes, parts specifications, pin assignment, ...

    58 parts156
  • 2 layers34 × 46 mmNfcemu, the printed circuit board in 3D

    Nfcemu

    solosky/nfc-emu

    NFC模拟器

    58 parts117Apache-2.0
  • 2 layers148 × 81 mmCommunicator pcb, the printed circuit board in 3D

    Communicator pcb

    Hack-a-Day/2025-Communicator_Badge

    The 2025 Hackaday Supercon RF Communicator Badge

    58 parts107MIT
  • 2 layers53.3 × 36.3 mmMcu holder, the printed circuit board in 3D

    Mcu holder

    AlaaSaadAbdo/Rommana

    A 30 key well powered by Xiao BLE

    58 parts105