This project describes a DC motor speed control system using an STM32 microcontroller. The speed of the DC motor is measured by an optocoupler encoder and sent to the controller. The user can set the target speed using push buttons. The controller then adjusts the motor speed using PWM output to try and match the target speed. The current and target speeds are displayed on an LCD screen.