

BreadBin
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
1274HC245D
SO-20-300mil-40℃~+125℃ 1 160uA 2V~6V 7.8mA 7.8mA 74HC 8 9ns@4.5V,50pF Bidirectional Tri-State SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HC541D
SO-20-300mil-40℃~+125℃ 1 12ns@4.5V,50pF 160uA 2V~6V 7.8mA 7.8mA 74HC 8 Output enable Tri-State Unidirectional SO-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HC377D
SO-20-300mil-40℃~+125℃ 1 12ns 16ns@4.5V,50pF 2V~6V 3.5pF 3ns 4mA 4mA 74HC Series 77MHz 8 8uA D-Type Enable Rising Edge SOIC-20-300mil Flip Flops ROHSNexperiaFlip Flops74AC153PC
PDIP-16-40℃~+85℃ 24mA 24mA 2V~6V 4uA 6.5ns@5V,50pF 74AC Single Supply PDIP-16 Signal Switches, Multiplexers, Decoders ROHSonsemiSignal Switches, Multiplexers, Decoders74AC00
--40℃~+85℃ 100mV、360mV 2 2.1V、3.15V、3.85V 2.9V、4.4V、5.4V 24mA 24mA 2V~6V 2uA 4 74AC Series 900mV、1.35V、1.65V 9ns@5V NAND Gate - Logic Gates ROHSonsemiLogic Gates74AC08PC
DIP-14-40℃~+85℃ 100mV、360mV、440mV 2 2.1V~3.85V 2.56V、2.9V、3.86V、4.4V、4.86V、5.4V 24mA 24mA 2V~6V 2uA 4 7.5ns@5V,50pF 74AC Series 900mV~1.65V AND Gate DIP-14 Logic Gates ROHSonsemiLogic Gates74AC11PC
DIP-14-40℃~+85℃ 100mV、440mV 2.1V~3.85V 2.46V、2.9V、3.76V、4.4V、4.76V、5.4V 24mA 24mA 2V~6V 2uA 3 3 74AC Series 8ns@5V,50pF 900mV~1.65V AND Gate DIP-14 Logic Gates ROHSonsemiLogic Gates74HC163D
SO-16-40℃~+125℃ 1 16ns@6V,50pF 2V~6V 4 500mW 55MHz 74HC Divide-by-2 Reset function、Cascade counter、Synchronous counting Rising Edge Synchronous Synchronous Up Counter SO-16 Counters, Dividers ROHSNexperiaCounters / Dividers74HC32D
SOP-14-40℃~+125℃ 1.5V~4.2V 1.9V、4.4V、5.9V 100mV、400mV、400mV 2 2V~6V 2uA 4 5.2mA 5.2mA 500mV~1.8V 6ns@6V,50pF 74HC Series OR Gate SOIC-14 Logic Gates ROHSNexperiaLogic Gates74HC574D
SOP-20L-40℃~+125℃ 1 13ns 15ns@6V,50pF 2.7V~6V 20uA 28MHz 5ns 6.5pF 7.8mA 7.8mA 74HC Series 8 D-Type Enable Rising Edge Tri-State SOP-20L Flip Flops ROHSMDDFlip Flops74HC04D
SOP-14-40℃~+125℃ 1 1.5V~4.2V 1.9V、3.7V、5.2V 100mV、400mV、400mV 14ns@6V,50pF 2V~6V 2uA 5.2mA 5.2mA 500mV~1.8V 6 74HC SOIC-14 Inverters ROHSNexperiaInverters74HC138
SOP-160℃~+70℃ 24ns@5.0V,16pF 2V~6V 3/8 5.2mA 5.2mA 5uA 74HC Decoder Reverse function Single Supply SOP-16 Signal Switches, Multiplexers, Decoders ROHSGRSignal Switches, Multiplexers, Decoders
README
README.mdBreadBin 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.

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.

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.

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.

Parts
45| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 74HC377 | Package_DIP:DIP-20_W7.62mm | OP1, PC3, UA1, UB1, UC1 |
| 4 | 74AC153 | Package_DIP:DIP-16_W7.62mm | MUX1, MUX2, MUX3, MUX4 |
| 2 | 33pF | Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm | C1, C2 |
| 2 | 74AC00 | Package_DIP:DIP-14_W7.62mm | LOGIC1, LOGIC2 |
| 2 | 74AC08 | Package_DIP:DIP-14_W7.62mm | AND1, AND2 |
| 2 | 74AC11 | Package_DIP:DIP-14_W7.62mm | AND3, AND4 |
| 2 | 74AC283 | Package_DIP:DIP-16_W7.62mm | ADD1, ADD2 |
| 2 | 74HC163 | Package_DIP:DIP-16_W7.62mm | PC1, PC2 |
| 2 | 74HC32 | Package_DIP:DIP-14_W7.62mm | OR1, OR2 |
| 2 | 74HC574 | Package_DIP:DIP-20_W7.62mm | IR1, OUT1 |
| 2 | Conn_01x08 | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | JIN1, JOUT1 |
| 2 | SST39SF040 | Package_DIP:DIP-32_W15.24mm | MCODE1, ROM1 |
| 1 | 100uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C4 |
| 1 | 10k | Resistor_THT:R_Array_SIP9 | RN1 |
| 1 | 10uF | Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm | C3 |
| 1 | 1M | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R2 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1 |
| 1 | 33k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R3 |
| 1 | 74HC04 | Package_DIP:DIP-14_W7.62mm | INV1 |
| 1 | 74HC138 | Package_DIP:DIP-16_W7.62mm | DEC1 |
| 1 | 74HC164 | Package_DIP:DIP-14_W7.62mm | RES1 |
| 1 | 74HC245 | Package_DIP:DIP-20_W7.62mm | IN1 |
| 1 | 74HC541 | Package_DIP:DIP-20_W7.62mm | GATE1 |
| 1 | AS6C4008 | Package_DIP:DIP-32_W15.24mm | RAM1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JPOWER1 |
| 1 | Crystal | Crystal:Crystal_HC18-U_Vertical | Y1 |
| 1 | IDT71256 | Package_DIP:DIP-28_W7.62mm | REG1 |
| 1 | NE555 | Package_DIP:DIP-8_W7.62mm | TIM1 |
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 mm

- 4 layers220 × 170 mm

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 mm

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 mm

- 2 layers101.6 × 83.8 mm

Z80DevBoard
dbuchwald/Z80DevBoard
Simple Z80 based prototyping and development board designed as extension to Arduino Mega 2560
39 parts3MIT - 2 layers172.7 × 108.6 mm

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 mm

- 2 layers200 × 150 mm
