Here we use ESP32 microcontroller to analyze real-time audio signals

  1. Real-time FFT to get frequencies
  2. Use MSGEQ7 chip to get the same data
  3. Display frequency bands on LEDs as bars

FFT basics:

GitHub: debsahu/ESP32_FFT_Audio_LEDs

Libraries Needed

Software FFT platformio.ini and Hardware FFT platformio.ini is included, use PlatformIO and it will take care of installing the following libraries.

Library Link
arduinoFFT https://github.com/kosme/arduinoFFT
WS2812FX https://github.com/kitesurfer1404/WS2812FX
MD_MSGEQ7 https://github.com/debsahu/MD_MSGEQ7

Known Limitations

  • Sampling frequency must be high
  • Sampling time should not interfere with other WiFi functions
  • FFT calculations are CPU intensive
  • Frequency binning needs to be done manually

Wiring

ww_wiring

hw_wiring