Team DND – The Final Product

team logo


Once we had our housing printed and a working circuit we were ready to begin the assembly process.  Then we realized we missed something, the use of the A3BU microcontroller.  We were not entirely sure if the project needed to incorporate the A3BU but we decided to use it just to be safe.  The sole purpose of the A3BU in this project is to act as a button.

Implementing the A3BU:

On the Saturday night before the project was due Marcus and David began the process of adding the A3BU to our project.  We started by trying to write a program that would output a high voltage from a pin on the A3BU to be read by the Arduino to start the sounds and lights routine.  Soon it was clear that we were not going to get this method to work without the ICE-3, which we conveniently left in the ECE lab and didn’t have with us at the First Build facility.  The next option was to bypass the software of the A3BU all together.

We noticed on some of the A3BU schematics that when a 5v source was connect to the power in of the A3BU the buttons on the chip became active.  In particular, there was one button that exposed its output on the back of the board.  We tested this by using a multimeter with one end on the ground and the other on the TP304 (see below) plate.  When the button was pressed the TP304 plate would drop to 0.0v from the steady 3.3v it was at.  This means that we could use this A3BU button without any software at all.


A3BU Hack diagram


Diagram of the A3BU button we hacked.

We soldered a wire to the back of the A3BU board and lead it to a digital input pin on the Arduino to trigger the routines we wanted.  At this point we had the Arduino powered by a battery but the A3BU still needed to be connected to a computer for power.  We wanted to eliminate this connection to the computer.  This is where we got really fancy.

Again, we used a multimeter to check where the 5v from the power source was leaving the usb connection to the voltage regulator on the A3BU chip.  We discovered the one of the legs connecting the mini-usb port to the board was carrying 5v when power was connected.  We used a continuity test with that leg and the TP304 plate and discovered thats how the 5v travels to the rest of the chip. With this new knowledge we were able to solder a wire from the 5v output on the Arduino to the leg on the A3BU that distributes the power on the A3BU.  We were able to successfully power both microcontrollers with a single 9v battery connected to the Arduino.

In the code we used an interrupt to set a variable to either “on” or “off” when the button on the A3BU was pressed.  Essentially, we created the most complicated button of all time.

How it looks:

To make the components fit into the housing better we ditched the large bread board for a small piece of protoboard.  Once we had the entire project working exactly how we wanted, we soldered the pieces to the protoboard permanently.  We used the ground and the 5v source from the Arduino to create hot and ground rails on the protoboard.  Once the entire circuit was contained on the protoboard we started the difficult and delicate process of stuffing the components into the housing.  After a lot of concentration the below picture shows the final result of the component compartment:


The only thing hanging out of the housing is the battery supply cord so we can turn the entire project on or off easily.

When the project is first powered on it is in a standby mode.  The LED array “breathes” and changes colors as time goes by.  Once the button on the A3BU (which is accessed from the components compartment opening) is pressed the A3BU sends an interrupt and starts the music and lights routine.  A tone will begin to play and a certain number of LEDs will light up on the array.  As the knob is turned the tone changes pitch and the amount of LEDs that are lit up change.  The LEDs change color as more LEDs are lit.  For example the left most LED column is all green, the middle few are yellow, then orange, and the right most are red.  See the video below for a short demo:


This project was an overall success.  The device works exactly how we envisioned it from the start.  The team was exposed to many new electrical and programatic challenges along the way but we were able to work together to overcome the obstacles.  We were also introduced to the First Build community from spending so much time there, we now all feel comfortable with using their resources more ofter.

We think that the use of an Arduino allowed us to push the limits of what this project was capable of.  The ease of use allowed us to rapidly prototype and trouble shoot without wasting a lot of time fighting with a more robust microcontroller.  Although we did not use the A3BU extensively in this project I think we gained a new understanding for it by using its internal hardware against itself to supply us with a button without the use of software.  We think that future projects in this course will benefit from using a more popular microcontroller like the Arduino Uno.  This is mainly because students will not have to spend their time setting up a project and getting familiar to the complicated environment of Atmel Studio and just dive right in to reading digital input or pushing a desired voltage to external components.

We are very happy with our end result and are extremely proud of it.  The 3D printed housing give the project the esthetic component we were looking for from the start.

Team DND – The Build

team logo


At this stage of the project, we had an idea and a loose design.  It was now time to star making our vision a reality.  We started by just getting the basic circuitry on the speaker working with a variable resistor to change the tone.  The image below shows our first successful circuit to generate tones based on varying resistance.


As you can see we have an 8 ohm speaker connected to variable resistor then connected to an analog read pin on the Arduino Uno.  When the resistance would change the value was read in and mapped to a tone within the human audible range.

Screen Shot 2015-04-26 at 11.18.33 AM

The code above shows how the value of the resistance was read from the pin analog pin A0 and then mapped to within our desired tone range.  We are using a third party Arduino tone library to allow us for more customization of the tone itself along with a higher quality tone.   The toneAC library allows for high frequency and faster tone switching.  In the stock tone library we were experiencing a regular click when switching tones.

Soon we realized that the ECE lab was just not cutting it for us.  Team DND headed over to first build to continue our work.  We wanted to use the first build facilities mainly because of the quality of tools and space available to work.  We wanted to use the speaker from an old pair of desktop speakers and we knew first build would have the tools to let us tear them out.  One team member, David Exe, is a member of the rocket team so we had access to many tools well past the First Build regular hours.  We also got to play on the 3D printer!


Tim and Bobby working hard.

3D Printing:

In the below video and picture you can see the maker-bot beginning to print out our design from the previous blog post.  We had some issues getting the printer to start our design but it was resolved when we discovered the platform it was trying to print on was not level.  When the platform is not leveled the maker-bot cannot print because the printing head will drag along the surface thus jamming the extruder.

The maker-bot hard at work.



18 hours later it was completed!

When the piece was finished, right away we realized that there was something wrong.  The piece was much too small.  What had happened was that we edited an earlier mock up to better fit our pieces and when we went to print, we accidentally used the older version of the design and that resulted in an incorrect piece.  Rather than wasting another 18 hours waiting for the printer to finish we decided to make it work.

Team DND – The Idea

team logo

When we first started discussing a final project idea, a lot of wild concepts were thrown around.  We discussed the idea of a making a bluetooth connected scoreboard for our heated summer volleyball games.  The scoreboard would be made up of several 7-segment displays and have a communication bridge via bluetooth to a fitness wearable device.  The wearable device would then act as the remote to the scoreboard to increase or decrease the score wirelessly.  We began to wrap our heads around the project and soon realized that unfortunately the project was too far off our budget to pull off.

The second and final idea we took of the whiteboard was to make a music box and visualizer.  The idea of this project was to have a knob or tone control to change the tone and pitch of a speaker.  This tone would then have a corresponding visual element that was undecided at the start of the project.  We wanted a way to house the project so it had an aesthetic appeal along with impressive technical abilities.  This is when the group looked to 3D printing a case.

The Design:

Project Housing

The above image was made in a free 3D modeling software, 123D Design on a Macbook Pro.  The square hole on the top was designed to house the speaker and LED array.  Its width and length were designed to be 0.1mm smaller than the LED array so that it could be press fit into place.  The square whole to the right of the team name was designed to house all of the microcontroller and wiring components.  There is a wall separating the two square holes inside the housing with a small channel to allow wires to connect between the openings.  The circular opening on the top of the design was to allow a variable resistor to stick out, giving the user control over the tone and visuals.  There is also an array of square holes on the face of the design.  This was originally intended to be the speaker grill to allow the audio from the speaker to travel outside the housing.

In the following blog posts, it will become clear why the words “originally intended” were used.