ECE434 Project Whack-A-Mole

Revision as of 12:04, 19 November 2020 by Mcgeeca (talk | contribs) (Conclusions)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: Craig McGee Jr

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Demo/Poster
00 Not Late

Score:  90/100

Executive Summary

Blynk App Setup Hardware Setup
Hello all and welcome to the elinux about my project! My project is Whack-A-Mole game. In this game you use the Blynk App as the thing you hit the "moles" with and the lights randomly lighting up are the "moles." Above you can seen the Blynk app as well as the lights that turn on randomly to represent the "moles" randomly coming out of their holes. I hope you guys enjoy. Hit the light corresponding to the light that has randomly flashed on before that light flashes off to get points. Good luck!


Hardware setup for Whack-A-Mole Project

This is the hardware setup for the Whack-A-Mole Project. You can see that there are 4 LED lights that are connected to P9_13, P9_14, P9_15, and P9_16 gpio pins.

Installation Instructions

Give step by step instructions on how to install your project.

  • Obtain the code from GitHub:
  • Install the Blynk App on the Apple Store or Google Play Store
  • Create a new project and name it "Whack-A-Mole" or something like that and choose hardware option Generic Board. Make sure the connection type is "WiFi" and click "Create Project".
  • Click on the screen and add 4 buttons to the screen and 1 value display.
  • The buttons should be connected to Virtual 0, 1, 2, and 3. Each button will be represents one of the lights you've connected on the breadboard and the BeagleBone.
  • The value display should be connected to Virtual 4. This is the display used to show the score
  • In command line type "source" without the quotes
  • Then run ./

User Instructions

Once everything is installed simply click the buttons corresponding to the different lights. Click the button corresponding to the light when it turns on to turn that light off and receive a point. Get as many as you can before the 30 seconds of time is up. Look at display to see what your score is. Note that if you play it once and you want to play it again you must rerun the program. The display will have the previous score still displayed but when you turn a light off before it goes off on it's own the score will start back up from 0.


Click on the link to see a video demonstration of the project

Whack-A-Mole Demonstration

Theory of Operation

Caption text

Work Breakdown

The major tasks that were done were:

  • Creating Blynk Setup
  • Creating Countdown Sequence
  • Creating Random Light Generator To Toggle Lights
  • Importing And Using Multiprocessing To Run Blynk App And Countdown Sequence Along With Random Light Generator In Parallel

Future Work

Some other things that could be added:

  • Potentially a display that is used to show the countdown as it is happening.
  • Adding sounds when a light turns on and when the user turns it off
  • Current system doesn't check to see if user clicks button during countdown so if they do they will get points that they shouldn't get so someone could add an error checker for that.
  • Someone could add a website that shows the top 5 highest scores and update that based on what people were to get.


After my first project went south I had about 2 days to complete this. It wasn't easy but it is satisfying to see it working as effectively as it is. I had a blast doing this assignment and enjoyed the class as a whole. I look forward to seeing what others may do with the project!

thumb‎ Embedded Linux Class by Mark A. Yoder