Skip to main content

pyskyrc

Pure-Python control and telemetry for SkyRC Q200neo / T1000 chargers via USB HID and Bluetooth LE.

Reverse-engineered from the official Charge Master 1.55.E207 protocol. No Charge Master or SkyRC app required.

Features

  • Two transports — USB HID and BLE with the same Python API.
  • 4 ports — A / B / C / D, each with independent telemetry.
  • Live cells — 6 × cell voltage, temperature, total V, delta.
  • Full control — START / STOP charge with full parameter set.
  • All chemistries — LiPo, LiIo, LiFe, LiHV, NiMH, NiCd, Pb.
  • Auto-discovery (BLE) — finds the charger by service UUID.
  • MAC cache — fast reconnect after first successful session.
  • Interactive shell — one connection, many commands.
  • Pure Python — only bleak needed for BLE; USB has no deps.

Install

pip install pyskyrc
pip install pyskyrc[ble]
pip install pyskyrc[ble,dev]

CLI

USB

pyskyrc info
pyskyrc status
pyskyrc monitor
pyskyrc start B --chem LiPo --cells 6 --current 2.0
pyskyrc stop B

BLE

pyskyrc --transport ble scan
pyskyrc --transport ble status
pyskyrc --transport ble start B --chem LiPo --cells 6 --current 2.0
pyskyrc --transport ble stop B

Interactive shell

pyskyrc --transport ble shell

Then inside the shell:

pyskyrc> status
pyskyrc> start B --chem LiPo --cells 6 --current 2.0
pyskyrc> monitor
pyskyrc> stop B
pyskyrc> exit

Python API

from pyskyrc import (
    SkyRCCharger, ChargeParameters, Port, Chemistry, LiMode,
)

with SkyRCCharger(transport="usb") as charger:
    for port, info in charger.read_telemetry().items():
        if info.has_battery:
            print(port.name, info.total_v, info.temperature_c)

    params = ChargeParameters(
        chemistry=Chemistry.LiPo,
        cells=6,
        mode=LiMode.BALANCE_CHARGE,
        charge_current_a=2.0,
    )
    charger.start_charge(Port.B, params)
    charger.stop_charge(Port.B)

For BLE, replace transport="usb" with transport="ble".

Protocol

Full protocol documentation is in docs/protocol.md.

Safety

This library controls a real charger with real current. You are responsible for choosing a chemistry and cell count that match your battery, choosing safe currents, and not leaving charging unattended.

License

MIT — see LICENSE.

Author

Andreev Ivan — 2026

Metadata

Release files for pyskyrc 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyskyrc 0.2.0
File Size Uploaded
pyskyrc-0.2.0.tar.gz 25.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyskyrc 0.2.0
File Interpreter ABI Platform
pyskyrc-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.8 kB

Release files / pyskyrc-0.2.0.tar.gz

Download URL pyskyrc-0.2.0.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
469e012ac1db575fbcbae1c42b6e826abd2c1b3865453a0b0481d2959e6e2902
BLAKE2b-256 checksum
How to use checksums
e6923ccc7f81e4abdff5477a601c71bec759565de93cd510982cc66657396050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / pyskyrc-0.2.0-py3-none-any.whl

Download URL pyskyrc-0.2.0-py3-none-any.whl
Size 25.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7f7552705045c4af98383fba7ec6dacad7035b98305ac819614af651777c111
BLAKE2b-256 checksum
How to use checksums
c703a38694eb1234340c4e27393483e8c2884ebffd2b9253b8f23dbe54a19398
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page