- ๐ (Kickr-Virtual-Shifting Library) Virtual Shifting for legacy Wahoo KICKR Smart trainers that are deprived of Wahoo VS-enabling firmware update(s)
- ๐ (Kickr-Dongle-VS) Virtual Shifting for older Wahoo KICKR Smart trainers using LilyGo T-Dongle-S3 and Kickr-Virtual-Shifting library
- ๐ (Tacx-Virtual-Shifting Library) Virtual Shifting for legacy Tacx Smart trainers that are deprived of the Tacx VS-enabling firmware update
- ๐ (Tacx-Dongle-VS) Virtual Shifting for older Tacx Smart trainers using LilyGo T-Dongle-S3 and Tacx-Virtual-Shifting library
- ๐ (Simcline-V2) The latest Simcline-V2 version adds support for Zwift Virtual Shifting, enabling Simcline actuation when Virtual Shifting is active.
Important: Zwift Virtual Shifting support requires a modern trainer running the firmware that explicitly supports the Zwift Virtual Shifting protocol.
Virtual Steering with various Human Interface Devices (HID)
These projects allow users to explore a range of input devices for steering control in virtual cycling worlds. The emphasis is on enhancing interactivity and user experience through both accessible and innovative control methods.
| HID Focus | Bluefruit Stack | Bluedroid/NimBLE Stack |
|---|---|---|
| Buttons, Joysticks, Rotary Encoders | Discrete HID |
Discrete HID |
| Turn & lean-based steering with MPU6050 | Motion IMU |
Motion IMU |
| Voice-activated steering with TinyML | โน๏ธ | Voice Control |
โน๏ธ The VoiceControl project is tightly coupled to the XIAO ESP32S3 Sense, which includes a built-in microphone and supports only ESP BLE-Hosts. A Bluefruit version is not applicable.
The above projects use one of the 3 following server libraries that each support different Bluetooth stacks:
๐น BLE Steering Server โ For use with Arduino-ESP32 core (a.k.a Bluedroid)
๐น NimBLE Steering Server โ For use with ESP-NimBLE v2.x
๐น Bluefruit Steering Server โ For use with Adafruit Bluefruit (Nordic's nRF52)
