Why build an entire computer on breadboards? [video]
youtube.com
youtube.com
A bit tangential, but I recently discovered the incredible Make: Encyclopedia of Electronic Components series (here's Vol 1 [2]) and immediately fell in love. It's one of those things which you don't know you need until you learn of its existence, and then you can't live without it. The topics covered by this series go far beyond what you learn as part of a computer engineering or electrical engineering undergraduate program, at least based on my experience and those of my friends.
Some commenters are asking about getting started with electronics. My standard suggestion is Make: Electronics [3], which is written for learning by discovery rather than learning by explanation. Read the first page of the Preface [4] for an explanation of what that means; consider picking up a copy if that resonates with you.
[0] https://news.ycombinator.com/item?id=20375702
[1] https://en.wikipedia.org/wiki/DisplayID
[2] https://www.makershed.com/products/make-encyclopedia-of-elec...
[3] https://www.makershed.com/products/make-electronics-2ed4
Edit: Gate Array Logic, thanks everyone
Commonly used to replace 74xxx chips they do glue logic in classic 8bit computer designs like the Apple II
As an example, if you have a very simple design with a 32k rom chip and a 32k ram chip, address decoding - controlling which chip is going to provide that address, is dirt simple. You take the highest bit of the address and use it as the enable line on one chip. Then you run the same signal through a NOT gate, and provide it as the enable to the other. So for addresses 0x0000 through 0x7fff, the high bit is 0, and one chip is enabled, and for addresses 0x8000 onwards, the high bit is 1, and the other chip is enabled instead. So when I address 0x8000, I'm actually addressing location 0 on the 2nd chip.
But when you look at contemporary designs, 32k & 64k ram chips were either unavailable, or an unnecessary expense. It's not unusual to see old-school devices with a whole cluster of 1k ram chips - and my nice, understandable decoding starts to get expensive. Now you're trying to compare the top 6 address bits, with lots of replication for each ram chip. If I were to do it, I'd probably use two 74138 chips to do binary-to-decimal, and then an AND gate per ram chip to compare the outputs. For 32k of ram, and at 4 AND gates per 7408, we end up with 2x74138 and 8x7408.
So as a hobbyist, I'd much prefer this as I can still describe the entire process end-to-end. For mass-production, replacing 10 discrete-logic chips with one programmable-logic chip, is several wins.
Check it out:
In the videos he talks about the importance of using high quality breadboards, but even so, it's so easy to knock a wire out accidentally that leads to having to trace every connection to figure out what went wrong.
But from a pedagogical standpoint and having people follow along with a minimum set of skills, I get it.
The whole video series is excellent. Highly recommended.
* Keep this thing pristine. Dust, corrosion, liquid, or any other indignity will invisibly poison the breadboard and take its toll on your sanity later.
* Use only DIP legs and 22-24 gauge wire. Shoving a TO220 into these spring clips will spread them and take its toll on your sanity later.
* Decouple, decouple, decouple. The distributed inductance of a breadboard is nontrivial and if you're not putting a nanofarad next to every logic chip, you will summon ghosts.
* Buying cheap breadboards with subpar contact plating will yield exactly the sort of performance you'd imagine. Breadboards are supposed to be an EASY way to build circuits, not a CHEAP way. You get what you pay for.
With all these things in mind, they're quite good at what they do.
(digital circuits are fast analogue ones!)