Audio Monitor

This project is created using an 8×32 Neopixel matrix to display audio waves that can be input physically or electronically.


Boheng H

Areas of Interest

Electrical Engineering, Coding


Leigh High School


Incoming Senior

Demo Night and Reflection

The project is finally complete enough to be considered a successful product. I changed the sensitivity of the audio input for more obvious LED lighting. The video shows the project in action. From the first day of me being in the program, I’ve learned how to wire a Neopixel Matrix and also used Arduino to download libraries to control the matrix with. I managed to use Processing in order to do FFT data conversion using the audio input from my computer. Despite many setbacks during this project, such as when I realized that I couldn’t use the normal mic sensor that I was trying to use since it couldn’t process complex sounds. This led to me using my computer as audio input. Later on, I realized the program I was using was made for a larger LED matrix and that it would be very difficult to scale everything down since the frequency was double the amount of mine. I then looked for and found a new program that was built for the dimensions of my LED matrix. It turned out to work nicely with my matrix and I then focused on creating animations that would turn the LED’s up and down. The timing was kind of hard to master but I managed to get it to work. In the end, this is my finished project, which I may continue to develop depending on what ideas I may get. For now, however, this will be the finished project.

Third Milestone

For this milestone, I made several large changes. First, I switched the FFT processing code to another program that is designed for a single Arduino, which is what I have. I also introduced smoother LED animations in the Arduino code that looks more visually appealing. The timing of these animations were very tricky as I had to squeeze them into a very small timespan between each wave of data that is sent to the Arduino. Along with these new animations, I used SwitchCase to set different colors for each column of my matrix so that different frequencies have different colors and are easy to determine.

Second Milestone

In this milestone, I used a FFT Processing program in order to process sound from my computer’s main volume channel. The original program was made for two micro-controllers and a larger LED matrix. I ended up simplifying it down to my side so I could use it for my smaller matrix with one micro-controller. This ended up with the matrix working and displaying some audio waves but it was very jumpy and shifted since it was only a part of the original program. However, I did manage to finally process audio and convert it to data that the Arduino can use so it was a significant progression for my project.

First Milestone

My first milestone was achieved by coding the LED matrix to display scrolling text. In my case, I coded it to say “Hello, I’m a matrix!” The text was displayed in a repeating pattern of 3 colors. The colors were made using red, green, and blue shades. While the design is capable of displaying all colors, I kept it to red, green, and blue to simplify the inputs. I used this experience to get more familiar with the orientation of the matrix as well as defining it.

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering