Project
- Stars
- Started
- Issues
- License
Add Zwift virtual shifting to a legacy KICKR
KICKR Dongle Virtual Shifting runs on a LilyGo T-Dongle-S3 between Zwift and an older KICKR trainer. It translates virtual shifts into the trainer’s legacy resistance commands and shows connection status on the dongle. You need to build the firmware with Arduino, use a Zwift Click and have access to Zwift, normally through a paid membership.
Compatibility depends on firmware that still responds to Wahoo’s legacy CPS simulation commands. The documented candidates are KICKR generations 1 and 2 and early SNAP models; modern FTMS/ZVS firmware may ignore the commands.

Wahoo KICKR trainers and ELEMNT bike computers
How did it go? Tips, problems, questions…
Add Zwift virtual shifting to a legacy KICKR
KICKR Dongle Virtual Shifting runs on a LilyGo T-Dongle-S3 between Zwift and an older KICKR trainer. It translates virtual shifts into the trainer’s legacy resistance commands and shows connection status on the dongle. You need to build the firmware with Arduino, use a Zwift Click and have access to Zwift, normally through a paid membership.
Compatibility depends on firmware that still responds to Wahoo’s legacy CPS simulation commands. The documented candidates are KICKR generations 1 and 2 and early SNAP models; modern FTMS/ZVS firmware may ignore the commands.
Berg0162
On GitHub
Feedback
How did it go? Tips, problems, questions…