https://github.com/esp32beans/picow_bt
Various BlueKitchen BTstack examples with minimal modifications to work with the Arduino IDE
https://github.com/esp32beans/picow_bt
arduino arduino-pico bluetooth bluetooth-classic bluetooth-dual-mode bluetooth-low-ener bluetooth-low-energy picow raspberry-pi-pico-w
Last synced: over 1 year ago
JSON representation
Various BlueKitchen BTstack examples with minimal modifications to work with the Arduino IDE
- Host: GitHub
- URL: https://github.com/esp32beans/picow_bt
- Owner: esp32beans
- Created: 2023-10-10T20:32:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-10T20:59:36.000Z (over 2 years ago)
- Last Synced: 2025-01-11T16:35:39.702Z (over 1 year ago)
- Topics: arduino, arduino-pico, bluetooth, bluetooth-classic, bluetooth-dual-mode, bluetooth-low-ener, bluetooth-low-energy, picow, raspberry-pi-pico-w
- Homepage:
- Size: 297 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raspberry Pi Pico W Bluetooth Examples for Arduino IDE
Various BlueKitchen BTstack examples from
https://github.com/bluekitchen/btstack/tree/72ef1732c954d938091467961e41f4aa9b976b34/example
with minimal modifications to work with the Arduino IDE.
The examples listed as NEW are not direct ports of BTstack examples. They may
be combinations of two or more examples.
## gap_inquiry.ino
Discover BT classic devices. The devices must be discoverable which is true
when the devices are in pairing mode.
Sample output
```
Starting inquiry scan..
Device found: xx:xx:xx:xx:xx:xx with COD: 0x002540, pageScan 1, clock offset 0x57c6, rssi -63 dBm
Get remote name of 21:31:80:DE:A3:57...
Name: 'Bluetooth 5.1 Keyboard'
Staring inquiry scan..
Device found: xx:xx:xx:xx:xx:xx with COD: 0x000580, pageScan 1, clock offset 0x2f38, rssi -43 dBm, name 'BT3.0 Mouse'
```
## gap_le_advertisements.ino
Scan for BLE advertisements. The devices must be sending advertisements which
is true when the devices are in pairing mode.
Sample output
```
Advertisement (legacy) event: evt-type 4, addr-type 1, addr xx:xx:xx:xx:xx:xx, rssi -60, data[27] Complete Local Name: Microsoft Bluetooth Mouse
Advertisement (legacy) event: evt-type 0, addr-type 1, addr xx:xx:xx:xx:xx:xx, rssi -55, data[18] Appearance: 3C2
Flags: LE General Discoverable Mode; BR/EDR Not Supported;
Complete List of 16-bit Service Class UUIDs: 1812
Advertisement (legacy) event: evt-type 4, addr-type 1, addr xx:xx:xx:xx:xx:xx, rssi -44, data[0]
Advertisement (legacy) event: evt-type 0, addr-type 1, addr xx:xx:xx:xx:xx:xx, rssi -44, data[31] Flags: LE Limited Discoverable Mode; BR/EDR Not Supported;
Complete List of 16-bit Service Class UUIDs: 1812
Appearance: 3C2
Complete Local Name: BT5.0 Mouse
Advertisement (legacy) event: evt-type 4, addr-type 0, addr xx:xx:xx:xx:xx:xx, rssi -55, data[26] Complete Local Name: Xbox Wireless Controller
Advertisement (legacy) event: evt-type 0, addr-type 0, addr xx:xx:xx:xx:xx:xx, rssi -58, data[19] Flags: LE General Discoverable Mode; BR/EDR Not Supported;
Tx Power Level: 20 dBm
Appearance: 3C4
Complete List of 16-bit Service Class UUIDs: 1812
```
## hog_host_demo.ino
HOG = HID over GATT therefore BLE.
Scan for BLE HID devices, pair, connect, then dump HID reports.
```
14:38:02.604 -> Scanning for LE HID devices...
14:38:19.885 -> Found, connect to device with random address xx:xx:xx:xx:xx:xx ...
14:38:20.017 -> Just works requested
14:38:20.315 -> Pairing complete, success
14:38:20.315 -> Search for HID service.
14:38:22.037 -> HID service client connected, found 1 services
14:38:22.037 -> Ready - please start typing or mousing..
14:38:24.156 -> 01,03,00,00,00,00,00,00,00,00,
14:38:24.156 -> usage_page 9, usage 1, value 1
14:38:24.156 -> usage_page 9, usage 2, value 1
14:38:24.156 -> usage_page 9, usage 3, value 0
14:38:24.156 -> usage_page 9, usage 4, value 0
14:38:24.156 -> usage_page 9, usage 5, value 0
14:38:24.156 -> usage_page 1, usage 30, value 0
14:38:24.156 -> usage_page 1, usage 31, value 0
14:38:24.156 -> usage_page 1, usage 38, value 0
14:38:24.156 -> usage_page c, usage 238, value 0
```
## gap_dual.ino NEW
This combines the gap_inquiry and gap_le_advertisements examples so will
display classic and BLE devices in pairing mode.
## Arduino IDE Board Setup
The examples are built with https://github.com/earlephilhower/arduino-pico.
Reference: https://arduino-pico.readthedocs.io/en/latest/bluetooth.html#writing-custom-bluetooth-applications
Be sure to set the "IP/Bluetooth Stack" option to include Bluetooth.
