A PYTHON Library for Controlling Motors using SOLO Motor Controllers with RASPBERRY PI, Linux, windows, and more!

Overview

Repository License

SoloPy

SoloPy is a library of SOLO Motor Controllers write in PYTHON compatible also with RASPBERRY PI. It can be used with UART line of RASPBERRY PI or any similar controller to control, command or read all the parameters that are stored or existing in command set of SOLO. More information about it on the SOLO website.

How To Use

Please make sure you have installed Python

Install Solopy From Pip .. code-block:

$ pip install solopy

For List of All the Available Methods Read the DataSheet

Configuring UART on Raspberry Pi

In Raspberry Pi, enter following command in Terminal window to enable UART:: .. code-block:

$ sudo raspi-config
  1. Select -> Interfacing Options
  2. After selecting Interfacing option, select Serial option to enable UART
  3. Then it will ask for login shell to be accessible over Serial, select No shown as follows.
  4. At the end, it will ask for enabling Hardware Serial port, select Yes,
  5. Finally, our UART is enabled for Serial Communication on RX and TX pin of Raspberry Pi 3.
  6. Then, reboot the Raspberry Pi.

Communication within USB

  1. Connect Solo to Raspberry Pi or Pc
  2. Open terminal in linux(cmd in windows) & enter the following command
  3. python -m serial.tools.list_ports -v
  4. get the port name that solo is connected to (in linux it's sth like '/dev/ttyAMC0' and in windows it's sth like 'COM8'

Dependencies

Python 3 pyserial

Testing Examples

To test the examples in Raspberry Pi you might need to put the example files within the "src" folder to be able to compile them The installation of "pyserial" is mandatory, to install that .. code-block:

$ sudo apt-get install python-serial

Authors

SoloPy is created by SOLO Motor Controllers team

License

GNU General Public License v3.0 or later

See COPYING to see the full text.

You might also like...
a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico
a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico

pico_ws2812b a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico You'll first need to save the ws2812b.py file to your device (for

Designed a system that can efficiently sort recyclables and transfer them to corresponding bins using Python, a Raspberry Pi, and Quanser Labs.
Designed a system that can efficiently sort recyclables and transfer them to corresponding bins using Python, a Raspberry Pi, and Quanser Labs.

System for Sorting and Recycling Containers - Project 3 Table of contents Overview The challenge Screenshot My process Built with Code snippets What I

A python library written for the raspberry pi.

A python package for using certain components on the raspberry pi.

A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost.
A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost.

distance sensor cube timer A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost. How to

Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Collector and Shelly EM.
Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Collector and Shelly EM.

raspberry-solar-mon Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Coll

KIRI - Keyboard Interception, Remapping, and Injection using Raspberry Pi as an HID Proxy.

KIRI - Keyboard Interception, Remapping and Injection using Raspberry Pi as a HID Proxy. Near limitless abilities for a keyboard warrior. Features Sim

Using a raspberry pi, we listen to the coffee machine and count the number of coffee consumption
Using a raspberry pi, we listen to the coffee machine and count the number of coffee consumption

A typical datarootsian consumes high-quality fresh coffee in their office environment. The board of dataroots had a very critical decision by the end of 2021-Q2 regarding coffee consumption.

A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

raspberry pi servo control using pca9685

RPi_servo-control_pca9685 raspberry pi 180° servo control using pca9685 Requirements Requires you to have the adafruit servokit library installed You

Comments
  • using brushed DC with Raspberry Pi

    using brushed DC with Raspberry Pi

    Hi,

    Short: I would like to use the SoloUno together with my Raspberry Pi to control a brushed DC motor and control its speed. Will there be an example for this in the future? If not, how would I approach it best to parse the Arduino example?

    Long: So far, the only example I found that comes close to this is here where an Arduino is used and a potentiometer as input. However I am using a raspberry pi and do not need a potentiometer. Looking at the code for brushless control I have seen that motor_type = 1 stands for BLDC_PMSM. Which number would then be for a brushed DC or where can I find the code documentation? Apart from that the functions would be the same for BLCD and brushed DC right? Only the Piano-Switch setting is different?

    Also: When I started the SoloUno with Piano switches 1,2,4,5 Down my brushed DC starts to run immediately and continously. After trying out the brushless examples (I wanted to see what happens using them on the brushed DC). The motor stutters a lot and sometimes runs smoothly. I assume this depends on which of the 3 phases would be selected, since the brushed dc is only connected to 2. If I exit the example, the behaviour continues. So am I assuming right, that the last "action" is saved? Why does then the brushed dc automatically run if I switch on the SoloUno the first time?

    Thanks a lot!

    opened by CajKos 3
  • name 'solo' is not defined

    name 'solo' is not defined

    Hi,

    I am just getting started with the Solo Uno and wired it to my Raspberry Pi 4. I did the installation procedure as documented on the github but when I want to test the examples I am getting the error as shown:

    Traceback (most recent call last): File "reading_temperature.py", line 38, in <module> do_work() File "reading_temperature.py", line 34, in do_work __setup() File "reading_temperature.py", line 29, in __setup __solo_driver = solo.SoloMotorController(__solo_address) NameError: name 'solo' is not defined

    I also wired a brushed dc motor to the solo and my piano settings are all DOWN except for switch 3. The motor is then continuously running.

    Thanks for any help!

    opened by CajKos 2
Event-based hardware simulation framework

An event-based multi-device simulation framework providing configuration and orchestration of complex multi-device simulations.

Diamond Light Source Controls Group 3 Feb 01, 2022
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano. This project utilizes deep learning neural network framework Keras/Tensorflow, together with computer vision library OpenCV

1 Dec 08, 2021
Micropython-wifimanager-esp8266 - Simple Wifi Manager for ESP8266 using MicroPython

micropython-wifimanager-esp8266 Simple Wifi Manager for ESP8266 using MicroPytho

Abhinuv Nitin Pitale 1 Jan 04, 2022
Micropython automatic watering

micropython-automatic-watering micropython automatic watering his code was developed to be used with nodemcu esp8266, but can be modified to work with

1 Nov 24, 2021
Red Light Green Light Robot

Red Light Green Light Robot The primary problem addressed by our project is robotic follower behavior i.e. maintaining distance from a moving target.

Will Romano 2 Nov 20, 2021
The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry )

shredder-Machine-Hand-Safety The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry ) . The Basic function of

Shubham Chaudhari 1 Nov 15, 2021
Simple Weather Check base on Hefeng api, Work on raspberry Pi

Simple Weather Check base on Hefeng api, Work on raspberry Pi

Retr0mous 28 Sep 17, 2022
Used python functional programming to make this Ai assistant

Python-based-AI-Assistant I have used python functional programming to make this Ai assistant. Inspiration of project : we have seen in our daily life

Durgesh Kumar 2 Dec 26, 2021
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
Hook and simulate global mouse events in pure Python

mouse Take full control of your mouse with this small Python library. Hook global events, register hotkeys, simulate mouse movement and clicks, and mu

BoppreH 722 Dec 31, 2022
Simple python3 implementation of microKanren with lots of type annotations for clarity

MicroKanren-py This is (yet another) python implementation of microKanren. It's a reasonably 1:1 translation of the code provided in the paper, but ev

Erik Derohanian 3 Dec 10, 2022
EuroPi: A reprogrammable Eurorack project based on the Raspberry Pi Pico

EuroPi The EuroPi is a fully user reprogrammable module based on the Raspberry Pi Pico, which allows users to process inputs and controls to produce o

Allen Synthesis 218 Jan 01, 2023
A Python script to monitor the latest block on an LCD.

PiHole-Monitoring A Python script to monitor the latest block on a lcd display. The first number represents the dns queries from the last 24h, the sec

Maxi 4 Dec 05, 2022
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
Provide Unifi device info via api to Home Assistant that will give ap sensors

Unifi AP Device info Provide Unifi device info via api to Home Assistant that will give ap sensors

12 Jan 07, 2023
A python project based on a TV show Wheel of Fortune

Wheel-of-Fortune-using-Python Wheel of Fortune in python this game is the hands-on project in Python 3 Programming Specialization offered By Universit

Eszter Pai 1 Jan 03, 2022
Toy robot that traverses on a finite surface

Toy Robot Challenge - Release Notes November 12, 2021 New features Initialisation - Users can set the home position and heading of the robot. Position

Ze Fei Teo 0 Feb 03, 2022
A Fast, Easy, and User Friendly way to control Robotics Actuators.

T-Motor Controller A Fast, Easy, and User Friendly way to control Robotics Actuators. View Demo · Report Bug · Request Feature Table of Contents About

26 Aug 23, 2022
My 500 LED xmas tree

xmastree2020 This repository contains the code used for Matt's Christmas tree, as featured in "I wired my tree with 500 LED lights and calculated thei

Stand-up Maths 581 Jan 07, 2023