Skip to the content
PCBKitNew board
2 layersBreadBin, the printed circuit board in 3D

A CPU made of 7400 logic on breadboards - inside a bread bin ;-)

Copper layers
2
Thickness
1.6 mm
Parts
45
Nets
169
Pads
639
Tracks, vias
35, 0
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
26 Oct 2020
Updated
21 Nov 2021

Overview

BreadBin is an open-source printed circuit board by c0pperdragon, from the c0pperdragon/BreadBin repository on GitHub. It is a 2-layer board with 45 parts on 169 nets, routed with 35 tracks and 0 vias.

It is built around the 74HC245D, 74HC541D and 74HC377D, with the 74AC153PC, 74AC00 and 74AC08PC among its other parts. Its parts include 4 capacitors, 3 resistors and 1 crystal.

Main components

12

README

README.md

BreadBin computer

A CPU made of 7400 logic on breadboards - inside a bread bin ;-)

Current design

After various experiments and failed attempts to design a 7400-based computer, I came to a quite minimalistic 8-bit approach which is nevertheless pretty versatile and can utilize a surprisingly large amount of memory resources. The CPU core itself executes its program from a static 64K flash memory and can access 32 bytes of internal RAM (which can be considered registers for all practical purposes). Access to the external memory area (up to 16MB of address space) allows addition of RAM, ROM and memory mapped IO. In the current setup this directly mirrors the capabilities of my OS816 reference design.

alt text

Computer case

With the CPU already built so nicely on an actual wooden board, I had the idea to put it together with the rest of the computer into a matching bread bin. Because the machine will not require any ventilation this will keep the dust out quite reliably.

alt text

On bread boards

Since a very long time I wanted to design my own CPU and build it from smaller parts, preferable on bread boards. My main problem with the approach were my bad experiences with bread boards as a whole, as they seemed to be too unreliable for anything more serious than arduino tinkering. As it turns out it is only a matter of using high-quality boards and cabling to get a reliably working build. The boards I now use (BB830 from BusBoard) are quite expensive, but worth every penny and give me very little trouble.

In previous attempts I had much trouble to get a stable ground reference accross all the individual boards. So this time I directly soldered together ground rails of parallel boards with silver wire on the bottom and then placed the boards on top of a large plane of aluminium foil. This foil should make good contact to all the silver ground wires to connect them together and additionally work as shielding. So far this works pretty good.

When using this kind of setup it is important to also use a matching logic family of chips. 74AC, 74ACT, 74LVC or others have a very fast switching characteristics. This is great for many applications but in a large build with long and unshielded cables, their brutally steep signal edges wreck havoc with signal integritiy. So I settled for the moderately fast and well-behaved 74HC logic ICs with only a few 74AC parts to speed up the ALU.

alt text

Software

One of the hardest parts of home-made computers is to actually build all the software to make the machine useful. To get the benefit of existing software, the breadboard computer core is designed to emulate the existing CPU 65C816. Together with 512K RAM and 512K Flash and identical IO capabilities, this now is a completely software compatible replica of the OS816 system - running at a lower overall speed, of course.

To properly stay in the "bread" theme, the emulator is called Bernd or BER/ND (if you like a more technical appearance). People familiar with the german TV station "Kinderkanal" will recognize the reference.

alt text

Parts

45
QtyValueFootprintReferences
574HC377Package_DIP:DIP-20_W7.62mmOP1, PC3, UA1, UB1, UC1
474AC153Package_DIP:DIP-16_W7.62mmMUX1, MUX2, MUX3, MUX4
233pFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1, C2
274AC00Package_DIP:DIP-14_W7.62mmLOGIC1, LOGIC2
274AC08Package_DIP:DIP-14_W7.62mmAND1, AND2
274AC11Package_DIP:DIP-14_W7.62mmAND3, AND4
274AC283Package_DIP:DIP-16_W7.62mmADD1, ADD2
274HC163Package_DIP:DIP-16_W7.62mmPC1, PC2
274HC32Package_DIP:DIP-14_W7.62mmOR1, OR2
274HC574Package_DIP:DIP-20_W7.62mmIR1, OUT1
2Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJIN1, JOUT1
2SST39SF040Package_DIP:DIP-32_W15.24mmMCODE1, ROM1
1100uFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC4
110kResistor_THT:R_Array_SIP9RN1
110uFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC3
11MResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2
11kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
133kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR3
174HC04Package_DIP:DIP-14_W7.62mmINV1
174HC138Package_DIP:DIP-16_W7.62mmDEC1
174HC164Package_DIP:DIP-14_W7.62mmRES1
174HC245Package_DIP:DIP-20_W7.62mmIN1
174HC541Package_DIP:DIP-20_W7.62mmGATE1
1AS6C4008Package_DIP:DIP-32_W15.24mmRAM1
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJPOWER1
1CrystalCrystal:Crystal_HC18-U_VerticalY1
1IDT71256Package_DIP:DIP-28_W7.62mmREG1
1NE555Package_DIP:DIP-8_W7.62mmTIM1

Questions

What parts does the BreadBin use?

45 parts, built around the 74HC245D, 74HC541D, 74HC377D and 74AC153PC. 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 BreadBin KiCad files?

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

Can I use the BreadBin design in my own project?

Its repository states no licence, so its author keeps all rights: ask c0pperdragon before reusing the design.

Similar boards

  • 4 layers406.4 × 254 mmExtmemory, the printed circuit board in 3D

    Extmemory

    mrieker/pdp8i

    113 parts
  • 4 layers220 × 170 mmArpeggiator, the printed circuit board in 3D

    Arpeggiator

    EwoudVV/arpeggiator

    12-note analog arpeggiator with a 1/2/3 octave range, custom pcb and printed case

    360 parts3
  • 2 layers299.7 × 198.1 mmCisc-8, the printed circuit board in 3D

    Cisc-8

    nailed-barnacle/Cisc-8-ttl-processor

    A cut-down version of the 8080 processor using HCTTL and including a discrete ALU and instruction decoder

    319 parts1MIT
  • 2 layers233.4 × 280 mmCft board0, the printed circuit board in 3D

    Cft board0

    alexiosc/cft

    The CFT homebrew minicomputer

    299 parts6GPL-3.0
  • 2 layers101.6 × 83.8 mmZ80DevBoard, the printed circuit board in 3D

    Z80DevBoard

    dbuchwald/Z80DevBoard

    Simple Z80 based prototyping and development board designed as extension to Arduino Mega 2560

    39 parts3MIT
  • 2 layers172.7 × 108.6 mmClementina hardware, the printed circuit board in 3D

    Clementina hardware

    fran150/clementina-hardware

    KiCad schematic for Clementina, a 3.3V W65C02S computer with a Raspberry Pi Pico 2 W (MIA) handling video, audio, storage and I/O.

    48 partsGPL-3.0
  • 4 layers188 × 128.3 mmZAK180, the printed circuit board in 3D

    ZAK180

    agkaminski/ZAK180

    DIY all-in-keyboard computer featuring Z180 and floppy drive

    140 parts
  • 2 layers200 × 150 mmMicro, the printed circuit board in 3D

    Micro

    jurendono/VMC

    A Versitile 6502 Based Microcomputer

    235 parts