Skip to main content

OpenShock Auto-Flasher Ask DeepWiki

PyPI - Version PyPI - Python Version PyPI - Implementation PyPI - Types

Tests GitHub License

Automatically flash OpenShock hubs as they are plugged in, verify firmware checksums, and optionally test their WiFi AP and RF transmitter. Terminal colors show progress and pass/fail results.

Install

Requires Python 3.12+, pipx, and a USB connection to your hub. Runs on Linux, macOS, and Windows.

pipx install --force 'git+https://github.com/NanashiTheNameless/OpenShock-AutoFlasher@main'

For PyPI or source installation, see the advanced guide.

Flash hubs

Start with hubs disconnected, run the command, then plug in a hub:

OPSH-AutoFlash --board Wemos-D1-Mini-ESP32

The flasher processes each newly connected hub and waits for the next one. Press Ctrl+C to stop. Replace the board name with yours; list available boards with:

OPSH-AutoFlash --help

Add --erase to clear flash first, --alert for a completion beep, or --channel beta to use beta firmware.

Test WiFi and RF

  • WiFi: the host computer scans for the hub's exact OpenShock-XX:XX:XX:XX:XX:XX AP using its WiFi adapter. Scanning supports Linux, Windows, and macOS. See platform requirements for WiFi services and permissions.
  • RF: prepare a separate USB tester with a 433 MHz receiver running CaiXianlinRemoteIDMonitor. Follow the tester setup guide.

Start the command with hubs disconnected. Plug the tester in first, wait for RF tester detected ...; reserved for testing., then connect hubs one at a time. Close other serial monitors before testing.

Erase, flash, test, and factory-reset each hub:

OPSH-AutoFlash --board Wemos-D1-Mini-ESP32 --erase --alert \
  --test-wifi --test-rf --factory-reset-after-test

Factory reset clears saved hub settings after testing, whether tests pass or fail. Omit --factory-reset-after-test to keep the settings after testing.

Test existing firmware without flashing:

OPSH-AutoFlash --board Wemos-D1-Mini-ESP32 --test-only --test-wifi --test-rf

No hub port is required: test-only mode detects newly connected hubs and continues after each result. Enable either WiFi or RF alone by omitting the other test flag. RF testing checks Beep, Vibrate, and Stop with different IDs; Light and Shock are not transmitted. Results appear in the terminal.

To process one already-connected hub and exit, add --port /dev/ttyUSB1 (or a Windows port such as COM3). For an explicit tester port, use --test-rf-port /dev/ttyUSB0 instead of --test-rf; the hub and tester must use separate ports.

Session report

One dark-mode HTML file records every hub attempt in the session, including MAC address, USB serial number when available, flash status, and detailed test results. The file is updated throughout the run, and its path is printed at startup. Use --report batch.html to choose a filename, or --no-report to disable it. See report details.

More information

See README-advanced.md for all flags, firmware versions, custom pins, WiFi scanning, RF validation, Linux permissions, troubleshooting, and development instructions.

For contributions, see CONTRIBUTING.md. Report vulnerabilities using SECURITY.md.

License

Licensed under GNU AGPL-3.0.

Disclaimer

This tool is provided as-is. Use at your own risk. Always ensure you have backups of any important configurations before flashing firmware.

Support My Work

If this project is useful to you, you can support it here:

Metadata

Release files for OpenShock-AutoFlasher 0.4.2

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

Source distribution (sdist)

Source distribution for OpenShock-AutoFlasher 0.4.2
File Size Uploaded Provenance Actions
openshock_autoflasher-0.4.2.tar.gz 59.8 kB With provenance Details for openshock_autoflasher-0.4.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for OpenShock-AutoFlasher 0.4.2
File Interpreter ABI Platform Actions
openshock_autoflasher-0.4.2-py3-none-any.whl Python 3 none any Details for openshock_autoflasher-0.4.2-py3-none-any.whl

Total release size: 104.4 kB

Release files / openshock_autoflasher-0.4.2.tar.gz

Download URL openshock_autoflasher-0.4.2.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
23408f54d216585324a61d1f3af8cbfeb494a671b21c1739e57bc9f221b46b7d
BLAKE2b-256 checksum
How to use checksums
6c160ab70785a35b12e7ef3d23bf024447418265d77cf0625a45ee88697c1b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / openshock_autoflasher-0.4.2-py3-none-any.whl

Download URL openshock_autoflasher-0.4.2-py3-none-any.whl
Size 44.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7fbedc3d194f63eb196988fc01cf62da12b8da8958dd1707d48527f32822ed0
BLAKE2b-256 checksum
How to use checksums
50d14007f3616d7ce4a5ffc78a3ca6d515f08a8e223d38dbdbdfc8e6f1a2bb4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for OpenShock-AutoFlasher 0.4.2

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for openshock_autoflasher-0.4.2.tar.gz

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 Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files Full provenance

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