Arduino - Simple Simon Says Game





Introduction: Arduino - Simple Simon Says Game

About: Bachelor of Wireless Telecommunication Engineering from Bandung State Polytechnic, Indonesia | Software QA Engineer at IDEMIA | A Rhesus(+) | Aries | Photography | Computer Geek | Chiliphobia | Art&Design
In this instructable, I will show you how to make a simple Simon Says Game using an Arduino. it's not just simple but we can get a psychological benefit. I have a bad memory to remember something fast or a new things. So this project really suitable for someone like me. hahaha

We're gonna using some basic electronics built on top of an Arduino. When the project is finished you will have a working simple circuit that fun to play.

This is the video of my Arduino - Simple Simon Says Game
(change the quality for a better view)


Step 1: Parts and Tools

Here is all you will need:
(1) Arduino UNO R3
(4) LEDs (Red, Green, Blue, Yellow)
(4) Push Button (small)
(1) PCB Matriks / Perfboard
(1) Speaker 8 ohm (0,5 watt)
(4) 100 / 330 ohm resistors
(1) 9V battery
(1) 9V battery box with on-off switch
(4) Spacer 0,5 cm
(1) Project enclosure (I'm using "Kitchen Ware" box)
- Breadboard
- Shrink tubing
- Jumper wire
- Rainbow wire (optional)
- Male header extended
- Blackhousing / female 1x1 header (optional)

- Soldering iron
- Solder
- Hot glue
- Mini drill
- Pliers
- Cutter
- Helping hands (if you don't have it, you can build it from my helping hands instructable )

Step 2: Making the Circuit on Breadboard

Let's build it on breadboard first. First, lets put the components on a breadboard so we could see how it worked and how to fit it onto the perfboard. The circuit diagram was made with Fritzing.

Step 1
Put the buttons on breadboard.  We're gonna tie one lead of the buttons directly to ground. The other lead will be wired to the Arduino's Digital pins 2, 3, 4, and 5. 

Step 2
Put the LEDs above the buttons. Plug the LEDs in with the switches so the Cathode is on the same strip as the side of the button that is tied to ground. And arrange it so the Anode plugs in off to the side of the button.

Step 3
Add 330 Ohm resistor and put it inline with the Anode to the top section of the breadboard. Now we can connect a wire from the resistor to the Arduino.

Test everything out and make sure that you're circuit is going to work before you start soldering.

Step 3: Write the Code

The sketch was originally made by Robert Spann back in 2009. I just a beginner of Arduino so I got the sketch from mpilchfamily's instructables . To give the game sound it using the Tone.h Library. You will get an error if you dont install the Tone library, downlod the and put it in the adruino library folder. A file of the sketch and Tone Library is also attached.

You can go to How to Install a Library to learn it.

Step 4: Move to Perfboard

Step 1
Cut the perfboard about 7 cm x 5,5 cm.

Step 2
Arrange the component, I usually place all components in before starting to solder. But if you want to do soldering one by one,  you can mark on the perfboard which legs of your component will be placed.

Step 3
Arrange the push buttons. (see image 1)

Step 4
Put LED, the cathode connect to the push button, the anode connect to the resistor. I'm using 330 Ohm resistor, because I want my LED no so bright. For the resistor, I put it backward on purposed for efficiency with the enclosure. (see image 2 and 3)

Step 5: Complete the Circuit on Perfboard

Step 1
Add a jumper wire for connect the push button with LED (cathode). (See image 1)

Step 2
Using a rainbow cable to connect the circuit with the Arduino. (we're gonna make 2 packets cable, each packet consist of 4 cables)
- We need 4 cables, and 4 male header
- Strip the end of the cable, about 0,5 cm (see image 2)
- Put the wire / bend it around the male header (see image 3)
- Solder it together (see image 3)
- Make 2 packet of these. (see image 4)

Step 3
Solder the first packet cable with resistor. And solder the second packet cable with the push button. (See image 4)

Step 4
Add a ground leads, I made it from a quite long wire. and put the wire for connect to the ground of Arduino. (see image 5)

Step 5
Check the components once again before soldering.

Step 6: The Enclosure

Step 1
Drawing the pattern on "Kitchen Ware" Box with marker for placing the spacer for Arduino. It's really helps for drilling. (See image 1 and 2)

Step 2
Be careful when you drilling the "Kitchen Ware" Box, because it made of plastic. It easy to melt if the drill get hot, but it's okay you can tidy it up by using a small cutter knife.

Step 3
Put the Arduino to fit with the box, and draw a pattern for jack power and USB socket. (see image 3)

Step 4
Drawing the pattern on the top of the box with marker for placing the push buttons and LEDs. It's really helps for drilling. (See image 4)

Step 5
Don't forget to make a hole for the speaker. I put my speaker on the other side of the box.

Step 6
There will be some scratch and some little cracks on the box, you can covering it with the colour paper or paint it.

Step 7: Put the Circuit Into Enclosure

Step 1
Put an Arduino into the enclosure. And put the Speaker on the other side. I attached the speaker with Transparent Tape instead of using hot glue. The Positive leads connect to Pin 12 of Arduino, and the negative leads connect to the ground of Arduino. (see image 1)

Step 2
I attached the perfboard with 'Foam Double Sided Tape' instead of using hot glue, just in case I want to modify the circuit later. But if you want to make the circuit steady and permanent I recommend for using some hot glue. (see image 2)

Step 3
- Connect the "ground wire" directly to ground of Arduino.
- The second packet cable (from push buttons), will connect to the Arduino's Digital pins 2, 3, 4, and 5. 
- The first packet cable (from LEDs & resistors) will be using Digital pins 8, 9, 10, and 11.
So make sure the buttons and LED are lined up as follows:
* Button on pin 2 with LED on pin 8
* Button on pin 3 with LED on pin 9
* Button on pin 4 with LED on pin 10
* Button on pin 5 with LED on pin 11

Step 4
We are done!!

Step 8: Finish !!

You can let the box being transparent or you can paint it, but for me I covered it with Batik pattern for looking better and because Batik is a National Culture and Identity of Indonesia :)

Don't forget to give me a feed back or advice because I'm just a beginner.

Have fun :D

Greetings from Indonesia!!

6 People Made This Project!


  • Clocks Contest

    Clocks Contest
  • Make it Move Contest

    Make it Move Contest
  • Oil Contest

    Oil Contest

We have a be nice policy.
Please be positive and constructive.




Hi bought a book called Arduino project hand book, built the same circuit as this but it didd'nt work until I changed the boolean to int as you advised, I;m so gratefull that shared your knowledge.

Hey, I did this project but I am getting an error on:

Tone speaker;

saying that 'Tone' does not name a type

Any help please?

hey, nice project.

i am following your instructions step by step.

code loaded fine, but when i switch it on, i have no LEDs turning on. but the opening tune works fine, just dont see any lights or hear the sound of the first led light going on?

Any help?

What are the jump wires at the top for? (running along + and -)

3 replies

Yeah, I had the same problem. It turns out that two arrays of type boolean (boolean button and boolean ledpin) need to be changed to type int instead of boolean.

So just changing those two boolean to int solved the problem.

Apparently in an older compiler, type boolean was interpreted as integer, and now it is properly interpreted as binary. The array is stuffed with integers, so calling it a boolean made it truncate them to just 1 or 0, and lost it's mind...

Late reply, here, but your advice to make the boolean into int solved it. Thanks!

Maybe you put the wrong pin of LED, if you take a look at the picture of my breadboard on step 2 , the cathode (-) was connected with the 4th pin of push button, the anode (+) connected to resistor.

the jump wires? you mean the black wire? it's connect to the ground (on arduino) and also ground from power/ battery.

Sir can you help me to reset that memory test game using a tilt switch

Where is the power supply? newbee here. please teach me how to connect power supply on this project.

it keeps swending me this error..

Arduino: 1.6.3 (Windows 7), Board: "Arduino Uno"

C:\Users\User\Documents\Arduino\libraries\Tone\Tone.cpp:26:20: fatal error: wiring.h: No such file or directory

#include <wiring.h>


compilation terminated.

Error compiling.

A library named Tone already exists

This report would have more information with

"Show verbose output during compilation"

enabled in File > Preferences.

how to fix this problem I couldn't find the wiring library anywhere.

Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Uno"

Using library Tone in folder: C:\Users\Youssef\Documents\Arduino\libraries\Tone (legacy)

-IC:\Users\Youssef\Documents\Arduino\libraries\Tone -IC:\Users\Youssef\Documents\Arduino\libraries\Tone\utility C:\Users\Youssef\Documents\Arduino\libraries\Tone\Tone.cpp -o C:\Users\Youssef\AppData\Local\Temp\build9214209217883788605.tmp\Tone\Tone.cpp.o

C:\Users\Youssef\Documents\Arduino\libraries\Tone\Tone.cpp:26:20: fatal error: wiring.h: No such file or directory
#include <wiring.h>
compilation terminated.
Error compiling.

3 replies

it usually happened because the tone library is not compatible with your arduino IDE, I'm back using Arduino 1.0.4 to make it work. Maybe you can search/googling the tone library that already modified and compatible with your IDE version.


I installed the 1.0.4 ide and it didn't work again

Do you think its possible to build this on a larger scale? I would like to build something you can kick a ball at.

1 reply

yes of course it possible, I guess you can do anything with arduino or any micro controller.

Great instructable... But I was not able to get it working. The game would function as normal except for the buttons. When I pressed a button to answer it would light up a random led and it would think that was the led you pressed.

2 replies

are you sure the pin connections and the code already matched?

I guess it's not so hard to wiring it up, you can try it first on the project board and test it. Someone has created it based on my project and it's working, maybe you can check his instructables

best regards.

It's not working , i have sound but leds arent turning on . Maybe its because i am using arduino nano ?

1 reply

I'm sorry, but I never use arduino nano, so I don't know the difference between nano and arduino uno's pins. you can check the data sheet/schematic for arduino nano, maybe the voltage for drive the leds isn't enough. Other case, are you sure the wiring already set up properly?