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
Raspberry Pi Brushless Motor Position Control using SOLO and Incremental Encoders [+ Code]
When it comes to controlling the Position of a Brushless DC (BLDC) or a Permanent Magnet Synchronous Motor (PMSM) that are also known as BLAC using Raspberry Pi, you will need a Motor controller like SOLO that can deal with High powers injection into the Motors...