Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 6970

Advanced users • "Custom BLE GATT Service on Pico 2 W – Characteristics Not Showing in NRF Connect"

$
0
0
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!
foot_pedal_profile.zip

Statistics: Posted by sekar — Mon Apr 07, 2025 7:34 pm — Replies 0 — Views 25



Viewing all articles
Browse latest Browse all 6970

Trending Articles