Milestone 4 focuses on refining and validating our senior design project through system optimization, testing, and effective project management. This stage emphasizes thoughtful design trade-offs, practical implementation, and adaptability. It includes the definition and execution of performance tests, informed design adjustments based on results, and structured project tracking. The outcomes are showcased through formal deliverables like the Innovation Expo poster, highlighting both technical and nontechnical progress.
Originally, we connected the Bluetooth module to the microprocessor and weren't confirming what was getting sent. This visualized audio buffer waveform generated from a simple python script confirms that what's getting sent to the microprocessor is valid data and not garbage noise.
Expanded Microprocessor To Allow Multiple Clients
Originally, the microprocessor was only able to manage one audio stream. We have now given the microprocessor to intake audio data from multiple microcontrollers. This, combined with the web server, gives the user the ability to connect to our system at the same time as another user, allowing them to listen to their own music separately.
FFC/FPC Breakout Board
Originally, we were not able to connect to any of the pins on the microprocessor due to the design of the PCB. Luckily, we discovered that we could connect to the pins through the use of an FFC breakout board that connects to the microprocessor through a ribbon cable.
Synchronization Clock
Every component we use has different clock rates, which causes one thing to send or receive something slower or faster than another. This leads to problems with audio input/output synchronization. To fix this problem, we created a master clock generated from a PWM (Pulse Width Modulation) General Purpose Timer. We have two clocks that mimic the Bluetooth module's output frequencies for every other component to piggyback off of and operate at the same rate.
The user can connect and begin streaming audio to the network through the AudioB I2S Bluetooth module. Here is an example of the bluetooth module independently connected to a DAC and speaker.
Through the web server, the user can manage the multiple speaker zones and choose which audio input sources will be played to that zone.
The Bluetooth Module and Microcontroller are physically connected very close to each other in the network, thus a housing was modeled and printed to keep the two components cleanly organized together.
Nicholas DeRobertis:
Set up a synchronization clock
Discovered FFC/FPC breakout board for I2S (Inter-IC Sound) output on microprocessor
Aided in I2S connection between the Bluetooth module and the microcontroller
Tweaked buffer settings and data collection parameters to ensure accurate capture of a clean sine wave from the Bluetooth module, and verified results through waveform visualization
Vincent Renda:
Led the setup and configuration of the network communication over RTP/UDP
Expanded microprocessor to accept music streams from multiple clients
Andrew Lee:
Bluetooth module setup and connectivity between the user and the network
Designed physical housing for Network Receiver nodes involving the Bluetooth module and microcontroller
Erik Bobinski:
Developed the web server
Gave users the ability to decide which music streams go to which speaker outputs
Chris Kniss:
Soldered breakout board and needed modules
Led the setup for the I2S communication
Tweaked buffer settings and data collection parameters to ensure accurate capture of a clean sine wave from the Bluetooth module, and verified results through waveform visualization
Arminder Singh:
Aided in network communication setup
Aided in I2S microprocessor debugging