Pong console demo video:

My name is Patrick McCabe and this is my first instructable. I am currently a 16 year old high school student who loves electronics, robots, circuits, and programming. I hope you find this helpful.

In this instructable I will be showing you how to make a small pong console (I guess you could call it that). You can see the above video for a demo of it and the 2 videos near the end of this instructable that dive more into the programming and functioning of the game. Make sure you check out the notes on the pictures in this instructable that further clarify the build.

The basic parts of it include an array of 6 8x8 LED matrices that form the screen of it, LED matrix driver ICs, 2 custom controllers, a small wooden cabinet, and an Arduino

Tools you will need to build this include:

- Saw 
- Electric drill
- Soldering Iron
- Hammer
- Hot Glue Gun
- Multimeter (never hurts to have around)
- Philips screw driver
- Wire stripper
- Diagonal cutters or the like for clipping leads and wire

Having some previous experience in programming an Arduino microcontroller, soldering, and basic electronics would not hurt to have when trying to construct this.

I will get to the parts as I show you how to build each section of the whole project. 

Step 1: The Display Breakout Board

Like I have previously stated, the display is constructed from 6 8x8 5mm LED matrices. I chose to purchase these on eBay  (seller "vogue_valley"). 

It is going to take a little more than luck to control these using an Arduino Duemilanove or Uno. A LED matrix is wired so that a common pin controls the anode or cathode of a row or column. This allows the matrix to be controlled using just 16 pins instead of 64 individual ones. However there is another trick that has to be done when controlling a LED matrix, and that is to light up a single LED at a time. When LEDs are wired in a matrix, there are locations where if you light up 2 LEDs a third one might light up too. To avoid this, each LED is turned on and off quickly.

I chose to use an IC made by Maxim IC called the MAX7219CNG. This will allow each individual LED to be addressed in the matrix.  These can be purchased at Sparkfun Electronics . Here is the datasheet. This IC was made to control a single 8x8 LED matrix. We will be using 6 matrices so this project requires 6 of these ICs. There is a nice library that was created for these that will aid in the programming of this project. This IC and library takes care of lighting up which LEDs that you want to light up without worrying about turning them on and off quickly like I explained. This will allow us to easily create and display images and worry about the pong side of things and not about all the finer details of displaying the image. 

Now the IC needs to be connected to each matrix using the correct circuit. I designed a simple breakout board for this IC. I am not an electrical engineer, but the schematic you see in the pictures is pretty much what I understood from this page . Not really that complicated. I made this in Eagle and have uploaded my schematic and board files for you. Basically there are headers for the communication pins and for the output pins that go to the matrix. There are 2 capacitors on the input power and a resistor that sets the current for the LEDs. I used a 1K resistor for my application which worked fine.

So once you have the files, you can order the PCBs (printed circuit boards) from a batch house, I use Seeedstudio  which will cost about $10 for 10 PCBs, or you can always create the circuit on a prototype board if you choose. You can see some images of my finished PCBs in the pictures. 

You can order the parts needed to assemble the breakout boards from Digikey
The parts needed are:
- 6 10uF electrolytic capacitors
- 6 0.1uF non-polarized capacitors
- 6 1K resistors
- 6 24 Pin IC sockets
- Optionally you can use headers instead of soldering wires directly to the boards. I did not. 

Now solder these components on to the break out board. This is a pretty simple step. You just have to make sure you put the polarized electrolytic capacitor in correctly and line the notch in the IC socket up with the notch in the silkscreen of the PCB. See the pictures for the soldering step. When you are done soldering, you can insert the MAX7219CNG right now or wait until after you solder the matrix in place, which will be next, so you do not damage the IC in any way. 
Awesome dude! :))
Huh, by sheer coincidence I saw this tutorial and recognized the author Patrick from a couple years ago in Lets Make Robots. Looks like you've advanced far past 'starter robot', good job man.
Thanks! I have learned a lot along the way.
i really like this could you give me links to all the part? if so thanks and is there any way of making two screens showing the same thing but one controller on each. I know im asking alot but would a up and down joystick work?<br>
The instructable has the links for all the parts in it. <br><br>I would think you could make 2 screens and wire the data lines in parallel. I have not tried it.<br><br>A joystick is also a potentiometer so yes, you should be able to use a joystick instead.
i'm thinking of making a retro gameboy but the rgb led matrix is to expensive..............<br>I'm from malaysia.could you tell me one that sells below myr100?<br>else,mygame will be all red TT<br>
HELLO SIR SEE MY PROJECT AND COMMENT<br><br><iframe frameborder="0" height="349" src="http://www.youtube.com/embed/NnwqZVXDN2I" width="425"></iframe>
I have an arduino uno is it ok to use the that instead of the Duelimanove...... (i think thats how you spell it)<br>
Yup it is fine to use the Uno or any other Arduino for that matter.
This is a great project, but way above my skill level. Keep up the good work!
Thank you for the kind comments. I am glad you like it.<br>
i agree, awesome!!!!!
Wow, this is some project. I actually had one of the original pong machines that hooked up to the tv, way back when I was a kid. I am putting this on my to-do list, so many thanks for making this instructable and for making your code available.<br><br>I am totally impressed that you built and programmed this. You should be proud of what you accomplished and it looks like you have a bright future ahead of you!

About This Instructable




More by patrickmccb:Maze Solving Robot Pong 
Add instructable to: