SimpleFOCShield V2.0.3

Arduino SimpleFOCShiled is a low-cost, modular and user-friendly alternative for running gimbal BLDC motors with FOC algorithm.


BLDC motors and especially gimbal motors can be used as a high quality replacement for the regular hobby motors, such as DC servos and stepper motors. FOC controlled gimbal motors enable high precision positioning, very smooth operation and highly responsive and dynamical behaviour.
But, proper low-cost and low-power true FOC supporting boards are still very hard to find today and even may not exist.
Therefore the goal of this board is to provide a modular and simple setup for controlling gimbal motors (up to 120W) using the true FOC control and enable fast prototyping and full exploitation of their capabilities.

This board in combination with the SimpleFOClibrary will give you a simple and intuitive way to control the BLDC motors' current, torque, velocity and position.

Powered by


  • Plug & play

    Using SimpleFOClibrary and any gimbal motor.
  • Stackable

    Stackable 2 shields (2 BLDC motors + 2 position sensors)
  • Configurable pinout

    Customise the pins used by the board.
  • Encoder Pull-Ups

    Integrated configurable 3KOhm Encoder pull-ups
  • 8V Voltage regulator

    Integrated configurable 5V voltage regulator L78M08
  • I2C communication Pull-Ups

    Integrated configurable 4.7KOhm SDA/SCL pull-ups
  • Open-Source

    Schematics and fabrication files fully available on github.
  • Arduino Headers

    Compatible for stacking: Arduino UNO/Mega, Arduino DUE and stm32 Nucleo
  • Max Power 120W

    Max current 5A, Power supply 12-24V.
  • Current sensing

    Two phase in-line current sensing - up to 5A bidirectional
  • BEWARE 📢 : SimpleFOCShield is designed for gimbal motors

    SimpleFOCShield has been designed for gimbals motors with internal resistance around 10 Ohms. Using this board with high-power drone motors may burn the L6234 chip integrated on the board. The chip can handle up to 5Amps of current for short periods of time, but in for long-term operation (without the heat-sink) the current should stay under 2 Amps.
    - It is possible to use this board with low resistance motors but it requires a bit of experience and it is not recommended for beginners. Ask community about it!
  • BEWARE 📢 : Field Oriented Control processing requirements

    The true field oriented control with current sensing requires considerably higher processing capabilities than sinusoidal commutation approach (foc without current). Typically the required current control frequency is in the range of 10kHz. Therefore in order to have a great current control performance using this board we suggest to use stm32 boards such as Nucleo-64 boards,esp32 based boards, Arduino DUE, Teesny boards and similar higher performance microcontrollers. This board will work with Arduino UNO as well but the performance of current sensing may not be good enough for some applications.
    - But it is important to note that all the functionalities of the SimpleFOCShield v1 are included in this board as well and you will still be able to control any Gimbal motor to the very high degree even with the Arduino UNO and similar atmega328 based chips, but the real-time current control might be limited.
    Ask community about it!

What can I do with this board?

Possible applications range all the way from simply substituting a servo motor in your project, over the high precision motion control of camera gimbals all the way to the highly dynamical applications such as robotics.

This board can also be a cool platform for student projects, to make experiments such as ball and plate, inverted pendulums, segways, inertia wheels and similar. These setups are usually very expensive and hard to calibrate and design.

Project examples

Reaction Wheel Inverted Pendulum

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

  • Arduino UNO using SimpleFOClibrary and SimpleFOCShield
  • All CAD designs available for modification and STL files provided
  • State-space LQR controller
  • Very simple to assemble, configure and setup.

Haptic control example

Project link

This video demonstrates SimpleFOClibrary support for Arduino SimpleFOCShield and using multiple motors with Arduino UNO. The project examples are based on bidirectional haptic control.


The aim of the SimpleFOClibrary and SimpleFOCShiled is to demystify the FOC algorithm and to provide the community a simple way to use this powerful algorithm in their projects. Therefore this board is completely open source and fully documented. If you are interested in manufacturing this board on your own, make sure to check the board fabrication documentation section. Don't hesitate to contact me if you have any suggestions or need any more details about the board!,