Summary of Spining BLDC motors at super Slow speeds with Arduino and L6234
This article warns that high-speed BLDC driving needs rotor position sensing (back-EMF or Hall sensors) and shares resources for basic BLDC control with Arduino. The author used an L6234 triple half-bridge IC but cautions about burning Arduinos or the L6234 if power sequencing and inputs are mishandled. They recommend using protected driver boards (Michael Anton design) and studying provided tutorials and instructables.
Parts used in the Spining BLDC motors at super Slow speeds with Arduino and L6234:
- Arduino (microcontroller)
- BLDC motor (salvaged hard drive motor example)
- L6234 triple half-bridge IC
- MOSFET transistors (alternative option)
- Input protecting resistors
- Zener diodes
- Power supply and filtering components
- Back-EMF sensing circuit with amplifier (optional, on driver board)
First of all You won’t find here any information on high speed BLDC motor driving. For that purpose You need to know rotor’s position, so You have to measure back-EMF or use Hall sensors (not needed here).
For basic info about driving BLDC motors here is best “classic” articles on internets:
Driving a three-phase brushless DC motor with Arduino – Part 1. Theory
Driving a three-phase brushless DC motor with Arduino – Part 2. Circuit and Software
http://www.instructables.com/id/BLDC-Motor-Control-with-Arduino-salvaged-HD-motor/
I used specialized triple half bridge IC L6234 (~ 8$). You can make the same spending less money (but more time) with MOSFET transistors or other IC.
But be careful, I found a lot of cases in various forums, where people burned their Arduinos or L6234 chips.
ATTENTION
If You connect L6234 INputs directly to Arduino and OUTputs to low impedance motor – current from Arduino pins will be driven directly through L6234 to the windings and to the ground (without external Vs power applied to L6234). This makes very good chance to burn Your lovely microprocessor.
Also in application note, one sentence is worth to mention – “To avoid overload of the logic INPUTS and ENABLES, voltage should be applied to Vs prior to the logic signal inputs.”
I also very recommend to study (or/and purchase) this open hardware driver board based on L6234 BLDC Motor Driver by Michael Anton. It has input protecting resistors, zeners, power supply/filtering components and even back-EMF sensing circuit with amplifier (not used here).
For More Detail:Spining BLDC motors at super Slow speeds with Arduino and L6234
- Do I need rotor position sensing for high speed BLDC motor driving?
Yes, you need to know rotor position via back-EMF measurement or Hall sensors for high speed BLDC driving. - Can I drive a BLDC motor without Hall sensors?
Yes, by measuring back-EMF you can drive a BLDC motor without Hall sensors as stated in the article. - What driver IC did the author use?
The author used the L6234 triple half-bridge IC. - Can I use MOSFETs instead of the L6234?
Yes, you can use MOSFET transistors or other ICs to build the same functionality, potentially spending less money but more time. - What is the risk of connecting L6234 inputs directly to Arduino without proper power sequencing?
Current can be driven from Arduino pins through L6234 to the motor windings and ground without external Vs, which can burn the microcontroller or the L6234. - What power sequencing precaution does the article mention?
The application note advises to apply Vs power prior to applying logic signal inputs to avoid overload of logic inputs and enables. - Does the recommended driver board include protections?
Yes, the Michael Anton driver board based on L6234 includes input protecting resistors, zeners, power supply/filtering components, and a back-EMF sensing amplifier. - Are there tutorial resources recommended for BLDC driving with Arduino?
Yes, the article links to two-part articles Driving a three-phase brushless DC motor with Arduino (Theory and Circuit/Software) and an Instructables BLDC Motor Control with Arduino.

