Use Embedder to test a BLE peripheral from the host’s Bluetooth adapter. Ask for a bounded scan or interaction; results appear in the Monitor’s Bluetooth tab. This workflow covers BLE GATT, not Bluetooth Classic.
Prepare
Connect or enable the host adapter. Embedder checks for Python 3 and the Bleak package and offers dependency setup when needed. On macOS, grant Bluetooth permission to the application running Embedder when prompted. Linux requires BlueZ; Windows requires a supported system BLE adapter.
If the device is connected to another central, disconnect it there before retrying.
Scan and choose the device
Use the exact address returned by this host. macOS uses a device UUID, while other hosts may show a MAC address. A name match alone may identify several boards.
Inspect services and read a value
Use discovered characteristic UUIDs and properties. Interpret bytes using the standard service definition or the project’s protocol.
Service discovery also lists characteristic descriptors. Ask to read a discovered descriptor when you need its description or format information. For writes, specify the descriptor UUID and payload from your firmware’s protocol. Use the notification subscription workflow below to enable notifications.
Collect notifications
Subscribe before triggering the event and leave enough time for the expected response. Inspect the Bluetooth tab for services, connection state, and received notifications.
Write a characteristic
A write can change configuration, start an update, or control equipment. Specify the characteristic, payload, and expected effect before requesting it.
Ask for Write With Response when the characteristic supports an acknowledgement. Verify the result through a readback or the protocol’s response notification.
Repeat a test
Ask Embedder to create a hardware script with the selected device, service UUIDs, duration, pass condition, and cleanup. BLE script helpers cover scanning, connection, service discovery, reads, writes, and notifications.
Troubleshoot
- No devices: check host permissions, adapter state, and whether the target is advertising.
- Connection fails: scan again and use the returned address; close another central’s connection.
- Characteristic missing: rediscover services after firmware changes.
- No notifications: check notify or indicate support and subscribe before the event.
- Write has no effect: verify the payload and acknowledgement expected by the firmware.