Skip to main content

A Python library for interfacing with the ST3215 smart servo.

Project description

Python-ST3215

PyPI Version Python Versions License Downloads Issues

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
Waveshare 25514 Bus Servo Adapter (A)

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_st3215-1.2.1.tar.gz (411.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_st3215-1.2.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file python_st3215-1.2.1.tar.gz.

File metadata

  • Download URL: python_st3215-1.2.1.tar.gz
  • Upload date:
  • Size: 411.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for python_st3215-1.2.1.tar.gz
Algorithm Hash digest
SHA256 42c7fba520a39fbade9990ba1f2cbf25f2d94f037ee1b66e1c5e18b71193acb8
MD5 216bb448dcc098ada7ea369b90ebc971
BLAKE2b-256 8084272f1d3b7802862eba199cc9ea02a43c1d3da375c4d82e781bf0bdf068a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_st3215-1.2.1.tar.gz:

Publisher: release.yml on alessiodam/python-st3215

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_st3215-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: python_st3215-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for python_st3215-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6275540045ef159677d576dac0dc82c4a1d3f3653659ee7fda68b70b7199672e
MD5 f34ce99fbce462b05fa474f3b179929c
BLAKE2b-256 1e1f65bf821728de71412775401d8dc36dc45e4430f34b843e1cd03cab365789

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_st3215-1.2.1-py3-none-any.whl:

Publisher: release.yml on alessiodam/python-st3215

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page