Repository navigation
First Public 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