Pong was the first video game to reach the mass market. For the first time in history, the concept of a «video game» was brought into the family home with the Atari 2600 — so it’s only right that we pay a little respect to this historic gem. Now you can live through it (by all accounts, rather boring gameplay), using Arduino and some common components.
We will make two main controllers, and the video will be output to your TV via a standard composite video cable.
To take this project to the next level, you can 3D print the case. YouTube user PotentPrintables did just that!
Arduino Pong Requirements
- Resistor 470 Ohm x1
- Resistor 1 kΩ x1
- Potentiometer 10 kΩ ( variable resistor) x2
- Arduino x1 (any version)
- RCA plug x1 (if you have more than one, you can also connect audio. One for video is the minimum)
- Button switch x1
- Resistor ten kOhm x1
You can also download the TV Out Arduino library from here — get TVoutBeta1.zip latest release. Place all resulting folders in a directory /arduino/library and restart the Arduino IDE if it’s already open.
TV out testing
Take the RCA plug and remove the outer layer. Gather shielding, rotate and set aside. This is your land. There should be another cable with a plastic shield in the center — again, remove it so that you have a signal line.
Solder 470 and 1 kΩ resistors to the center signal line of the RCA plug — this provides the clock signal and the actual video signal combined to create an analog video input. A 470 ohm resistor should be connected to digital I/O pin D07, and a 1k ohm resistor should be connected to pin D09.
These pins are set by the library we’re importing, so you can’t change them. One of your Arduino GND pins should be routed to shield (outside) the RCA.
Now you can go ahead and download the example; although both PAL and NTSC are provided, this shouldn’t be a big deal on modern digital TVs — the NTSC demo worked fine for me despite being in the UK. Connect to your TV and you have a beautiful retro 3D cube. Oooooh yeah — are you still excited? I.