simplefoc/Arduino-FOC
Arduino FOC for BLDC and Stepper motors - Arduino Based Field Oriented Control Algorithm Library observed · 2026-08-28
Health v2 · maintenance only
77/100
- Activity 96
- Release rhythm 39
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: 206
- age_days: 2739
- days_rel: 195
- days_push: 28
- n_releases_24m: 2
Adoption not part of the score
2986 stars · 741 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
SimpleFOC is an Arduino/PlatformIO C++ library implementing Field Oriented Control (FOC) for BLDC and stepper motors. It supports many motor, sensor, driver, and MCU combinations (Arduino, STM32, ESP32, Teensy, RP2040, SAMD) with multiple motion control modes and current sensing.
Use cases
- control a bldc motor with field oriented control on arduino
- drive a stepper motor with foc for smooth quiet motion
- build a low-cost brushless motor controller
- implement closed-loop position and velocity control of a gimbal motor
- run open-loop control of a stepper without an encoder
- port motor control code between esp32 stm32 and teensy
- read encoder feedback for motor commutation
When to choose
- you want a well-documented, cross-platform FOC library for hobby or prototyping BLDC/stepper projects
- you use Arduino IDE or PlatformIO with supported MCUs like ESP32, STM32, or Teensy
- you need flexible motor + sensor + driver combinations with motion control modes out of the box
When to avoid
- you need certified, high-power industrial motor control with safety certifications
- your MCU is not supported by the library's hardware-specific backends
- you need hard real-time guarantees beyond what an Arduino-based loop can provide
Facets
library · maturity active
embedded simulation developer-tools robotics embedded-systems hardware iot cpp embedded cross-platform field-oriented-control bldc-motor stepper-motor motor-control encoder current-sensing arduino-library platformio automation stm32
10 sources
- readme: https://github.com/simplefoc/Arduino-FOC · fetched 2026-08-28 · d23ef709a591
- homepage: https://docs.simplefoc.com · fetched 2026-08-29 · 0f4f8abfd658
- site_page: https://docs.simplefoc.com/arduino_simplefoc_shield_installation · fetched 2026-08-29 · 0156fe3880dd
- site_page: https://docs.simplefoc.com/installation · fetched 2026-08-29 · 00afd7467462
- site_page: https://docs.simplefoc.com/library_download · fetched 2026-08-29 · 9c5e05482cfd
- site_page: http://olddocs.simplefoc.com · fetched 2026-08-29 · 0965df8be9fd
- site_page: https://docs.simplefoc.com/docs_chinese · fetched 2026-08-29 · bbb561b3a616
- site_page: https://docs.simplefoc.com/regular_adc_read · fetched 2026-08-29 · f40c48463a11
- site_page: https://docs.simplefoc.com/motion_control · fetched 2026-08-29 · 3133d3c0d05d
- site_page: https://docs.simplefoc.com/custom_control · fetched 2026-08-29 · 86f5f2592ad4
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| simplefoc/Arduino-FOC | main | 77 |
For agents
markdown · JSON · MCP: product_card(name="simplefoc/Arduino-FOC")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem