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
Vvim - Keyboardless Vim interactions

This is done via a hardware glove that the user wears. The glove detects the finger's positions and translates them into key presses. It's currently a work in progress.

Boyd Kane 8 Nov 17, 2022
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
OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick

OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick. It can handle being the brains of your entire stick, or just handling the bells and wh

Sleep Unit 23 Nov 24, 2022
A script for performing OTA update over BLE on ESP32

A script for performing OTA update over BLE on ESP32

Felix Biego 18 Dec 15, 2022
Python library to interact with the GCE Electronics IPX800 device

A python library to control a GCE-Electronics IPX800 V4 device through its API.

Marc-Aurèle Brothier 2 Oct 20, 2021
Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms.

Robo Arm :: Rigging Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms. It construct serial links(a kind

2 Nov 18, 2021
Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Hirokazu Ishida 12 Nov 19, 2022
Raspberry Pi & Accelerometer with Losant's EEA

Raspberry Pi & Accelerometer with Losant's EEA This is a repository that contains companion code to this EEA How To guide. Each folder is named accord

Losant 1 Oct 29, 2021
Cow Feeder is a bot automatically execute trade on cowswap

Cow Feeder is a bot automatically execute trade on cowswap, includes functions: Monitoring Ethereum network gas price and execute trade whe

6 Apr 20, 2022
Count the number of people around you 👨‍👨‍👦 by monitoring wifi signals 📡 .

howmanypeoplearearound Count the number of people around you 👨‍👨‍👦 by monitoring wifi signals 📡 . howmanypeoplearearound calculates the number of

Zack 6.7k Jan 07, 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
Baseline model for Augmented Home Assistant

Dataset Preparation Step 1. Rename the Virtual-Home output directory to 'vh.[name]', for example: 'vh.door' Make sure the directory contains 100+ fram

Stanford HCI 1 Aug 24, 2022
An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython

PycOS An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython. "PycOS" is an combination of the

8 Oct 06, 2022
This is an incredible led matrix simulation using the ultimate mosaik co-simulation framework.

This project uses the mosaik co-simulation framework, developed by the brilliant developers at the high-ranked Offis institue for computer science, Oldenburg, Germany, to simulate multidimensional LE

Felix 1 Jan 28, 2022
Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation

🤖 RoboCop 🤖 Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation Made by Clemente Donoso, 📍 Chile 🇨🇱 RoboCop Lateral Fron

Clemente Donoso Krauss 2 Jan 04, 2022
BMP180 sensor driver for Home Assistant used in Raspberry Pi

BMP180 sensor driver for Home Assistant used in Raspberry Pi Custom component BMP180 sensor for Home Assistant. Copy the content of this directory to

747Developments 1 Dec 17, 2021
hardware design of the 250mm drone

hardware design of the 250mm drone

ZJU FAST Lab 645 Dec 25, 2022
a weather application for the raspberry pi and the Pimorioni Inky pHAT.

raspi-weather a weather application for the raspberry pi and the Inky pHAT

Derek Caelin 59 Oct 24, 2022
Trajectory optimization package for Mini-Pupper robot

Trajectory optimization package for Mini-Pupper robot Purpose of this repository is to provide low-torque and low-impact trajectory for Mini-Pupper qu

Sotaro Katayama 38 Aug 17, 2022
Интеграция Home Assistant с ЛК "Интер РАО"

ЕЛК ЖКХ «Интер РАО» для Home Assistant Предоставление информации о текущем состоянии ваших аккаунтов в ЕЛК ЖКХ. Введение @ TODO @ Установка Посредство

Alexander Ryazanov 27 Nov 05, 2022