Specifying 128-bit UUIDs for Custom Service and Characteristics ESP32C6
Posted: Wed Sep 25, 2024 11:40 am
We are encountering an issue when trying to specify 128-bit UUIDs for custom BLE services using the ESP32C6 with AT firmware version 4.0.0.0. Despite following the same approach we’ve successfully implemented on the ESP32C3, the desired services are not discovered correctly on the ESP32C6.
Here is the content of our gatts_data.csv file:
When using this configuration on the ESP32C6, the services discovered on a mobile device differ from our expectations. Below is a screenshot showing the results:
The same configuration, however, works perfectly on the ESP32C3 with AT firmware version 3.3.0.0, as shown in the following screenshot:
From the screenshots, we can see that the issue is related to the 128-bit UUIDs, as only the last 16 bits of the UUIDs are being recognized on ESP32C6
There hasn’t been any change in the official documentation for customizing BLE services between the ESP32C3 and ESP32C6, so we are uncertain why this difference in behavior occurs.
Here is the content of our gatts_data.csv file:
- # index,uuid_len,uuid,perm,max_len,cur_len,value
- 0,16,0x2800,0x01,16,16,6E400001B5A3F393E0A9E50E24DCCA9E
- 1,16,0x2803,0x01,1,1,04
- 2,128,0x6E400002B5A3F393E0A9E50E24DCCA9E,0x10,512,1,00
- 3,16,0x2803,0x01,1,1,10
- 4,128,0x6E400003B5A3F393E0A9E50E24DCCA9E,0x01,512,1,00
- 5,16,0x2902,0x11,2,2,0000
The same configuration, however, works perfectly on the ESP32C3 with AT firmware version 3.3.0.0, as shown in the following screenshot:
From the screenshots, we can see that the issue is related to the 128-bit UUIDs, as only the last 16 bits of the UUIDs are being recognized on ESP32C6
There hasn’t been any change in the official documentation for customizing BLE services between the ESP32C3 and ESP32C6, so we are uncertain why this difference in behavior occurs.