Skip to main content

A Python library for interfacing with the ST3215 smart servo.

Project description

Python-ST3215

wakatime 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

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.0.0.tar.gz (401.9 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.0.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

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

Hashes for python_st3215-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e775945488795215e8d8068db6235720a074560ffcb059437e82c041d8716161
MD5 a51c84165c812686758cff6c9974b2f7
BLAKE2b-256 374558c16ed18cea2117a682d7991e64abbf2d316ac22668a5915c204df9b374

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_st3215-1.0.0.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.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

Hashes for python_st3215-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79ded0bf0480a2bf826f3b263b634d129b0fa2224d334d56d87e1a694d7692e1
MD5 976f45e045821f79e070434d9c671fab
BLAKE2b-256 68f84b1d3b51da062e6fb3520985433f8b0e901ad4152135775d3e29e0a71011

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_st3215-1.0.0-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