The Nibbler: A 4-bit CPU Built With 7400 Logic

nibbler-schematic

Maybe we shouldn’t say “built” since [Steve Chamberlin] hasn’t actually heated up his iron yet. From the finished schematic above that is puzzling at first, until you realize the scope of the project. His Nibbler implements a 4-bit CPU using 7400 logic chips. Because he’s come up with the architecture himself he’s taking a lot of steps to check all of his work before committing to a PCB.

We linked to his category for the project which is still in progress. Most recently he wrote a program to prove that it’ll run on the hardware. That’s a feat considering this is still just a design idea. It was made possible because he wrote a simulator based on the design. The C++ tool simulates data and control buses and features a full set of debugging tools.

Careful testing of the design before the build is the best possible way to go. The simulator and debugging tools will be useful for software development even after the hardware is built. And testing before wiring is a must as these things get out of control quickly in terms of soldering complexity.

[via Dangerous Prototypes]

Hackaday Links: Sunday, May 12th, 2013

hackaday-links-chain

[Johnathan Crawford] isn’t bashful about tearing the insides of his truck apart. He’s built his own remote starter using a Raspberry Pi.

We vaguely remember hearing about a startup that planned to deliver tacos using quadcopters instead of people. We assume that company was a bust but here’s the concept in action at the 2013 RoboGames [thanks Don].

On the topic of food: pizza and joysticks… do they go together? Perhaps. Here’s a joystick made out of an empty pizza box (note the remains of grease stains inside).

[Jonathan] brings to our attention the problem of running out of fingers to press all the buttons on your Monome at just the right moment. No worries, just add some solenoids to act as extra fingers.

Apparently some Samsung cameras (NX20, NX210 and NX1000) can use their USB port as a shutter release. The trick is finding the right resistor values for the ID pin [thanks Janne].

Plagued with a tablet dock that wasn’t weighty enough to prevent the device from tipping over [John] filled base with lead to keep the thing upright.

[Helmut’s] bathroom had no windows. He faked one using an Arduino and an RGB led.

And finally, as a reward for all the readers that made it to the bottom of the article, here’s a gem of a project. [Charlie] was inspired by the recent logic combo lock post to send in his own plans for a lock he made years ago. Unfortunately he can’t find the pictures from the build but the theory behind it is quite engaging.

7400 Logic Competition Winners Announced

The 7400 Logic Competition has drawn to a close. The winners were announced and there are quite a few of them. There were fifteen first place winners named, nine second place, and nineteen third place projects. The bounty of quality entries is a testament to the popularity of the contest. It helps to have a wide range of prizes and the post linked above lists all of the sponsors who donated goodies as an incentive.

The board seen above was awarded the reader’s choice, to which the grand prize was awarded. It is a 7400 series calculator. [Umair Mukati] and [Naveed Ahmed] — both are students at the Institute of Industrial Electronics Engineering in Karachi, Pakistan — developed the device as part of a class project. It is capable of adding or subtracting two digit numbers. This includes support for negative numbers as results. We’ve embedded a video demo of the calculator in action after the break.

Continue reading “7400 Logic Competition Winners Announced”

7400 Frequency Counter

This frequency counter is [Miguel Pedroso’s] entry in the 7400 Logic contest. After looking at the design we think this is a perfect project for those who have not worked with logic ICs before. The concept is simple and [Miguel] does a great job of explaining his implementation.

At its heart the device simply counts the oscillations of an input signal for one second, then latches the total to the 7-segment displays before zeroing the counter block and starting over. Six 4029 decade counters give the device a range of 1MHz. A set of 4511 BCD to 7-segment decoders translate the count to the display. A 4521 frequency divider chip uses an on-board 4.194304 MHz crystal oscillator to time both the display latching and the counter clearing. [Miguel] mentions that tuning the load capacitors is a bit tricky. Since breadboards have their own capacitance issues it may be necessary to change the load capacitor values when moved to protoboard or the crystal won’t start oscillating. You can see those caps are not the same value, but the tests in the video after the break show that this is pretty much spot-on.

If you’d rather give this a try in HDL here’s an FPGA-based frequency counter from which you can draw some inspiration.

Continue reading “7400 Frequency Counter”

Two-player Tic-Tac-Toe From Logic Chips

Here’s another entry in the 7400 Logic contest. [Circuitchef] used gates and a few flip-flops to build a two-player electronic Tic-Tac-Toe game. The full details or shared in the PDF file he links to in his post. We’ve also linked to it after the break in case the Dropbox he is using becomes unavailable.

He provides a nice block diagram which helps to understand the game’s design. The board is arranged in a 3×3 matrix of momentary push buttons and bi-color LEDs. Each player takes turns pushing the button in the square they’d like to claim. The input circuitry uses flip-flops to establish which player’s turn it is, illuminating the appropriate color for that square. A set of 3-input AND gates monitor all possible combinations of winning patterns. The outputs of those gates are OR’d down to just one output which is used to light up the ‘Winner’ LED with the right color. If all boxes are lit up and none of those combinations is satisfied the game is declared a draw. This can all be seen in the demo embedded below the fold.

Continue reading “Two-player Tic-Tac-Toe From Logic Chips”

Pull-string Most Useless Machine

The mechanical simplicity of this pull-string controlled most useless machine is delightful. You can see the metal gripper which is reaching up to tug on a light-fixture-style pull chain. This is how it turns itself off after you’ve pulled the string to power it up.

The device is [Alex555’s] entry in the 7400 Logic competition. We do hope that he ends up posting a schematic because we’d love to see the gritty details of how it works. After the break you can watch two doors open, allowing the arm to raise up and the gripper to grab the chain. This takes just four servo motors, which are controlled by the signal from a 555 timer and some accompanying hardware.

Apparently the chain is a fake, as the servos didn’t provide enough force to actuate that type of switch. It’s not a surprise as those pull chains do require quite a tug. An optical sensor was used to trigger the movement when your hand reaches for the chain.

Continue reading “Pull-string Most Useless Machine”

Discrete FPGA Will Probably Win The 7400 Logic Competition

For this year’s 7400 logic competition, [Nick] decided to build an FPGA out of logic chips (Internet Archive cached version).

Perhaps a short explanation is in order to fully appreciate [Nick]’s work. The basic component of an FPGA is a slice, or cell, that performs boolean operations on its input and sends the result on its output. The core of these slices is a lookup table – basically a truth table that stores the result of every possible input combination.

One very easy way to implement a lookup table is to use a RAM or EEPROM chip. By tying the address lines of an EEPROM to the input and the data lines to the output, it’s possible to create a single slice of an FPGA very easily.

Unfortunately for [Nick], 74-series memories have long been out of production. There is another option open, though: shift registers. A shift register is basically an 8-bit memory chip with parallel inputs, so combining a shift register with an 8-input multiplexer is a very simple way to implement a 3-input, 1-output FPGA slice.

After figuring out how to tie these slices to bus lines, [Nick] needed a way to program them. Verilog or VHDL would border on insanity, so he wrote his own hardware description language. It’s certainly not as powerful or capable as the mainstream solutions to programming an FPGA, but it’s more than enough.

In the video after the break, you can see [Nick]’s overview of his very large 8-slice FPGA while he runs a combination lock and PWM program. All the code, schematics, and board layout are up on [Nick]’s git if you’d like to build your own.
Continue reading “Discrete FPGA Will Probably Win The 7400 Logic Competition”