SB20 - Dropping Connections!

The SB20 smart bike uses both Bluetooth Low Energy (BLE) and ANT+ to wirelessly communicate with apps like Zwift. 

You can get communication drop outs and glitches.  Here's how to fix them.

Background

  1. ANT+ was the dominant fitness protocol prior to 2020. While there is nothing wrong with ANT+, most wireless development and testing in the past 5 years has focused on the Bluetooth Low Energy (BLE) protocol.
  2. Stages wrote the firmware for the SB20. It preforms 3 primary wireless functions:
    a) Controls bike resistance - usually as requested by an app like Zwift. ?
    b) Gets power and cadence readings from the power meter cranks.
    c) Sends updates to apps like Zwift. Includes power and / or cadence depending on how you configure the app.
  3. Stages did not write the firmware components for doing wireless BLE or ANT+ communication. It was written by Nordic Semiconductor who manufactured the main system processor. They have spent more time on their BLE components in the past decade. Their ANT+ component has always been fine. It just hasn't received much love in the past 5 years.
  4. With all this said, there have been no significant SB20 firmware updates since late 2023. Bugs that existed two years ago are likely still there.

If you are getting dropouts it can be due to any combination of old software, malfunctioning hardware or new apps that were not tested with the SB20.

ANT+ and BLE are BOTH USED by DEFAULT (Arrrrgh!)

By default, the SB20 communicates with the power meter cranks using ANT+. It communicates with apps like Zwift depending on the device used to run the app:

  • IPad, iPhone, Apple TV and most Android: BLE
  • PC or Mac with no ANT+ dongle: BLE
  • PC or Mac with ANT+ dongle: ANT+
Here an example using a pair of iPads and Zwift:

Summary:

1. Right Crank communicates with Left Crank using ANT+.
2. Left consolidates data from Right Crank and sends updates to SB20 using ANT+.
3. SB20 communicates with the SB20 using BLE.

Depending on you Zwift configuration:
4a. Left crank communicates with Zwift via BLE.
4b. (recommended)  SB20 consolidates data from LeftCrank and sends updates to Zwift using BLE.

Why Does This Matter?

By default, the SB20 and cranks need to send/receive both ANT+ and BLE messages for every update on most devices. This literally makes the SB20 and cranks work twice as hard.

... OK. With all this out of the way, let's solve the problem with dropouts ...

I AM HAVING DROPOUTS

Consider using BLE for all communication - even if you have a PC or Mac with ANT+ dongle.

  1. If using an ANT+ dongle, pull it out so your PC/Mac uses BLE. Like the SB20, your PC/Mac ANT+ software has not seen much development effort in the past few years.
  2. Get the SB20 to use BLE for its internal communication.


  3. Use the SB20 for Zwift Power Source, Resistance and Cadence.



    This has been the preferred Zwift configuration since mid-2023. It is better because the cranks need to send only one BLE update to the SB20 each second rather than multiple updates when the cranks are used as a Power or Cadence source.



Comments

Popular posts from this blog

Stages SB20 - Drive Belt Adjustments

SB20 - Compensating for Power Meter Inaccuracy

SB20 - Clicking and Rubbing Noises

SB20 - Both Power Meter Cranks have Failed - Now What?

SB20 - Oh Snap!

SB20 - Won't Connect with Wireless!