Brushless Motor Controller Shield For Arduino

Open-source BLDC motor driver

Brushless motors are ubiquitous in RC applications and robotics, but are usually driven with low-cost motor controllers that have to be controlled with RC-style PWM signals and don’t allow for much customization. While there are a couple of open-source brushless drivers already available, [neuromancer2701] created his own brushless motor controller on an Arduino shield.

[neuromancer2701]’s shield is a sensorless design, which means it uses the back-EMF of the motor for feedback rather than hall effect sensors mounted on the motor. It may seem strange to leave those sensors unused but this allows for less expensive sensorless motors to work with the system. It also uses discrete FETs instead of integrated driver ICs, similar to other designs we have covered. Although he is still working on the back-EMF sensing in his firmware, the shield successfully drives a motor in open-loop mode.

The motor controller is commanded over the Arduino’s serial interface, and will support a serial interface to ROS (Robot Operating System) in the future. This shield could be a good alternative to hobby RC controllers for robots that need a customizable open-source motor controller. The PCB design and source code are available on GitHub.

 

19 thoughts on “Brushless Motor Controller Shield For Arduino

  1. The popular SimonK open firmware for 3-phase BLDC controllers also supports serial. Additionally this mod: https://github.com/balrog-kun/tgy implements I2C control with controllable spin direction, RPM feedback, and voltage + temperature feedback if the hardware has appropriate resistors (as do the cheap AfroESC boards)

    1. Maybe I am not seeing the connect, but this appears to be an integrated controller. That way you don’t have to worry about an extra external controller… At which point there’s not too much of a need for a library.

      1. Andrew’s point is correct. Why do this if you can get extremely cheap brushless ESCs going up to 100amps or more from HK, reflash with SimonK and plug it into your choice of uC.
        For the fun of it is valid, I suppose.

        1. Well, in my case, I will need a BLDC controller that can fit into an unusual form factor. Maybe if there were more schematic-only ESCs I’d be set?

        2. Maybe to get a different control interface or a greater amount of control? I get the impression the R/C ones only read a PWM signal for controlling speed. Granted, I don’t know a lot about that market.

          1. No, as mentioned they also read serial (if available) and can be controlled through I2C which gives you a little more control (motor reversing, etc.)

  2. Isn’t there a phone friendly link for a schematic?! I can’t devote hours to getting on a pc every day to read hackaday stuff that is buried in a file system, in a zip, in a file system.

Leave a Reply to Charles LohrCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.