Skip to the content
PCBKitNew board
2 layers100 × 100 mmMP Board, the printed circuit board in 3D

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
71
Nets
186
Pads
604
Tracks, vias
1,892, 76
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
27 May 2024
Updated
13 Mar 2025

Overview

MP Board 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 71 parts on 186 nets, routed with 1,892 tracks and 76 vias.

It is built around the 74AHC1G08GW, 74HC14 and SN74LVCC4245ANSR. Its parts include 33 connectors, 9 capacitors, 6 ICs and 3 resistors. It belongs with the retro computing and games boards and the AVR (ATmega, ATtiny) 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

71
QtyValueFootprintReferences
8.Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ17, J18, J20, J21, J22, J23, J24, J25
8100nCapacitor_SMD:C_1206_3216MetricC1, C2, C3, C4, C5, C6, C7, C8
6.Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1, JP2, JP3, JP4, JP5, JP6
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
210kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR2, R3
26522Package_DIP:DIP-40_W15.24mm_SocketU2, U7
2BUSConnector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ1, J2
2CS1Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ10, J15
2Conn_02x02_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x02_P2.54mm_VerticalJ30, J31
2SpareConnector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ3, J4
110nCapacitor_SMD:C_1206_3216MetricC9
11kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1
16532Package_DIP:DIP-40_W15.24mm_SocketU6
16532/6530Jumper:SolderJumper-3_P1.3mm_Bridged12_Pad1.0x1.5mm_NumberLabelsJP10
174AHC1G08Package_TO_SOT_SMD:SOT-23-5_HandSolderingU5
174HC14Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU3
1A5Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ11
1A6Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ12
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1CE_OverrideJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP12
1CSJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP11
1CS1Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP7
1Conn_01x02Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ26
1Conn_01x11Connector_PinSocket_2.54mm:PinSocket_1x11_P2.54mm_VerticalJ36
1Conn_01x12Connector_PinSocket_2.54mm:PinSocket_1x12_P2.54mm_VerticalJ29
1Conn_01x14Connector_PinSocket_2.54mm:PinSocket_1x14_P2.54mm_VerticalJ5
1Conn_02x22_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x22_P2.54mm_VerticalJ19
1Conn_02x22_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x22_P2.54mm_HorizontalJ14
1EConnector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ8
1GAL_20x10Package_DIP:DIP-24_W7.62mmJ35
1JumperConnector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_VerticalJ16
1LOGOmy_own:Logo_100ProzentOffner_10x2.7mmG***
1Logo Open Source HardwareSymbol:OSHW-Logo2_7.3x6mm_SilkScreenH6
1Logo kicadSymbol:KiCad-Logo2_6mm_SilkScreenH5
1PH2Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP9
1R/WJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP8
1R/~{W}Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ9
1R/~{W}_eConnector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ7
1RXTX inConnector_PinSocket_2.54mm:PinSocket_2x02_P2.54mm_VerticalJ27
1RXTX outConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ28
1SN74LVCC4245ANSRPackage_SO:SO-24_5.3x15mm_P1.27mmU1
1~{DOE}Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ6
1~{RS}Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_VerticalJ13

Questions

How big is the MP Board PCB?

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

What parts does the MP Board use?

71 parts, built around the 74AHC1G08GW, 74HC14 and SN74LVCC4245ANSR. 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 MP Board KiCad files?

From the roberto314/Unicomp3 repository on GitHub, at the commit this page was made from: the board is ParallelBoards/MOS_Parallel_Board/MOS_Parallel_v1.0/MP_Board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the MP Board 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 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 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.

    58 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 mmMOS MultiParallel 2, the printed circuit board in 3D

    MOS MultiParallel 2

    roberto314/Unicomp2

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

    65 parts1
  • 2 layers50.2 × 69.8 mmZx50 Clock Mezzanine, the printed circuit board in 3D

    Zx50 Clock Mezzanine

    mmosko/Zx50

    This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

    22 parts
  • 2 layers60.6 × 44.9 mmA500-2Meg Chip RAM PinHeaders, the printed circuit board in 3D

    A500-2Meg Chip RAM PinHeaders

    LIV2/A500-2Meg-Chip-ram

    An Adapter to retrofit a 2MB agnus into a 1MB Amiga 500/2000

    18 parts91
  • 2 layersDiffuino selector, the printed circuit board in 3D

    Diffuino selector

    elixpo/elixpo_chapter

    Elixpo’s canonical collection for public build-and-release Chapters, bringing open-source software, reproducible research, hardware, and community contributions into one attributable record.

    46 parts85
  • 2 layers90 × 109 mmInterface 303, the printed circuit board in 3D

    Interface 303

    jeanpri/303

    303 eurorack interface for x0x-heart

    169 parts23
  • 4 layers106 × 29.2 mmBatterymeter, the printed circuit board in 3D

    Batterymeter

    hb020/batterymeter

    Handheld Battery AC and Time Domain characterization tool on Attiny series 2

    145 parts20
  • 4 layers29.5 × 64.5 mmIot esp eth ind, the printed circuit board in 3D

    Iot esp eth ind

    wayri/SPIKE

    PCB-focused multiphysics simulation, from board to complete assembly: PI, SI, circuits, thermal, EM/RF and mechanical workflows, with MCAD collaboration and a roadmap toward large-scale coupled assemblies.

    150 parts17