Skip to the content
PCBKitNew board
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.

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
44
Nets
134
Pads
358
Tracks, vias
1,287, 150
Pours
655
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Mar 2026
Updated
3 Nov 2026

Overview

BankedMemory 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 44 parts on 134 nets, routed with 1,287 tracks and 150 vias.

It is built around the 74LS245SC, 74LS573PC and ULN2803A, with the CR2032 among its other parts. Its parts include 14 diodes, 13 capacitors, 11 ICs and 1 connector. It belongs with the FPGA and CPLD boards of this library.

Main components

4

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

44
QtyValueFootprintReferences
11100nF0-Footprints:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2, C3, C4, C5, C6, C8, C9, C11, C12, C13
210µF0-Footprints:CP_Radial_D5.0mm_P2.50mmC7, C10
22.2KResistor_THT:R_Array_SIP9RN1, RN2
274LS2450-Footprints:DIP-20_W7.62mmU8, U9
274LS5730-Footprints:DIP-20_W7.62mmU3, U5
2DS12100-Footprints:DIP-8_W7.62mmU6, U7
2ULN2803A0-Footprints:DIP-18_W7.62mmU10, U11
1AS6C4008_{0}0-Footprints:DIP-32_W15.24mmU1
1AS6C4008_{1}0-Footprints:DIP-32_W15.24mmU2
1CR20320-Footprints:BatteryHolder_Keystone_1060_1x2032BT1
1Card0-Footprints:CardJ1
1GAL22V100-Footprints:DIP-24_W7.62mmU4
1H00-Footprints:LED_Rectangular_W3.9mm_H1.9mmD8
1H10-Footprints:LED_Rectangular_W3.9mm_H1.9mmD9
1H20-Footprints:LED_Rectangular_W3.9mm_H1.9mmD10
1H30-Footprints:LED_Rectangular_W3.9mm_H1.9mmD11
1H40-Footprints:LED_Rectangular_W3.9mm_H1.9mmD12
1H50-Footprints:LED_Rectangular_W3.9mm_H1.9mmD13
1H60-Footprints:LED_Rectangular_W3.9mm_H1.9mmD14
1L00-Footprints:LED_Rectangular_W3.9mm_H1.9mmD1
1L10-Footprints:LED_Rectangular_W3.9mm_H1.9mmD2
1L20-Footprints:LED_Rectangular_W3.9mm_H1.9mmD3
1L30-Footprints:LED_Rectangular_W3.9mm_H1.9mmD4
1L40-Footprints:LED_Rectangular_W3.9mm_H1.9mmD5
1L50-Footprints:LED_Rectangular_W3.9mm_H1.9mmD6
1L60-Footprints:LED_Rectangular_W3.9mm_H1.9mmD7
1Logo0-Footprints:CrankG1
1Logo0-Footprints:crankery_smallG2

Questions

How big is the BankedMemory PCB?

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

What parts does the BankedMemory use?

44 parts, built around the 74LS245SC, 74LS573PC, ULN2803A and CR2032. 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 BankedMemory KiCad files?

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

Can I use the BankedMemory 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 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
  • 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 layers182.9 × 172.7 mmMulti, the printed circuit board in 3D

    Multi

    homebrew8088/8088-PC-Compatible

    8088 PC XT Compatible

    120 parts238GPL-3.0
  • 2 layers114.3 × 106.7 mmXt ide, the printed circuit board in 3D

    Xt ide

    glitchwrks/xt_ide

    XT-IDE 8-Bit IDE Controller

    46 parts126GPL-3.0
  • 2 layers157.5 × 73.9 mm8086 ISA ver2, the printed circuit board in 3D

    8086 ISA ver2

    homebrew8088/8086-PC-Compatible

    8086 PC Compatible

    50 parts27GPL-3.0
  • 4 layers127 × 127 mmTom-1, the printed circuit board in 3D

    Tom-1

    tcr/tom-1

    83 parts3
  • 4 layers150 × 150 mmHomebrew 486, the printed circuit board in 3D

    Homebrew 486

    mattheeewahn/MDA80486SBC_Final

    크기가 너무 커서 압축파일로 올립니다. PCB로 가면 아웃풋이 있고 아웃풋에 가면 homebrew486Bcu압축파일이 있는데 그대로 캐드나 온라인 거버 뷰어에 올리시면 볼수 있습니다

    130 parts1GPL-3.0
  • 2 layers100 × 100 mmFlashCartProgrammer, the printed circuit board in 3D

    FlashCartProgrammer

    dgaunt48/CBM_Flash_ROMs

    Various Commodore Cartridge and ROM replacement stuff.

    83 parts
  • 4 layers254 × 254 mmProto1, the printed circuit board in 3D

    Proto1

    ehbc-project/ehbc-proto1-board

    KiCad board designs for EHBC

    174 parts
  • 4 layers184 × 97.5 mmCPU Board, the printed circuit board in 3D

    CPU Board

    jimfrob/8086-Minicomputer

    A basic minicomputer design based on the 8086 CPU

    42 partsGPL-3.0