The STM32F746G-DISCO Discovery kit from STMicroelectronics was chosen as the hardware platform to support a junior/senior electrical engineering real-time digital signal processing (DSP) course. The board features a STM32F746NG microcontroller with an Arm Cortex-M7 core with a floating-point unit and DSP instructions. The board includes a debugger, stereo audio line-in/line-out, two built-in digital microphones, speaker output, a built-in LCD touchscreen, a user pushbutton, and a user-controlled LED. The board can be programmed in C and assembly using several programs including STM32CubeIDE, which is a free program available for Windows, macOS, and Linux.
The course is an elective in the electrical engineering program and is taken by juniors and seniors. The prerequisites for the course are signals and systems and data structures. The course is a lecture course with no accompanying laboratory, but since the board is relatively inexpensive, a board was loaned to each student for the duration of the semester. So, students had full access to the board, and they wrote and tested DSP algorithms as homework assignments.
The author wrote starter code that demonstrates a few real-time DSP algorithms (stereo passthrough, lowpass filter, highpass filter, and reverb) and serves as a starting point for the students when they write their own programs. The starter code includes several features that make working with the board more convenient such as a menu that makes it easy to switch between different algorithms and to select the input source (either line-in or the built-in microphones). It displays an input level meter, which is helpful for setting the input gain. It has mechanisms for setting the input and output gain and measuring the gain of a filter. It also includes an indicator that alerts the user if their DSP algorithm is taking too long and is violating the real-time schedule. The starter code is available for free from the author.
The course assignments include exploring the demonstration algorithms and writing and testing several real-time DSP algorithms including mono passthrough, record and playback, generate sinusoids, finite impulse response (FIR) filters, infinite impulse response (IIR) filters, and Discrete Fourier Transform (DFT). The course also includes a project where each student selects an algorithm to implement and test on their own.
This paper describes the advantages and disadvantages of using the STM32F746G-DISCO Discovery kit to teach real-time DSP. The features of the starter code are described along with how they support the students’ learning. The course learning objectives and assignments are discussed. A student survey was given to assess the effectiveness of using the board to teach real-time DSP, and the results of the survey are discussed in the paper.
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.