Top 5 Open Source Projects to Design MVP of Your Motor Control Solution

When creating an MVP or minimum viable product for the electronics market, everyone wants to save money and time. The smartest way to do this is to use open source solutions, customising them to your needs. And MVP for motor control systems for industrial automation and robotics is no exception. In this article, we will review the best open source projects available for this area: STMBL, ODrive, VESK, EDDP, and open design of frequency inverter for motor control.

 

Advantages of Open Source Motor Control Solutions

The term "open source" refers not only to software development but also to hardware solutions. The essence of this concept is that anyone can use open source code or specifications for hardware platforms to design their own solutions, such as programs and electronic devices. 

Open source projects have advantages that make them the optimum solution for MVP design:

  • Budget and time-saving. The features you need are often already implemented as a free and affordable open source solution in whole or in part. That means that your costs will be limited to the time and budget for the refinement of the ready-made solution.
  • Flexibility. You can customise open-source hardware and software to meet the needs of your project.
  • Support. Engineers involved in open source projects can join a community around the solution. And you can use their support and expert opinion.

 

Open Source Projects for Motor Control Design

We have chosen five projects that, in our opinion, are quite well implemented and can serve as a good basis for creating motor control solutions.

STMBL

Website: https://github.com/rene-dev/stmbl

STMBL is an open-source implementation of a servo driver. It is designed for the modernization of numerically controlled machines and robots. It supports industrial AC and DC servo drives. The product is finished, it went through 4 revisions. As a result, the control algorithms, tuning system, and data channels were implemented for this servo controller. 

The project team went further and wrote special software for control systems. However, at the moment STMBL does not have sensorless vector control (FOC).

Hardware platform component of the STMBL project, version 4.1. Photo: github.com

 

ODrive

Website: https://odriverobotics.com/

The ODrive positions itself as a motor control board based on the STM32 microcontroller. It can use either BLDC motors (brushless DC electric motor) or PMSM (permanent magnet synchronous motor).

The ODrive hardware platform for motor control design. Photo: odriverobotics.com

BLDC motors and PMSM are similar, but each has its own characteristics. Here are the characteristics of BLDC:

  • simple 6-step control, the constant current required;
  • commutation torque ripple;
  • Hall sensors are used (optional);
  • low cost and performance.

PMSM is often used in servo drives with a built-in encoder. They have more complex control with three-phase sine wave PWM and there is no commutation torque ripple. PMSM has higher torque than BLDC motors. And performance and cost are also higher.

To sum up, if we compare these two types of motors in terms of basic parameters, we get the following table:

Criteria

BLDC 

PMSM

Cost 

Lower

Higher

Perfomance

Lower

Higher

Torque

Lower

Higher

Commutation torque ripple

Yes

No

Control

6-step, DC current required

3-phase, with SVPWM (Space Vector Pulse Width Modulation)

For more details, see the table in A Study on Industrial Motor Drives Comparison and Applications of PMSM and BLDC Motor Drives.

ODrive has top-level software for motor control systems and can set acceleration, braking, and other control parameters. 

The good thing about this project is that it is available on GitHub, and debugging is easy to order from China. 

Hardware for ODrive is available for sale in the project online shop: they have boards, dual shaft motors, encoders, a high-speed 3D printer VzBoT, high-speed servo motors and others. Another advantage is the large support community and constant new developments within this project. 

Also, the ODrive team implemented sensorless vector control solutions — FOC for BLDC motors and PMSM. They use sensorless control of surface-mount permanent-magnet synchronous motors based on a nonlinear observer.

 

VESC

Website: https://vesc-project.com/

VESC software is used to work with the hardware of different capacities: from the lowest to the highest. 

The project hardware is based on the STM32 controller and supports the PMSM and BLDC servomotors.

A 3D model of the VESC hardware platform. Photo: github.com

This VESC project fully implements the mathematics of field-oriented control. There is a sensorless FOC implementation for BLDC/PMSM.

 

EDDP

Website: https://github.com/Xilinx/IIoT-EDDP

EDDP, a joint project of Trenz Electronics and AMD (Xilinx), is an implementation of FOC PMSM/BLDC on the Zynq 7010/7020 FPGA. 

The EDDP motor control kit includes its own motor and power supplies. Photo: trenz-electronic.de

Within the project, FPGA-based functional blocks have been developed: Inverse Park, Clarke, Inverse Clarke, and PI controllers. The EDDP solution also includes free C++ implementation of a sensor-oriented FOC algorithm. 

The project is available on GitHub, so you can see its implementation on the FPGA. 

The only noticeable disadvantage is that EDDP doesn't have a built-in block to implement a server driver. But if you add another block of PI controller for positioning by angle, the result is a servo driver. 

 

Open Design of Variable Frequency Drive for Motor Control

Website: https://github.com/Indemsys/Frequency_Inverter

This open-source variable frequency drive project is based on the MK60FN1M0VLQ12 microcontroller from NXP. 

The control board of the open source variable frequency drive project. Photo: github.com.

The variable frequency drive in this project is compact and consists of three boards:

  1. A control board with a microcontroller and interface.
  2. A bus board with power supply and capacitor units.
  3. A power board with an IGBT module, power inputs, current meters, EMI filter.

The hardware part is fully implemented: power blocks for key control, power supply unit, and controller unit.

The frequency converter control is implemented in scalar mode. ACIM support for V/f (volt-frequency control mode) is implemented. This format is suitable for solutions where there will be a stable load and rated motor speed in the main cycle.

 

Conclusion

Here are the key parameters of all five open source projects for motor control solutions that we reviewed in this article:

 

 STMBL

ODrive

VESC

EDDP

Open design of frequency inverter for motor control

Website / Availability on GitHub

GitHub

Website, GitHub

Website, GitHub

GitHub

GitHub

Support for ACIM, PMSM and BLDC motors

PMSM, BLDC, ACIM 

PMSM, BLDC

PMSM, BLDC

PMSM, BLDC

ACIM, PMSM 

Sensorless vector control (FOC)

Available for BLDC/PMSM

Available for BLDC/PMSM

Using the library for PMSM

Hardware platform

STM32F3/STM32F4

STM32F4

STM32F4

AMD (Xilinx) Zynq 7010/7020

Based on the MK60FN1M0VLQ12 MCU by NXP

Main advantage

Servo drive

Sensorless FOC for BLDC/PSM, community, software configuration

Sensorless FOC for BLDC/PSM, community, software configuration

FPGA solution

Variable frequency drive (VFD)

Community

Yes

Yes

Yes

Yes

Yes

 

Working on projects for our clients, we have studied and tested all five presented platforms for motor control. We have seen from our own experience: with all the limitations and necessary modifications, ready-made platforms significantly reduce the time for MVP design, which means that they save the most important resource at the stage of creating the first working prototypes of your future device. 

If you are currently working on an MVP with motor control and you need engineering support, feel free to contact us! Our engineers will help you to choose the best open-source platform for your project and finalise the necessary components for the first version of your minimum viable product for industrial automation and robotics.

Need engineering support for your motor control project?

Drop us a line about your project! We will contact you today or the next business day. All submitted information will be kept confidential.