The speakerstand-lights
project is written in CircuitPython and uses a NeoPixel FeatherWing, an Adafruit Feather rp2040 Pico, and a digital microphone breakout board. I used an I2S mic and any digital mic will work, but not analog. Together, they create a sound reactive spectrogram displayed on the NeoPixel FeatherWing's pixels.
You will need to know the basics of soldering to stack the Feathers and to attach the microphone.
Learn more at the project homepage.
Thank you to Adafruit, including Kattni Rembor and Philip Burgess, for the Adafruit EyeLights LED Glasses Music-Reactive Lights project. Better yet, it's released under a MIT license making it easy to modify. Using this code, I only had to change a few lines to make it work with the NeoPixel FeatherWing!
To use with the Feather rp2040 Pico and a FeatherWing NeoPixel, the code needed to be updated to remove the LED_Glasses
module and replaced with PixelFramebuffer
from the adafruit_pixel_framebuf
module.
Additionally, I reduced the spectrum the microphone listens for as the NeoPixel FeatherWing has less pixels (8x4) than the original code's 13x9 LED matrix.
I commented out the original code and included the original spectrum variables in the comments. You can play with the variables to find the visualizer you want.
Video never captures LEDs right, but here is an animated gif:
I will be installing the NeoPixel FeatherWing in an AudioEngine P4 speaker stand which I will be 3D printing (and will add the CAD and STL files to the repository when complete). This will include a cutout for the NeoPixel FeatherWing on the front and the USB power cable on the back.
Original speaker stands for the P4 / H4 from AudioEngine:
Thanks again to Adafruit, including Kattni Rembor and Philip Burgess, for the Adafruit EyeLights LED Glasses Music-Reactive Lights - I only had to change a few lines of code to make this work with a NeoPixel Feather!
I spent hours tearing apart and putting back together the audio code, spectrograms, and more from these Adafruit projects, also open source:
-
FFT Example: Waterfall Spectrum Analyzer by Jeff Epler
-
Mini LED Matrix Audio Visualizer by Liz Clark
-
Light-Up Reactive Ukulele by Erin St Blaine
-
CircuitPlayground Sound Meter (which I can't find right now)
-
Adafruit NeoPixel Uberguide by Phillip Burgess
-
Easy NeoPixel Graphics with the CircuitPython Pixel Framebuf Library by Melissa LeBlanc-Williams