Introduction: VGA Etch-a-Sketch With Arduino Uno

Picture of VGA Etch-a-Sketch With Arduino Uno

When I was a child I have spent a lot of time playing with "Etch a Sketch", a classical game where you can draw sketches on a plastic board turning two wheels.

Recently I realized that not only it can be reproduced in colors with an Arduino on a VGA monitor, but that I already have all the necessary hardware. All I need are few lines of code!

The hardware is indeed the same of my first Instructables: VGA Pong with Arduino Uno.

The only needed components are two potenziometers, two buttons, few resistors and a DSUB15 (VGA) connector. As usual, no supporting IC or special shields!

You can see it running on this video.

I used Arduino IDE 1.6.4. and the VGAx library done by Sandro Maffiodo aka Smaffer and publish on GitHub here. This library allows to use four color with a resolution of 120 x 60 pixels. One button is to clear the screen, the second to choose the color. One wheel moves the cursor horizontally and the other vertically. Sound is available too.

Step 1: How to Build Your Own "Etch a Sketch" With Arduino

Picture of How to Build Your Own "Etch a Sketch" With Arduino

First download "Etch a Sketch" code at the bottom of this page and copy it in a directory with the same name. Then download the VGAx libraries written by Smaffer and published on github. Copy them in the Arduino software subfolder named "libraries".
Once you have the code uploaded an an Arduino Uno (I have Rev. 3) without errors, you can start to build your own console. You need:

  • an Arduino Uno Rev. 3
  • a DSUB15 Connector, i.e. a VGA female connector or a VGA cable to be cut.
  • four resistors: 2 x 68 Ohm and 2 x 470 Ohm
  • two 10 kOhm linear potentiometers (similar values are fine too)
  • two buttons
  • other two resistors (from 1 to 2 kOhm are fine)
  • some piece of cable + breadboard or a strip board
  • facoltative: a piezo speaker

The schematic is reported at the beginning of this Instructable, together with an overview of the finished consolle and and a very artistic example sketch. The speaker must be connected to analog pin A0.

I placed the Arduino board with the VGA connector in a wood box, which holds also the first player potentiometer and button, while the second potenziometer and button are in a separate box, since this setup was intended for a two players game.

Of course I suggest to place both potenziometers and buttons in the same box, if you want to reproduce this specific toy.

Please, if you do it, do not be shy, put a picture in the comments below.

As usual, Enjoy!


josephchrzempiec (author)2017-05-03

Hello I'm going to make something like this and i was wondering If it is possible to use other colors?

Rob Cai (author)josephchrzempiec2017-05-04

Hi josephchrzempiec, sure you can! For a very detailed explanation about the possible color combination, see this link in the VGAx page on GitHub.

You can see the color behaviour in this video I did a couple of years ago.

josephchrzempiec (author)Rob Cai2017-05-04

Thank you. Do you think with a higher processor then the 8bit uno board can do a lot more graphics like say using the Due board or the M0 pro?

Rob Cai (author)josephchrzempiec2017-05-06

Yes defnitively. For instance the Arduino Due has its own VGA library, see this blog afor instance or the following link

Jani ChristofferN made it! (author)2017-01-10

First, thank you for all wonderful instructions! We made this in class today, but our screen looks "fuzzy". It was the same on two different screens. We will see if we can fix it.

Dear Jani ChristofferN, thank you very much to use my project for teaching, it is an honour. I had a similar "fuzzy" behaviour at the very beginning of the VGAx libraries tests, and the reason was that I used a not up-to-date Arduino software (or "IDE"). I have actually installed the version 1.6.4, but I think the latest one should work as well. Which version are you using? Let me know if this solves the problem.

josephchrzempiec (author)Rob Cai2017-05-05

Hello I'm having the same problem. I'm using IDE 1.8.1 and i get the same fuzziness as Jani is there a fix for it?

Rob Cai (author)josephchrzempiec2017-05-06

Dear josephchrzempiec, so far it seems that the VGAx library works fine only for Arduno IDE 1.6.4, while it is not fully compatible with elder or newer versions.

You can download any old version here.

You can install many different versions on your PC. You can, for instance, just download the ".zip" file (click on "windows" instead of "windows installer") and uncompress it where you like. Then copy the VGAx libraries in the libraries folder and just run the "Arduino.exe" file.

About This Instructable




More by Rob Cai:Arduino Basic PC With TV Output Arduino VGA Console With Five GamesSimple Grafting Without Special Tools
Add instructable to: