Skip to content

First Public Release

Choose a tag to compare

@JFG3rd JFG3rd released this 07 Jul 11:13
· 86 commits to main since this release

### ESP32-P4 Spectrum Analyzer v1.0.0

First Public Release

I’m pleased to publish the first public release of the ESP32-P4 Spectrum Analyzer.

This project has grown far beyond its original goal of experimenting with the ESP32-P4. It has become a complete embedded audio measurement instrument featuring real-time DSP, multiple visualization modes, touchscreen operation, USB Audio support, microphone calibration, persistent settings, and an integrated browser-based management interface.

One of the goals throughout development has been to build something that feels like a real instrument rather than simply another FFT demonstration.

⸻

Highlights

Real-Time DSP

  • FFT sizes from 512 to 16384 points
  • Multiple window functions
  • Multiple averaging modes
  • Noise-floor capture and subtraction
  • Microphone calibration support

Display Modes

  • Spectrum Analyzer
  • Waterfall
  • Oscilloscope
  • Mirror Display
  • VU Meter
  • 1/3 Octave Analyzer

Audio Sources

  • ESP32-P4 onboard ES8311 codec
  • USB Audio Class (UAC1)
  • Runtime Left / Right / L+R selection

User Experience

  • Touchscreen interface
  • Pinch zoom
  • Named presets
  • Persistent settings
  • SD card configuration
  • Wi-Fi provisioning

Embedded Web Interface

The analyzer includes a responsive web interface with:

  • Dark and Light themes
  • Wi-Fi configuration
  • Microphone calibration upload
  • Remote configuration
  • System status

No additional software is required.

⸻

Project Background

This project began as a personal engineering challenge while I was undergoing treatment for Acute Myeloid Leukemia (AML).

During months in hospital, I wanted to keep learning, solving engineering problems, and designing embedded systems. What started as a way to stay mentally engaged gradually evolved into a complete embedded measurement instrument.

Open source has taught me a great deal over the years, and releasing this project is my way of giving something back to the engineering community.

I hope others will find it useful, learn from it, improve it, and build upon it.

⸻

Looking Ahead

Development continues.

The next major milestone is already planned:

Version 2.0 – Distributed Stereo Analyzer

The long-term vision is to connect two ESP32-P4 analyzers into a synchronized measurement pair.

Planned capabilities include:

  • Primary / Secondary operating modes
  • Stereo channel separation
  • Low-latency network audio streaming
  • Preset synchronization
  • Automatic discovery and pairing
  • Synchronized displays

⸻

Thank You

If you try the project, I’d genuinely enjoy hearing about your experience.

Bug reports, suggestions, discussions and pull requests are always welcome.

Sometimes engineering isn’t just about building hardware—it can also be a way of getting through difficult times. This project is a reminder of that for me.

If you find the project useful, please consider giving the repository a ⭐ on GitHub. It helps other people discover the project and encourages continued development.

⸻

Apache 2.0 License