A Python library for interfacing with the ST3215 smart servo.
Project description
Python-ST3215
Python-ST3215 is a lightweight and intuitive Python library for communicating with ST3215 Smart Servos over a serial bus. It provides a high-level interface for reading and writing servo parameters, controlling motion, and working with the servo memory map.
Features
- Simple API for controlling ST3215 servos
- High-level wrapper for movement and parameter access
- Helpful exceptions for robust applications
- Fully typed and documented through docstrings
- Tested against Waveshare ST3215 hardware
Installation
Install via pip:
pip install python-st3215
Quick Start
from python_st3215 import ST3215, ServoNotRespondingError
controller = ST3215("/dev/ttyUSB0")
try:
servo = controller.wrap_servo(1)
print("Current location:", servo.sram.read_current_location())
except ServoNotRespondingError:
print("Servo not responding")
finally:
controller.close()
Examples
A collection of example scripts is available in the examples/ directory.
These cover tasks such as motion control, serial communication tests, reading/writing parameters, and more.
Documentation
The library is fully documented through docstrings. Hover over classes and functions in your editor to see type hints, parameter descriptions, and usage notes.
Hardware Compatibility
| Brand | SKU | Product |
|---|---|---|
| Waveshare | 22414 | ST3215 Series Serial Bus Servo |
Memory Table
The complete memory map is documented in MEMORY_TABLE.md.
License
This project is licensed under the GPL-3.0-or-later license.
See the LICENSE file for full details.
Supporting the Project
If this library has been useful to you, consider supporting its development: https://ko-fi.com/alessiodam
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_st3215-1.0.0.tar.gz.
File metadata
- Download URL: python_st3215-1.0.0.tar.gz
- Upload date:
- Size: 401.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e775945488795215e8d8068db6235720a074560ffcb059437e82c041d8716161
|
|
| MD5 |
a51c84165c812686758cff6c9974b2f7
|
|
| BLAKE2b-256 |
374558c16ed18cea2117a682d7991e64abbf2d316ac22668a5915c204df9b374
|
Provenance
The following attestation bundles were made for python_st3215-1.0.0.tar.gz:
Publisher:
release.yml on alessiodam/python-st3215
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_st3215-1.0.0.tar.gz -
Subject digest:
e775945488795215e8d8068db6235720a074560ffcb059437e82c041d8716161 - Sigstore transparency entry: 727620603
- Sigstore integration time:
-
Permalink:
alessiodam/python-st3215@38e6bc96f041d189c25d2e5414158a8d093b9020 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/alessiodam
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@38e6bc96f041d189c25d2e5414158a8d093b9020 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_st3215-1.0.0-py3-none-any.whl.
File metadata
- Download URL: python_st3215-1.0.0-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79ded0bf0480a2bf826f3b263b634d129b0fa2224d334d56d87e1a694d7692e1
|
|
| MD5 |
976f45e045821f79e070434d9c671fab
|
|
| BLAKE2b-256 |
68f84b1d3b51da062e6fb3520985433f8b0e901ad4152135775d3e29e0a71011
|
Provenance
The following attestation bundles were made for python_st3215-1.0.0-py3-none-any.whl:
Publisher:
release.yml on alessiodam/python-st3215
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_st3215-1.0.0-py3-none-any.whl -
Subject digest:
79ded0bf0480a2bf826f3b263b634d129b0fa2224d334d56d87e1a694d7692e1 - Sigstore transparency entry: 727620615
- Sigstore integration time:
-
Permalink:
alessiodam/python-st3215@38e6bc96f041d189c25d2e5414158a8d093b9020 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/alessiodam
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@38e6bc96f041d189c25d2e5414158a8d093b9020 -
Trigger Event:
push
-
Statement type: