ECE497 Project - LED Matrix Graduation Cap

Revision as of 08:08, 19 October 2019 by Yoder (talk | contribs) (Removed ece497)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 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:

Front Side of Final Product.jpg

Back Side LED Matrix.jpg

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 -

8 GB micro SD card -

User Instructions

These are the Schematics and tables to wiring the Pocket Beagle to the matrix.

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

Setting it up

These are images of some of the pictures of us testing and setting up the wires for the final assembly.

Confirming Pinout.jpg Test setup.jpg Y Cable.jpg


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

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

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! We then tried to get weather to display on the LED Matrix while a sequence was playing, but we also couldn't get this to work! In then end, we're only using a pre-made sequence on our LED Matrix that gets displayed on bootup.

Devon and Andy both worked together equally for reverse engineering the PocketScroller pin outs. Devon and Andy worked together equally in assembling the final product. Devon did all of the work into getting the Wifi to work on the pocket beagle. Devon and Andy worked partially together on getting twitter to work, however Devon did a majority of the work for twitter. Andy did all of the work in trying to get Twillio to work. Devon and Andy worked partially together in getting the weather to display on the pocket beagle, however Andy did a majority of the work for the weather. Devon made the final test sequence for our LED Matrix.

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