A audio prototype using the STM32 microcontroller, ESP32 for the Wi-Fi connection, WS2812B LED strips for the visualizer,
Technologies Used
🎶 STM32 Microcontroller📡 ESP32 Wi-Fi Module💡 WS2812B LED Strips📊 Digital Signal Processing (DSP)
Introduction
This project served as my final project for my Computer Engineering Technology diploma. In tandem with Tyler Clarke, we created a hardware DSP prototype that visualizes audio signals using LED strips.The concept of DSP was introduced to me during the third semester by an influential instructor, who sparked my interest in the field. I was captivated by the idea of manipulating audio signals in real-time and the potential applications of this technology.
STM32
The STM32 microcontroller served as the heart of our project, handling the audio processing and control of the LED strips. It was critical to maintain real-time performance, as the audio signal was sampled and processed at about 44.1 kHz (22.6 µs). I also used the STM32IDE to generate and flash to the MCU.One of the major hurdles in this project was interfacing with the WS2812B LED strips, as they operate on a one wire protocol. Data is encoded in GRB format (green, red, blue) at 800 kHz with logical HIGHs for 0.8 µs and logical LOWs for 0.4 µs. The STM32G474RE micro was more than capable of producing this signal.Datasheet from Adafruit @ https://cdn-shop.adafruit.com/datasheets/WS2812B.pdfFor the sake of simplicity and real-time processing, it was important to use DMA for almost all inputs/outputs.