ECE434 Project - Connect 4

Revision as of 08:12, 17 November 2021 by Craannj (talk | contribs) (Installation Instructions)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: Nathaniel Craan

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

My project involves using an 8x8 led matrix with the Beaglebone black to play Connect 4. The game will be able to be played directly using rotary encoders and buttons on the breadboard.

Connect 4 is fully playable using the rotary encoder, button, led matrix and accelerometer. The placement of pieces and detection of 4 in a row all functions as intended.

While the piece is dropping into place if there are any pieces of the same color already in the column they temporarily disappear until the piece is in its proper location. Once the piece is in place the pieces reappear so the game still functions as intended.

Overall, I was able to get the game functioning and meet the initial goals I had set. That being said there are many additions I would have added if I had more time to accomplish them.


If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

Installation Instructions

1) Ssh into your Beaglebone and ensure it is connected to the internet.

2) Clone the following git repo with:

bone$ git clone

If the Adafruit Beaglebone IO Python Library is not already installed, install it with

bone$ sudo

Or install it with these instructions:

bone$ sudo apt-get update
bone$ sudo apt-get install build-essential python3-dev python3-pip -y
bone$ sudo pip3 install Adafruit_BBIO

The hardware is all included in the ECE434 parts kit except for the red and green LEDs that are used.

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Consider making it autostart for full credit.


Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

With more time I would have liked to incorporate these ideas:

  • Added functionality to play the game between two Beaglebones
  • Display the score between the two players
  • An option to play against a "computer" player
  • Interface the game with a webpage


My original goal was to create Connect 4 using an 8x8 led matrix. I was able to achieve that and added a number of additional effects that happen within the functionality of the game.

thumb‎ Embedded Linux Class by Mark A. Yoder