Clyne 12caf4acd4 | 1 year ago | |
---|---|---|
firmware | 1 year ago | |
gui | 1 year ago | |
hardware | 1 year ago | |
.gitignore | 1 year ago | |
.gitmodules | 1 year ago | |
README.md | 1 year ago |
README.md
dsp-paw
This is the DSP PAW "monorepo", containing the microcontroller firmware, add-on board design files, and the source code for the computer graphical interface (GUI).
DSP PAW (Digital Signal Processing Portable All-in-one Workstation) provides a solution for creating and studying DSP algorithms on embedded systems. Using the project's software and hardware with certain NUCLEO development boards will enable you to portably design DSP algorithms, without the need for external tools or laboratory equipment.
Project components
- Firmware that allows users to load and execute custom DSP algorithms for real-time signal processing.
- A custom add-on board which provides the necessary circuitry for interfacing with external signals and the host computer.
- Computer software that facilitates algorithm design, execution, and detailed analysis.
Features
- Real-time signal processing: signal read by the ADC are streamed through the loaded algorithm and output via the DAC.
- The core firmware facilitates algorithm uploads over USB, enabling a fast design and test process.
- Supports signal sampling rates from 8kS/s up to 96kS/s, with buffer size of up to 4,096 samples.
- Supports external signals between -2V and +2V.
- Two potentiometers for adjusting algorithm parameters while the algorithm is running.
- An on-board signal generator that eliminates the need for input signals from external hardware.
- Numerous analysis features, including signal visualization and algorithm execution time measurement, eliminate the need for other test equipment like oscilloscopes.
Build notes
The add-on board was designed using KiCad.
Both the firmware and user interface software are written in C++, and have single Makefiles for their build processes. Both also depend on git submodules, so be sure to fetch those before compilation.
The firmware additionally requires the arm-none-eabi
toolchain, and the GUI requires SDL 2.0.
Learn more
The project's wiki will be updated over time with more information about all aspects of the project.
Licensing
DSP PAW source code is licensed under version three of the GNU General Public License. The add-on board design files are licensed under the CERN Open Hardware License Version 2 - Strongly Reciprocal. See the LICENSE
files in each component's folder for more information.