Breadboard computer

I'm going to disagree that placing a microcontroller on a breadboard qualifies as building a computer on a breadboard. Except for I/O (such as a keyboard and display), a microcontroller by itself is pretty much a complete computer. Just placing it on a breadboard and connecting up a few wires is trivial and can be done in ten minutes.

When the OP asked, "Is it possible to make a simple computer entirely with breadboards and basic electronic components?", by basic electronic components I think it means something more like this:

enter image description here

Now that's a computer on a breadboard (well, several breadboards), built from basic components. The description of it is here. It's made up of a dozen types of 74LS00 series IC's. (I don''t think we want to go all the way back to transistors; the original PDP-8 was the size of a small refrigerator).

As far as a scientific calculator goes, if you built a general-purpose computer like the one shown above, then it could be programmed as a scientific calculator. Constructing a scientific calculator using only logic IC's (no computer) would be extremely difficult; all the manufactures of calculators like that (Ti, HP etc.) used special large scale IC's. Here's a home-built calculator that uses am early 4-bit calculator IC.

I will agree that if one wants to get a computer up and running as quickly as possible, then using a microcontroller is the way to go. If one wants to really understand how a computer works internally, then building one out of basic ICs is the right path.


It is not only possible, I have actually done it: see https://www.vttoth.com/CMS/projects/47

Here is what the wiring on the backside of one of the breadboards looked like:

enter image description here

Of course it all depends on what components qualify as "basic". In my case, the basic components were 74... series TTL chips, roughly a hundred of them. To build a computer entirely from, say, transistors... that would be much too overwhelming.

Also, my 4-bit computer is really not powerful enough to be used as a scientific calculator, mainly because of limitations of memory (256 4-bit nybbles). However, it is not terribly difficult to extend the address space, perhaps using a paging mechanism, and 4096 nybbles (12-bit addresses) might by enough already, 65536 nybbles (16-bit addresses) for sure.


Yes it's possible, but you'd need a bit more than just a few breadboards to come up with a scientific calculator, depending of course on what you consider a basic component: whether you call a transistor a basic component, or a flip-flop, an EEPROM or just something you can solder out from an old refrigerator.

There are some good answers here, but I'd just like to point out one thing that people often don't consider. Looking at the history of computing devices, the difficulty in building a computer from tree bark and nails is not the CPU nor the ALU. The main problem is memory. Because you need a huge amount of it for the whole stored program concept to work. You can make a CPU from a few flip-flops and NAND gates; for example for a power electronics application with specific constraints, I once designed a microprocessor that uses only 69 flip-flops (4 16-bit registers, 4 flags and 1 state register bit denoting FETCH/EXECUTE). It's implemented in silicon and people write software that runs on it. That's simple and it fits into the size of a drain contact of a power transistor. But the memory needed to store any useful program is much, much bigger.

Early on, the memory was the starting point of the design. You could use bi-stable relays as they did in early telephone exchanges. You could use vacuum tubes or transistors to make flip-flops; and the registers of the CPU usually were implemented this way. But for the program and data storage, paper tapes, magnetic tapes, spinning disks or spinning drums were used. Even acoustic waves on steel wire that are constantly received and retransmitted by the electronics. Anything you can think of that could hold some bits for a reasonable amount of time with reasonable cost. Apollo orbiter and lunar lander computers used coil core memories wound up as ropes. All these need different interface equipment and have a huge impact on what the CPU needs to be like to access those kinds of memories. Semiconductor memory only really appeared in the 1970's, finally dismissing that kind of complexity. But then again, modern dynamic RAMS are not that easy either.

Then there is the added wonderfulness of having to design input-output equpment for the computer. A few light bulbs is fine for some applications but if you need text input/output or something even more complex, you are again facing more difficulties. Punch-card readers, printers and paper terminals were a huge business in their days. A VT100 text mode video terminal from 1978 has much more memory and processing power than your scientific calculator breadboard computer would have.