github.com/ElluIFX/F407ZGT6_TEST

An animated time-lapse of how ElluIFX/F407ZGT6_TEST was built, commit by commit.

Open this visualization on its own page →

Contributors

1

Lines of Code

364

From

2021-12-17

To

2022-01-08

About ElluIFX/F407ZGT6_TEST

This is a testing and development project for the F407ZGT6 microcontroller board, written in C for an embedded systems team. The project validates various hardware functionalities of the STM32F407ZGT6 board and is organized as a modular codebase designed for portability. Core features include multi-function key handling, UART communication, time-division scheduling, task control, and PID algorithm implementation for motor closed-loop control.

The project provides several reusable modules including a key handler for button inputs, UART communication wrappers, a scheduler for task timing, program control logic, and PID implementations for position and speed control loops. The PID system is specifically tuned for JGA25-370 12V motors with 190RPM ratings and includes both position and speed control loops. The author includes detailed guidance on motor setup, interrupt-driven speed measurement, and tuning recommendations such as running the speed loop at twice the frequency of the position loop to avoid oscillation.

The repository also contains practical debugging and deployment documentation, addressing common issues developers encounter with STM32 development such as printf floating-point output configuration, semi-hosting mode problems, and build system setup. The project supports multiple programming methods including USB, serial port, and dedicated programmers like ST-Link and CMSIS-DAP, with Makefile-based compilation for flexibility. The author notes the commit history is somewhat disorganized due to unfamiliarity with git workflows.

Share this video