Hackaday editors Elliot Williams and Mike Szczys stomp through a forest full of highly evolved hardware hacks. This week seems particularly plump with audio-related projects, like the thwack-tackular soldenoid typewriter simulator. But it’s the tape-loop scratcher that steals our hearts; an instrument that’s kind of two-turntables-and-a-microphone meets melloman. We hear the clicks of 10-bit numbers falling into place in a delightful adder, and follow it up with the beeps and sweeps of a smartphone-based metal detector.
When it comes to understanding computers, sometimes it’s best to get a good understanding of the basics. How is data stored? How does the machine process this information? In order to answer these questions a bit more and start learning programming, [Nakazoto] built a 10-bit binary adder with relays.
The build is designed from the ground up, including the PCBs, which are milled using a CNC machine. There are six boards: the input board, sequencer board, 2 sum register boards, a carry register board and a 1-bit ALU board. The input board has 32 LEDs on it along with the switches to turn on each bit on or off. In total, 96 relays are used and you can hear them clacking on and off in the videos on the page. Finally, there is a separate switch that sets the adder into subtraction mode.
Usually, [Nakazoto]’s website is mostly about cars, but this is a nice diversion. The article has a lot of detail about both the design and build as well as the theory behind the adder. Other articles on binary adders on the site include this one which uses bigger relays, and this 2-bit adder which uses 555 timers.
There’s some good detail in [Aliaksei]’s translated post on the “Only Paper” forum, a Russian site devoted to incredibly detailed models created entirely from paper. [Aliaksei] starts with the basic building blocks of logic circuits, the AND and OR gates. Outputs are determined by the position of double-headed pistons in chambers, with output states indicated by pistons that raise a flag when pressurized. The adder looks complicated, but it really is just a half-adder and full-adder piped together in exactly the same way it would be wired up with CMOS or TTL gates. The video below shows it in action.
If [Aliaksei]’s name seems familiar, it’s because we’ve featured his paper creations before, including this working organ and a tiny working single cylinder engine. We’re pleased with his foray into the digital world, and we’re looking forward to whatever is next.
The aptly named [Clickity Clack]’s new YouTube channel promises to be very interesting if he can actually pull off a working computer using nothing but relays. But even if he doesn’t get beyond the three videos in the playlist already, the channel is definitely worth checking out. We’ve never seen a simpler, clearer explanation of binary logic, and [Clickity Clack]’s relay version of the basic logic gates is a great introduction to the concepts.
Using custom PCBs hosting banks of DPDT relays, he progresses from the basic AND and XOR gates to half adders and full adders, explaining how carry in and carry out works. Everything is modular, so four of his 4-bit adder cards eventually get together to form a 16-bit adder, which we assume will be used to build out a very noisy yet entertaining ALU. We’re looking forward to that and relay implementations of the flip-flops and other elements he’ll need for a full computer.
Over the last year we’ve had several posts about the Lattice Semiconductor iCEstick which is shown below. The board looks like an overgrown USB stick with no case, but it is really an FPGA development board. The specs are modest and there is a limited amount of I/O, but the price (about $22, depending on where you shop) is right. I’ve wanted to do a Verilog walk through video series for awhile, and decided this would be the right target platform. You can experiment with a real FPGA without breaking the bank.
In reality, you can learn a lot about FPGAs without ever using real hardware. As you’ll see, a lot of FPGA development occurs with simulated FPGAs that run on your PC. But if you are like me, blinking a virtual LED just isn’t as exciting as making a real one glow. However, for the first two examples I cover you don’t need any hardware beyond your computer. If you want to get ready, you can order an iCEstick and maybe it’ll arrive before Part III of this series if published.
Would you consider this to be doing math the old-fashioned way? Instead of going with silicon-based switching (ie: transistors) this 4-bit adder uses mechanical relays. We like it for its mess of wires (don’t miss the “assembly” page which is arguably the juiciest part of the project). We like it for the neat and tidy finished product. And we like it for the clicky-goodness which surely must bloom from its operation; but alas, we didn’t find a video to stand as testament to this hypothesis.
The larger of the two images seen above is from the register memory stage of the build. The black relay in the bottom right is joined by a ring of siblings that are added around the perimeter of the larger relays before the entire thing is planted in the project box.
Sure, simulators are a great way to understand building blocks of logic structures like an adder. But there’s no better way to fully grip the abstraction of silicon logic than to build one from scratch. Still hovering on our list of “someday” projects is this wooden adder.
[Lior Elazary] designed and built this clock to simulate the function of a CPU. The problem is that if you don’t already have a good grasp of how a CPU works we think this clock will be hopelessly confusing. But lucky for us, we get it, and we love it!
Hour data is shown as a binary number on Register A. This is the center column of red parts and is organized with the MSB on the bottom, the LSB on the top, and left-pointing bits function as digital 1. The clock lacks the complexity necessary for displaying any other time data. But that’s okay, because the sound made by the ball-bearing dropping every minute might drive you a bit loony anyway. [Lior] doesn’t talk about the mechanism that transports that ball bearing, but you can see from the video after the break that a magnet on a circular path picks it up and transports it to the top of the clock where gravity is used to feed the registers. There are two tracks which allow the ball to bypass the A register and enter the B register to the right. This works in conjunction with register C (on the left) to reset the hours when the count is greater than 11.