It may be a failure but it sure does look cool. [Scott Lawrence] had a fair number of EPROM chips on hand and decided to get rid of the traditional eraser and programmer in order to play around with the concepts using his own hardware. He was met with disappointment at several steps in the process. No worries though, each of these upsets sent him back to the drawing board and he learned way more than he ever would have if it had actually worked. It’s fair to say this failure was highly successful.
[Jan Cumpelik] squeezes a lot of performance out of very few components with his breadboard sequencer which he calls Lunchbeat. We really like his awesome breadboard which has a series of trenches perpendicular to the bus strips framing the long sides. All of our breadboards have just one trench down the middle. This, combined with his mad breadboard skills, results in a really clean prototype.
The chip nearest his hand is the ATmega328 which drives the sequencer. It takes inputs from that row of 10k trimpots as well as a series of tactile switches. Feedback is given with the row of eight LEDs. Those are driven from a 595 shift register to save pins on the microcontroller. The remaining chip is an OpAmp which works in conjunction with a 3-bit R2R ladder DAC to output audio. Turn your speakers down just a bit before taking in the demonstration below. There you will also find an image version of his schematic that we made for your convenience. It is only available as a PDF in the code repository he posted.
These days they’ve been replaced with character LCD displays or even brightly colored graphical displays, but if you’re trying to display data on one of your projects, there’s nothing like the classic red glow of a red seven segment display. [five volts] got his hands on a few ancient segmented displays, but controlling even one took up more microcontroller pins than he was ready to spare. The solution to this problem was to use a shift register and control multiple segment displays with an 8 pin microcontroller.
[volts] is using an ATtiny13 to control six seven segment displays. Each display is mounted on a hand-etched board, with a shift register and a handful of resistors soldered to the back. By having the microcontroller shift bits down the line, [volts] created an extremely easy to interface 6-digit segment display, and the entire device can be expanded even more.
The board files and schematics are available on [volt]’s project page. A great project if you’re just starting out to etch your own boards.
[Debraj] wrote in about his 2-wire serial backpack he developed for a Graphic LCD screen. It’s build on a hunk of protoboard and uses a pair of 595 shift registers to translate incoming serial data to the parallel interface which is used by the LCD screen. It takes more time to push commands this way, but the interface is still quite snappy as you can see in the clip after the jump.
The real trick here is how the hardware has been configured to get away without a third wire for latching the shift registers (if you need a primer on 595 chips check out this feature). The idea of using a latch is that all of the data can be shifted in over the serial pin before it appears on the output pins. Otherwise, the GLCD would see each bit as it shifts into the register, wreaking havoc on its communication protocol. [Debraj] gets around this by using a diode AND gate trick he learned from this other serial LCD project.
One good thing about this method is the 595 chips have a wide range of control voltage that will allow you to drive this with 3.3V or 5V microcontrollers. But you do need to implement the communication protocol and push those commands via serial. For nearly the same cost in chips something like an ATtiny2313 could be substituted to make an even simpler addressing scheme — or even switch to 1-wire protocol. But you’d then lose the wide input voltage tolerance.
This is a truly hands-on approach to learning. [Kevin Darrah] ditched the microcontroller and is using push buttons to learn about 595 shift registers. The test rig uses two of the serial-in, parallel-out chips. These are cascading which means that as data from the first chip overflows it feeds the input of the second. The parts are commonly used to drive LEDs, or reduce the number of pins needed to drive peripherals like this character LCD.
The five push-buttons give you a chance to intuitively learn how the chip logic works. The blank button is also commonly called Output Enable (OE). Driving it high shuts off the outputs of the chips but doesn’t clear the data. That task is performed by the clear button which is driven low to set all of the shift register memory to zero. The other three buttons set the logic level, shift it into the chip using the clock signal, and push the stored values to the outputs using the latch.
To get a visual approximation of what’s happening inside of these chips you should check out the shift register tutorial linked to in this post.
We like this project for its sheer simplicity. After all, recreating the hardware in the controller for a modern gaming system is next to impossible. [Guillermo A. Amaral B.] had a bunch of parts sitting around and decided to try his hand at recreating an original Nintendo Entertainment System controller.
If you’re not familiar with the electronics inside this brand of retro gaming hardware you might be surprised to find that there’s barely any logic hardware at all. The chip in the middle of the board is a 4021 parallel to serial shift register. It connects to the buttons and uses the clock signal coming through the cable to pulse out the button states over a serial wire. So all that [Guillermo] did was lay out the chip with connects for each button.
In the image above his thumb is obscuring the 5-way switch used for directional control and select (center click). The yellow and green buttons serve as A and B, with the start button on the opposite side of the board due to a mistake in his board layout. He does have some future plans for this. He’s working on a Raspberry Pi project that will monitor and record the controller serial data so that you can play it back. It sounds like a player piano for video games.
Want to see a really small version of this? The same hardware in a smaller package was put together a couple of months ago to build the world’s smallest NES controller.
[Jason] has been hard at work on this Arduino-based low-res gaming platform. He even had a fab house deliver circuit boards to pull everything together. It’s a little small in his hands, and the graphics are limited to the 8×8 pixels provided by the display. But it still looks like a lot of fun and the code was written to make adding new games quite painless.
The board hosts an ATmega328 which drives the bi-color LED display using a pair of TPIC6B595 shift registers. Control is provided by a collection of buttons to either side of the display. The unit is powered by three AAA batteries held in a pack soldered to the back side of the PCB.
The image above shows [Jason] giving a Space Invaders game a try. The clip after the break shows respectable action, sound from a piezo buzzer, and it even scrolls your score at the end of the game. But you’re not limited to just one title. Adding new games is as easy as implementing a class in a new header file. You can get a feel for how this is set up by viewing the source code repo.
This reminds us of the Pixel Bros low-res system.