Hackaday Prize 2023: Learn DSP With The Portable All-in-One Workstation [Hackaday]

View Article on Hackaday

DSP PAW Hardware Platform

Learning Digital Signal Processing (DSP) techniques traditionally involves working through a good bit of mathematics and signal theory. To promote a hands-on approach, [Clyne] developed the DSP PAW (Portable All-in-one Workstation). DSP PAW hardware and software provide a complete learning environment for any computer where DSP algorithms can be entered as C++ code through an Arduino-like IDE.

The DSP PAW demonstrating attenuation controlled by a potentiometer.

The DSP PAW hardware comprises a custom board that plugs onto an STM32 NUCLEO Development Board from STMicroelectronics. The board includes headers and 3.5 mm audio jacks for signal interfacing, protection circuitry for analog pins, power circuitry to enable a -3.3 V to +3.3 V signal range, a status LED, and two potentiometers for adjusting parameters in real-time. The hardware can interface with audio signals and lab equipment or it can generate and capture signals in stand-alone operation.

The STM32 microcontroller requires at least a 72 MHz clock, 96 kB of RAM, support for USB, analog to digital conversion, and digital to analog conversion. Hardware floating-point support is useful for many DSP applications.

The DSP PAW firmware leverages the ChibiOS open-source, embedded real-time operating system. The firmware need only be programmed one time, after which DSP algorithms can be loaded from any Linux or Windows computer over USB.

The project’s IDE provides an interface for writing, compiling, uploading, executing, analyzing, and debugging DSP algorithms. The IDE can configure sampling rates, change buffer sizes, measure execution time, view disassembled code, capture signals, and generate signals. Examples are included for signal processing operation such as convolution, FIR filters, and IIR filters.

DSP is quite a rich subject for self-study. You may wish to also explore our DSP Spreadsheet Series or a tasty Tutorial on Signal Processing with Octave.

The HackadayPrize 2023 is Sponsored by: