ECE434 Project - Bluetooth Speaker

Revision as of 13:46, 9 November 2020 by James Werne (talk | contribs)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: James Werne Neil Roy

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Demo/Poster
00 Late
Comments: Have a good day.

Score:  90/100

(Inline Comment)

Executive Summary

This project will use a BeagleBone Green Wireless to connect to a Bluetooth speaker. The BeagleBone will then take music (either .mp3s or .wavs) on the computer and send the music to the speaker. There is also a program included that lights up a WS2812b programmable LED strip to respond to the music.

We currently have a BeagleBone Green Wireless and a Bluetooth speaker. We've been able to connect to the Bluetooth Speaker and play .mp3s (using mplayer) and .wavs (using aplay). We've also been able to program the LED strip manually, so we're trying to work on a real-time processing method of programming the LED strips.

We aren't yet able to get the LEDs to respond to the music. We're currently experimenting with some different FFT algorithms, so we're going to try to play around with getting a spectrum analyzer to work before applying it to the LED strip.

Picture that summarizes the project.

Give two sentence intro to the project.

Give two sentences telling what works.

Give two sentences telling what isn't working.

End with a two sentence conclusion.

The sentence count is approximate and only to give an idea of the expected length.


If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

This project uses a Beaglebone Green Wireless, a WS2812b programmable LED strip, and a Bluetooth speaker (any will work), and any cables required to interface the Beaglebone with a linux device. We recommend using a current-limiting resistor when connecting the WS2812b to the GPIO ports on the Beaglebone.

There are no additional hardware requirements, but feel free to design an enclosure and cover the outside with programmable LEDs.

Installation Instructions

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site:
  • Be sure your is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code if using C.
  • Include any additional packages installed via apt. Include and files.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

To install the project, follow the instructions below:

1) Ensure you have git installed on your device, and fork the repo linked to the following read-only git site:

2) Navigate to the project directory. Run ./ in the command line. This will install the following necessary packages:

mplayer, aplay, etc...

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Consider making it autostart for full credit.


Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

Suggest addition things that could be done with this project.


Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.

thumb‎ Embedded Linux Class by Mark A. Yoder