0 2026/chump

chump pcb

spending 6 hours soldering and pretending i am having fun. a 4-bit computer made from ttl logic chips.

I thought I’d post this project that I did this year, making a 4-bit computer from TTL logic chips. It’s a reimplementation of the final project for the computer architecture elective at harker, based on the following paper:

Table of contents

Schematic and PCB

First, I drew up a schematic in KiCAD and designed a PCB. You can download the project files here.

schematic of the CHUMP computer pcb for the CHUMP board alternate view of CHUMP pcb

I honestly yolo’d this design for the PCB, and the wiring was mostly done greedily and by vibe. I actually had to restart doing the traces halfway through my first attempt since I did not know what I was doing. Anyways, I sent this 4-layer PCB off to JLC PCB for $48 and thankfully everything worked first try. Never punished.


Instruction Set & ROMs

Instructionop7 a2op6 a1op5 a0op4/selALUS3 c7S2 c6S1 c5S0 c4M c3Cn (=c4)Acc c2RW c1PC c0hex
LOAD const0000B10101x010AA
LOAD it0001B10101x010AA
ADD const0010A+B10010101092
ADD it0011A+B10010101092
SUB const0100A-B-101100001062
SUB it0101A-B-101100001062
STORETO const0110A11111x100FC
STORETO it0111A11111x100FC
READ const1000A11111x110FE
READ it1001A11111x110FE
JMP const1010Logic 111001x111CF
JMP it1011Logic 111001x111CF
JEZ const1100Not A00001x1110F
JEZ it1101Not A00001x1110F

And I loaded a program to print out the fibonacci numbers on the LEDS:

 0    LOAD 1
 1    STORETO 0  # ram location 0 holds f(n)
 2    STORETO 1  # ram location 1 holds f(n-1)

 3    READ 0
 4    LOAD
 5    READ 1
 6    ADD
 7    STORETO 1  # ram location 1 = f(n+1)

 8    READ 0
 9    ADD
10    STORETO 0  # ram location 0 = f(n)+f(n+1) = f(n+2)

11    JMP 3

I used the same program and python script shown in the original chump post. Contents of the program rom (U6) and control rom (U7):1

$ hexdump -C ctrl_rom.bin
00000000  aa 92 62 fc fe cf 0f 55  55 55 55 55 55 55 55 55  |..b....UUUUUUUUU|
00000010  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 55  |UUUUUUUUUUUUUUUU|
*
00002000

$ hexdump -C program_rom.bin
00000000  01 60 61 80 10 81 30 61  80 30 60 a3 55 55 55 55  |.`a...0a.0`.UUUU|
00000010  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 55  |UUUUUUUUUUUUUUUU|
*
00002000

I programmed the AT28C64B EEPROMs with a XGecu Pro T48 programmer, using the minipro software tool. This EEPROM programmer ended up being the most expensive part at around $70, even more so than shipping a custom PCB all the way from China.

Buying shit from Jameco

I actually messed up here a bit, as I did not assign the correct footprint to some of my parts. The push button is scuffed, as the legs did not fit through the holes on the PCB so I just tacked it on with balls of solder on the pads. Also, the single pole double throw switch was completely incorrect. For the switch, I had to solder in some header pins and just use some jumper wires to connect to the switch.

Item NumberManufacturer P/NDescriptionQuantityTotal
46973SN74LS181NIC, 74LS181N, DIP-24, ARITHM. LOGIC UNIT/FUNCT GENERATOR (.600”W IC, 74LS181N,DI1$6.60
4693174LS174IC, 74LS174N, DIP-16, HEX D-TYPE FLIP-FLOP W/CLEAR HEX D- TYPE FLIP-FLOP DIP-1$1.23
4681874LS161IC, 74LS161N,DIP-16, 4BIT SYNCHRONOUS BINARY COUNTR 4- BIT SYNCHRONOUS BINARY1$1.00
4677174LS157IC, 74LS157N, DIP-16, QUAD 2-TO-1 LINE DATA SELECTOR QUAD 2-TO-1 LINE DATA SE1$0.94
46640SN74LS14NIC, 74LS14N, DIP-14, HEX SCHMITT-TRIGGER INVERTER HEX SCHMITT TRIGGER INVERTE1$0.66
46252SN74LS00NIC, 74LS00, DIP-14, QUAD 2-INPUT POS. NAND GATE QUAD 2- INPUT POSITIVE NAND GAT1$0.71
126797LMC555CNIC,LMC555CN (TLC555CP) CMOS TIMER, 8-PIN DIP IC TS555CN CMOS Single (555) Lo1$1.32
4800474LS74IC, 74LS74N, DIP-14, DUAL D-TYPE FLIP-FLOP DUAL D-TYPE FLIP-FLOP DIP-141$0.56
4635974LS06IC, 74LS06N, DIP-14, HEX INVERTER BUFFER/DRIVER HEX INVERTER BUFFER/DRIVER DIP1$0.85
74827AT28C64B-15PIC, EEPROM, 28C64B-15,5V 8kx8,DIP-28,150ns IC, EEPROM,28C64B-15,5V 8kx8,DIP-282$10.74
661757CF1/2W103JRC@RES,CF, 10K OHM, 1/2 WATT, 5%, (10 BAG) Resistor Carbon Film 10k Ohm 1/2 Watt10$0.95
691622CF1/4W155JRC@RES,CF, 1.5M OHM, 1/4 WATT,5%, (10 BAG) Resistor Carbon Film 1.5M Ohm 1/4 Wa10$0.43
2237175RC1W330EJT@RES,CF,330 OHM, 1 WATT, 5% (10 BAG) Resistor Carbon Film 330 Ohm 1 Watt 5%10$1.33
2237191CF1W102JRC@RES,CF, 1K OHM, 1 WATT,5% (10 BAG) Resistor Carbon Film 1K Ohm 1 Watt 5%10$1.33
2237204RC1W2K20JT@RES,CF,2.2K OHM,1 WATT,5% (10 BAG) Resistor Carbon Film 2.2K Ohm 1 Watt 5%10$1.33
333973UT1871-81-M1-R@LED,RED, 643NM,T-1 3/4, 75MCD,2.2V,V/A30,(10) LED Red Diffused 5mm T1-3/4 610$1.43
2357287C320C104M5R5TA-JVP@CAP,MONO CER, RAD, 0.1uF, 50V, 20%, X7R, R20XR104M05L1YS, (10) @CAP,MONO CER,RAD10$1.14
33662TAP105K035SCSCAP, TANT, 1uF, 35V, 10%, 4.2Dx6Hx3LSmm 1 uF 35 Volt Tantalum Capacitor3$1.68
137673DC-470-2P-RPLUG,DC PWR, FEM,2.1X5.5mm,SLDR LUG, PC MNT,RT/ANGLE14.5mm L Connector Power1$0.47
155249ADTS31NV -JVPSW,PB,TACT, SPST, OFF-(ON), OFF-(ON)50mA@12VDC, BLK,KRS- 3550-BK-Black SPST Mom1$0.33
2314127EG218SWITCH, SLIDE, SPDT, ON-ON.5A@50VDC, 3PIN PCB, BRD BD.31x. 16x.39” SWITCH, SLIDE,S1$0.81
2288607PH1-36-UAHEADER, STRAIGHT, MALE, 1RW, 36PIN,. 1”CTR, 025”PST,.23”, GOL DTAIL HEADER, MALE, 11$0.85
48557SN74S189NIC,74S189N, STATIC RAM, 16x4, TTL, 16-PIN-DIP IC,7451891$4.65
47669SN74LS377NIC, 74LS377N, DIP-20, OCTAL D-TYPE FLIP-FLOP OCTAL D-TYPE FLIP-FLOP DIP-202$2.38

I also bought a 5V DC power brick with a barrel jack connector off Amazon.

Photos!

After acquiring everything, I proceeded to spend like 6 hours in Area01’s Dabble Lab hand soldering all the components into the board, pretending to have fun. Here are the fruits of my labor.

Ignore how dirty my PCB is, I did not clean the flux off after I soldered and now it’s disgusting.

top view of the pcb backside of the pcb CHUMP in operation

There you go! For about $150, you too can make an awful 4-bit computer. This post should have everything you need to recreate this monstrosity if for some reason you wish to.

Footnotes

  1. 🫴 six sevennnn 🫴


Log in to Comment

Firebase not Loaded