Published February 19, 2026
| Version v2.4.0
Software
Open
SimpleFOC: A Field Oriented Control (FOC) Library for Controlling Brushless Direct Current (BLDC) and Stepper Motors
Authors/Creators
Description
SimpleFOClibrary v2.4.0
Main features
- STM32
- ESP32
- Others
- Teensy4 support for phase state setting #498 by @Ragiton
- Added support for Arduino Nano Matter board by @silabs-szabog : #485
- Major New features
- Add current and voltage feed forward terms to motor classes by @Copper280z in #454
- Velocity Calculation rework by @Copper280z in #45
- Motion control - docs
- Added
custommotion control mode - see in docs and in examples - Added
angle_nocascadecontrol mode for position control without velocity cascade - see in docs - #384 - Now all the closed and open loop modes can be used with any torque control modes (voltage and current)
- Ex.
velocity_openloopwithfoc_currenttorque control
- Ex.
- Added
- Torque control - docs
- Added
estimated_currenttorque control mode for model-based current estimation without current sensing - see in docs - Now we can easily switch between voltage and estimated current control
- Added
- Docs updates - see docs
- Write the code page updated - see docs
- Better step-by-step setup guides - see docs
- New motion control documentation - see docs
- New torque/FOC control documentation - see docs
- Theory corner updated and extended - see docs
- Library source updated and extended - see docs
- Practical guides updated and extended - see docs
- Examples
align_current_sense.inoexample added to theexamples/utils/current_sense_testallowing to verify the alignment between the driver and the current sense phases
See the milestones: v2.3.6 (unreleased) and v2.4.0
What's Changed
- Add current and voltage feed forward terms to motor classes by @Copper280z in https://github.com/simplefoc/Arduino-FOC/pull/454
- Velocity Calculation rework by @Copper280z in https://github.com/simplefoc/Arduino-FOC/pull/453
- Feat bg341 sync lost fix by @askuric in https://github.com/simplefoc/Arduino-FOC/pull/482
- Add Silabs drivers and examples by @silabs-szabog in https://github.com/simplefoc/Arduino-FOC/pull/485
- ESP32: improve PWM driver fast funcrtions by @uLipe in https://github.com/simplefoc/Arduino-FOC/pull/492
- Move the mcpwm on_full callback entry point to the IRAM. by @uLipe in https://github.com/simplefoc/Arduino-FOC/pull/490
- ESP32: move adc runtime reading functions to IRAM. by @uLipe in https://github.com/simplefoc/Arduino-FOC/pull/491
- ESP32C3 fix ledc_channel_config(847): sleep_mode argument invalid by @bisak in https://github.com/simplefoc/Arduino-FOC/pull/489
- ESP32: replaced the mod base circular increment by @uLipe in https://github.com/simplefoc/Arduino-FOC/pull/493
- g431-esc: use internal ADC channels, also fix some typos by @Moddingear in https://github.com/simplefoc/Arduino-FOC/pull/487
- fix minor magnetic_sensor_i2c warning by @Moddingear in https://github.com/simplefoc/Arduino-FOC/pull/496
- driver: adc_esp32: protect the adc reading against core migration. by @uLipe in https://github.com/simplefoc/Arduino-FOC/pull/495
- Update teensy4_mcu.cpp _writeDutyCycle6PWM to handle phase_state to allow disabling the motor by @Ragiton in https://github.com/simplefoc/Arduino-FOC/pull/498
- Fix the issue of abnormal modification of motion_downsample by @CodeMan-P in https://github.com/simplefoc/Arduino-FOC/pull/438
- initial support for low-side current sensing with multiple motors for stm32 by @askuric in https://github.com/simplefoc/Arduino-FOC/pull/503
- Add a MotionControlMode::angle_nocascade which uses a single PID for angle control by @runger1101001 in https://github.com/simplefoc/Arduino-FOC/pull/384
- Autotunng + a big reactor without API chnage by @askuric in https://github.com/simplefoc/Arduino-FOC/pull/504
- Current PI Autotuning by @Candas1 in https://github.com/simplefoc/Arduino-FOC/pull/426
- Feat custom motion control by @askuric in https://github.com/simplefoc/Arduino-FOC/pull/514
- Feat allow spi clock speed change by @askuric in https://github.com/simplefoc/Arduino-FOC/pull/515
New Contributors
- @silabs-szabog made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/485
- @uLipe made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/492
- @bisak made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/489
- @Moddingear made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/487
- @Ragiton made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/498
- @CodeMan-P made their first contribution in https://github.com/simplefoc/Arduino-FOC/pull/438
Full Changelog: https://github.com/simplefoc/Arduino-FOC/compare/v2.3.5...v2.4.0
Notes
Files
simplefoc/Arduino-FOC-v2.4.0.zip
Files
(5.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:1046f7e41df2318372a0f762f49c9c3f
|
5.9 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/simplefoc/Arduino-FOC/tree/v2.4.0 (URL)
Software
- Repository URL
- https://github.com/simplefoc/Arduino-FOC