Get the Microsoft Bluetooth Test Platform software package

The Bluetooth Test Platform (BTP) software package contains everything that needs to be installed on your test machine to test the interoperability of Bluetooth enabled devices with the Windows Bluetooth stack. The included documentation provides information about how to configure the hardware and suggests topologies for the best test coverage as well as the details for how to run the tests and collect logs.

Download the BTP software package

Click the following button to download the latest version.

Note

The installer should be run on the machine that will be executing the tests. After installation, do not copy, move or delete files. If you have a problem with your installation, use Windows "Add or Remove Programs" to completely uninstall BTP. Then do a clean install with the msi.

Version updates

Version Changes
1.12.2 - Added support for the BM62 radio.
- Added explicit firmware version checks for ESP32 Wi-Fi.
- Other Wi-Fi Co-existence fixes and improvements to test reliability.
1.11.1 - Fixed crash when running standby HID power tests without an installed virtual power button.
- Added explicit firmware version checks for Bluefruit Feather.
- Several other fixes and improvements to test reliability.
1.10.1 - Added power state HID tests.
- Several other fixes and improvements to test reliability.
1.9.0 - Improved support for BTP devices using custom DLL plugins.
- Fixed an issue affecting the audio mute/unmute tests in certain Windows builds.
- Several other fixes and improvements to test reliability.
1.8.0 - Added Wi-Fi with Bluetooth audio and HID co-existence tests.
- Added mute and unmute audio tests.
- Added option to record audio played during tests to a local file.
- Fixed issue that could cause the Bluefruit Feather to incorrectly report its Bluetooth address.
- Fixed issue with running current audio tests on older Windows builds.
- Several other fixes and improvements to test reliability.
1.7.2 - Added Wi-Fi and Bluetooth audio co-existence tests.
- Added support for Bluefruit Feather (nRF52840) with full parity to existing Bluefruit support.
- Added tests for all types of pairing key negotiations using the Bluefruit Feather.
- Fixed issue where failures would occur in a tight loop if a device was unplugged mid-test.
- Several fixes and improvements to test reliability.
1.6.2 - No longer require a WDK installation to run BTP tests.
- Added quick keystroke HID tests to more easily catch key repeats and other performance issues.
- Added quick keystroke and mouse movement after idle HID tests that are useful for loop execution.
- Added reconnection latency measurement to HID tests.
- Added reconnection after idle disconnection HID tests.
- Several fixes and improvements to test reliability.
1.5.1 - Added BTVS and BTETLParse diagnostic tools.
- Several fixes and improvements to test reliability.
1.4.0 - Added keyboard latency test to HID tests.
- Added mouse tests to HID tests.
- Added audio + HID scenario tests.
- Added battery tests.
- Fixed issue causing tests to fail to load when running in older Windows releases.
- Fixed scripts that failed when running on non-native CMD/PowerShell environments.
- Several fixes and improvements to test reliability.
1.3.1 - Added audio tests capable of exercising A2DP and HFP.
- Added audio volume validation and glitch detection via an FPGA on the Traduci.
- Renamed tests to shorter and more user friendly names.
- Several fixes and improvements to test reliability.
1.2.1 - Moving BTP from private preview to public.
- Added experimental SleepTests demonstrating a new capability of the Traduci of executing delayed commands.
- Several fixes and improvements to test reliability.

Tools in the package

Architecture independent files

Test Tool Description Filename
ConfigureMachineForBtp - Provided as a CMD script and a PowerShell script.
- Configures a test machine for running BTP tests.
- Intended to be run before first test is run on a new machine or OS install.
ConfigureMachineForBtp.bat
ConfigureMachineForBtp.ps1
GetProcessorArchitectureName - Provided as a PowerShell script.
- Allows other scripts to identify the current machine's architecture
GetProcessorArchitectureName.ps1
RunTaefTest - PowerShell helper script for running TAEF tests given the test dll name and test parameters.
RunTeafTests.ps1
RunPairingTests - Provided as a CMD script and a PowerShell script.
- Runs the Bluetooth pairing tests.
- Supports custom arguments if provided.
RunPairingTests.bat
RunPairingTests.ps1
RunHidTests - Provided as a CMD script and a PowerShell script.
- Runs the Bluetooth HID tests.
- Supports custom arguments if provided.
RunHidTests.bat
RunHidTests.ps1
RunAudioTests - Provided as a CMD script and a PowerShell script.
- Runs audio tests including glitch detection and audio volume validation.
- Supports custom arguments if provided
RunAudioTests.bat
RunAudioTests.ps1
RunAudioHidScenarioTests - Provided as a CMD script and a PowerShell script.
- Runs audio and HID scenario tests.
- Supports custom arguments if provided
RunAudioHidScenarioTests.bat
RunAudioHidScenarioTests.ps1
RunBatteryTests - Provided as a CMD script and a PowerShell script.
- Runs battery tests.
- Supports custom arguments if provided
RunBatteryTests.bat
RunBatteryTests.ps1
RunWiFiAudioScenarioTests - Provided as a CMD script and a PowerShell script.
- Runs Wi-Fi and audio scenario tests.
- Supports custom arguments if provided
RunWiFiAudioScenarioTests.bat
RunWiFiAudioScenarioTests.ps1
RunWiFiAudioHidScenarioTests - Provided as a CMD script and a PowerShell script.
- Runs Wi-Fi, audio, and HID scenario tests.
- Supports custom arguments if provided
RunWiFiAudioHidScenarioTests.bat
RunWiFiAudioHidScenarioTests.ps1
RunPowerStateTests - Provided as a CMD script and a PowerShell script.
- Runs the power state tests.
- Supports custom arguments if provided
RunPowerStateTests.bat
RunPowerStateTests.ps1
Bluefruit Feather Firmware - Compiled binaries for Bluefruit Feather device. BtpBluefruit_nRF52840.ino.zip
ESP32 Firmware - Compiled binaries for ESP32wifi device. WiFi-ESP32.ino.bin
WiFi-ESP32.ino.partitions.bin

Architecture dependent binaries

The files listed in this table are available in X86, AMD64, and Arm64 architectures. The installer will extract one instance of each per architecture.

Test Tool Description Filename
TAEF - Test Authoring and Execution Framework (TAEF) C:\BTP\<version>\TAEF
BtpDevicePlugin - Binary needed to support tests that use a local Windows Bluetooth radio. Microsoft.Bluetooth.TestPlatform.BtpDevicePlugin.dll
GenericSerialIO - Binary needed to support BTP devices that use Windows serial communication. Microsoft.Bluetooth.TestPlatform.GenericSerialIO.dll
HidTests - Test binary for Bluetooth HID tests.
- Can be run using TAEF or via the provided scripts.
TaefHidTests.dll
PairingTests - Test binary for Bluetooth Pairing tests.
- Can be run using TAEF or via the provided scripts.
TaefPairingTests.dll
AudioTests - Test binary for Bluetooth Audio tests.
- Can be run using TAEF.
TaefAudioTests.dll
AudioHidScenarioTests - Test binary for Bluetooth Audio and HID scenario tests.
- Can be run using TAEF.
TaefAudioHidScenarioTests.dll
BatteryTests - Test binary for Bluetooth battery tests.
- Can be run using TAEF.
TaefBatteryTests.dll
WiFiCoexScenarioTests - Test binary for Bluetooth and Wi-Fi coexistence tests.
- Can be run using TAEF.
TaefWiFiCoexScenarioTests.dll
PowerStateTests - Test binary for Bluetooth power state tests.
- Can be run using TAEF.
TaefPowerStateTests.dll
TraduciCmd - Command line tool for querying and changing the state of the Traduci, including debug commands.
- Used for firmware update to Traduci hardware.
TraduciCmd.exe
BTETLParse - Command line tool for extracting HCI traces from supported ETL files. BTETLParse.exe
BTVS - Graphical tool for streaming live HCI traces in supported formats (such as Ellisys, Frontline, and Wireshark).
- Only available for the x86 architecture.
btvs.exe