ElectronParade

Project 5: Arduino Simon Says Game

Welcome back to the Workshop! We’ve made LEDs blink and we’ve read sensors, but today we’re building something you can actually play with.

We are going to recreate the classic 1980s memory game: Simon Says, completely from scratch using our Arduino Uno!

Arduino Simon Says Four buttons, four LEDs, and one frustrated player trying to remember the pattern.

The Goal

To learn how to handle multiple inputs (buttons) and outputs (LEDs/Sound) simultaneously, and to dive deeper into Arduino logic programming (arrays, random number generation, and game loops).

The Parts List

The Concept

The game logic is straightforward but requires some clever coding:

  1. The Arduino generates a random sequence of lights.
  2. It plays the sequence for the user.
  3. It waits for the user to press the buttons in the exact same order.
  4. If correct, it adds one more step to the sequence and speeds up slightly.
  5. If incorrect, it plays a “Game Over” sound and restarts.

The Wiring

This circuit looks complex because there are many wires, but it’s just the same simple button and LED circuits repeated four times.

The Code

The code for this project is a bit too long to paste in full here, as it requires setting up arrays to remember the sequence and functions to handle the “listening” state.

However, writing the code is half the fun! You’ll learn about randomSeed() to ensure the game is different every time, and tone() if you decide to add the buzzer.

Build It Yourself!

Ready to wire it up? There are many great guides for this specific build.

(We highly recommend following this excellent, detailed breakdown on the Arduino Project Hub which includes full wiring diagrams and the complete code.)