Introduction: How to Make a Arduino Basted 8-Bit Mini Portable Gaming Console

About: A 16 year old that knows a lot about hardware and software.

In this project we are going to build a 8-bit portable retro game console using Arduino, this project was inspired by a project called Hackvision that was made by Nootropic Design, they do have a diy kit that you can buy but I wanted to use my own parts and design.

Step 1: Parts and Software


1. Arduino (I am using a uno clone)

2. One push button (Press for on release for off)

3. A 4-way joystick (or four pushbuttons)

4. two Composite output plugs (Yellow and red)

5. Two Resistor's 470 ohm

6. One Resistor 1k ohm

7. Lots of wires.

8. A case to house the project (I am using a old plastic container)


The code that we will be used is from the Hackavision project and is a bit old, The problem is that the new Arduino compiler breaks the program. So we will have to download Arduino 1.0.

Arduino 1.0 [Windows], [Windows Installer], [Mac], [Linux 32], [Linux 64] (All links are from

I would also recommend to read abut the Arduino IDE HERE


Place these into your Arduino library folder, this is usually in you Documents folder

TVout library [Download]

Controllers library [Download]


Space Invaders [Download]

Pong [Download]

Asteroids [Download]

Tetris [Download]

Parachute [Download]

Breakout [Download]

Worm [Download]

These are some more game's available and you can find them HERE

Step 2: Connecting Up Video and Audio


To connect the video we will need one 1k ohm Resistor and one 470 ohm Resistor, We will also need the yellow Composite plug.

RCA Connecter

Image taken from Here

So the pin sticking out of the bottom of the RCA connector will go to GND on the Arduino. Then get the 1k Resistor and connect it to D7 on the Arduino, Then after you do that get the 470 ohm Resistor and connect it to D9 then connect both of the Resistor's to the back of the RCA Connector. Also if you live where your tv stranded is PAL connect a wire from ground that is next to D13 and and then connect that wire to D12

Example here from fritzing

Image of a RCA Connecter and what the pins do

Close up of the video connector

Close up of the video connector


To Connect the Audio all we need is that last 470 ohm resistor we will connect that to D11 and the other side to the back of the other RCA Connector, Then connect a wire from the ground of the video plug to the ground of the audio plug

Both the video and audio connected to the Arduino (Video on left, Audio on right)

Both the video and audio connected to the Arduino (Video on left, Audio on right)

Testing Video

Now that we have connected both the video and the audio we need to test them, first we will test the video by opening the Arduino IDE that we downloaded earlier, then go to File -> Examples -> TVout -> DemoPal (Or DemoNTSC) depending on where you live, after the demo files open goto Tools -> Board -> Arduino UNO (or if you are using a different board choose that in this menu. now before you plug in your Arduino goto tools -> Serial Port's you may see some options just remember then for now, Now click off the tools menu and plug in your Arduino, then wait 2 seconds and go back to the Serial port menu and look for any new options, if there are two new options that appear choose the one that contains tty in the name. Then after doing that press the upload button, once it has uploaded unplug the Arduino from your computer and connect the video cable to your tv. You should see a demo on your tv. if you don't check if your tv is set to the right input, also check if the Arduino is powered right, if you have checked these and there is still no picture then check if all the cables are wired in right

Testing Audio

Even though there are demos for testing the video there are none for audio, So I had written a small test script

Please turn down you tv volume before powering the Arduino as It will play a high pitch sound

Sound Test [Download]

now you just need to click upload as the Arduino IDE will remember what settings you had from before.

Next we will connect the joystick

Step 3: Connecting the Joystick and Buttons

Fire Button

First lets connect the fire button, you can use any push button

First run a wire from GND to one pin on the button, Then connect the other pin to D10 on the Arduino

The Joystick

You can use eider a joystick like this


image taken from [Here]

or you can use four push button's

if you were using four push buttons just run a wire from GND on the Fire pushbutton to all the GND connector on the buttons then, connect the

Up button to D4

Down button to D5

Left button to D3

Right button to D2

and if you are using a joystick you will see three pins with every button, the pin on a Ange is the GND pin run a wire from the push button to each of the pins. then on the pin closest to it, is a on pin that is activated when the joystick is pressed. Also the buttons are opposite so if you push the joystick to the left it will press the right button.

Connect the joystick to the same pins on the Arduino

Up to D4

Down to D5

Left to D3

Right to D2

Testing the joystick

Now that we have wired up the joystick and fire button we need to test it. just like before I had made a program but this program will read any button presses and will show it on the screen

ButtonTest [Download]

Step 4: Upload the Code

Now after we installed and tested all the hardware we need to upload the game's, you can download then from the first step and you would upload it just like before.

Also post images of you version and I will feature it here!!, As you can make your own arcade system with a CRT Tv or do as I did by making it a small portable console.

Arduino Contest 2016

Participated in the
Arduino Contest 2016