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.14.0 | - Added audio tests that can use a custom audio file for playback instead of a generated test tone. - Fixed an issue that caused unpairing the Bluefruit Feather to fail for some central devices. - Improved reliability of the Traduci audio analyzer in tests. - Several other fixes and improvements to test reliability. |
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 |