Python Motor Controller
If you are in search of a versatile and efficient way to control motor and automated systems with Python, you’ve come to the right place.
SoloPy supported by All SOLO Motor Controller is a Simple-To-Use, Vast and Maintained library for managing motors and actuators using the powerful Python programming language.

Windows OS
Versatile connectivity options on the Windows OS using USB, UART.
Linux OS
Versatile connectivity options on the Linux like OS using USB, UART, or CANopen protocols through the CANable interface. [Soon CANable tutorial]
Raspberry Pi
Versatile connectivity options on Raspberry Pi using USB, UART, or CANopen protocols through the CANable interface or CAN shield
Install SOLOPY
Pip command in the terminal:
python -m pip install SoloPy
Pip command in the terminal:
pip install SoloPy
Pip command in the terminal:
pip install SoloPy
SET-UP
There are several opportunities on how to connect your system to your desired SOLO Motor controller.
Alternatives:
- USB port
- UART pins (TX,RX, GND)
- CAN pins (CH, CL, GND)
Code Example
Here are some examples. You can check the Repo/Examples or the Documentation to better know SoloPy
In the example PC is connected to the Motor Controller with a USB data cable.
In the example PC is connected to the Motor Controller with a USB data cable.
In the example Raspberry Pi UART (TX, RX) and GND pins are connected to the UART (RX, TX) and GND pins of the Motor Controller.
In the example Raspberry Pi Module CAN (CH, CL) and GND pins are connected to the CAN (CH, CL) and GND pins of the Motor Controller
The following CAN transceiver module “PiCAN2” has been used to test the Example
Canopen support

For demanding and industry-standard applications, the library supports the CANopen protocol, which can be used as a communication protocol, it’s as simple as the UART communication with extremely few differences, in short, the protocol is much stronger compared to UART, able to support high-intensity communication, under harsh conditions with superior error handling, and networking capabilities.
SoloPy is a single library that contains SERIAL/UART and CANopen capabilities.
SOLOPY Articles
Simplest way to control a Fast Brushless Motor with Raspberry Pi using SOLO [+ Code]
Controlling a brushless motor with Raspberry Pi can get very challenging especially when you want to do advanced controls like FOC on a fast brushless motor that can go all the way up to 30,000 mechanical RPM which is very fast, to look at this problem from...
The Easiest way to control the Torque of a BLDC with Raspberry Pi using SOLO with Hall sensors feedback [+ Code]
To control the Torque of a BLDC or PMSM motor that is equipped with HALL sensors, you need to have a Motor controller like SOLO, that has the capability of delivering High powers to the motor and at the same time, it’s smart enough to take care of stabilizing the...
Speed Controlling of BLDC with Raspberry Pi and SOLO using HALL Sensors [+ Code]
To control the Speed of a BLDC motor with Raspberry Pi as you might know, you will need a Motor Controller that can manage enough electrical power to spin an electrical motor as well as being smart enough to control the motor and resist against the physical...