Fubarino Contest: FPGA Pong

pong

For [Eric]‘s entry for our Fubarino Contest, he went down to very low-level hardware and created Pong on an FPGA.

[Eric] used a Basys 2 FPGA board to create this virtual, logic gate version of Pong. Output is via the VGA port, multiplayer and an AI player is implemented, and all the required mechanics for Pong – collision detection, button and switch input, and score keeping are also in this project.

The Fubarino contest requires an easter egg, of course, so when the score for the left player reaches 13 and the score for the right player reaches 37 (get it? 1337?), the previously square ball turns into an extremely pixeley version of the Hackaday logo. The Hackaday URL is also displayed, thanks to [Eric]‘s FP(V)GA module for displaying text on his FPGA board.

The improved Pong ball and URL only appears when the scores are 13-37, making this an extremely well-hidden easter egg. Video of [Eric] demoing his Pong below.


This is an entry in the Fubarino Contest for a chance at one of the 20 Fubarino SD boards which Microchip has put up as prizes!

[Read more...]

ASAP 3 – The Almost Simple As Possible Computer

ASAP-3 12 - LED Display

[Pong] has joined an elite club of people who have designed and built their own computer – including a CPU created from discrete 7400 series logic. His computer is the  Almost Simple As Possible Computer 3 (ASAP-3). ASAP-3 is not a completely new design. The architecture is based upon the SAP series of computers from Albert Malvino’s book, Digital Computer Electronics. [Pong] looked at quite a few of the “modern retro” computers such as Magic-1Big Mess o’ Wires 1, and the Duo. These computers were beyond his skill levels back then, so he began to build his own system. His primary design goal was to be able to run a 4 function calculator program.

One thing that can’t be stressed enough is the fact that [Pong] made his design work much easier by using lots of simulation. His tool of choice was Proteus Design Suite. While simulation can’t solve every problem, it can often help in verifying that a given design is sound. The ASAP-3′s instruction set is microcode, based upon the 8085 series instruction set. The microcode itself is stored on Flash ROMS. Using microcode makes ASAP-3 very flexible. Don’t have a machine instruction you need? No problem – just write one up. When all was said and done, [Pong] had over 100 instructions spread over 3 Flash ROM chips.

The hardware was only half the battle – [Pong] found writing the software just as challenging. He wrote all the software by hand in his own machine code. This is where the simulation mentioned above really saved him some time. Even with simulation he still ran into some problems. The ASAP-1 is limited to a clock speed of around 500kHz. Above that, glitches from the ROM chips start triggering the asynchronous inputs in some of the registers. [Pong] doesn’t have a logic analyzer on hand, so he wasn’t able to track this one down further. He also found a (update simulation only) issue with the carry bit on the 74LS181 bit slice ALU. In certain circumstances the carry bit would not propagate correctly. [Pong] corrected this by using a ROM as a look up table replacement for certain ’181 functions. Even with these limitations, this is still a great hack!

[Read more...]

Hackaday Links: August 18, 2013

hackaday-links-chain

Let’s start off with some lock picking. Can you be prosecuted if it was your bird that broke into something? Here’s video of a Cockatoo breaking into a puzzle box as part of an Oxford University study. [Thanks Ferdinand via Endandit]

[Augybendogy] needed a vacuum pump. He headed off to his local TechShop and machined a fitting for his air compressor. It uses the Venturi Effect to generate a vacuum.

Build your own Arduino cluster using this shield designed by [Bertus Kruger]. Each shield has its own ATmega328. Many can be stacked on top of an Arduino board, using I2C for communications.

[Bunnie Huang] has been publishing articles a few articles on Medium called “Exit Reviews”. As a treasured piece of personal electronics is retired he pulls it apart to see what kind of abuse it stood up to over its life. We found his recent article on his Galaxy S II quite interesting. There’s chips in the glass, scuffs on the bezel, cracks on the case, and pervasive gunk on the internals.

We’d love to see how this this paper airplane folder and launcher is put together. If you know of a post that shares more details please let us know.

Squeezing the most out of a tiny microcontroller was a challenge. But [Jacques] reports that he managed to get a PIC 10F322 to play a game of Pong (translated). It even generates an NTSC composite video signal! Watch the demo video here.

LED strip Pong as an Arduino shield

led-pong-strip

[Schuyler Sowa] has been hard at work on his own version of LED strip Pong. We’d say his work has really paid off. The game is robust and full of features.

Unlike the original Pong video game LED pong only has one axis on which the ball travels. The ball will bounce back if the button at the end of the strip is pressed when either of the last two LED pixels are illuminated. To add in a difficulty adjustment [Schuyler] included a poteniometer which alters the speed.

The game board is one meter of LED strip with individually addressable pixels. It cost a whopping $28 and was the second kind he tried after having trouble with the WS2801 based version (which often come as strings of lights). An Arduino board controls the game, with a shield made from protoboard to connect the components. In addition to the two user buttons — which were hacked out of a computer keyboard — you’ll notice a pair of seven segment displays acting as a scoreboard and an HD44780 character LCD rounding out the user interface.

[Read more...]

Hackaday Links: Sunday, May 26th, 2013

hackaday-links-chain

The warmer months cometh and it’s time to think of this year’s Burning Man. [Matt's] already set himself up with a sound-reactive LED project he calls the Seed of Life.

Older readers, and those who really know their hobby electronic history, will know the name Heathkit. Many readers tipped us off about their triumphant return. We’re not sure what form this reincarnation will take, but you can help shape it by participating in the survey.

Dust off that MSP430 launchpad and turn it into a composite video Pong console.

Here’s a way to use your Android phone as a computer mouse.

We’re not quite sure what this is, but turn your volume down before watching the video about a modular sythesizer hack.

[Arkadiusz Spiewak] wrote in to share some of the printing success (translated) he’s had recently with the H-bot style printer we saw a while back.

Strap an Arduino and an Electric Imp to your arm (and everyone else’s) and it’ll remember everyone you meet. You know, kind of like Google Glass but with geeky arm-wear instead of geeky headgear?

And finally, [Nerick] has just finished a thermometer project using Nixie tubes (translated).

Perpetual pong

perpetual-pong

[Jeff Joray] wrote in to show off this perpetual Pong device he built. The six by ten LED matrix acts as a game board for Pong but there are no controls. The board simply plays against itself. It’s pretty much a pong clock without the clock.

The brain of the device is a PIC 16F684 which drives the six rows of the display directly. He went with a decade counter (CD74HC401) to scan the rows one at a time. Now what would you expect to find on the underside of this hunk of protoboard? A rat’s nest of point to point wiring? If so you’re going to be disappointed. [Jeff] spent the time to generate a schematic and board layout in Eagle. While at it, he knew he was going to be using protoboard so the artwork is designed to use solder bridging as much as possible. What he ends up with is one of the cleanest mutiplexed one-off projects you’re going to find. See it in action after the jump.

[Read more...]

POV Pong game uses all kinds of smart design

pov-pong-game-uses-smart-design

This little device lets you play some head-to-head pong using a spinning LED display. We’re really in love with the design. You get a pretty good idea of the Persistence of Vision aspect of the build by looking at this picture. But hearing [Dennis] explain the entire design in the video after the break has us really loving its features.

He’s using the head from a VCR as the spinning motor. The display itself uses a vertical row of LEDs with a bit of wax paper as a diffuser. These are current limited by a 1k resistor for each of the eight pixels. They’re driven by a PIC 16F690 but you may have already noticed that there’s no battery on the spinning part of the board. It gets voltage and ground from a pair of brushes which he fabricated himself. To avoid having to do the same thing to map the control buttons in the base to the spinning board he came up with something special. There’s a downward facing phototransisor which registers LED signals from the base to move the paddles up or down.

If you love this project check out the POV Death Star.

[Read more...]