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.

This new Bluetooth behavior was introduced by Google 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.

Google is aware of the problem and has released ChromeOS 128. This version of ChromeOS appears to resolve the issue if the Chromebook is running the PWA version, but not the packaged app version, of Graphical Analysis.

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).

Solution

  • Update to ChromeOS 128 or later, and
  • Use the Progressive Web App version of your application, and not the packaged app. As of this writing Graphical Analysis and Spectral Analysis are available as a PWA. Instrumental Analysis will be released in 2025.

Short workaround if ChromeOS 128 cannot be used

To connect to the Go Direct sensor

  • use USB, or
  • use the Progressive Web App version of your application and
    • toggle bluetooth off and back on, or
    • reboot the Chromebook

Regular rebooting or bluetooth power cycling will be needed as sensors are connected and disconnected to various devices in a classroom.

Explanation and long workaround if ChromeOS 128 cannot be used

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 on a Chromebook. If the Chromebook is managed to delete a user profile on logging out, then these steps would have to be done on every login. As a result we do not suggest this path unless you must continue to use the packaged app version of an application.

  • 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
  • Change this flag back to “Default” or choose the “Reset All” option at the top of the dialog, if you wish to revert to the Chromebook’s default flags

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 this writing. We will be releasing Spectral Analysis as a PWA in late September 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 through version 127. Version 128 will resolve the problem for PWA users.

With ChromeOS 122-127, and 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 first 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.

How to determine if a Chromebook uses the new Bluetooth software (aka Floss)

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. If you do not, or cannot revert to use BlueZ, as described in the Workaround above, 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.