Bike Odometer and Speedometer – Schematic

For the Hardware portion of the prototype, we used a variety of objects.The largest of these was a standard bicycle that we used as a base for the odometer and the speedometer to sit upon. Next we used two breadboards to start, however this was later slimed to one breadboard to hold the wiring and transistors for the project. We also used an ATMEGA328P Xplained mini board to process the inputs and outputs we needed for the project. Miscellaneous electrical components include some resistors, wires, potentiometer, an LED display and a capacitor. The most unique component used would be the Hall effect sensor, which is in layman’s term a magnet sensor. As a magnetic field gets in range of the sensor, the total output voltage of the Hall effect will be changed due to the strength of said field.




Boogie Ball – Schematic

WS2812B Neopixels were used for this project. These LEDs contain an IC that allows for each LED to be individually addressable. This is ideal for showing the volume of each individual frequency band by turning on additional LEDs as volume increases.



The MSGEQ7 chip is a CMOS IC that is essential for audio equalization. Using an audio input, the chip splits the frequency spectrum into a set of 7 frequency bands. After the passband filters divide the spectrum into the seven bands, peak detectors establish the DC values that will be passed when a multiplexed band is selected. The DC output is then sent to the microcontroller through IC pin 3.





The bands are read by reading the lowest frequency band and passing a DC value to the microcontroller. The chip Strobes and the next frequency band is read on the rising edge. This is continued until all 7 bands have been read. The chip is then Reset.

To build the circuit, the msgeq7 datasheet revealed the supporting resistors and capacitors needed externally to use the chip. This simply consisted of a filtering capacitors and current limiting resistors placed throughout the circuit. Below is a capture taken straight from the msgeq7 datasheet. It contains the suggested hardware implementation for utilizing the chip.

After creating the schematic, each pin was referenced to a specific pin on an Arduino Uno. This microcontroller has the same microprocessor and pinout, but also has much more open-source support. Below is the schematic our team created for tying the msgeq7 chip circuitry into an arduino uno pinout to match the Xplained Mini board.

To create the printed circuit board (PCB) layout, contained a library with an Arduino Uno body with correctly placed headers. This allowed for the msgeq7 circuitry to be placed onto the forked Uno layout. The final result is an equalizer shield for an Arduino Uno that has stereo inputs. The top copper of the single sided PCB was poured to connect a common ground for the schematic. This allowed for maximum heat dissipation as well as fewer traces to map. Below is the PCB layout our team created for our equalization board. This allows the user to use this board as a shield for the Xplained Mini or an Arduino Uno.


Superchefs-Sous Vide

The goal of this project was to make a Sous Vide machine. This Sous Vide is temperature-controlled cooking method. It requires to place ingredients in a sealed environment while being cooked under water. The food is cooked by sealing it in a vacuum sealed bag then placing that bag in a water bath. The water bath is then heated to a specific temperature, typically the temperature at which the food becomes safe to eat, especially important when meat is begin cooked. The typical temperature range is 60-90 deg C depending on the type of food. It is then left in the water bath for a long period of time until the food reaches the temperature of the water bath.

The project wasn’t successful because we weren’t able to communicate with the temperature sensor. Unfortunately we couldn’t find a library for the temperature sensor to communicate with the A3BU. (Instructor note to future teams searching for a project idea: consider adding 1-Wire code to the A3BU. You will learn a ton about timers) Other than that the project went well and we used a manual temperature sensor to make all the necessary readings and finish the project.

Team In Progress: Color Sensing Motor Control – Code

The code behind the project is fairly simple.

To establish communication between the Arduino and the color sensor, we sent register address and the byte value we want to write the magnetometer and loads the destination register with the value that was sent. To receive raw values, we send a register value address to a function and it will return the byte values for the magnetometer register’s content. Once the raw RGB values are read from their respective registers, they were converted into integers.


To determine the color being sensed, we compared the RGB values and found the color with the highest color value, then made that color the sensed color.


Once the color has been sensed, the Arduino sends out a character to the A3BU through UART.

The A3BU then takes the received character and adjusts the motor speed accordingly using Pulse Width Modulation.