Arduino SimpleFOCShield v2.0.4

This is an open-source low-cost Brushless DC (BLDC) motor driver board intended primarily for low-power FOC applications up to 5Amps. The board is fully compatible with the Arduino UNO and all the boards with the standard Arduino headers. The SimpleFOCShield, in combination with the SimpleFOClibrary provides user-friendly way to control BLDC motors both in hardware and software.

YouTube demonstration video


  • Plug & play: In combination with Arduino SimpleFOClibrary - github
  • Low-cost: Price of 15-20€ - Check the pricing
  • In-line current sensing: Up to 3Amps/5Amps bidirectional
    • configurable: 3.3Amps - 3.3V adc, 5Amps - 5V adc
  • Integrated 8V regulator:
    • Enable/disable by soldering pads
  • Max power 120W - max current 5A, power-supply 12-24V (35V max)
    • Designed for Gimbal motors with the internal resistance >10 Ωs.
  • Stackable: running 2 motors in the same time
  • Encoder/Hall sensors interface: Integrated 3.3kΩ pullups (configurable)
  • I2C interface: Integrated 4.7kΩ pullups (configurable)
  • Configurable pinout: Hardware configuration - soldering connections
  • Arduino headers: Arduino UNO, Arduino MEGA, STM32 Nucleo boards…
  • Open Source: Fully available fabrication files - how to make it yourself

New Features


This BLDC driver board is primarily designed for gimbal motors with the internal resistance of R >10 Ω. Please make sure that your motor fits in this category before deciding to use the SimpleFOCShield.

Connection schematic

An electrical connection example of a BLDC motor with an encoder as position sensor.

For more information about how to connect you hardware to your shield, check the full connection example.

Project example : Reaction wheel inverted pendulum

This is a project of designing and controlling the reaction wheel inverted pendulum based entirely on Arduino SimpleFOClibrary and SimpleFOCShield

This is a very fun project in many ways, and it is intended:

  • Students in search for a good testing platform for their advanced algorithms
  • Everyone with a bit of free time and a motivation to create something cool :D

For full documentation of necessary components, design choices and the code please visit the project docs.

Project example : Steer by wire - bidirectional haptic control examples

This video demonstrates SimpleFOCShield support for stacking with Arudino UNO and STM32 Nucleo-64 board. As well as support for different sensors magnetic and encoders with relatively large precision span.

The control algorithms implemented in this project are :

  • Steer by wire (force feedback): two motors with virtually coupled positions
  • Interactive gauge (haptic velocity control): two motors with virtually coupled position and velocity

For full documentation of the projects setup and the code please visit the project docs.

Getting started

You already have your own SimpleFOCShield?
Here is a simple guide how to start preparing your setup

How to get hold of the SimpleFOCShield

  • Fabricate the board yourself: Please visit the board fabrication to find out how to manufacture the board yourself!
  • Order the finished and tested board: Check out our shop.