For more info about the features of library releases visit the github releases .

Motion Control and FOC algorithm

  • Motor control: FOC using IMU - camera gimbal and similar applications
  • Motor control: Low-side current sensing
  • Motor control: High-side current sensing
  • Motor control: Inline current sensing
  • Motor control: Support for stepper motors
  • Motor control: Support for Hall sensor commutation
  • Motor control: Support for fully open-loop operation (no sensor)
  • Add support for acceleration ramping
  • Velocity Low pass filter
  • Timer interrupt execution rather than in the loop(): ❌ No real performance improvement
  • Sine wave lookup table implementation
  • Implement Space Vector Modulation method : Pure SVM
  • Implement Space Vector Modulation method : PWM SVM

MCU support

  • Hardware specific code separation : easier porting in between devices hardware_utils.cpp/.h
  • Teensy support
  • ESP32 support
  • STM32 Nucleo support
  • STM32 BLuepill support

Driver support

  • Driver support: Implement support for MOSFET control low and high pairs
  • Driver support: DRV8302 borads

Sensor support

  • IMU as position sensor
  • Back-EMF support
  • Make support for magnetic encoder SSI
  • Make support for magnetic encoder PWM
  • Make support for magnetic encoder Analog
  • Make support for magnetic encoder I2C
  • Make support for magnetic encoder ABI
  • Make support for magnetic encoder SPI
  • Hall sensor support
  • Encoder index proper implementation

User interaction

  • Implement motor commands
  • Support monitoring


  • SimpleFOClibrary getting started page
  • SimpleFOCShield getting started page
  • Make the library accessible in the Arduino Library Manager
  • Make minimal version of the arduino code - all in one arduino file
  • Documentation separation from README
  • Proper introduction of the Arduino SimpleFOCShield


  • VIDEO: Publish a video tutorial for using the library and the samples
  • VIDEO: Coding setup and procedure video
  • VIDEO: Two motors running on HMBGC example
  • VIDEO: Initial video with simple demonstration