ECE497 Project - LED Matrix Graduation Cap

Revision as of 11:01, 13 November 2018 by Lunaj (talk | contribs) (Theory of Operation)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: Devon Adair, Andrew Lund

Grading Template

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

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

The project that we are doing involves an LED Matrix and the Beagle Bone. We are putting this matrix inside of a graduation cap. An example can be seen here:

Here is the final product just not in the graduation cap yet:

The above image will be inside cap and will display twitter tweets that are tweeted within the SRC during graduation. The cap also will display GIFs and animations.


The final packaged product is the LED matrix with everything wired neatly behind the matrix. There is cardboard to make sure that everything stays in place and supports the cap.

The final product looks like this:

Final product without the cap

This cap is powered off a power bank that supports more than 2.4 Amps.

Installation Instructions


The project is located on GitHub here:

The GitHub has a README on how to install the necessary software for this project.


Here are the links for the specific hardware we used for this project.

LED Matrix -

WIFI Dongle -

Power Bank -

Pocket Beagle -

USB Type A Female Connector -

User Instructions

Graduation Cap Schematic

The final schematic for our LED Matrix

Pocket Scroller Wiring

This table maps the Pocket Scroller for the Pocket Beagle to the pins on the the Pocket Beagle to eliminate the need for the scroller and reduce space.

R1 P2.10
G1 P2.8
B1 P2.6
GND P2.15
R2 P2.4
G2 P2.2
B2 P2.1
GND P1.16
A P2.32
B P2.30
C P1.31
D P2.34
CLK P1.33
LAT P1.36
OE P1.29
GND P1.22

Below is the reference to the Pocket Beagle to map to the pins given above.

Pocket Beagle Pinout


Pocket Beagle USB Type-A Wiring

USB Type-A connector to a pocketbeagle

P1.5 5V
P1.7 5V
P1.9 USB Type A D-
P1.11 USB Type A D+
P1.13 GND
P1.15 GND


Our matrix starts on bootup and runs a test sequence. We have successfully put GIFs on the matrix. We will modify the sequence to make it longer when we put it in the final cap.

Here is the example of the test sequence:

Theory of Operation


Work Breakdown

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

Date Milestone
10/28/2018 Have Falcon working without PocketScroller Cape
11/2/2018 Have twitter API reading tweets on PocketBeagle
11/4/2018 Have twitter displaying tweets on LED Matrix
11/6/2018 Figure out how to display tweets as well as sequences on LED Matrix. IE Falcon and our handwritten stuff running at the same time.
11/9/2018 Have everything fitted to cardboard so that we can wear it as well matrix and beagle running off of power bank
11/12/2018 Wrap up final documentation

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

We tried to get the twitter API to work with Falcon. However, because of a lack of documentation and an unfamiliarity with PHP, we could not get this done. Instead, we tried to get texting to the LED display to work. However, for the same reasons as the twitter API, we also couldn't get this to work! Therefore, we ended up using a weather API that prints out the current conditions of Indianapolis.

Future Work

Twitter API: Figure out how the twitter plugin works with falcon and get it working. You can then display tweets on the LED matrix.

Twillio: Figure out how to get Twillio configured with falcon. If this ends up working, you can then text a default number and display "Congratulations RANDOM_NAME!".

Accelerometer: Get the Pocketbeagle to work with an accelerometer so that you can have a "sand effect" on your LED Matrix


Overall the project was interesting and fun to work on. It was difficult to get things working due to information being in forums and no documentation.

It was annoying that we couldn't get some of the features we wanted to work. Before graduation we are going to try and get the things we couldn't working.


thumb‎ Embedded Linux Class by Mark A. Yoder