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!
Four buttons, four LEDs, and one frustrated player trying to remember the pattern.
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 game logic is straightforward but requires some clever coding:
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 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.
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.)