2025-11-21_17-02-13.PNG (291.64 KiB) Viewed 268 times
In file included from C:\ProgramData\MatrixTSL\FlowcodeV11\CAL\includes.c:1964,
from C:\C#_sourcecode\_#FC11\Atom_S3_Display\Atom_S3_Display_BLE.h:297,
from C:/Users/Kfs-Forschung/Desktop/esp-idf-2/mtxesp32_s3_sdkconfig/main/esp-project.c:20:
C:\ProgramData\MatrixTSL\FlowcodeV11\CAL\ESP\ESP_CAL_BLE_SPP_Server.c:16:10: fatal error: esp_gap_ble_api.h: No such file or directory
16 | #include "esp_gap_ble_api.h"
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
Aha sorry I'll get on this tomorrow and see if I can fix it for you.
I think it's a still work in progress component but I have the raw C code working so shouldn't take me long to finish off the server/client components.
Right the ESP32 BT BLE Server is now fully functional and live on the library updates. Let me know if you have a go with it. I've done fairly thorough testing and for me it's very responsive and working great.
Note if I try and pair a device directly in Windows or on my Phone it fails. But if I don't pair and instead connect to it directly from a serial BLE app it's connecting and working as it should.
Another thing to note is in the menuconfig under Component Config -> Bluetooth. You must make sure Bluetooth is enabled, Host is Bluedroid and in Bluedroid options ensure that Enable BLE 4.2 features is checked.
I'll make a start on the Client while I'm on a roll and see if I can get that one finished too.
Hi Ben
I installed the Multi comm terminal on another computer,
and there I can receive the sent string from ESP32-S3 and BLE.
Have you also planned a component for the app developer?
Good question. I think a component for web developer should be fairly easy as I've already got this working. I'll have to have a think about PC developer and what we can do there.
My plan is to expose the two GATT service UUIDs in the components and then it should be easy to say have a server with a specific UUID and then have a client that can filter and optionally auto connect to that specific UUID.
A component for web developers would be great.
For my project, the data will have to go to the cloud in the future, via Android or Windows devices.
Web developers are also ideal for testing.
But it's also practical for app developers to receive data from the ESP32-S3.
I tested it for Android and iPhone, and I can receive the string with an App.
My wish is to be able to send an integer array and receive it in the App developer, just like with UART or classic Bluetooth.
My test with a string was working nice.
ESP32 send:
2025-11-27_12-06-02.PNG (17.79 KiB) Viewed 39 times
received App for Iphone:
2025-11-27_11-59-54.PNG (13.43 KiB) Viewed 39 times
received App for Androide:
2025-11-27_12-02-00.PNG (5.93 KiB) Viewed 39 times
Glad it's now working for you. I've added the embedded client component now too and that also seems to be working well so that's good progress.
If you need to send/receive arrays of INTs then one way to do it now would be to use arrays of bytes and simply assign the low/high byte of each INT to each pair of bytes.