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

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

python_st3215-0.0.1.tar.gz (399.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-0.0.1-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for python_st3215-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e176b581b7c6aaf226405e3f6b5b3bbdd1558c218db2e502d0dcd95f217b4cf2
MD5 1c88cc526bc4c471ca2083342f8a545b
BLAKE2b-256 8a8a8fe7a2c9a1855ebd31876c694a611f62ddf9318c1424e57a5d235e5532a6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for python_st3215-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a89fa19bf2bd0f6d3e5e5e448dfeea9ee7f5f181164fe66760fe00f9d1efa1
MD5 30ae5c456d7bc2abdee7cc38bb8d3a80
BLAKE2b-256 148a227698951743f707f24952d2da4cd8d83bf40223ec11714cff5dda5635ce

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