Solving Bluetooth LE Detection Issues on Windows

A common scenario is where a beacon can be detected using the nRF Connect app on an Android device, but remains undetected on a Windows system, even though it is equipped with Bluetooth hardware.

This limitation is most evident when trying to detect and interact with Bluetooth LE devices that are not Human Interface Device (HID) class devices, such as keyboards and mice. These HID devices are readily supported and can connect effortlessly. However, most other Bluetooth LE devices do not show up by default on the Windows Bluetooth management interface. This is primarily because the native Bluetooth stack in Windows is not fully optimised to handle the variety of LE devices available in the market.

To overcome these limitations, developers and users need to implement custom applications using the Windows Bluetooth APIs. These applications act as a bridge, allowing Windows to recognise and interact with a broader range of Bluetooth LE devices.

For those looking to achieve the most reliable Bluetooth LE performance on Windows, especially for custom projects and advanced device interactions, using a Bluetooth LE dongle is the best approach. By connecting a LE dongle via USB, users can bypass many of the native Bluetooth limitations of Windows. These dongles come with their own drivers and management software, which are specifically designed to handle a wide array of Bluetooth LE protocols and device interactions. This setup not only enhances device compatibility but also boosts the reliability and range of Bluetooth communications.

New Windows Bluetooth LE Analyzer

Acrylic have a new Windows-based Bluetooth LE Analyzer that can be used to check for and test Bluetooth devices. The application has a scanner showing the Bluetooth signal strength range (RSSI):

It also provides analysis using dynamic and customizable graphs showing RSSI (signal strength), signal distribution over time and approximate device distance. A BLE beacon viewer shows detailed information on Low Energy Bluetooth devices. The BLE Packet Analyzer explores Bluetooth packet contents:

There’s also an inventory system to keep track of your devices. The free version scans, detects iBeacons and visualises signal strength. The licensed version has the packet analyzer, inventory and advanced filtering.

Microsoft Bluetooth Test Platform (BTP)

Microsoft has a Bluetooth Test Platform (BTP) that can be used to automate testing of Bluetooth hardware, drivers and software.

There’s recently been a new release of the Bluetooth Test Platform (BTP) software package that now provides support for a Bluetooth Virtual Sniffer (BTVS), a graphical tool that collects HCI packets between Windows and the Bluetooth radio controller. Packets can be viewed live in the packet analyzer tool.

Analyzer packet formats include Wireshark, Ellisys and Frontline. There’s a video with further information.

Advertise Eddystone Using node.js

We recently came across node-eddystone-beacon that advertises Eddystone using node.js (Javascript). It works across MacOS, Linux (including Raspberry Pi) and Windows but obviously requires the device to have a Bluetooth adapter.

The open source code advertises Eddystone-URL, Eddystone-UID and Eddystone-TLM. Examples are provided.

Our previous post mentioned node-beacon-scanner that provides for node.js Bluetooth scanning.

Bluetooth Not Working After Windows Update

When doing a Windows Update it’s possible Bluetooth sometimes stops working. If you go to Device Manager you will see the Bluetooth icon with or without devices.

Windows sometimes removes hardware drivers or replaces them with ones that don’t work. To fix this go to Device Manager and click on the Bluetooth icon. If there are items, right click them and select ‘Update driver’. Click on ‘Search automatically for drivers’. If it doesn’t find anything, select ‘Search for updated drivers on Windows Update’.

If no Bluetooth items are showing, right click the computer name at the top and use ‘Scan for hardware changes’. If it still doesn’t work go to the web site support for your desktop/laptop manufacturer and look for and download the Bluetooth drivers.

Bluetooth on Windows

Most Bluetooth development is focussed on Android, iOS and Linux. However, it’s also possible to use Bluetooth on Microsoft Windows.

BluetoothLEExplorer is a free app that allows you to scan for Bluetooth devices and read/write Bluetooth Service Characteristics. If you wish to create your own variant of the app or learn how to use Bluetooth on Windows, the source code for BluetoothLEExplorer is on GitHub.

Windows Bluetooth Framework

Bluetooth Framework is a library for using Bluetooth on Windows. There are editions for .NET, c++ and VCL. While the framework has many features, those of particular interest to Bluetooth LE developers are:

  • Enumerating and managing local Bluetooth radios
  • Searching for remote Bluetooth enabled devices
  • Measuring RSSI
  • Bluetooth LE (BLE) GATT profile client
  • Monitor Bluetooth LE beacons: Proximity beacon (iBeacon), Alt Beacon and Eddystone Beacons
  • Capture raw Bluetooth LE advertisement frames
  • Custom Bluetooth LE Advertising

iBeacons for Intuiface

Untuiface is one of a growing number of products incorporating beacons in their functionality. Untuiface allows you to build interactive multi-touch kiosk type screens without writing any code.

Intuiface Composer

It’s possible to use iBeacons to trigger actions. For a static kiosk, things or people coming close can trigger content. For a moving kiosk, such as a tablet, content can change depending on how close the tablet is to particular areas or things.

The settings provide for actions when beacon advertisements are detected, change or are lost thus providing for different types of interaction. Untuiface have an example to show contextual information as items are picked up from or replaced to their original position.

Read more about using iOS and Android Apps with Beacons