The BTP Software Package

The BTP software package contains several tools to be used for testing Bluetooth scenarios.

Download the BTP Software Package

The Bluetooth Test Platform (BTP) software package contains tools for testing the interoperability of Bluetooth enabled peripherals and systems with the Windows Bluetooth stack. The included documentation provides a brief overview of the ways to configure the hardware and suggests topologies for best test coverage. Procedural information about how to run the tests and collect trace events from the Bluetooth Windows stack are included. Click the following button to download the latest version.

Version Updates

Version Changes
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
Bluefruit Feather Firmware - Compiled binaries for Bluefruit Feather device. BtpBluefruit_nRF52840.ino.zip
ESP32 Firmware - Compiled binaries for ESP32wifi device. WiFi-ESP32.ino
WiFi-ESP32.ino.partitions

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
SleepTests - Experimental test binary for Bluetooth Sleep tests.
- Can be run using TAEF.
Note: This is not currently fully supported.
TaefSleepTests.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
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