BLDC Motor Driver
Assembled PCB


This is a three phase brushless motor driver board based on the ST L6234PD driver IC. It consists of 3 high power half-bridges that can output up to 5A peak, or 4A continuous (depending on heatsink). It has been designed with a large copper ground plane on the bottom that functions as a heatsink. If the driver IC heatsinking requirements can not be met by the copper layer alone, the bottom of the board could be fastened to an external heatsink. There is circuitry on board to amplify the winding current, and for sensing the back EMF voltage to assist in commutation.

Note that this driver does not work standalone, and requires a microcontroller to at least output 3 PWM signals, and 3 enable signals, in the proper sequence to make the motor run.


  • 3 half bridge drive channels
  • 4A continuous, 5A peak output current
  • Input voltage range: 7-14V (limited by the voltage of the input capacitors)
  • Back EMF sense, and reference resistor dividers
  • Very low ESR capacitors are used on the power supply rail to handle the high ripple current that is to be expected when driving a high current motor
  • Winding current sense resistor, with amplifier to boost the output signal
  • Optional current recirculating diodes to increase efficiency
  • ESD protection on all microcontroller I/Os
  • Driver die has good thermal coupling to PCB copper layers (this may make hand soldering of the driver IC very difficult)
  • 0.200" screw terminal block, or 0.156" Molex headers for high current connections
  • Test points for most signals of interest

Project Status

  • Circuit boards were ordered from Seeedstudio in China, and they look great.
  • A LPC2368 ARM7 microcontroller evaluation board was ordered from micro4you in Thailand. This company is fine to deal with, but shipping took a really long time.
  • Assembly of the first board has been completed. The board was soldered in a reflow oven at a client's site.
  • The board has been powered up, and has been used to drive a number of different BLDC motors, and so far, everything works as expected.
  • For the moment, the commutation has been implemented without any feedback, and just run open loop. It is unknown as to whether or not the current monitoring, or back EMF monitoring will work as intended.

As the software and testing proceeds, there may be some changes to various component values. This site will be updated when there is something to add.


For starters, you might find this datasheet useful to describe the operation of the driver IC used: L6234 Three Phase Motor Driver datasheet

The source archive for the current PCB and schematic revision can be found here: BLDC Motor Driver

The schematic was drawn using OrCAD 10.5, and the PCB was done in P-CAD 2006. This may make it difficult for others to edit the files, but gerber files are provided in the source archive so that one can have boards manufactured. Also included in the archive are schematic and PCB plots in PDF format, and a bill of materials file so that there is enough information to be able to populate a board.

Here are some screen captures of the schematic and PCB layout (with links to PDF files):

Top of PCB
Bottom of PCB

Bill Of Materials

Item Qty Reference Description
1 8 C1, C3, C8, C11, C12, C14, C15, C16 10n 10% 50V X7R 0805 Ceramic Capacitor
2 1 C2 1u0 10% 25V X7R 0805 Ceramic Capacitor
3 5 C4, C6, C7, C9, C13 100n 10% 50V X7R 0805 Ceramic Capacitor
4 2 C5, C10 100u 16V Aluminum Polymer Electrolytic Capacitor (Nippon Chemi-Con APXE160ARA101MF80G, Wurth 875105344010, or Nichicon RSA1C101MCN1GS)
5 4 D1, D3, D5, D8 MMBZ15VALT1 15V SOT23 Zener Diode
6 1 D2 MMBD7000LT1 SOT23 Diode
7 3 D4, D6, D7 MBRS540T3 5A 40V SMC Schottky Diode (optional)
8 1 HD1 MKDSN 1.5/2-5.08 or AMP 282837-2 (use only one of HD1, or HD3)
9 1 HD2 2x7 SMT Header (or through hole) (Samtec HTST-107-01-L-DV or HTST-107-01-L-DV-A)
10 1 HD3 MOLEX 26-60-4020 (use only one of HD1, or HD3)
11 1 HD4 MOLEX 26-60-4030 (use only one of HD4, or HD5)
12 1 HD5 MKDSN 1.5/3-5.08 or AMP 282837-3 (use only one of HD4, or HD5)
13 10 R1, R2, R3, R5, R6, R7, R19, R20, R21, R22 10K0 1% 1/8W 0805 Thick Film Resistor
14 5 R4, R11, R23, R24, R25 30K1 1% 1/8W 0805 Thick Film Resistor
15 9 R8, R9, R10, R12, R13, R14, R15, R16, R17 1K00 1% 1/8W 0805 Thick Film Resistor
16 1 R18 0R02 1% 3W 2512 Metal Film Resistor (Bourns CRA2512-FZ-R020ELF)
17 15 TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP13, TP14, TP15 Test Point (not used)
18 1 U1 L6234PD PowerSO20 Three Phase Motor Driver
19 1 U2 TLV271ID SO8 Single Op Amp



Pin 7 on HD2 is now connected to +Vin, rather than ground like in the previous versions. This allows a microcontroller board to be powered from HD2, rather than requiring it to be connected to the power supply elsewhere.

Source: BLDC Motor Driver


Corrects the labels for Ph1, and Ph3 which were interchanged on the V1.00 PCB silkscreen layers.

Source: BLDC Motor Driver


Initial release. Note that the labels for Ph1, and Ph3 are interchanged on the PCB silkscreen layers. The schematic labeling is correct. This has been corrected on V1.01 PCBs.

Source: BLDC Motor Driver

Other References

A good example of how to drive this board using an Arduino can be found at Berryjam. Many thanks to the author for linking to this reference design.

Here is another really good instructable on driving a hard drive BLDC motor with the L6234PD driver: BLDC Motor Control with Arduino, salvaged HD motor, and Hall Sensors.


I sell on Tindie

I usually try to keep bare PCBs, and/or assembled boards in stock, and they can be found in my Tindie store. If I happen to be out of stock, you can add your name to the wait list, and I'll get started on another batch.



If this project has been useful to you, I would encourage you to make a donation. This will give me incentive to keep this updated, and to make changes.

CC88x31.png BLDC Motor Driver by Michael Anton is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial 3.0 License