Exploring STM32F4Discovery +VSCODE+Mbed

This is Part 1 of the Two Wheel Robot Project, In this Part i am developing the drive train subsystem to control the DC Motor Control System

Hardware List

  1. 6V DC Motor with Quadrature Encoder (PPR – 820)


  1. STM32CUBEMX – For Generating the Initialization Code
  2. PlatformIO with Mbed Framework

Issue faced

  1. Porting the STMCUbe project directly has compilation issue in Platform IO
    1. Removing the line resolves the compilation error
    2. htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  2. STM32 Port Does not support Serial Connection
    1. Using External FTDI connection to PA2 and PA3 Resolves the issue


  1. PWM Signal Generation using Mbed API’s – Done
  2. PWM Signal Generation using STM32CUBEMX + Mbed – Done
  3. Quadrature Encoder Signal Capture – InProgress
  4. Updating the PWM Dutycycle in runtime – InProgress
  5. Combine the above components -> PWM+Encoder – TBD
  6. Integrate PID Controller to Drive Train Subsystem