This article is only about connecting to Vernier Go Direct Sensors and Polar Heart Rate Monitors, by Bluetooth, on Chromebooks running ChromeOS. No other platforms are affected by this specific issue, and USB connection is unaffected. Graphical Analysis, Spectral Analysis, and Instrumental Analysis applications are affected.

Problem

Chromebook appears to connect to a Go Direct or Polar sensor by Bluetooth, but the connection immediately fails. Sensor cannot be disconnected from the host Chromebook, and the Bluetooth LED continues to flash green (GDX sensors).

Short resolution

To connect to the sensor, either use USB, or reboot the Chromebook and connect by Bluetooth using the Progressive Web App version of your application.

Workaround (July 2024)

The heart of the problem is that Google is rolling out a new Bluetooth version to all Chromebooks. The new version (called Floss) is what has broken Bluetooth applications. It is still possible to set the Chromebook to use the older Bluetooth, and continue to use Vernier applications. This involves setting a flag in the browser. It is safe to alter the specific flag to do for this situation, but there are many flags that users are advised to avoid. To set the Chromebook back to the previous Bluetooth version, the following steps have to be taken for every individual user:

  • Log in and open the Chrome browser
  • In a new tab, navigate to: chrome://flags
  • A dialog will appear with a search bar at the top. Type “Floss” into the search and press return
  • You should see the flag named “Use Floss instead of BlueZ” with a drop down menu next to it
  • Change the dropdown to read “Disable” and then press the “Restart” button at the bottom of the dialog
  • The Chromebook should restart and now be using the older Bluetooth version, allowing you to continue to use Vernier applications
  • Simply change this flag back to “Default” or choose the “Rest All” option at the top of the dialog, if you wish to revert to the Chromebook’s default flags

Longer discussion

To discuss this issue we need to draw a distinction between two types of applications running on a ChromeOS device. The first is a Chrome Packaged App, such as Vernier has distributed in the Chrome Web Store. Such apps are installed from the Web Store. This has been the traditional application type for many users. The other type is the Progressive Web App, or PWA. PWAs are accessed most often in the Chrome browser by going to a URL such as graphicalanalysis.app. The app functionality is essentially the same, but the underlying way the app uses resources on the Chromebook is different.

Graphical Analysis is available both as a PWA and as a packaged app. Spectral Analysis and Instrumental Analysis are available only as packaged apps as of July 2024. We will be releasing Spectral Analysis as a PWA later in 2024, and Instrumental Analysis sometime in 2025. Google will cease supporting packaged apps in 2025.

In addition, Google started in early 2024 to deliver a new Bluetooth driver to Chromebooks that causes a connection problem for devices from multiple manufacturers. We have seen this connection problem on certain Chromebook models that are running ChromeOS 122 and newer. We anticipate that all Chromebooks will have these problems eventually as Google delivers updates, unless Google changes their plans.

With the PWA version of a Vernier application, you may be able to connect to a Go Direct or Polar device successfully by Bluetooth. However, the sensor will then continually re-pair with that same Chromebook. This makes it impossible to connect to that sensor device from any other Chromebook because the sensor is connected to the first Chromebook, even if no Vernier application is running. The Bluetooth LED on a Go Direct device will blink green, even without a Vernier application running. Cycling the power on the Go Direct device does not fix the problem, as it will immediately reconnect to the first Chromebook. However, if you cycle the Chromebook’s Bluetooth radio off and on (or just reboot the Chromebook), the sensor LED will blink red and the sensor will be available for connection to that or other Chromebooks.

The issue is worse with the Chrome packaged app, as you cannot connect to a Go Direct or Polar device at all. The connection process begins but then fails, leaving the device in the same state as above, where it continually re-pairs with the Chromebook. However, the packaged app is not able to make use of the Bluetooth connection. Packaged apps running on an affected Chromebook will thus not ever achieve successful Bluetooth connection. The only option with a packaged app on such a Chromebook is to use USB.

This Bluetooth connection issue is not something that can be improved by updates to Vernier apps. We have submitted a bug report to Google in hopes they can change the behavior of the Bluetooth stack.

Note that this new Bluetooth behavior was introduced in mid-2024, about the same time as the release of Graphical Analysis 6.0. As a result it may appear that the problem was introduced by Graphical Analysis 6.0, but the problem also affects older versions of Graphical Analysis as well as all versions of Spectral Analysis and Instrumental Analysis.

How to determine if a Chromebook uses the new Bluetooth software

In the Chrome browser, type chrome://bluetooth-internals/#adapter, and review the Adapter information. If there is a green checkmark next to Floss, then the Chromebook uses the problematic software. There is no way to revert a Chromebook to use an older version. For these Chromebooks using Floss, you must use the PWA to successfully connect to sensors by Bluetooth, and even then will see stubbornly persistent connections that are resolved only by cycling Bluetooth power.