gymnasticon: Zwift on Windows without Companion app not working

Hi,

Has anyone gotten this to work successfully with Zwift on Windows without the Zwift companion app?

The companion app works for me (Peloton bike here), and both cadence and power are recognized. But occasionally I get disconnects and I wanted to try to connect directly to my PC.

When I try to connect this way, I can connect to “Gymnasticon 145” under Power but nothing under Cadence and I never get anything besides 0 watts and usually I get “No Signal” after about 5 seconds after it connects and displays zero watts.

I didn’t find anything useful in the Zwift logs. Just this:

[18:09:29] Device List:

[18:09:29] ==========================================================

[18:09:29]                 Power: Gymnasticon 145 (0x12618591) [BLE]

[18:09:29] ==========================================================

I don’t know what 145 is.

I tried updating the drivers for my intel bluetooth. I also tried 3 different bluetooth dongles (by disabling the built-in bluetooth before connecting the dongle).

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 18 (10 by maintainers)

Most upvoted comments

Hello, I had the same issue. So I tried “zwack” that did the same. I was able to fix zwack by changing the descriptor a bit and ended up using it because it’s enough for my usage (I obtain the watts from an Arduino device).
If it can help, I can share the changed that I needed to make to zwack in order to fix the “No signal” problem.

After testing this with a Raspberry Pi4, I can confirm that the Samsung Tab S4 now also sees power and cadence correctly via BLE.

Tried it again: Now it’s working with the Apple TV 4K (which I actually use for Zwift). It picks up power and cadence correctly from the Bot. Only the two Samsung Tablets are still having issues.

We can close this ticket.

I’ll nevertheless test with the Raspberry Pi 4 if the Samsung Tablets are more happy. And I definitely need the 4.1+ adapter as I want to re-broadcast my FTMS bike to Zwift and ANT+ at the same time.

Looks like my external Bluetooth stick is Bluetooth 4.0 only, which could be the cause for this. This is how it shows up: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

Ordered a Raspberry 4 with build-in Bluetooth to rule out that this is the issue. Will report back once it arrives to see if that was the culprit.

Huh, cool. So with the suggestion by @reiser4 I got Zwift to connect to Gymnasticon without the Companion app. The only thing I did was comment out the 2902 descriptor in cycling-power-measurement.js:

      properties: ['notify'],
      descriptors: [
//        new _bleno.Descriptor({
//          uuid: '2902',
//          value: Buffer.alloc(2)
//        }),
        new _bleno.Descriptor({
          uuid: '2903',
          value: Buffer.alloc(2)
        })
      ]

I haven’t actually done a ride like this, just verified that the pairing screen shows reasonable values when I turn the Peloton crank half a turn.

This does seem a bit odd to me, because I thought 2902 is a required descriptor.

here is the code that works for me:

constructor() {
    super({
      uuid: '2A63',
      value: null,
/////// CHANGE 1: ADD 'read', 'write', 'writeWithoutResponse'
      properties: ['notify', 'read','write', 'writeWithoutResponse'],
      descriptors: [
        new Bleno.Descriptor({
					uuid: '2901',
					value: 'Cycling Power Measurement'
				}),
/////// CHANGE 2: DISABLE THIS DESCRIPTOR
//        new Bleno.Descriptor({
 //         // Client Characteristic Configuration
 //         uuid: '2902',
 //         value: Buffer.alloc(2)
 //       }),
        new Bleno.Descriptor({
          // Server Characteristic Configuration
          uuid: '2903',
          value: Buffer.alloc(2)
        })
      ]
    });
    this._updateValueCallback = null;  
  }

I should add however that if that’s 100% the case, Gymnasticon 145 shouldn’t be showing up on your Zwift log.

Make sure you are not pairing the Gymnasticon 145 in the Windows OS menu also as that causes problems. Only pair it from the Zwift app. If it is paired via the bluetooth icon on your windows desktop, forget/disconnect the device. That’s really only for HID bluetooth Mice, keyboards, speakers, etc…