Chimes and Imitari

The concept of the game shows the use of Arduino and P5 to build a simple listening/memory game to recreate fun sound patterns displayed on the screen using push buttons.
The goal is to demonstrate a thoroughly detailed interactive system featuring physical simple button controls and to actively engage the user with the system  constructed in the game.

Early Product Sketch


  • Arduino Uno
  • Long Wires
  • 5 Arcade Push Buttons
  • P5 Web Editor
  • DC Power Supply

Basic User Journey Map

Initial state:
Game Intro page- w/ INTRO sound effect
“Press to play” button [UI]

Game starts:
Random sequence pattern is generated with corresponding buttons at the same time
Timer is set off (5mins countdown)

Patterns display on screen:
Show random sequence on screen to the player: one by one, patterns increase 1 sec apart
Sequence disappears after showing patterns

Input patterns on display by the player:
Reads sequence input by the player
Read input sequence from push buttons
Record each button press
If all input has been made , then verify the guess

Verifying the guess:
Check player’s guess against the generated random sequence
Correct: Player was right. => Increase difficulty level and goto start game=> Reward buzz sound => level up to the next round
Incorrect: Punishment buzzer=> three tries=> game over (restart game)=> GameOver sound effect

Times up [00:00]:
When countdown has ended: Time is up sound effect
Game stops => Total points accrued for each team displayed on screen

Game Over:
Resets the game + timer resets
Accrued Points resets to 0

Process & Troubleshootings

Got recommended using the Arduino Button Library to make the buttons work as a keyboard system. First, we only used two buttons to test serial communication using Arduino and P5js. Button 1 is connected to digital pin 6, and button 2 is connected to digital pin 5 in Arduino Uno for testing. Then we checked the serial communication between Arduino and P5. The next step was to make a demo system of the game. The The player should guess the correct pattern of the numbers (1 and 2 for now) to go to the next stage of the game. One troubleshooting we faced was how to give a player three lives before the game over.

︎ User Testing 01

︎ User Testing 02

Since we have an index up to 4 when a player guesses a correct answer at the end,
it will not show the final shape and go to the next round, and also, we need to keep tracking the player state in P5. And also, it won’t go to the next stage when a user wins first round of the game. So, we added an argument to the newGame function in P5. We made the “shouldPlayIntroSequence” argument to be true and set it as false when the user goes to the next round.

︎ User Testing 03

︎ User Testing 04


1. Laser Cut the Wood Panel

Six panels for making a box for the button station. The arcade buttons will introduce users by lighting up to let them know which button is related to a specific sound at the stage's beginning.

Monday Oct 2 2023