Skip to main content

coospo-cli

Command-line tool for COOSPO CS500/CS600 bike computers over Bluetooth LE. It shows device information, battery level and memory usage, and downloads your activities (.fit files) without the CoospoRide app.

$ coospo info
Searching for CS500 or CS600...
Connected to CS500-1234567
Model:     CS500
Serial:    1234567
Hardware:  V1.41
Firmware:  V1.5.0
Battery:   87%
Memory:    25.3M/26.9M used (93%)

Supported devices

Device Status
COOSPO CS500 tested (hardware V1.41, firmware V1.5.0)
COOSPO CS600 expected to work (same protocol family), not tested yet

Older COOSPO models (BC102/107, BC200) use a different protocol (YMODEM over Nordic UART). Use xoss_sync for those.

If you own a CS600 or another model, please report whether it works in an issue.

Installation

Requires Python 3.9+ and a Bluetooth LE adapter. It uses bleak, so it should run on Linux (BlueZ), Windows and macOS; so far it's been tested on Linux.

pipx install coospo-cli

pip install coospo-cli works too. For the latest development version:

pipx install git+https://github.com/blshkv/coospo-cli

Usage

coospo info                            show model, serial number, firmware, battery and memory usage
coospo sync                            download new activities into fit_files/
coospo sync -o ~/rides                 ... into another directory
coospo get filelist.txt Setting.json   download specific files
coospo -n CS500-1234567 info           pick one of several devices by name
coospo -a AA:BB:CC:DD:EE:FF info       ... or by Bluetooth address

Run coospo --help or coospo COMMAND --help for all options.

  • sync first downloads filelist.txt (the list of activities on the device), then every .fit file not already in the output directory. It's safe to interrupt and run again: files are only saved after the transfer has been verified, and existing ones are skipped.
  • Nothing is ever deleted from the device.
  • The exit status is 0 on success and 1 if the device wasn't found or any file failed.

Troubleshooting

  • Device not found: the bike computer stops advertising while it is connected to the phone. Close CoospoRide or turn off Bluetooth on the phone, and make sure the device is switched on.
  • Several devices nearby: use -n with the full name shown on the device (e.g. CS500-1234567) or -a with its Bluetooth address.

Protocol

The CS500 doesn't use the Nordic UART/YMODEM protocol of older models. It uses vendor service 0xFDA0 with HDLC-like frames carrying protobuf payloads, plus a separate raw data channel for file contents. PROTOCOL.md documents everything known so far.

tools/gatt_dump.py (in the repository, not installed with the package) lists a device's GATT services and characteristics, which is a quick way to check whether another model uses the same service:

python3 tools/gatt_dump.py CS600

Helping with other models

Support for new devices or features (setting the clock, uploading settings) comes from capturing what the official app does:

  1. On Android, enable Developer options → Enable Bluetooth HCI snoop log, then toggle Bluetooth off and on.
  2. Use the feature in CoospoRide.
  3. Run adb bugreport bugreport.zip; the log is FS/data/misc/bluetooth/logs/btsnoop_hci.log.

Don't attach the log or the bug report to a public issue. They contain personal data such as your location, device addresses and ride history. Describe what you did and share the relevant frames instead.

Development

pip install -e .
python3 -m unittest discover -s tests

License

GNU General Public License v3.0 or later, see LICENSE.

Acknowledgements

Inspired by xoss_sync, which supports XOSS, Cycplus and older COOSPO devices.

Metadata

Release files for coospo-cli 0.1.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 coospo-cli 0.1.0
File Size Uploaded
coospo_cli-0.1.0.tar.gz 25.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coospo-cli 0.1.0
File Interpreter ABI Platform
coospo_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.7 kB

Release files / coospo_cli-0.1.0.tar.gz

Download URL coospo_cli-0.1.0.tar.gz
Size 25.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1c6aa81549b62895854ac3b4b8835c8785be1f54ef5b446cf9c493437e72b2be
BLAKE2b-256 checksum
How to use checksums
0ef079954336500cc421cb8b7bcf9d373d431ed00ea36180aa6fc87410a14c5d
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 1, 2026.

Transparency log

Release files / coospo_cli-0.1.0-py3-none-any.whl

Download URL coospo_cli-0.1.0-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e6c41eea69fb02e9bc5a52c11e707ee19e465fea9756bb21e805ccb1217a8de
BLAKE2b-256 checksum
How to use checksums
117ea79eb007a8e6577bd03a1aa60815ad21c8373e2b6ab634c07c185e6cabac
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 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.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