Final Project Journal

Project Ideation

1- Tell us about the idea of your project. Why do you care about this? What were you inspired by? Include images and videos of similar projects

As an aunt to four kids, I've noticed how phones grab their attention more than anything else during family gatherings. To combat this, I came up with the idea of creating an interactive board game that will engage and bond my three nephews and niece. The game is designed to be played on a central board with each family member occupying one corner. The objective is to repeat a sequence of colors created by one of the family members by quickly pressing buttons on the board. The game is rotated between family members, with each person taking turns to create a specific sequence for others to repeat.

Mirroring is a powerful technique used in psychology to create a deep connection between people. By engaging in the game and repeating each other's sequences, family members will naturally mirror each other's movements, creating a deeper connection and strengthening their bonds. The game is enhanced with buzzer sounds and LED lights, making it more interactive and entertaining. This game offers a unique opportunity for families to bond over a shared experience, working together to overcome challenges and create lasting memories.

Link to similar projects: 

https://duino4projects.com/simon-says-box/

 https://www.youtube.com/watch?v=MDbnw7U_0-Q

Project Construction

2- Explain the CAD process of your project. How did you use the software to design your project? (List the softwares/tools/materials...etc that you used)

How this project was made?

Software programs: 

Electric Components: to build the actual circuit designed on ThinkerCad. 

Materials, Tools and Machines used: 

Three MM Plywood to build the shape. 

BRM Laser Machine to implement the design

Acrylic rings around the push buttons. 

Screws, nuts and tools to assemble the parts together.

How did I used the software to design the project? 

creating a fully defined sketch for each part on a separate component (2D)

extruding parts and joining them together (3D)

mounting components and finalizing design

3- Explain the fabrication process of your project. How did you use the machine to fabricate your project? (List the softwares/tools/materials...etc that you used)

laser-cut files on Laserworks software

laser power and speed used to cut wood and acrylic

The first step was cutting the base part.

Then I added the right side to check the clearance.

To ensure a nice fit, I assembled the sides together without attaching the screws

Once all parts were assembled together, I proceeded to mount the electronics onto the wooden model.

The holes on the panel did not perfectly match the AC socket and the USB cable, so I had to make some adjustments.

I had to measure the holes again with a caliper before increasing their size.

To ensure accuracy, I used a cardboard as a reference point to position the piece in the exact same place it was in when I made the first cut, before cutting it again.

I wired the USB cable to ensure that the measurements were correct, and it came out like a perfect fit.

After confirming the fit with the USB cable, I proceeded to attach the screws and assemble the remaining parts.

I conducted a few tests using cardboard to design a frame that could be used to mount the breadboard onto the base.

Once completed, the wood frame provided excellent stability to the breadboard.

The fully assembled parts were put together, including the top piece. At this point, I was ready to attach each component to the top panel.

Since I could only find red push buttons at the store, I had to add colorful rings to differentiate each button and give them a specific label according to their color, as the game required multiple colors.

After adding colorful rings to differentiate each button and give them a specific label, I proceeded to attach LEDs that matched their respective colors.

Before closing the shape with the top shell, I attached the screen and completed the wiring.

After completing the assembly and wiring of all the components, I ended up with a fully functional game ready for a challenge!

Project Electronics & Power Management 

4- Describe your electronic circuit. What are the input and action components? What is the function of each? How do the components integrate together to form your smart system? (List the softwares/tools/components...etc that you used)

5- What is your power source? How did you select the suitable power source for your project? (List the softwares/tools/components...etc that you used)

List of the components used to build the game: 

Project Programming

6- Describe the code of your project. How did you program each function of the project?  

This code is for controlling six push buttons and six LEDs using an Arduino board. The code also controls a buzzer and an LCD display.

The first few lines of the code include two libraries: the Wire.h library for I2C communication protocol and the LiquidCrystal_I2C library for controlling an LCD display via I2C.

The next section of the code defines variables for the pins that the LEDs and push buttons are connected to. These variables are used later in the code to set the pins as inputs or outputs and to read or write to them.

The next section of the code defines the pin for the buzzer and creates an instance of the LiquidCrystal_I2C library. In the setup function, the pins are initialized as inputs or outputs using the pinMode function, and the LCD display is started and cleared.

This line creates an instance of the LiquidCrystal_I2C library with the I2C address of the LCD display, and the number of columns and rows.

In the loop function, the code checks for button presses using the digitalRead function. If a button is pressed, the corresponding LED is turned on, the LCD display is updated with the name of the LED, and a tone is played on the buzzer. The tone function generates a square wave at a given frequency, and the noTone function turns off the tone. The delay function is used to pause the program for a specified amount of time.

After checking for button presses, the code turns off all LEDs using the digitalWrite function.

The code will loop indefinitely, checking for button presses and turning on the corresponding LED until the power is turned off or the program is reset.

Project Integration & Testing 

7- Demonstrate with text and visuals how did you integrate the project’s modules together? What are the testing results? (Include a Demo video separately, showing a proof of functionality)

Steps of the integration: 

This video demonstrates the project's functionality, showcasing how the push buttons control the LED lights, buzzer, and LCD display. It also shows how all the LED lights turn off when all push buttons are released.

Code_Testing.MOV

Sharing & Collaboration 

8- Did you ask for feedback? What are the ideas that others have contributed or suggested? What was someone else’s idea that you built upon? How did you help your peers? How did your peers help you?


@Mokhtar you have a unique set of qualities that are rarely found in one person. You are a tech geek, have an exceptional sarcastic sense of humor, and are a tea addict. Without your help, I wouldn't have been able to submit my final project and overcome the challenges I faced in wiring and programming the components. Thank you for opening my eyes to endless resources to find missing information, and what's even more inspiring is that you motivated me to dream again and keep fighting. I wish you nothing but the best in your career, and I am confident that we will collaborate on more projects in the future.


@Menna thank you for always bringing a good mood to the session and for your constructive feedback, encouragements, and deep knowledge. I think you are a super talented instructor, and this career is exactly where you are meant to be.


@Abdalrahman thanks for always being helpful and available to answer any questions on Slack. I appreciate your support in my final project, and without your advice, I would not have been able to acquire the missing components for my project.

Overcoming Challenges 

9- When you got stuck, what/who did you turn to? At what point did you have to pause to research or learn more before moving on? What are some mistakes, pitfalls, or challenges that others can avoid if they were doing this project?

Getting the correct clearance for the electronic components was a significant challenge, and I had to re-cut several parts using the cardboard reference to avoid replacing them. 

Despite this, I was able to increase the holes in the existing parts and successfully overcome the challenge.

Future Work

10- If you had more time, what is one thing you would change/ Do next in your project?

 Final Project Design Files