On this page
Arduino SimpleFOCShield v3.2
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
Features
- Plug & play: In combination with Arduino SimpleFOClibrary - github
- Low-cost: Price of 15-30€ - Check the pricing
- In-line current sensing: Up to 5Amps bidirectional
- ACS712 hall current sensor
- Integrated 8V regulator:
- Enable/disable by soldering pads
- Absolute max ratings - Designed for Gimbal motors with the internal resistance >10 Ωs.
- Max current: 3A,
- Max input voltage: 35V
- 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 designed in EasyEDA: EasyEDA project 🎉
- Fully available fabrication files - how to make it yourself
New Features of the version v3.x
- Transition away from stm’s L6234 chip to DRV8313, which is much more available
- Transition form TI’s INA240 current amps to Allegro’s ACS712 hall sensors
- Smaller footprint: 56mm x 53mm
- Fault and reset pins exposed (optional)
- Fault led indication
- Designed completely in EasyEDA, which is a free online PCB design tool - Official Easy EDA project
BEWARE
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.
Board version comparison
Feature | SimpleFOCShield v1.x | SimpleFOCShield v2.x | SimpleFOCShield v3.x |
---|---|---|---|
PWM Driver | L6234 | L6234 | DRV8313 |
Current Sense | ❌ | INA240 | ACS712 |
Current measurement range | ❌ | (configurable) ±3.3/5Amps | ±5Amps |
Onboard LDO | ❌ | LM7808 | LM7808 |
Max current | 2Amps (5Amp peak) | 2Amps (5Amp peak) | 2Amps (3Amp peak) |
Max voltage | 24V | 35V | 35V |
Protections | Overtemperature | Overtemperature | Overtemperature, Overcurrent |
Stackable | ✔️ | ✔️ | ✔️ |
I2C pullups | ✔️ | ✔️ | ✔️ |
Encoder pullups | ✔️ | ✔️ | ✔️ |
Footprint | 68mm x 53 mm | 68mm x 53 mm | 56mm x 53mm |
Design tool | Altium Designer 2019 | Altium Designer 2019 | EasyEDA |
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.