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
LedFx is a network based LED effect controller with support for advanced real-time audio effects

Welcome to LedFx ✨ -Making music come alive! LedFx website: https://ledfx.app/ What is LedFx? What LedFx offers is the ability to take audio input, an

786 Jan 02, 2023
A python script for Homeassistant that counts down the days to birthdays, anniversaries etc

Date Countdown A python script for Homeassistant that counts down the days to birthdays, anniversaries etc Important note I no longer use homeassistan

Marc Forth 21 Mar 12, 2022
Connect a TeslaMate instance to Home Assistant, using MQTT

TeslaBuddy Connect a TeslaMate instance to Home Assistant, using MQTT. It allows basic control of your Tesla vehicle via Home Assistant (currently, ju

4 May 23, 2022
Hardware: CTWingSKIT_BC28 Development Toolkit

IoT Portal Monitor Tools hardware: CTWingSKIT_BC28 Development Toolkit serial port driver: ST-LINK hardware development environment: Keli 5 MDK IoT pl

Fengming Zhang 1 Nov 07, 2021
My self-hosting infrastructure, fully automated from empty disk to operating services

Khue's Homelab Current status: ALPHA This project utilizes Infrastructure as Code to automate provisioning, operating, and updating self-hosted servic

Khue Doan 6.4k Dec 31, 2022
Quasi-static control of the centroid of quadruped robot

Quasi-static control of quadruped robot   This is a demo of the quasi-static controller for the centroid of the quadruped robot. The Quadratic Program

Junwen Cui 21 Dec 12, 2022
Technical Answers to Real-World Problems. Evolution of Watering Manually to Watering Automatically.

Automatic Watering System using Soil Moisture Sensor and RTC Timer with Arduino Technical Answers to Real-World Problems Know the plant, Grow the plan

NelakurthiSudheer 3 Jan 03, 2022
OPNsense integration with Home Assistant

hass-opnsense Join OPNsense with home-assistant! hass-opnsense uses the built-in xmlrpc service of OPNsense for all interactions. This project is curr

Travis Glenn Hansen 54 Jan 03, 2023
New armachat based on Raspberry Pi PICO an Circuitpython code

Armachat-circuitpython New Armachat based on Raspberry Pi PICO an Circuitpython code Software working features: send message with header and store to

Peter Misenko 44 Dec 24, 2022
Like htop (CPU and memory usage), but for your case LEDs. 😄

Like htop (CPU and memory usage), but for your case LEDs. 😄

Derek Anderson 3 Dec 08, 2021
Volkswagen ID component for Home Assistant

Volkswagen ID component for Home Assistant This folder contains both a generic Python 3 library for the Volkswagen ID API and a component for Home Ass

55 Jan 07, 2023
Brogrammer-keyboard - FIrmware for the Brogrammer Keyboard v1.0

Brogrammer Keyboard Firmware The package contains the firmware that runs on the Brogrammer Keyboard v1.0 See https://imgur.com/a/oY5QZ14 This keyboard

Devin Hartleben 1 Apr 21, 2022
FERM: A Framework for Efficient Robotic Manipulation

Framework for Efficient Robotic Manipulation FERM is a framework that enables robots to learn tasks within an hour of real time training.

Ruihan (Philip) Zhao 111 Dec 31, 2022
Simple Microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi

REST-light is a simple microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi. The main usage is an easy integration of 433M

Pascal Höhnel 1 Jan 09, 2022
3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

Ben Bartlett 2.3k Dec 30, 2022
ModbusTCP2MQTT - Sungrow & SMA Solar Inverter addon for Home Assistant

ModbusTCP2MQTT Sungrow & SMA Solar Inverter addon for Home Assistant This addon will connect directly to your Inverter using Modbus TCP. Support model

Teny Smart 40 Dec 21, 2022
A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.

Env-MCRO A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler. (btw this image is a bit outdated, some of the silkscreen

EnviousData 68 Oct 14, 2022
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 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
ok-system-helper是一个简单的系统硬件的实时信息收集工具,使用python3.x开发

ok-system-helper ok-system-helper是一个简单的系统硬件的实时信息收集工具,使用python3.x开发,支持哪些硬件:CPU、内存、SWAP、磁盘、网卡流量。用户可在自己的项目中直接引入、开箱即用,或者结合flask等web框架轻松做成http接口供前端调用,亦可通过注

xlvchao 1 Feb 08, 2022