Skip to the content
PCBKitNew board
2 layers70 × 85 mm1bit CPU, the printed circuit board in 3D

1bit CPU using 74HC series logic IC.

Size
70 × 85 mm
Copper layers
2
Thickness
1.6 mm
Parts
38
Nets
34
Pads
130
Tracks, vias
240, 1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
13 Jun 2021
Updated
27 Dec 2023

Overview

1bit CPU is an open-source printed circuit board by naoto64, from the naoto64/1bit-CPU repository on GitHub, published under the MIT licence. It is a 2-layer board of 70 × 85 mm with 38 parts on 34 nets, routed with 240 tracks and 1 via.

It is built around the 74HC00D, 74HC04D and 74HC153D, with the 74HC74D among its other parts. Its parts include 10 resistors, 8 diodes, 7 capacitors, 4 ICs and 3 switches.

Main components

4

README

README.md

1bit-CPU

1bit CPU using 74HC series logic IC.

Overview

This is a 1bit CPU KiCad file. You can make a CPU using the 74HC series logic IC.

Circuit Diagram

1bit-cpu.jpg

Description

Left switch: Controls MUX to choose whether to update Reg A or PC
Right switch: Controls second XOR operand or sets destination PC address

text
LR
00: MUX=0, RA=RA^0=RA,  PC=!PC
01: MUX=0, RA=RA^1=!RA, PC=!PC
10: MUX=1, RA=RA,       PC=0
11: MUX=1, RA=RA,       PC=1

In regular words:
OFF, OFF will preserve the value of A and advance PC (0->1, 1->0)
OFF, ON will invert the value of A (0->1, 1->0) and advance PC (0->1, 1->0)
ON, OFF will preserve the value of A and set PC to 0
ON, ON will preserve the value of A and set PC to 1

text
01 23 | Function | Looped C equivalent | Description
----------------------------------------------------------------------------
00 00 | NOP, NOP | void; void;         | Do nothing
00 01 | NOP, INV | void; a=!a;         | Half frequency blink
00 10 | NOP, NOP | void; void;         | Do nothing
00 11 | NOP, HLT | void; while(1);     | Halt forever
01 00 | INV, NOP | a=!a; void;         | Half frequency blink
01 01 | INV, INV | a=!a; a=!a;         | Maximum frequency blink
01 10 | INV, NOP | a=!a; void;         | Half frequency blink
01 11 | INV, HLT | a=!a; while(1);     | Usually one state change, then halt
10 00 | HLT, NOP | while(1); void;     | Halt forever
10 01 | HLT, INV | while(1); a=!a;     | At most one state change, then halt
10 10 | HLT, NOP | while(1); void;     | Halt forever
10 11 | HLT, HLT | while(1); while(1); | Halt forever
11 00 | NOP, NOP | void; void;         | Do nothing
11 01 | NOP, INV | void; a=!a;         | Half frequency blink
11 10 | NOP, NOP | void; void;         | Do nothing
11 11 | NOP, HLT | void; while(1);     | Halt forever

Video

1bit-CPU

Parts

38
QtyValueFootprintReferences
50.1uCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC1, C4, C5, C6, C7
410kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R5, R9, R10
41N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4
41kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R6, R7, R8
4LEDLED_THT:LED_D5.0mmLED1, LED2, LED3, LED4
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
2SWButton_Switch_THT:SW_DIP_SPSTx02_Slide_9.78x7.26mm_W7.62mm_P2.54mmSW1, SW2
1100kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
1100mAFuse:Fuse_Bourns_MF-RG300F1
110uCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC3
110μCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC2
147kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
174HC00Package_DIP:DIP-14_W7.62mm_SocketU3
174HC04Package_DIP:DIP-14_W7.62mm_SocketU1
174HC153Package_DIP:DIP-16_W7.62mm_SocketU4
174HC74Package_DIP:DIP-14_W7.62mm_SocketU2
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW3
1USB_Type_CLibrary:USB_C_PowerOnlyJ1

Questions

How big is the 1bit CPU PCB?

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

What parts does the 1bit CPU use?

38 parts, built around the 74HC00D, 74HC04D, 74HC153D and 74HC74D. 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 1bit CPU KiCad files?

From the naoto64/1bit-CPU repository on GitHub, at the commit this page was made from: the board is 1bit-cpu/1bit-cpu.kicad_pcb and its schematic 1bit-cpu/1bit-cpu.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 1bit CPU 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).

Similar boards

  • 2 layers178 × 711 mmMSAP-2 rev.A SMD, the printed circuit board in 3D

    MSAP-2 rev.A SMD

    mehrantsi/MSAP-2

    An 8-bit computer. Successor to MSAP-1

    658 parts13MIT
  • 4 layers100 × 100 mm74HCT6526, the printed circuit board in 3D

    74HCT6526

    dmolinagarcia/74HCT6526

    74HCT6526

    66 parts14
  • 2 layers100 × 100 mmHC4 KiCad, the printed circuit board in 3D

    HC4 KiCad

    nasu8151/HC4

    Schematics and board of HC4 E (E means "for Education").

    175 parts8
  • 2 layers216 × 150 mmMotherboard-101, the printed circuit board in 3D

    Motherboard-101

    artemisamsx/artemisa

    Schematics, PCB designs and HDL simulations to build a 8-bits MSX computer

    124 parts67
  • 2 layers144 × 100 mmCpu td4, the printed circuit board in 3D

    Cpu td4

    nikachu2012/td4cpu

    90 parts1
  • 2 layers335 × 218.6 mmMSX Goauld, the printed circuit board in 3D

    MSX Goauld

    leomanes/stargate

    Stargate MSX Compatible Computer

    298 parts18GPL-3.0
  • 2 layers143 × 85 mmZf vga, the printed circuit board in 3D

    Zf vga

    tangent3D/Z-FIGHTER

    Homebrew Z80 hobby computer

    62 parts10MIT