sound_spectrum_mcu
PublicLoading 3D model… large boards can take a moment.
Sound Analyzer
STM32-powered board for analyzing sound input from MEMS microphones, designed as an open-source, hands-on introduction to DSP on ARM Cortex-M4 processors.
Table of Contents
About the Project
It uses the CMSIS-DSP library to handle computationally intensive tasks, while a companion PyQt-based Python script is used for plotting frequency-domain data data from PCB to host PC.
The goal is to demonstrate the full pipeline of audio signal acquisition and transformation, from raw time-domain data to frequency-domain analysis
The PCB intentionally exposes additional unused pins, allowing users to extend functionality and experiment beyond the core features
1kHz sine
| Front | Back |
|---|---|
Project Status
In progress, working version availabe in main branch
Full STM32CubeIDE project is hosted here, with .elf and .bin files ready inside code/sound_analyzer_v1/Debug folder
As for python script, both source plot_graph.py and executable plot_graph.exe are available, with executable tested only for Windows platform
Getting Started
For application usage, no extra programm shall be installed , other than downloading the executable plot_graph.exe
For developer usage, STM32CubeIDE + STM32CubeMX shall be installed, as described here
In addition, Python >=3.9 shall be installed from here, with the following Python libraries also installed :
- Numpy
- PySide6
- pyqtgraph
- Pyserial
PCB files are located on pcb/ folder, while device files can be found on code/sound_analyzer_v1/ and plot files on code/plot_graph/
Getting the Source
This project is hosted on GitHub. You can clone this project directly using this command:
https://github.com/path321/sound_spectrum_mcu.git
Usage
-
Connect the board via USB to your host PC. Make sure that no other STM32-based USB is connected to PC
-
Unzip plot_graph.zip Double click on plot_graph.exe
-
If you want to stop the live graph, check on the Button on the top right end of the GUI window
Versioning
This project uses Semantic Versioning. For a list of available versions, see the repository tag list.
How to Get Help
Please create a new issue on
https://github.com/path321/sound_spectrum_mcu/issues
License
This project is licensed under the MIT License - see LICENSE.md file for details.
No comments yet. Be the first to ask about this board.