

1bit CPU
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
474HC00D
SOP-14-40℃~+125℃ 1.5V、3.15V、4.2V 1.9V、3.7V、5.9V 100mV、400mV、400mV 2 2V~6V 4 40uA 5.2mA 5.2mA 500mV~1.8V 74HC Series 7ns@6V,50pF NAND Gate SOIC-14 Logic Gates ROHSNexperiaLogic Gates74HC04D
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 ROHSNexperiaInverters74HC153D
SOIC-16-40℃~+125℃ 160uA 2V~6V 44ns@4.5V,50pF 5.2mA 5.2mA 74HC 8/2 Multiplexer Output enable high-impedance Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders74HC74D
SOIC-14-40℃~+125℃ 1 15ns 2 2V~6V 3.5pF 37ns@6V,50pF 3ns、3ns、3ns 40uA 5.2mA 5.2mA 74HC Series 82MHz Asynchronous Complementary D-Type Rising Edge Set and Reset SOIC-14 Flip Flops ROHSNexperiaFlip Flops
README
README.md1bit-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

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
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=1In 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
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 foreverVideo
Parts
38| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 0.1u | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1, C4, C5, C6, C7 |
| 4 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R5, R9, R10 |
| 4 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4 |
| 4 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R6, R7, R8 |
| 4 | LED | LED_THT:LED_D5.0mm | LED1, LED2, LED3, LED4 |
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | SW | Button_Switch_THT:SW_DIP_SPSTx02_Slide_9.78x7.26mm_W7.62mm_P2.54mm | SW1, SW2 |
| 1 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R3 |
| 1 | 100mA | Fuse:Fuse_Bourns_MF-RG300 | F1 |
| 1 | 10u | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C3 |
| 1 | 10μ | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C2 |
| 1 | 47k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4 |
| 1 | 74HC00 | Package_DIP:DIP-14_W7.62mm_Socket | U3 |
| 1 | 74HC04 | Package_DIP:DIP-14_W7.62mm_Socket | U1 |
| 1 | 74HC153 | Package_DIP:DIP-16_W7.62mm_Socket | U4 |
| 1 | 74HC74 | Package_DIP:DIP-14_W7.62mm_Socket | U2 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW3 |
| 1 | USB_Type_C | Library:USB_C_PowerOnly | J1 |
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 mm

- 2 layers213.1 × 129 mm

- 4 layers100 × 100 mm

- 2 layers100 × 100 mm

- 2 layers216 × 150 mm

Motherboard-101
artemisamsx/artemisa
Schematics, PCB designs and HDL simulations to build a 8-bits MSX computer
124 parts67 - 2 layers144 × 100 mm

- 2 layers335 × 218.6 mm

- 2 layers143 × 85 mm

