🎮 ToneQuest: Arduino Memory Game With Buzzer, Joystick & LEDs
by andreimagic in Circuits > Arduino
191 Views, 4 Favorites, 0 Comments
🎮 ToneQuest: Arduino Memory Game With Buzzer, Joystick & LEDs


🎮 ToneQuest: Arduino Memory Game with Buzzer, Joystick & LEDs
ToneQuest is an Arduino-based Simon Says-style memory game using only sound and light. Players must memorize and reproduce sequences of tones (mapped to directions: UP, DOWN, LEFT, RIGHT) using a joystick. Each level adds complexity by increasing the length of the sequence.
Features
- Randomly generated tone-direction patterns
- Joystick-based input with 4 directions + press
- LED feedback synced with tones
- Training Mode: Practice tones freely
- Manual level advance via joystick button
- Trimmer potentiometer for adjustable buzzer volume
- Success and failure tunes
🧠 Game Modes
- Normal Mode: Play and repeat tone sequences. One mistake resets the level.
- Training Mode: Toggle using joystick button. Play tones freely without penalty.
- The Game features a Volume button, players can choose to play by following the LEDs or by closing their eyes and relying on the sounds.
🛠 Created With
- Arduino IDE
- Fritzing for wiring diagrams
Enjoy training your brain and your ears with ToneQuest!
Supplies









Components Required
- Arduino Uno (or compatible) x1
- Joystick module x1
- Passive buzzer x1
- 3-pin 10Ω trimmer potentiometer with Knob x1
- LEDs (any color) x4
- 220Ω resistors x4
- Breadboard & jumper wires (as needed)
I started with Arduino Complete Starter KIT Uno R3 by Elegoo, has all that is needed +more to get you started on new ideas!
🔧 Wiring Diagram

Wiring image generated using Fritzing
Connections:
Joystick:
- X-axis (VRx) → A1
- Y-axis (VRy) → A2
- SW (button) → D7
- VCC/GND → 5V/GND
LEDs:
- UP → D2
- DOWN → D3
- LEFT → D4
- RIGHT → D5
Buzzer with Volume Control:
- D8 → Potentiometer center pin (wiper)
- One side of pot → Buzzer +
- Buzzer – → GND
- Other side of pot → GND
You may connect both outer pins of the pot to GND for safety, or leave one floating.
Downloads
▶️ Setup & Upload
- Open the .ino file in the Arduino IDE.
- Select the correct board and port.
- Upload the sketch.
- Open the Serial Monitor (9600 baud) for debugging information.
- Power the board and play!
Downloads
🔁 Customization
- Adjust tone frequencies in directionTones[]
- Modify level length and difficulty in playPattern()
- Change Joystick directions in getJoystickDirection()
- Change button logic to switch between modes or reset game
Enjoy training your brain and your ears with ToneQuest!