Powerful Brushless DC Motor Driver/Controller

High Voltage/Current, BLDC or PMSM Motor, Sensored or Sensorless, Micro Computer Based Driver/Controller

Similar projects worth following
The Power PACks are tri phase BLDC or PMSM motor drivers based on the powerful PAC52xx ASIC integrating most of the circuitry required to easily drive trip phase motors through most typical commutation algorithms. Different Power PACks have been implemented to drive motor applications running anywhere in between 8V and 600V bus voltages. By sizing the external FETs, extremely high currents can be achieved. Power output can range from low wattage to over 1 KW, with the high power rating being the norm. Power PACks are efficient, powerful, robust and reliable. They can be used on multi rotor vessels, power tools, robotic platforms, etc.

The Power  PACks are modules designed around the PAC52xx family of devices and are all meant to drive motors of different topologies, sizes and algorithm styles. All of these modules are very similar in construction, albeit there are different variants, designers can take advantage from.

For example, you could design an application to work with 12V DC, or one to work with 120V DC. Needless to say, the implementation would be different as it would need to accommodate for the different voltages. In the same fashion, any given application may work flawlessly with a small current such as 5A RMS, whereas a larger one may require currents in the many dozens of amps, with incursions into the 100A range. Again, choosing the components carefully on a per application basis will yield expected results.

With that being said, all of these applications block diagrams will look nearly identical! You will see a PAC52xx Microcontroller/Pre Drive power stage device. This device will drive the six FETs which form the three phase inverter. At the bottom of the tri phase inverter, you will have one or three SENSE resistors which the PAC52xx will use to gather motor current information. Also, each phase output will have a voltage divider the PAC52xx will use to gather BEMF voltage information. With these currents and voltages, the microcontroller will run a piece of FW which will then decode the motor rotor's position and cause the required commutation.

Other than the MCU, power FETs and current SENSE Shunts, you will need a small number of passive components such as resistors, capacitors and diodes. These are used to provide coupling to internally generated rails (VP, VSYS, V3P3, VCCIO, and V1P8 ceramic capacitors), filter the different analog signals (AIOxy ceramic caps and resistors), protect the pre drive power stage from negative voltages (DRS diodes and resistors), limit gate current (gate drive resistors and diodes), apply bootstrap voltages (DRB diodes and ceramic capacitors), a power resistor for the VP to VSYS LDO (REGO resistor), and the Buck converter components (diodes, a cheap NPN transistors, an inductor, resistors and caps), etc.

Pretty much everything else is included INSIDE of the PAC52xx device! That is the microcontroller, the program memory, the ADC, the linear regulators, the Buck Converter, the Differential Amplifiers, the BEMF comparators, the multiplexers, the wake up controller, the Pre Drive Stage, which in essence is all you need to drive your 3 phase BLDC or PMSM motor! Well, of course the other missing component is the code, but that also goes inside...

It has never been easier to drive a 3 phase Brushless DC motor!


Brain23 is the MCU board for PAC5223 based PowerPACk modules. Brain23 offers access to UART communications, SWD programming/debug, potentiometer interface and Hall Sensor interface. It matches with any power FET board, such as the PowerPACk23_FETs_PMSM or the PowerPACk23_FETs_HB

Adobe Portable Document Format - 328.68 kB - 05/04/2018 at 13:16



TO247 based Power PACk designed to mesh with the Brain32 controller module. Contains the Power FETs, SENSE resistors, gate drive resistors, phase output voltage dividers, and power connectors.

Adobe Portable Document Format - 245.53 kB - 05/04/2018 at 12:56



Brain32 is the MCU board for PAC5232 based PowerPACk modules. Brain32 offers access to UART communications, SWD programming/debug, potentiometer interface and Hall Sensor interface. It matches with any power FET board, such as the TO247_PACK or TO220_PACK

Adobe Portable Document Format - 436.13 kB - 05/04/2018 at 12:48



Stand alone tri phase BLDC motor driver. Intended for small power tools with as much as 20V nominal voltage. 40V Abs Max. 15A RMS (300W or less).

Adobe Portable Document Format - 374.23 kB - 05/04/2018 at 01:14


  • 1 × PAC5223 or PAC5232 32 bit ARM Cortex M0 MCU with 32 KB of Flash, 8 KB of RAM, 3 differential amplifiers, 3 BEMF comparators, 12V Buck Converter, 5V Buck or LDO converter, 3.3V, 1.8V regulators, ADC, etc.
  • 6 × Power FETs Varied power FETs are utilized to form the power stage. These need to be chosen for the application voltage and current.
  • 1 × SENSE resistor Either one or three low ohm power resistors used to measure the current.

  • Driving a Dual Brushed DC Motor Robot Platform

    Jose I Quinones06/03/2018 at 23:34 0 comments

    Since the Hackaday Robotics challenge is about designing a module which can be used in a robotic application, in this video I show a way in which you can use one of the PowerPACks to drive a dual Brushed DC Motor robotic platform. Now, this may seem weird as what I have been selling the PowerPACks for is driving tri phase BLDC Motors. Yet, just because that was its main intention does not mean this is its only fashion in which they can be used. In fact, that is the beauty behind these modules! Since they are basically a microcontroller on steroids, you can use the module for pretty much anything you can think of.

    What I explain on this video is that you can use one of the three Half H Bridges to drive two of the Brushed DC Motor terminals from each motor unit. Then, the other two Half H Bridges are used to drive the other side of each motor independently. What this amounts to electrically, is that both motors have a shared terminal and an independent terminal. If I apply 50% duty cycle at the shared terminals, then both motors see half of the input voltage on these terminals. I can then apply anything in between 0% and 100% on the independent terminals and what the motors will see is negative voltages and positive voltages of different magnitudes, which in turn means I can control both speed and direction on a per motor basis.

    If you think about it, this is a way to control two motors with less than two Half H Bridges. So you save on two power FETs. However, do note you will lose on voltage magnitude as now each motor can only see half of the available voltage. Whereas this may seem as a disadvantage, it is actually a plus if you think of using 6V DC motors with a 12V battery! BAM! You have just created a step down voltage supply intrinsic to the motor driver!

    You also lose a little resolution as the PWM duty cycle is used for both direction and speed. Had you used a full H Bridge, you would have had the full swing of voltage on a per direction basis.

    Nonetheless, for the majority of applications this may be OK.

    The resultant is a module which could be in charge of driving both of your motors. You could then use an Arduino or any other computing platform to control the motor driver module. This way, the robot's brain would not have to worry about motor control and driving.

  • Powering It All Up!

    Jose I Quinones06/03/2018 at 17:29 0 comments

    All of this high power BLDC motor driver talk is far past useless if you don't have a decent power source. And to be honest, this is one of the areas where we kind of have what we need, but at the same time we don't! Allow me to explain...

    When we removed the brushes, this was kind of a quantum leap in DC motor performance. But it is not just that the motor efficiency improved, it is also that now we can build far much more capable motors. The lack of brushes and its inherent friction allowed motors to go faster! So somebody came up and said "Hey! Now we can build drones that fly really fast!" And somebody else said "And we can also make way better power tools!"

    This is all great and fancy, but these motors moving way faster and pushing larger loads must also mean higher power levels! So PowerPACks solves the problem of a driver capable of supplying that ridiculous high power to the motor. But where does said power comes from in the first place???

    In the following video I detail a few techniques which can be used to power up your PowerPACks. I talk about switching and regulated power supplies, as well as batteries, as power sources. They are all great for driving these motors, but something I have noticed in the past few months is that we are still lacking some power sources which I believe will have to materialize on the years to come. That is a topic for a different video and a different entry, but rest assured I will bring back the topic of 48V motors at 1800W power levels. Who is going to power up that one???

  • Power Up Schemes

    Jose I Quinones06/02/2018 at 18:53 0 comments

    Since PowerPACk is in essence an embedded system, these modules require a series of voltage regulators to power up all of the internal blocks. For example, logic may work with 5V or 3.3V. The CPU core needs 1.8V. The Pre Drive stage needs 12V to drive MOSFETs or 15V to drive IGBTs. The analog needs 3.3V to power up the external analog circuits Z(i.e. potentiometers, thermistors, etc.) and 2.5V as reference. So a good question is, which voltage regulators and analog blocks were chosen on these designs? None! And that is because all of the regulators required are included within the PAC52xx device!

    Take for example the PowerPACk23 which uses a Buck Converter (Step Down DC/DC converter) to operate with voltages as high as 70V. It generates 12V (Known as VP), which is then used to generate 5V (Known as VSYS). This 5V rail then is used to generate the MCU Core voltage of 1.8V (Known as V1P8 or VCore), the 3.3V rail for analog circuitry (known as V3P3) and the 5V or 3.3V rail for GPIO's (Known as VCCIO). Of course some components are required to form the DC/DC converter, and some decoupling caps for rail, but that is extremely typical and expected. In other words, these are components you would need anyway even if you had implemented all of these rails with external semiconductor devices such as LDO's and DC/DC switcher chips.

    The following diagram shows a typical DC/DC Converter implementation around the PAC52xx family of devices.

    Another way in which you can power up the device is through what you can call an inductor less Buck Converter. This is in essence an LDO and you can see it being used within the Toolio PowerPACk design. In this case, we have a circuit which can operate with 18V to 20V batteries, and an Abs Max of 40V. The idea is to save a little bit on cost but mostly on space, as the inductor based Buck is rather bulky. But if your application runs on a 16V to 20V battery, what is the use of a 70V solution?

    The following diagram shows a typical inductor less implementation:

    Yet you could something similar with just an LDO as shown below:

    And, in the event your battery voltage and application can guarantee voltages smaller than 20V, you can skip all of the aforementioned solutions and use what we call Direct Drive, which is nothing else than the battery connected directly to VP, and having all of the internal rails being derived as detailed before. Be aware, that although this implementation has been used for small motors and low voltage applications, the 20V Abs Max is quite the limit!

    The following diagram shows a Direct Drive to VP power connection:

  • Boards In Action

    Jose I Quinones06/02/2018 at 16:07 0 comments

    On this video I do a quick introduction to some of the Power PACk boards and how they can drive a small aerial vehicle motor. In this case, the motor was taken to 2600 Hz at 26V and 3.3A or so, which is in the 85W worth of input power. How much power was transformed into mechanical power would need to be measured, but BLDC based systems have very decent efficiencies, so most of these electrical 85W should have been transferred into the mechanical power side of things. Again, this needs to be validated with a measurement before I can swear by it.

    As I discuss on the video, platforms like these are scalable. This means that by selecting different power FETs and different input voltages, you could devise a system capable of far higher power densities. In my personal experiments, I have observed 500W with not much of an effort (albeit a different PAC52xx device). I am aware that the PAC52xx family of devices have been employed in applications pushing more than 1000W. That is more than 1 HP! Of course, a motor driver capable of supplying 1 KW will be much beefier than the modules I show on this video, but the availability is within the family of devices!

  • Power FETs

    Jose I Quinones05/08/2018 at 10:36 0 comments

    5/8/2018 Log #2 Power FETs

    There might be a question for why do we need to use expensive, bulky and seemingly obnoxious external Power FETs. Well, if you want to deal with POWERful motors, and POWERful drives, rest assured the ONLY way, is with external FETs. Maybe when they come up with superconductors at room temperature will we be able to do high power H Bridges and Inverters in an integrated package. As it is today, however, if you want anything higher than 50W to 100W, there is no economical or practical way to package this in a small integrated driver.

    Some of the applications we are dealing with here will source dozens of amps CONTINUOUSLY! This is not a "Yay! I saw a 20A pulse with a duration of 17 ns!" kind of deal. Oh no! This is more like "I will be pushing 20A to 30A for 5 minutes straight! And oh by the way, some of the spikes will be in the hundreds of Amps..."

    I tell  you, the only way is external FETs and with that come all other bunch of issues which must be dealt with. That is why it is so important to have the proper circuitry capable of dealing with all of these issues, and if  you can package it all in a single device, even better! Here are some of the topics in question:

    1. The Pre Drive Stage. Although FETs can be turned on with TTL logic levels, this voltage is not enough to drive the FETs in an efficient manner. Ideally, you have a circuit which allows you to fully drive a FET ON so you can minimize its RDSON.
    2. Gate Drive Current. A FET will require a rather large current for a very small amount of time (in the few nanoseconds range). This is because the FET's gate is a capacitor. And also, because we want to turn the FET ON as soon as possible. The only way to overcome the FETs input capacitance is with a large current. Hence, we need the gate drive to have large current capabilities so we can both turn the FET ON and OFF at high speeds.
    3. High Side Driving. To form a Half H bridge you need a low side FET and a high side FET. The Low Side FET is the easy one to drive as you can use a low voltage with respect to GND to enable it. However, the high side FET can't benefit from this, as its source is floating. Traditionally, a P Channel FET would have been used, but P Channel FETs are expensive and not as common as N Channel FETs. We really want to use N Channel FETs due to cost constraints. The only way then, is to add some sort of circuitry which can generate the higher voltage to drive the high side FET gate.
    4. Dead Time. Whenever you have two FETs in series as in with a Half H bridge, it is of uttermost importance that a mechanism is put in place to ensure both of them are not enable at the same time. Having both FETs turn ON at the same time is quite catastrophic and we refer to this blunder as Shoot-Through. This is because for all practical purposes you have a short from the positive to the negative terminal, which as you can imagine can result in quite some large currents! Needless to say, shoot through will also result in the driver's destruction. Hence it's importance to limit at all costs. The solution is what is known as Dead Time insertion which is nothing else than a small delay in which we ensure the FET which was previously ON remains OFF before we enable the subsequent FET.

    All of this circuitry can be implemented with discrete components or you could find packaged within a single device. With PAC52xx, it is merely one of the many included blocks. PAC52xx contains a Pre Drive stage suitable for driving the FET gates with 12V (15V for IGBT's). Depending on the device, the FET will see up to 2A worth of sink/source current to turn the FET ON and OFF as soon as possible. A Bootstrap topology gives us the ability to use N Channel FETs on both low and high side positions, which in turn provide cost savings and makes the system more robust thanks to RDSON optimization. And an internal and fully programmable dead time generator protects our application from deadly...

    Read more »

  • First Design Pics

    Jose I Quinones05/07/2018 at 00:29 4 comments

    5/3/2018 Log #1

    Today I present some pictures of some of the driver modules I have come to refer to as PowerPACks. In essence, PAC means Power Application Controller, and I must say this is an Active-Semi Inc's Trade Mark. I call my modules PowerPACks because they pack a heck of a lot of POWER for their size! And of course, they are PAC52xx based. Wordplay at its best...

    On the pictures I loaded today, you can see four different modules. Do note the two on the left are made of a single board (standalone versions), whereas the two on the right are made of two boards (modular versions).

    You can drive pretty much any motor topology you can think of. Brushed, tri phase BLDC or PMSM, tri phase steppers, and I am thinking of a way to even drive bipolar steppers! All you need to do is change the FW and VOILA!

    There is also provisions to deal with pretty much any voltage range from 8V to 600V! At the moment, however, all of the existing modules can deal with anything in between 8V and 160V. I am not a big fan of 600V, but the device capable of handling these potentials has been available for many years! (Namely the PAC5250 or PAC5253).

    I will start loading schematics and posting videos on how to use these modules. They can be employed on robotic projects, automation, power tools and pretty much anywhere where a high power motor is required.

View all 6 project logs

Enjoy this project?



Jose I Quinones wrote 05/04/2018 at 01:19 point

The PAC52xx devices are mega awesome! The best thing they have to offer is that they pack all of the circuitry you need to drive a tri phase inverter for controlling tri phase bldc motors. That is, they include all of the power rails, differential amplifiers, comparators, ADC, pre drive stage to drive external FETs, etc. On top of that, there is an ARM Cortex M0 MCU with 32 KB of Flash and 8 KB of RAM which permits pretty much any algorithm to be implemented. I will soon post videos on how these modules operate. 

  Are you sure? yes | no

Gravis wrote 05/03/2018 at 00:36 point

Wow, these are neat chips!  Perhaps the best feature is the detailed datasheet and user manual that they provide for it.  Looking forward to this project!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates