Intro
Welcome to the first blog post in my Building an 8-bit Computer series. In these posts, I will be documenting my journey of learning the fundamentals of computing through building Ben Eater's 8-bit computer from scratch. This blog is a work in progress and mainly for retrospection on the interesting things I learn along the way.
In this post, I will be going through why I decided to build an 8-bit computer and the procurement of components required to get started.
What is Ben Eater's 8-bit computer?
Ben Eater's 8-bit computer is a video series documenting Ben Eater project to build a computer built from scratch on breadboards using only simple logic gates.
If you are thinking of doing this yourself, Ben Eater seems to have a cult following on Reddit (which hopefully I will be part of soon). I would recommend checking out this community here: r/beneater
Why?
I've been interested in electronics and computers from a young age, having recently started a career as a software developer in Ruby and JavaScript stacks, both high-level langagues. However, since learning the basics of how a CPU works in the Introduction to Computing module in my Mechanical Engineering degree, I have been curious about how computers work from the ground up.
Having no experience in low-level languages, I know there is a significant gap in my understanding of computer programming. Learning computing at a lower level would improve my knowledge of the languages I work in and possibly open up new opportunities for hobbies and work.
I have a basic understanding of electronics, such as the physics of circuits and how semiconductors and gates work. But any further than that, it's a black hole.
I discovered Ben Eater through YouTube recommending his excellent video on binarary adition using logic gates, it piqued my interest, and I started exploring his channel and website. From there, I saw the 8-bit computer project and thought I might as well jump in at the deep end and force myself to get the deeper understanding I need. It's also fun learning a new technology field, particularly one where it provides the potential to create almost anything.
I intend to research and understand how each component works throughout the project, so it'll probably take a lot longer than I'd expect if it was just plugging components. I'll keep note of how long it takes and let you know in the conclusion post.
Procurement
Since I live in the UK, I decided not to buy the package Ben Eater sells on his site due to import tax and shipping, so I went about going through the parts list and buying chips.
It took about 4 hours to purchase all of the components, some of which seemed hard/impossible to get locally in the UK. Regarding chip numbers, commonly, I found the correct part number but with suffixes such as an N after it. I'm not sure if this means anything yet. I briefly read the datasheets (which, after watching a couple of videos, seem very important), and I am confident I will be able to wire it up correctly if I understand the logic of the chip does and its spec. However, I'll likely look back on this statement and cringe at how wrong I was 😅
Computer Parts
Qty | Component | Seller | Price (£) |
---|---|---|---|
3 | SN74LS00N | RS Components | 1.73 |
6 | SN74LS04N | RS Components | 3.96 |
4 | SN74LS08N | RS Components | 2.35 |
2 | SN74LS32N | RS Components | 1.10 |
3 | SN74LS86AN | RS Components | 1.73 |
1 | SN74LS74AN | RS Components | 0.58 |
1 | SN74LS139N | RS Components | 0.76 |
5 | SN74LS151N | RS Components | 4.14 |
7 | SN74LS245N | RS Components | 5.63 |
5 | SN74HC595N | RS Components | 2.76 |
2 | SN74LS273N | RS Components | 1.56 |
1 | 8-way DIL switch | RS Components | 1.51 |
1 | DIP switch SPST | RS Components | 1.22 |
50 | Red LED 5mm | RS Components | 14.88 |
20 | Green LED 5mm | RS Components | 3.70 |
10 | Yellow LED 5mm | RS Components | 2.42 |
25 | Blue LED 5mm | RS Components | 10.32 |
1 | SN74LS107AN | Farnell | 2.14 |
1 | SN74LS138N | Farnell | 0.9 |
10 | SN74LS173AN | Farnell | 13.08 |
2 | SN74LS283N | Farnell | 3.43 |
3 | SPDT Slide Switch | Farnell | 4.36 |
10 | SPNO Switch | Farnell | 0.84 |
4 | Seven Segment Display | Farnell | 4.34 |
2 | USB 2.0 2m cable | Amazon | 4.29 |
1 | 5A USB plug adapter | Amazon | 7.64 |
1 | 74F189 64-Bit RAM | eBay | 5.99 |
1 | SN74LS139N | eBay | 1.95 |
1 | SN74LS161AN | eBay | 3.00 |
3 | 16K CMOS Parallel EEPROM | eBay | 19.11 |
8 | SN74LS86N | eBay | 5.00 |
10 | 2 Pin PCB terminal block | eBay | 2.49 |
3 | 3 pin SPDT Slide Switch | eBay | 2.05 |
100 | 22awg Hook up Wire | eBay | 17.25 |
15 | K&H RH-21 840 Breadboard | Rapid | 126.36 |
100 | 1K 0.5W Resistor | Rapid | 1.56 |
100 | 10K 0.25W Resistor | Rapid | 1.05 |
100 | 100K 0.25W Resistor | Rapid | 1.05 |
100 | 470R 0.25W Resistor | Rapid | 1.05 |
100 | 1M 0.25W Resistor | Rapid | 1.05 |
1 | Finger Adjust Pot | Rapid | 0.94 |
5 | 10nf Capacitor | Rapid | 0.63 |
25 | 100n Capacitor | Rapid | 2.46 |
5 | 1uF Capacitor | Rapid | 2.87 |
5 | NE555P | Rapid | 2.36 |
5 | SN74HC02N | Rapid | 1.53 |
5 | CD74HCT73E | Rapid | 3.63 |
Tools
Qty | Component | Seller | Price (£) |
---|---|---|---|
1 | Wera PH0 screwdriver | Rapid | 3.01 |
1 | Wera PH1 screwdriver | Rapid | 3.48 |
1 | Wera 0.18 Slotted Screwdriver | Rapid | 3.23 |
1 | Bugari Needle Pliers | Rapid | 13.79 |
1 | Bugari Blade Cutters | Rapid | 13.09 |
1 | Anvil Wire Stripper | Rapid | 5.29 |
1 | Arduino Nano Evaluation Board | Farnell | 17.28 |
1 | AN8008 Digital Multimeter | Amazon | 24.05 |
1 | 120pc Jumper Wire Cable Set | Amazon | 3.49 |
As you can see when comparing to the required list of components, many companies had minimum purchase quantities, which was a downside to ordering them myself. The upside is that this does give some redundancy for broken components and supplies any future projects.
Total for components came to £304.73
Total for tools came to £86.71
For a very basic computer, this might seem like a lot of money. I did get a couple of comments from the missus asking me what more it could do than a £5 calculator while costing the same amount as a low-end laptop. To that, the only answer I have at the time is "it's a hobby" and "it might teach me more about how computers work". Hopefully, I'll learn a lot and have some fun.
What's Next
The project's next step is to build the first part of the computer, the clock module.