Skip to the content
2 layers100 × 100 mmMemory, 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
19
Nets
85
Pads
280
Tracks, vias
713, 59
Pours
113
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Mar 2026
Updated
3 Nov 2026

Overview

Memory 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 19 parts on 85 nets, routed with 713 tracks and 59 vias.

It is built around the FM1608B-PG, 74LS00SC and 74LS04PC, with the 74LS139PC and FM1808B-PG among its other parts. Its parts include 7 capacitors, 7 ICs, 1 resistor and 1 connector.

Main components

5

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

19
QtyValueFootprintReferences
7100n0-Footprints:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2, C3, C4, C5, C6, C7
2FM16080-Footprints:DIP-28_W15.24mm_W7.62mmU2, U3
110K0-Footprints:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2
128C640-Footprints:DIP-28_W15.24mmU4
174LS000-Footprints:DIP-14_W7.62mmU6
174LS040-Footprints:DIP-14_W7.62mmU7
174LS1390-Footprints:DIP-16_W7.62mmU5
1Buss0-Footprints:CardJ1
1FM18080-Footprints:DIP-28_W15.24mm_W7.62mmU1
1Logo0-Footprints:CrankG1
1Logo0-Footprints:crankery_smallG2
1ROM_WE0-Footprints:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

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 mmMath, the printed circuit board in 3D

    Math

    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.

    26 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

Similar boards

  • 2 layers51 × 61 mmGameboy CPLD Cart + FRAM, the printed circuit board in 3D

    Gameboy CPLD Cart + FRAM

    sillyhatday/GAMEBOY-CPLD-FRAM-2MB

    A CPLD implementation of the MBC5 mapper

    23 parts16CC-BY-SA-4.0
  • 2 layers51 × 61 mmGameboy MBC5 Cart + FRAM DUAL 2MB, the printed circuit board in 3D

    Gameboy MBC5 Cart + FRAM DUAL 2MB

    sillyhatday/GAMEBOY-MBC5-DUAL-4_8MB

    A working 8MB flash cart. You can also use this to to make a 4MB cart out of cheaper 2MB chips.

    18 parts12CC-BY-SA-4.0
  • 2 layers370.8 × 298.5 mm8 Bit Computer, the printed circuit board in 3D

    8 Bit Computer

    The-Invent0r/8-bit-Computer-PCB

    These are the KiCAD files for my 8-Bit Computer.

    323 parts142
  • 2 layers155.2 × 78.6 mm80ColumnCard, the printed circuit board in 3D

    80ColumnCard

    btb/80ColumnCard

    An Apple II 80-Column Card. Based on the Videx Videoterm

    47 parts43Apache-2.0
  • 2 layers333.2 × 205.9 mmDragon64, the printed circuit board in 3D

    Dragon64

    danwerner21/Dragon64

    A clone board for the Dragon64 and Tandy Color Computer

    232 parts34
  • 2 layers220 × 173.3 mmSF-7017, the printed circuit board in 3D

    SF-7017

    fabiodl/sf7000

    Most of the work was done by Andrea Ottaviani https://github.com/aotta

    68 parts10GPL-3.0
  • 2 layers232.8 × 204.2 mmTIM-011B, the printed circuit board in 3D

    TIM-011B

    Board-Folk/TIM011B

    TIM-011 B Replica Board

    162 parts8

Questions

How big is the Memory PCB?

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

What parts does the Memory use?

19 parts, built around the FM1608B-PG, 74LS00SC, 74LS04PC and 74LS139PC. 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 Memory KiCad files?

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

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