Tower Lights Animator v2

From Mindworks
Jump to: navigation, search
Tower Lights Show
  • Dr. Rinker
Mentor Bruce Bolden
Team Name BZ2
Duration Spring 2017 - Fall 2017

Welcome to the project Wiki for UIdaho's Tower iLLuminati senior design team. Here you can find out all there is to know about the Tower Animator project. Project background, why we are working on the project, our design choices and more will be detailed here. If you have any questions or concerns regarding the contents of this Wiki then please email the project representative; their contact information is listed at the bottom of the page.

Project Overview[edit]


The Tower Animator was created to produce the Tower Lights show which is displayed on the south side of the University of Idaho's Theophilus Tower. Each window is rigged with a set of LED lights which illuminate in synchronization to music. Signals are sent through the buildings wireless connection to tell lights when to light up and what color to be. The Tower Animator is the software that individuals user to make shows.

Problem Statement[edit]

The current Tower Animator software functions properly, but it is not very easy to animate a new show. Each frame of a light show is a 4 x 10 grid of individual lights and a show typically has from 500 to 1000 frames. The current animator requires each light to be assigned value one at a time. For example, a light show that is 750 frames and has on average 40% of the frame lit up during the show would require the user to click 12,000 on individual squares in the current animator. In short, its a very tedious and time consuming process.

Project Goals[edit]

Our goal for this project is to make the animation processes easier for the users of the software. This will be accomplished through adding animation features such as path drawing and the ability to create groups of pixels that will be given the appearance of movement. This will allow a user to select a group of pixels and move them from point A to point B over a certain amount of time. A secondary goal for the project is to give the ability to associate an audio file with the current animation. This will allow an animation to run synchronized with an audio file.

Project Problems/Solutions[edit]

Like most projects, we have run into issues with creating a new design for old software. One of the biggest issues we have had to resolve is creating an output file that is compatible with the tower animator hardware while retaining new detailed information about the animation sequences of various pixel groups. Our solution is to use a two file system: one file used to retain object information of the animations and another that is compatible with the hardware that is used for the tower show. Because of the nature of the new file system, we will need to make sure the new software is reverse compatible with the old file types. To do this there will be an import feature added to the software. This feature will allow for a user to import a file created from a previous version.


Deadline Action Item Description
November 11th Design Documents Each team member has been assigned a specific design document that produce. Class UML diagram, State UML diagram, and a GUI design and description. These documents will assist the team when implementing our features and design choices.
End of Fall 2014 Test Plan We hope to do various types of software testing including a usability test.
Till end of project Implementation Upon completion of our design, we intend to begin coding. The diagrams and designs we developed will assist the group and are subject to changes should issues arise.
Into Spring Metrics/Results/Coding To gauge the success of our project we will produce specialized tests to appropriately measure the improvements our animator has made versus the old version.


Diagram Description
Conceptual GUI

This image is a representation of what we hope to achieve when the project is complete. The left hand side is the animation canvas (called the 'grid') and the right is were the main controls are. The grid is an area that is many times larger than the size of the Tower Lights show. The orange group of boxes in the center of the grid represents the frame of the light show. The frame can be moved around on the grid to capture different areas of the canvas. This is the first major improvement over the previous version that the team will be sure to implement.

2014 Tower animator state.png
State Diagram

This is our state diagram which describes how the program will transition between different operations.

2014 TowerILL Class.png
Class Diagram

This is our class diagram which describes how the data structures in the program interact.

Expo Poster

This was our poster for Expo. Below is a link to our technical presentation given at the Expo. Media:Technical_Presentation-TowerIlluminati.pdf


Diagram Description
2014 TowerILL GUI.png

A screenshot taken of our current GUI. The GUI is created using the QT/C++ extension. This screen shot was taken November 2014.


A more current screenshot taken March, 2015. Below is a link to our reference manual. Media:TowerIlluminati_Refman.pdf

Team BZ2[edit]


Team Photo: Brandon Brewster, Zach Bjorklund, Zach Spence


Team Bios[edit]

Picture Bio Discipline
Past Members:
[[]] Brandon Brewster:

Brandon is an undergraduate studying Computer Science. He was a part of the CS 338 project to rework the tower animator and was selected to continue working on it for senior capstone.

[[]] Zach Spence: CS
Zach Bjorklund:

Zach is a computer engineering major in his fourth year at the U of I who emphasizes in audio engineering. His passion is electronic sound and music producing. He is becoming fluent with C/C++ but would like to learn a lot of other languages in the near future. He is currently taking Digital Systems Engineering and doing intelligent user interface research for Dr. Jamil. He plans to graduate Spring of 2018 and although not sure where to work afterward, he hopes to someday start his own production company for film and games.



Emeth Thompson (
Ranger Adams (
Paul Bailey (
Matthew Brown (
Cameron Simon (