Kettler USB to BLE Bridge


Just to share a little app running on a raspbery pi zero.
It’s a simple bridge from my old Kettler Ergo Race to Bluetooth low energy.
It emulates Power and FTMS services

Have fun.

Nice, thanks for sharing!

Hi Candus, what a cool project!
I have a Kettler Ergoracer GT with a serial port, can it be used with your software?
Thanks in advance.


It should work with this model.

I updated the code and the readme

I am using it every day, it’s not perfect but the feeling is more natural


Le jeu. 16 avr. 2020 à 10:39, Paul Mooser via Zwift Forums a écrit :

Candus: I have been looking/waiting for this connection for a long time. I have the same Kettler as you.

Unfortunately, I am not as computer savvy as you. I do have a rasperypi, but beyond that, I cannot comprehend the readme. Any chance you could guide me through this or give me more explicit instructions? Can it be done thru a regular PC laptop?

Thanks, Tim

what a cool project.
I have an old ergometer ex1 with connection via serial port to pc. How can i make this work, if I it is possible.
Do I connect my Kettler via serial port to raspberry and it will communicate with my pc via bluetooth or did I miss the point somewhere?


It’s a very old bike with an old serial port.

I would be surprised if you have a PC with an old serial port (rs232) and a brand new Bluetooth 4

Anyway, the soft Should be working on Linux, windows and OS X

The raspberry zero w is a very inexpensive piece of hardware (10€)

ThePiHut is selling a kit with adapters for 15€

Le jeu. 16 avr. 2020 à 16:17, Krzysztof via Zwift Forums a écrit :


Yes any PC can work but I am not sure that it can “simulate” a bike and run Zwift on the same machine

For the raspberry, can you send me a message on GitHub?

I will take your comment and update the readme accordingly

Le jeu. 16 avr. 2020 à 15:59, Timothy via Zwift Forums a écrit :

Thank you for your response, I have serial port to USB adapter which I used for Kettler World Tours Demo.

i test the app on Raspberry pi zero w, and i have one error on the pi: “port is not open, try again in 10 s”.
when i started sudo node server.js, i don t have the bip in my kettler but the browser connection ip:3000 is ok and on zwift, i can connect but Always 0 watts. kettlerusb can also be seen in my Bluetooth connection PC.
i don 't know how to resolve the problem.
is someone can help me? thank you.

Hi Emmanuel!
Do you have an expirience with this software working with old Kettler Ergo Race?( with USB connector) I would like to connect mine with Zwift. Is it possible to shift with Kettler World Tour shifter?
Many thanks for your help


I am able to make it work with my Ergo Race (most innovative brand 2010)
It’s ok but it needs some IT knowledge to understand the step by step manual.

Nothing has been done with the shifters.
It works with two GPIO button or the web interface.
If you are able to catch the shifters event it will be easy to activate gears up or down


Hi Emmanuel!

Many thanks for quick reply.
It looks like I ve got the same bike as you.

I am using the shifter with Kettler World Tour and would like to try Zwift.
This shifter has 2 serial connectors. One of them is connected to my PC using serial to USB converter.
I think it is easy to find/catch the shifters event on the second serial connector.

Is here a chance you help me to solve it? I would be very grateful
thanks for your help


I am trying to get your bridge to work with my Kettler ergometer FX1 (I am hoping that since you say it works with EX1, it will also work with my FX1). I bought an R Pi Zero WH.
Great of you to have made this bridge, by the way ! :slight_smile:
I have a question. I have gone through steps including the npm install, which I believe succeeded (lots of messages).
BUT - how do I connect the Kettler AND the keyboard at the same time? It has only one USB port.
Now, without bike connected and the keyboard connected, when I run “sudo node server.js” I get:
“[KettlerUSB] port is not open, retry in 10s” looping until I Ctrl-break
I assume that is because the bike is not connected?
But if I connect the bike, how do I type in “sudo node server.js” since I wil not have the bkeyboard connected (due to lack of a second USB)?

2 - I also tried to go through the steps “automatic launch with the raspberry”
BUT when I try to create the symlink “sudo systemctl link /home/pi/kettlerUSB2BLE/kettler.service”
It does not find the file, and in fact ot is true - that folder does NOT contain a file kettler.service.

Thanks for any help and explanation!