Preface
table of contents
Welcome to my very first blog post series about digital signal processing on STM32 based MCUs. Here, you will
find discussions on various topics along with some projects to master, let’s be honest, at least try to master some aspects of embedded systems. Also do not forget that I am still an electronics engineering student, not a coding guru with +25 years of coding experience. Nonetheless, I’m eager to contribute and learn alongside you. While there are some resources available online, many of them are geared towards experienced professionals and assume a high level of technical knowledge. This is why I wrote this series!
Shall we begin? As stated at the root of this site: These posts does not aim to explain everything in crystal detail. This requires hundreds of hours, and I don’t have that luxury. The posts will be a fast summary of my journey. Instead, expect quick summaries of my journey, including the challenges I faced and the solutions I discovered.
Feel free to reach out with questions!
A Quick Checklist Before We Begin
Here are the requirements you should meet:
- Basic Knowledge on C
- STM32 MCU
- Some Jumpers and cables (add sensors and soldering skills for extra adventure)
- Proficiency in Python, MATLAB[^1] or a simple scripting language to analyze data on PC-side as well as automating things
-
USB to TTL
or namelyUSB to UART
cable. (Chinese knockoff will do) - A basic grasp of digital signal processing
- An IDE or a favorite text editor: suggestion
- A favorite operating system would be beneficial: suggestion
- Courage and patience (be ready to read lots of technical documentation)
I will be using STM32F407. Feel free to use any STM32 board you like, but this board has some good DSP and FPU capabilities at a reasonable price. Nucleo boards are also excellent options.
Hope we will make it to the end. Best of luck, for all of us! Because we will need it in this project series.
[^1] Well, MATLAB is, basically, a giant calculator with lots of good packages ready to use, but it can get messy as projects grow. Whenever the project gets bigger be ready to face some spaghetti code. I Python