Trying to get Episode 8 running on an ESP32 S3 board with the latest Arduino IDE version
-
I am adding a GUI to a milling machine controller I designed and implemented last year using an ESP32 S3 development board. I have completed the initial UI design using the GUI-O Live Design Tool. Now I'm trying to get my S3 talking to the GUI-O app using BLE. I figured the best way to start was to get the Episode 8 example to run in my environment. I am trying to get the code to compile with the latest version of the Arduino IDE and ESP32 boards manager. I have resolved most of the compile errors (I hope), but I'm stuck on this one:
In file included from C:\Users\dave-\Documents\Arduino\guio_example_Bluetooth_LE\guio_example_Bluetooth_LE.ino:10:c:\Users\dave\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEDevice.h:12:10: fatal error: esp_gap_ble_api.h: No such file or directory
12 | #include <esp_gap_ble_api.h> // ESP32 BLE
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1Better yet, if a BLE example exists the is known to work with the current version of the Arduino IDE, I would love to have it.
-
@mile_hi_guy Hi,
what is your Esp32 core library version?
Did you see the note at the top of the page here:
https://www.gui-o.com/examples/gui-o-and-boards/esp32I need to update the examples for the never library, bud sadly I am a bit short on time right now.
I will try to look at your issue ASAP... In the meantime, if you are able to find the solution, please share it here

Thank you.
Best regards,
Kl3m3n -
I finally got the Episode 8 app running just before I read the above reply. The easy part was following the Migration guide as pointed out.
This resulted in these changes to the app:
Changed the code at lines 56 & 104:
//*** old code ****** pTxCharacteristic->setValue(std::string(msg.c_str()));
pTxCharacteristic->setValue(String(msg.c_str())); //*** new code ****Changed the code at line 71
// motor control setup (speed, direction)
//*** old code **** ledcSetup(PWM_CHANNEL, PWM_FREQ, PWM_BITS);
//*** old code **** ledcAttachPin(enablePin, PWM_CHANNEL);
ledcAttach(enablePin, PWM_FREQ, PWM_BITS); //*** new code ****The hard part for me (should have been more obvious) was that the compiler was picking up the wrong header files. I did not realize that the 3.0 ESP32 Arduino library is included in the core loaded by the board manager. This was fixed by uninstalling the ESP32 Arduino BLE library using the library manager.
-
@mile_hi_guy Thanks for pointing this out!
Best regards,
Kl3m3n