Arduino Motor Controller
If you are in search of a versatile and efficient way to control motor and automated systems with Arduino, you’ve come to the right place.
SOLO Motor Controllers Arduino Library supported by All SOLO Motor Controller is a Simple-To-Use, Completed and Maintained library for managing motors and actuators using Arduino and Arduino-Like products.

EASY Install
SOLO Motor Controllers Arduino Library is Open Source, present on GitHub, and is possible to install it directly in the Arduino IDE
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)
UART Wiring Examples


CANOpen Wiring Examples
SOLO UNO Wiring:

SOLO MINI Wiring:

Important Note for ARDUINO UNO users
NOTE 1: Whenever you want to program your ARDUINO UNO board through the ARDUINO IDE, YOU need to disconnect the UART_RX of ARDUINO UNO, by not doing this, you might get some errors in ARDUINO IDE during uploading the code.
( In ARDUINO UNO, there is only 1 line of UART which is shared between the UART to USB convertor of the ARDUINO board itself which is also used for flashing the ARDUINO UNO board as well. To know more, read this post on the ARDUINO website. )
NOTE 2: For Arduinos rated at +5V, to have a consistent start-up while Arduino is connected to SOLO, you need to make sure that the +5V output of SOLO is also connected to the +5V of Arduino
(Arduino might disturbe SOLO during boot-up stages due to over-current drained from TX and RX lines.)
Code Example
Here are some examples. You can check the Repo/Examples or the Documentation or a complete Hello World Tutorial to better know SoloPy
In the example Arduino is connected to the Motor Controller using the UART pins and GND.
In the example, ARDUINO is connected to the Motor Controller with a CANOpen Shield.
You can also open library examples directly in the Arduino IDE:

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.
SOLO Motor Controllers Arduino Library is a single library that contains UART and CANopen capabilities.
Read more here.
ARDUINO Articles
How to Drive Fast Drone or RC car Brushless Motors using ARDUINO and SOLO in Sensorless Mode up to 30,000 RPM
In this article, we are going to demonstrate how you can use SOLO’s ARDUINO Library to control the speed of a BLDC motor with 4150KV which will reach up to 30000RPM by applying 10V as the Battery or BUS voltage. In this example Closed-loop sensorless control will be...
Position control of a Brushless Motor with Arduino and SOLO [+ Arduino Code]
In this article we are going to control the position of a Brushless DC or Permanent Magnet Synchronous Motor using SOLO with Arduino and more specifically using SOLO’s Arduino Library , in another word, we are turning SOLO into a precise servo drive to interface and...
Speed and Torque Control of a Brushless Motor with Hall sensors using Arduino and SOLO [+ Arduino Code]
In this article we are going to talk about how to control Torque and then Speed of a Brushless motor of any kind from BLDC, PMSM or Coreless EC brushless motors using Hall sensors as their rotor position feedback precisely and efficiently, we are also going to use a...