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

One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
93
Pads
485
Tracks, vias
0, 0
Pours
1
Routed
Not yet
KiCad
KiCad 9.0 (file 20241229)
Created
14 Mar 2026
Updated
3 Nov 2026

Overview

Math is an open-source printed circuit board by crankery, from the crankery/crank68 repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 100 mm with 26 parts on 93 nets.

It is built around the 74LS00SC, 74LS139PC and 74LS85DC. Its parts include 5 capacitors, 4 ICs, 1 connector, 1 switch and 1 crystal.

Main components

3

README

README.md

C68

One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

It's going to be pretty useless but it's fun to play around with all of this.

Hardware

So, this isn't intended to be historically accurate or anything. It's a 1970s CPU but I'll use modern components where it makes things simpler. So, for whatever reason I thought it'd be nice to use things like the MC6850, MC6821 and other components that would have been available when the M6800 was being used in the industry. But really, I'm just trying to avoid using microcontrollers that would render the actual CPU hopelessly redundant.

One place I used a microcontroller is on the terminal board. It's just being used to produce DVI video and render text. Oh, it also does the keyboard matrix scan. It has its one job and that's to replace a glass terminal. So, since it's busy doing dumb terminal stuff it doesn't really matter that it's anacronistic... right?

The computer is split up across a bunch of 100x100mm boards. This is an attempt to reduce the cost of production as that's the maxiumum size the Chinese fabs will produce at bargain pricing. The one exception (thus far) is the actual keyboard; its dimensions are dictated by the keyboard layout.

I'm currently using some SPLDs as there were analogs of these back in the day. I am using them for decode logic for the most part but I'm trying to replace them with simple 74 series logic slowly.

Boards

As previously mentioned, the computer is built upon a set of cards. These cards are generally single function so there's a lot of them.

Backplane

The backplane is a simple board with a bunch of slots on it. Each board will plug into this board. The boards are setup to be chained together. The slots are 13.5mm apart giving about 12mm of component height for each board. If a board grows taller than this or has multiple layers, it will block the next slot. This is tall enough to allow for most common components though.

The left side of each board is allowed to host connectors. This allows for connecting I/O devices to individual boards such as parallel ports, serial ports, video output or sound output.

Status: C68BP.01 sent to production

Processor

This board hosts the Motorola M6800 CPU and the MC6875 clock generator along with an oscillator running at 4MHz. This will result in a 1MHz system clock.

Status: C68CPU.01 sent to production

Memory

Lower 48KB of RAM (in FRAM), 8KB ROM (EEPROM)

Status: C68MEM.01 sent to production

Banked Memory

1 MB of batery backed SRAM presented in two four KB windows in the main address space.

Status: Finalized design

Math

AMD AM9511 FPU

Status: design in progress

Sound

This is a sound board. I'm still trying to decide which chip(s) to use. The YM2149 OPL2, Philips SAA1099, GI AY-3-8910 SGM

Status: spitballing

IO

2xACIA MC6850, 2xPIA MC6821

Status: design completed

Time

A DS12885 RTC and a MC6850 PTC.

Status: design completed

Front Panel

blinkenlights and switches and buttons.

Status: in progress

Terminal

Using a Raspberry PI Pico with PicoDVI to generate the terminal's video and to perform keyboard scans. Uses an on-board MC6850 for communication to the host system.

Status: sent to production

Software

The software for this project includes some old stuff and some new stuff. The old stuff is being "translated" into a VASM 6800 standard syntax while the new stuff is being written that way.

Emulator

emu is a very basic M6800 emulator and is being used to verify software development. It isn't complete yet and will halt when it encounters an unimplemented instruction.

It is designed to match the actual computer's IO and memory access and will do the minimum to make things appear as they will in reality. So, the ACIA status and control registers set the flags appropriately while the actual rate of transfer isn't worried about.

New Stuff

C68 BIOS

Old Stuff

MIKBUG2
Micro Basic

Tools

Everything is being done using open source tools. This includes, but is not limited to:

  • kicad
  • vasm
  • vlink
  • galasm
  • minipro
  • GCC

Parts

26
QtyValueFootprintReferences
5100nF0-Footprints:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2, C3, C4, C5
3Grid0-Footprints:GridQC1, QC2, QC3
110K0-Footprints:R_Array_SIP5RN1
12.000MHz0-Footprints:Oscillator_DIP-14Y1
174LS000-Footprints:DIP-14_W7.62mmU3
174LS1390-Footprints:DIP-16_W7.62mmU4
174LS850-Footprints:DIP-16_W7.62mmU2
1AM9511A0-Footprints:DIP-24_W15.24mmU1
1Buss0-Footprints:CardJ1
1Logo0-Footprints:CrankG1
1Logo0-Footprints:crankery_smallG2
1Slot0-Footprints:SW_DIP_SPSTx04_Slide_9.78x12.34mm_W7.62mm_P2.54mmSW1
1~{CS} AM95110-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP6
1~{EACK}0-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP1
1~{EACK}0-Footprints:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP1
1~{END}0-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP3
1~{PAUSE}0-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP4
1~{SVACK}0-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP2
1~{SVACK}0-Footprints:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP2
1~{SVREQ}0-Footprints:TestPoint_THTPad_D1.5mm_Drill0.7mmTP5

Questions

How big is the Math PCB?

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

What parts does the Math use?

26 parts, built around the 74LS00SC, 74LS139PC and 74LS85DC. 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 Math KiCad files?

From the crankery/crank68 repository on GitHub, at the commit this page was made from: the board is Math/Math.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Math design in my own project?

Its repository publishes it under the MIT 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 crankery/crank68

12
  • 2 layers290.3 × 119.1 mmKeyboard, the printed circuit board in 3D

    Keyboard

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    162 partsMIT
  • 2 layers100 × 100 mmFront, the printed circuit board in 3D

    Front

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    60 partsMIT
  • 2 layers100 × 100 mmSound, the printed circuit board in 3D

    Sound

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    58 partsMIT
  • 2 layers100 × 100 mmBankedMemory, the printed circuit board in 3D

    BankedMemory

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    44 partsMIT
  • 2 layers100 × 100 mmTerminal, the printed circuit board in 3D

    Terminal

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    38 partsMIT
  • 2 layers100 × 100 mmBusDepot, the printed circuit board in 3D

    BusDepot

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    35 partsMIT
  • 2 layers100 × 100 mmProcessor, the printed circuit board in 3D

    Processor

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    32 partsMIT
  • 2 layers100 × 100 mmCrank68, the printed circuit board in 3D

    Crank68

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    30 partsMIT
  • 2 layers100 × 100 mmCrank68, the printed circuit board in 3D

    Crank68

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    29 partsMIT
  • 2 layers100 × 100 mmRTC, the printed circuit board in 3D

    RTC

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    28 partsMIT
  • 2 layers100 × 100 mmTime, the printed circuit board in 3D

    Time

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    25 partsMIT
  • 2 layers100 × 65 mmCrank68, the printed circuit board in 3D

    Crank68

    crankery/crank68

    One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

    22 partsMIT

Similar boards

  • 2 layersVortex f1-d clone, the printed circuit board in 3D

    Vortex f1-d clone

    hanshuebner/cpc-floppy-controllers

    MOVED to code.netzhansa.com/hanshuebner/cpc-floppy-controllers. This GitHub mirror is archived.

    60 parts7
  • 2 layers130.9 × 81.3 mmRambo, the printed circuit board in 3D

    Rambo

    palazzol/TRS80_3D

    43 parts1
  • 2 layers158.8 × 91.4 mmNabu MEGAMAPPER, the printed circuit board in 3D

    Nabu MEGAMAPPER

    tergav17/Z80-MegaMapper

    Z80 interposer board providing extended memory and I/O instruction mapping

    42 parts1
  • 2 layers160 × 100.1 mmECB-4PIO, the printed circuit board in 3D

    ECB-4PIO

    b1ackmai1er/ECB-4PIO-I2C

    Retrobrew Computers ECB-4PIO-I2C development.

    76 parts
  • 2 layers162.6 × 97.3 mmMemory subsystem, the printed circuit board in 3D

    Memory subsystem

    TSJR/logic-analyzer

    TTL logic analyzer built from 74xx logic and LED dot matrix display

    73 parts
  • 2 layers78.7 × 50.8 mmCMD DEC, the printed circuit board in 3D

    CMD DEC

    TheJustMoose/74HCPU

    Handmade CPU. See README.md

    37 parts2
  • 2 layers99.7 × 69.9 mmMEM, the printed circuit board in 3D

    MEM

    kitspace-test-repos/kicad6-file-collection

    28 partsMIT
  • 2 layers365.1 × 203.2 mmDIAG, the printed circuit board in 3D

    DIAG

    Nakazoto/CenturionComputer

    This is just a simple backup of all the files related to the Centurion that I have stored on my HD. The Wiki itself has far more in-depth information about the Centurion and it's individual cards.

    150 parts172