Hi everyone,
I’m working on a Bluetooth Low Energy (BLE) project using a Raspberry Pi Pico 2 W. I'm trying to implement a custom GATT service for a foot pedal device that includes the following characteristics:
Vertical Pedal Position (percentage)
5 Bumper Switches (individual states)
My Development Setup:
Board: Raspberry Pi Pico 2 W
IDE: Visual Studio Code
Extension: Raspberry Pi Pico extension
Tested Project: picow_ble_temp_reader example from the Pico SDK (working as expected)
What works:
I can see my Pico 2 W advertised in nRF Connect. The picow_ble_temp_reader project displays temperature correctly and updates over BLE.
Problem:
I modified the profile_data array to include my custom Foot Pedal Service (UUID: c1f611b1-35f3-4fcf-8042-f6cd98c90c57) with six characteristics. After replacing the original GATT database with this custom one, I can still see my Pico 2 W device advertising, but no services or characteristics are visible when I connect via nRF Connect.
My BLE Code Structure:
I’m using att_server_init(FootPedal_data, att_read_callback, att_write_callback);
Custom UUIDs were used (128-bit UUIDs).
My Questions:
Is there anything special I need to do when using 128-bit custom UUIDs?
Can anyone share working examples of multi-characteristic custom services on the Pico2 W?
Any help or insights are really appreciated! If anyone has built a similar BLE profile with btstack on the Pico 2 W, I'd love to compare notes.
Thanks in advance!
I’m working on a Bluetooth Low Energy (BLE) project using a Raspberry Pi Pico 2 W. I'm trying to implement a custom GATT service for a foot pedal device that includes the following characteristics:
Vertical Pedal Position (percentage)
5 Bumper Switches (individual states)
My Development Setup:
Board: Raspberry Pi Pico 2 W
IDE: Visual Studio Code
Extension: Raspberry Pi Pico extension
Tested Project: picow_ble_temp_reader example from the Pico SDK (working as expected)
What works:
I can see my Pico 2 W advertised in nRF Connect. The picow_ble_temp_reader project displays temperature correctly and updates over BLE.
Problem:
I modified the profile_data array to include my custom Foot Pedal Service (UUID: c1f611b1-35f3-4fcf-8042-f6cd98c90c57) with six characteristics. After replacing the original GATT database with this custom one, I can still see my Pico 2 W device advertising, but no services or characteristics are visible when I connect via nRF Connect.
My BLE Code Structure:
I’m using att_server_init(FootPedal_data, att_read_callback, att_write_callback);
Custom UUIDs were used (128-bit UUIDs).
My Questions:
Is there anything special I need to do when using 128-bit custom UUIDs?
Can anyone share working examples of multi-characteristic custom services on the Pico2 W?
Any help or insights are really appreciated! If anyone has built a similar BLE profile with btstack on the Pico 2 W, I'd love to compare notes.
Thanks in advance!
Statistics: Posted by sekar — Mon Apr 07, 2025 7:34 pm — Replies 0 — Views 25