Myztrion is a modern Python toolkit for USB/Serial communication with Myztrion devices. It converts low-level packets into structured reports, supports async/sync callback dispatching, and enables practical control workflows for GPIO, PWM, ADC acquisition, and stepper motor motion. Built for makers and engineers who want a clean, reliable bridge between Python tooling and embedded hardware control.
Project description
Myztrion (organized)
Myztrion is a combined host-and-firmware project designed to make it easy to control an RP2040/Pico-based device from a computer using Python, while keeping the embedded firmware clean and maintainable. The repository is organized to clearly separate the Python “host” side (tools that run on your PC) from the C firmware that runs on the microcontroller, and to provide runnable examples that demonstrate typical workflows.
The overall goal is fast iteration: you can build and flash firmware, then immediately validate behavior from Python with repeatable scripts. This structure also supports packaging the Python host library for distribution (e.g., via pip), while keeping firmware development independent.
Repository structure
-
myztrion/python/
Python host library. This includes the main entry module (for exampleMyztrion.py) plus helper modules that implement the USB/Serial backend and any parsing/utilities required for communication. This is the code you import from your own Python scripts. -
myztrion/firmware/
C firmware sources for RP2040/Pico. This contains the Pico SDK project (CMake files, sources, headers, and any build scripts) that compiles into a UF2/ELF. This side defines the device protocol and the reports/commands the Python host will use. -
examples/python/
Example scripts intended to be run directly. These demonstrate basic connectivity, as well as specific features like GPIO sequencing, PWM usage, ADC sampling (including optional plotting workflows), and stepper control. The examples are also a convenient way to confirm that your environment is set up correctly.
Running examples
From the repository root, you can run any example script directly. For example:
python3 examples/python/hello_world_myztrion.py
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 myztrion-0.1.2.tar.gz.
File metadata
- Download URL: myztrion-0.1.2.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8373bc17cdeb83625abb176f3e1b81222a27e64d081d1151c50632599a725aa
|
|
| MD5 |
7fb224005dd5fd05e7cf494e95aef2a7
|
|
| BLAKE2b-256 |
e9b089c25d1cd0d96e8242361cec6508af61ff44eae2fe477eee99ad69f34e7f
|
File details
Details for the file myztrion-0.1.2-py3-none-any.whl.
File metadata
- Download URL: myztrion-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d947cd1535a556cfdc4f7976b839195f93d82a9247d8c30896faf67a18c89275
|
|
| MD5 |
7c6c15a90d85b1ea1dc4a46a1486a5f8
|
|
| BLAKE2b-256 |
fb118a02276fb78456084b63e390c59b6a84701664eb6eb8938a70a7d827fb78
|