Homemade 8-bit Computer
Vložit
- čas přidán 5. 09. 2024
- Showing off my homemade 8-bit computer. I built this using only basic 7400 series integrated circuits. It can't do much, but building a computer from such low-level components was a bucket-list item for me. Hope you enjoy seeing it as much as I enjoyed building it!
Some factoids:
Total material cost: ~$400
Max clock rate: ~0.5 MHZ
Total number of breadboards: 36
Number of jumper cables: I lost count, but Amazon was delivering a couple packs a week.
Most difficult module to build: The program memory (the chips I used have a very complicated procedure for writing to them).
Easiest module to build: The memory and the register file.
Number of months I haven't been able to use my kitchen island: 3
"I'm not a computer engineer" ..Goes ahead and shows something more cool than my computer engineering graduation project.
As an actual computer engineer, we had projects where we had to make a 4 bit computer using actual transistors instead of ready made chips and transistor + capacitor for dynamic memory cells as well as filters and opamp buffers. So this project is very simple since you just have to make a boolean table and then connect the wires to the correct pinouts and that’s it. This looks complicated only because he used a-lot of chips and jumper wires instead of neatly bent wires. Even a year 2 EE who studied digital systems can do this.
@@catnipaddict126 no one fucking asked
@@atarairit9987 So you don’t find it interesting from a real computer engineer’s perspective that the original commenter is a fake computer engineering student? Because there is zero chance he/she did not do something more complicated from year 2.
@@catnipaddict126That's really cool I must say.
@@atarairit9987He's actually right, that's not a very impressive
Edit: lol, I just sent it without finishing.
... a very impressive graduation project. This is just absurdly boring and tedious to build up and shows no proficiency in electronics/computer engineering. That is a mounting of already known architectures: that's LEGO.
But you all should notice that no one is telling that the video's author is bad in computer engineering. It's just very impressive for a person not taking any computer or electronics engineering course, and that's it.
“I’m not a computer engineer.”
You engineered a computer. If that doesn’t make you a computer engineer I don’t know what does. You rock dude.
I'll never forget when I was a freshman in college my electrical engineering professor said to us after explaining the basics of AND, OR, NOT, and XOR gates, he said - "with these gates, you can build any computer you want no matter the complexity" - and he was right.
In fact, you can basically build every logic operation just using NAND gates, though obviously that sometimes means you have to take the long way. So, using the „correct“ gates for a specific operation is not really necessary, though of course it speeds up things. However, it also means more logic, and therefore a physically bigger CPU.
Good job. Like it.
Yep, and a fun fact is that the Apollo Guidance Computer was built using NOR gates only.
@@johanrg70And they chose to use NOR gates since the reliability of other transistor gates had been unknown at the time.
except analog computers
Very right indeed and I ENJOYED IT BUT NOT THE TRUTH TABLES LMAO
For "not having a computer engineering degree", I would say this project would satisfy the senior capstone project of any EE program.
more than just satisfy tbh lol
Yeah that sounds about right
EE-CompSci Freshman digital logic design course just if you only took one course.
Dear Joseph,
I am a computer engineer, with a computer engineering degree. And with full confidence allow me to say that you are by every definition possible, a computer engineer. it isnt just the graduation degree from a university that makes you an engineer, its the effort and understanding and creation you have shown here. Please remember and keep in mind that what you have created is something that even most professors themselves can't create. YOU ARE A COMPUTER ENGINEER.
"I'm not a computer engineer" MY ASS.
seriously. i care less about a piece a paper and care more about demonstrable ability, he IS a computer engineer. it drives me crazy people think you need to have a formal education to call yourself something you can clearly learn on your own as did the first people discovering this stuff in history.
🤣
@@Cara.314 Amen! Beautifully said.
@@Cara.314 Absolutely!
Oh! Really,? it's a challenge conquered.
Individual logic gates is insane.
the really insane bit is doing it all on bread boards with only jumper wires
@@GordonWrigleyPure gore
@@GordonWrigley the insane part is to not lose overview and to keep on doing really repetitive things.
I don't know if he taught him to do everything from scratch, but it isn't to complicated logic wise. it is complicated because it is boring and easy to do a small mistake and then to find that mistake haha.
I once tried stuff like this in minecraft, but it is just sooooo annoying all the planning where what gate is going to be and then not having enough space and needing to move everything just a few blocks. it takes SO MUCH TIME.
I study normal programming stuff and we had logic gates and some larger constructs like registers, full adder etc and was able to build a really simple ALU in micecraft with 4 bits. Not to hard, just really boring haha.
But the result is really nice! (but from the complexity itself nothing too crazy)
@@Marco-xz7rf I'm also a software engineer, I wrote a gate sim once and then build a CPU in it, it was a fun exercise, it's also harder to mess up doing it that way vs actually physically building it, physically building it you can just connect a wire slightly wrong
@@GordonWrigley oh what programm did you use? I really like this because then you TRULY once realized how all this stuff works. It is so fasinating also to see that each gate has different times until signal goes through and also different shapes of transistors as for whatever reason one weakens the signal differently than others, so in order to compensate some have more or less surface than others. Alls this traveltime of the signals untill they finally reach stable result before you can clock again to save up everything in your regs or you will have errors :D
Please never disassemble this masterpiece 🥹
There's a RP2040 in the middle with a few multiplexers. The wiring looks very believable, though. 😂😂😂😂 Just never stop, mate. I'm dying for your big little project
@@GustavoPinho89 huh really??
@@KrishnavyshakR just watch it on a large screen and zoom in. It's just a prop. 😂😂😂 Just taking the pss. Bro worked hard on this Ben Eater 0.7 (lower in better, as it takes us closer to the Logic gates) project. It's really impressive. Or is it?
@@GustavoPinho89I don't see any rp2040 in it, can you provide the time stamp where it is visible
@@GustavoPinho89 Yeah, no, but I guess haters are gonna hate. There's no kind of RP in here.
Wow, impressive!
Internet's EE godfather himself.
Bloody h-ell!! Dave Jones just popped out of nowhere. If any of you can speak Australian, I'd appreciate to see a translation of his comment
I think this is my favorite pronunciation of “xor” gate, regardless of how ubiquitous other pronunciations I just like it!
Yah, took me a little time to figure out what he was saying, to realize that x can sound like z :)
I used to call them x-or gates but i started making a computer for a science fair project like a year ago and i started calling them zor gates just because. Anyways this is my completely useless comment that no one asked for
Simp
@@GustavoPinho89 🤔
@@GustavoPinho89Não cara tu se confundiu
you said you are not a computer engineer, believe me, you did something that some computer engineers can not do.
Lots of comments about how impressive this is (it is), but I'll tell you to KEEP GOING! Don't ever let any project become your magnum opus.
"I'm not a computer engineer" is something I, a computer science graduate, tell people because I never did what you did in the video. You may not hold a degree in computer engineering. But you, ma man, ARE a computer engineer.
As someone who is working on a very similar computer myself, it's nice to see other people's take on such a project! I struggle to find someone irl who is interested in this stuff...
i'm interested sir on making one, myself when i got the money, i need instructions.
@@josephputra2987 The project that preceded this for me was writing a Snake game for a TI83+ calculator in Z80 assembly (machine code, really). That taught me how a (simple) CPU works from the software side. Later I found Ben Eater's channel, which I highly recommend if you don't know him already, and his 8-bit computer series got me started with my computer project. My computer is a mix between Ben Eater's and the Z80's design (plus whatever features I thought useful). Then I ordered a bunch of chips (I used slightly more complex chips, like 8-bit registers and bus transceivers, counters, adders and multiplexers), and went right at it. Building it in individual modules really helped, because I could do it one step at a time. That's my advice.
what the hell
congrats for not going insane after doing this
I tried learning how alus work last year and I got so scared, ultra low level computer stuff is dark magic
hats off to you
Well, no, not really. Most of that is either just logic (hence the name: logic gates), or mathematics or both.
Calling it dark magic is like putting it in a secrecy corner, which does not help anyone.
No problem if you have a hard time understanding it. You probably have other strengths.
To everybody their own.
My bakery bakes way better bread rolls than I do, but that doesn’t make it dark magic. It just means I’m less good at it.
I bought Ben Eaters kit many years ago.. it’s still in the box. It was long after I realized “wait I don’t know anything about computer engineering!”
So I just enjoy videos like this one, very well done!
If someone's gonna ask "CAN IT RUN DOOM?" I'm gonna start breaking noses.
Well, can it?
@@Pathfinder3877 Ahhh, you beat me too it!
@@Pathfinder3877that's it, yer dun
Can it run Wolf3D?
@@Pathfinder3877 *casually displaces your septal cartilage
Hi, computer engineering student, trying to build a computer in Minecraft here! I just wanna say that this is ultimately one of the biggest goal of mine when I first started learning about circuit design and computer architecture. Even though, your computer has less functions and capabilities than others, in the end it's about the process that takes from 0 to wherever we are. Glad you're proud of what you did!
hi kiwi
@@zpippohow?
@@baconheadhair6938 how what, exactly
As someone who has only ever built a computer in the game "Turing Complete" this is very fascinating to see. BTW, for anyone interested, I can highly recommend trying that game.
Brother, just wanted to say, that this project is way too cool. Only us programmers can admire its beauty even if it's not as functional as a normal computer, this requires a depth of understanding that can easily make you a professional.
Reminded me of Ben Eater's videos
Don't disassemble it. Donate it to some school or university so they put it in some glas box and it will run forever.
exactly, that is one massive potential for education!
This man might not be one of those "genius" programmers or designers, but he alone has the knowledge to control what almost everyone has forgotten about, and will be the arbitrator of any electronics.
Unbelievably cool.
Most people today skip right over this level of logic and go straight to high level languages. It disgusts me that they have no interest in gated logic or even assembly code. They seem to think it's a waste of time. Thank you very much for undertaking this project and sharing it with us. Never forget, it all begins with 1's and 0's. Nice job!
Because it mostly is
I've never purely used gates during programming... The only "gate" I've used is 'or' and and 'and' that's for if operation, if that even counts.
There's no reason to learn details, because you won't use them
I've used more that in Minecraft using redstone than programming...
Really? Disgusts? What an extreme reaction lol. I absolutely love low level stuff like this but can see that most people don't need to know it.
@@PaintSkate8 Most people use the highest level languages, like programming their microwave for hot water. Most people don't need C++ either because they can create an algorithm by speaking to Alexa. Those who can create an algorithm using logic gates or assembly code can create the fastest code and the tightest programs. When speed and size matters, those people are the winners.
I have college and university degrees in electronics and electrical engineering, your project blows me away , thanks . Please remember us supposed educated when posting another project of yours . Great job , good luck to you .
I DID enjoy seeing what you've accomplished. As a computer scientist myself, I applaud your initiative and dedication. And now you have an in-depth understanding of how computers work. That's something that not many people know these days.
WELL DONE, YOU!
The "perspective" this video provides is one of the best I've seen. I personally find it amazing how CS and EE folks in the past were able to create these digital concepts that have been as static as the generation of electricity and the gas engine except only the hardware has evolved. Thanks for showing just how "simple" (major air-quotes) computing is to laypeople.
Dude, this is fucking insane. Even being a CE student, this would take me eons to do. Major props!!!
Whenever I come across someone who worries that computers think and are conscious, I point out to them that with enough beer cans in large enough room we could create a computer to do what electronic computers do, and in precisely the same way. Would anyone think that a room full of carefully arranged beer cans could give rise to consciousness? What you have done is demonstrate the same idea, but closer to the real thing, and in hardware! Great job!
Im curious, how do you make a computer from beer cans? Im assuming you can create logic gates somehow with just beer cans?
Disabling gravity is the easy part…
Technically speaking, an 8 bit computer is pretty simple to build IF you know what you are doing. As you went into it with no experience or knowledge then I give you props for doing it :)
We had to build one in our first year at university, it was pretty fun.
FIRST year project?!! Like the one in the video?! Apologies but that's very hard to believe.
@@afollowerofchrist5789 eh. We did do it.
@@Falney I'm just saying that it's really hard to believe for that to be a FIRST year project. If that was the first year project, then what did you do in the subsequent years? What about in the second and third years? What about your capstone/senior project?
@@afollowerofchrist5789 First year was general compsci. We had 4hrs a week dedicated to hardware. It took us 36 weeks to do the cpu, building upto it and doing it in parts. Second year was specialised, I went into game development, but a huge group project that ran the whole year was developing a teacher parent portal for a school in php. Allowed parents and teachers to talk, share results and homework.
Third year was thesis year and I built a self learning enemy ai. It sounds more complex than it actually was.
@@afollowerofchrist5789 First year was general compsci. We had 4hrs a week dedicated to hardware. It took us 36 weeks to do the cpu, building upto it and doing it in parts. Second year was specialised, I went into game development, but a huge group project that ran the whole year was developing a teacher parent portal for a school in php. Allowed parents and teachers to talk, share results and homework.
Third year was thesis year and I built a self learning enemy ai. It sounds more complex than it actually was.
In the early seventies, we used digital trainers that used NOR gates to build more complex circuits. My senior project was a four intersection stop light system using only NOR gates. I built the clocks, timers, and logic using only gates. NOR was the preferred gate at this time, until the AND gate surpassed it. It looked something like your project, but didn't have the dupont cables and breadboards you're using. I learned to do prototyping in wire-wrap and spent years building industrial breadboards prior to committing to circuit cards. Lots of fun.
This is the most spiritual video I’ve seen in a while
Man I am currently at the 8 bit bus/register part of the Ben Eater style 8 bin computer. and OMG all I can see is jumper wires. Instantly subbed
Nice work. At university in 1989 we made a succesive approximation ADC with gates and op-amps. three maybe four breadboards. Your work is all the machine parts in a glorious proof of the heart of the machine, The accumulator flag. What you made is truly beautiful. And Im impressed by the contact reliability of breadboards and jumper cables. I very much enjoyed seeing it.
It is not only a great board, it is also a great achievement. With all the blinking LED's some processes in this processor board can be explained and be made visible to the general public, the common people, those whom are born ignorant. (aren't we all?) It is beautiful.
Okay, I renounce my IT diploma... you built something I can't even imagine how to start.
In the early 1980's, I earned my B.S. degree in Electrical Engineering (this is back when at my University, the Computer Science Department was still located in the School of Business). This project reminds me of several of my electronics and microprocessor student directed lab projects. Way to go, this is truly outstanding!
that's awesome! I really admire your patience with those filled proto boards
And here we see an upcoming jdh (youtuber) after building his first 8-bit computer. Very impresssive! Good luck to you, I know you'll make it very far.
This is a fantastic accomplishment. My breadboard connections frequently get finicky for a variety of reasons, including oxidation. Do you find yourself having to spend time jiggling wires when things aren't working quite right?
Please donate/sell this treasure to a museum.
Some breadboards are _much_ higher quality than others. You can also try disassembling them and using pliers to carefully improve the contacts, though it's quite a bit of work :D
Luann said it. I didn't have any problems with this once I found a supplier of good breadboards.
@@JosephNaberhaus What brand/supplier did you use? The gold standard for breadboard quality is 3M, but their high cost puts them out of reach for many people.
you did something that is very impressive and complex
you should be proud of yourself
and what you did is better than having just a degree
very cool. Technically you only need NAND or NOR gates, but its simpler if you can use the whole range of gates
This is INSANE. Nice job!
Yeah, don't worry, even the Master's Projects of most Computer Engineers are the equivalent of eating glue compared to what you did here. You earned a sub, and definitely much more than that.
This is how to make a computer with a protoboard…. Just genius and truly pasión
I am from Kolkata India , your project reminds me of my college days 1995 , When as a undergraduate student we used to make projects with basic AND , NAND , OR , NOR , XOR NOT gates and other TTL ISs.
Bro you need an out put device... This thing is amazing. Literally a computer visualized.
Your genius, it's frightening...
Electrical engineering I don't care if I don't find a job after graduation, but boy, am I glad to study it, I love it
Very impressive, something I've always wanted to do but never had the time for (yet, at least). You can learn so much about the fundamentals of computing with a project like this
really cool build! I've always wanted to take a crack at a similar project in Minecraft but can never dedicate the time LOL
Thanks Joel! Redstone computers are exactly what originally inspired me!
Im in proces of making one in Minecraft and building stuff ALU,ram... isn't that hard but asembly It 💀
Some of the best art is those that are temporary. I think this definitely fits. You made an amazing creation!
I bet you had all sorts of problems with those breadboards you wete using. An amazing project and you are now in the wizard class of engineers.
Designing something like this was a CS Phd qualifying exam question (to get into the program) at UC Berkeley when I was there in 1983. Of course that was only a design on paper.
Its set up like a city with roads and "blocks". I love it!
Some where in the distant past I had a TRS-80.
What was difficult ? (NO INTERNET)
Finding manuals to explain it.
I did, then got a Computer Science degree
and went on to work on Avionics and weapons systems.
I miss that stuff, but now, chickens are the thing to do.
I hate getting old.
Well done, sir !
WHAT A LEGEND! ‚By the time you’re watching this, I’ve probably disassembled it😮‘ BROTHER I WOULD NEVER TOUCH IT AFTER COMPLETION
That's a Desktop Computer if I have even seen one, as it takes the whole desk.. Fantastic !! Great Work !! Personally I would have mounted it in a Large Picture Frame & Hung it on a Wall, it is a Work of Art ...
and here I can't use these knock off breadboards to reliably wire multiplexed seven segment displays. Outstanding work
I would implore you to look into making something larger on an FPGA. You can really scale that without the need for massive hardware increases or size increases. You essentially do all the same "wiring" there just virtually on the FPGA fabric.
You should design a PCB next. These modules are very forgiving and the through hole components would be a breeze to solder. You could use SATA cables to interconnect the modules.
KiCad would have all of these modules predefined.
Very impressive project, and seems doable for "normal" people as well. Thanks for showing this!
Finally, a person that has build his own PC from scratch and is worthy of installing TempleOS on it to continue fighting glowies in the name of Terry.
This is like rebuild a wheel :) But just sick what a Microcontroller can do, like a Arduino Nano or such, if we see what basicaly is inside it and if we see the size of a larger table to build it with normal electronic locigal chips.
Incredible. I'd love to know more about how the programming language works.
I like it very much. This is the point where you observe how unintelligent stuff turns into something intelligent.
I'm amazed as how the sparce ceramic decoupling caps handled so well the parasitics, if i tried this here with jumpers of this size and quantity, probably i would need 3 (1uf/10uf/100uf) in each IC
I only have a tenuous grasp on this subject, but I think this is because my clock stages make most noise irrelevant. In fact, the only module that suffered from noise was the clock itself. That module does have a decent number of filtering capacitors of various sizes.
I did go ahead and liberally apply 0.1uf caps throughout. I don't fully remember why I picked that capacitance. I think it was listed on a datasheet.
Like you mentioned, the datasheet recommends having dedicated noise-filtering capacitors for every IC, but I decided to cheekily ignore that.
@@JosephNaberhaus Your wires get coupled electromagnetic noise by parasitic capacitances and inductances with the enviroment, so this source of noise is external and only handled by filtering. Wires have parasitic inductance and also act as antennae, wires near to each other have parasitic capacitance and act as capacitors, the lenghts and the geometrical disposition make them suitable for capturing the range of frequencies from communication to mains noise.
Not necessarily the noise will come from your power stages or clock gen because your bench supply seems very robust ( these can have noise as low as 1mv ), the main source of noise would be external
The 0.1 uF caps have the point of least impedance at the 50hz/60hz range, so they are 0.1 because their impedance to the mains frequency noise is at the lowest. Capacitors are non ideal, and with their parasitic inductance and resistance comes a notch ( band reject or band pass) response, where they act in a range as a capacitor, and in other higher range or frequencies they act as inductors.
Different types of capacitors respond differently to this non ideality as well.
So different value capacitors are different tuned filters, where using a 1uF cap can filter 6hz the best, and a 0.1uf can filter 60hz the best, a 0.01uf capacitor can filter 600hz the best... and so on.
High capacitor values filter low frequencies, low capacitor values filter high frequencies ( that's why the 1 pf capacitor in circuits subject to noises in khz range)
They point to GND because they really act like this low pass / notch filter that throw the mains noise directly to ground, DECOUPLING (that's why the name) this noise from your supply lines.
I think that maybe your sourcing of components may matter, because most chips around the world when bought from China or low key resellers are just fake ones ( yep , piracy/fake copies of electrical components both discrete and integrated is a widespread issue ), so the internal project may not include the necessary resources to reject noise
@@JosephNaberhaus Also, the dedicated noise-filter capacitor for every IC is much more important in high noise enviroments like mixed-signal boards with wireless comms in very small form factor with noisy power supplies units, that's where it matter the most. In smaller projects, less caps are usually better, the frequency response of them is better (more attenuation, less poles )
@@JosephNaberhaus Oh, forgot to mention, where i live we only have access to the fake components.
So we have funny stuff, for example, when students build TTL sequence gens or counters, weird stuff happens.
Like, if you approach your hand to the circuit ( without touching ) it change states.
Or, if the room lights are switched on and off ( even if the circuit is in batteries ), it change states.
Or, the hex displays only light up when you draw your smartphone closer.
That events point that the object near attract charges and distort fields in a way that affect the parasitics just enough to flip the system around. Quite funny.
this is awsome! now make it out of individual transistors.
dude you made something cool you’re cool bro
about a month ago i graduated as a bachelor medical lab analyst i want to to build cool thing and learn c++ fusion360 and blender yet all i did is today just down loaded fusion blender i just tried making something got board half way c++ just watched some videos you on the other hand wanted something cool and made it
Great video, I really liked your explanations of each block. The debugging process must of been a nightmare!
Thanks for giving me inspiration ❤ . I hope one day I will have time to make my own computer .
Nice job! I’ve got a little story for you!
I was doing something very similar but decided to use an FPGA instead. The FPGA allowed me to do some very interesting things (which I made a video about).
I had a functional VGA output using breadboards with a RAM frame buffer. I think the size was 160x200, 8 bit color. While testing I was using an Arduino to draw images into the frame buffer. Unfortunately, I couldn’t get it to behave perfectly, after it ran for a few minutes it would flip a random bit in the RAM or have a temporary visual artifact. I tried decoupling caps and even ferrite beads to reduce the noise on the power supply rails, which worked great but weren’t enough. I didn’t continue with breadboards after that point since I knew it would be very difficult to get the computer to function properly, especially if I added more breadboards.
You understand computing indeed. Impressive.
Oh My GOSH !!! That load of chips and connectors would have cost a fortune! I've also wanted to do similar using discrete MOSFETs, but will probably never get around to it. Super cool though! Are the bypass capacitors only plugged into the two rails at either end of each breadboard (i.e. they're not beside the leads on each of the chips)? Gotta say that's mighty impressive!
Never let the baby touch it.. this will turn from beautiful engineering project to beautiful artwork
Would love to see this in more detail.
Really impressive piece of work. But now I'm waiting for a geek who would install and play Doom on this contraption.
This is amazing. Congratulations and well done.
amazing! Hope one day I'll also be able to build something like this!
That was cool! Thanks for putting it on youtube for us.
You're a computer engineer in my book.
Seriously great project! I plan to do something similar myself to prove I understand it all... definitely an exciting time for software and hardware development but essential to know how it works at this basic of a level.
Thats a cool project for when we need to restart civilization. Wonder how much time would it take to go from this to the state of the art litography foundries that produce chips today.
no matter the capability, this is jawdropping :3
That is insane! I already started building a 4-bit computer, but I'm already struggling with the ALU part😂
NPC1: Let me show you my gaming PC... So this is my CPU case.
NPC2: Wait a minute, isn't that your house?.
It is the best CS video I ever seen! Thank you, you are definitely extraordinary person!
Thank you.Fantastic project building ,can use all this in integration circuit . Ic
The 8 Bit computer:
Processing fibonacci sequence
The 8 Bit computer wires:
Happy Pride !
Wow, incredible work, well done!
The Star. Simply FcKng Star, Mate.
Amazingly done, keep in the same spirit.
Great project. Nice work !
Every step, every simple or impractical accomplishment, is important for improving brain productivity
Impressive build, Joseph. Very cool.
Unbelievably awesome. Keep it up your passion.
Ooo, This is a masterpiece!!! Please dont dissamble this ever...
a whole machine with 74 series!?! my dude you crave pain! good freakin job man./
This man would absolutely destroy Factorio on his first run.
Similar in spec to the Apollo missions on-board computers. 😎
EE-CompSci Freshman digital logic design course just if you only took one course the entire semester. Insane amount of work & troubleshooting to get right. The hardest part is keeping the clock timings in phase and reduce the power noise with meter-long runs of wires! Must have been tons of caps added just to counteract some unidentified dark magic. I definitely saw a bunch of decoupling capacitors!