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
USB to RS485 Serial Converter

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.0.tar.gz (407.4 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.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_st3215-1.2.0.tar.gz
  • Upload date:
  • Size: 407.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for python_st3215-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d305f8f7baaafdcb2604c7c89052762f733ea4e0cffa31aa89b084eabe3d69fa
MD5 af4eaf9ee4d6a3236b010dc6782d86cf
BLAKE2b-256 32b6293953fa4c8e2a9c74af56f0a34d2a93b184faccadef4d0d54e0f3618eec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_st3215-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for python_st3215-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c21f5c7a0884de4521265229b9db5816e8e600bcb0e5e23884d56fa22ae7afe
MD5 ffd1db51eb47202adbacc82639bc4f5d
BLAKE2b-256 42445026cc749d92e23bbbac0d8a1ab7a765ea36554ac7faa6288ba3a06558db

See more details on using hashes here.

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