Skip to content

Repository files navigation

Bike Play

Bike Play reads Cycling Power Service data from a BLE bike trainer and maps effort states to keyboard input. It can also read a Zwift Click controller.

Native dashboard

Start the application with the live bike dashboard:

uv run python main.py --gui

The window updates the latest power, cadence, pedaling state, and sample delta in place, with cumulative ride statistics below. Live telemetry is omitted from the terminal in GUI mode, while connection messages and errors remain visible. Closing the window disconnects the readers and exits the application.

To run the dashboard without the Zwift Click reader:

uv run python main.py --gui --disable-zwift-click

GUI mode uses Python's optional tkinter support. Verify it is available with uv run python -m tkinter if the dashboard cannot open.

About

Move your character in a game via bike trainer. I use this when playing Elden Ring.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages