I have been trying for a few days to get the Bluetooth working on the iOS to receive and transmit data but so far no luck.
I have a Particle Boron device that sends data with Characteristic UUID: 0000C20C-5822-4800-ADE5-1F661D2133EE. I am able to successfully receive data using other IOS apps like Blue App and nRF but does not work on the Thunkable app. I am able to search and connect to the device but getting error every time for receiving.
I initially tried using the full UUID bit no luck and then I read on the forum here that i should only use 4bytes of the UUID → C20C instead of full for iOS platform.
After even trying that, no luck so far. So my question is what am I missing?
Nevermind, I managed to make it work atleast the receiving side.
I highly recommend the thunkable team to have a better FAQ or a section dedicated to issues with BLE in iOS and the main pointers on how to get it going.
I reverted back to using full UUID but had to make a change on the firmware side where the BleCharacteristicProperty::NOTIFY | BleCharacteristicProperty::READ instead of only using NOTIFY as it is supposed to be.
Seems like Thunkable is using some unconventional ways to communicate with BLE. All this should have been mentioned in the docs but one can only wonder and after reading threads after thread, then only I was able to get it working.
Hello @thunkable28! Welcome to our community!
Thank you for your feedback.
Just to be sure, would you like to see a section that will have the required settings on your BLE device in order to connect it with a Thunkable app?
Yes, a section dedicated for BLE with iOS and the required settings or sample project will be a good start. provided that this sample app has already been tested and verified that it works as expected. Both, how to receive and send data to/from the BLE device.
Moreover, a sample code for Arduino or ESP32 side will be also helpful to get started. Here, stating the main pointers such as which BleCharacteristicProperty to be used in order for the Thunkable platform to read the BLE data correctly.
In my opinion, this will speed up the development for iOS users as that’s where usually the issues are while the Android side works and Thunkable also supports live testing which is not there for iOS.
Testing on iOS, even a minor change easily takes 20mins from the time Thunkable pushes the app to the iOS store to TestFlight. I am a PRO user and this is sometimes frustrating.
MIT App Inventor also supports iOS and I have noticed they support live testing for iOS devices. Thunkable previously did too but now its no longer supported??
Sorry for my long list of comments but this is what I observed and I think lacks documentation.
Thank you for taking the time to write all of these useful comments.
Sorry for the late reply, I was out of the office for a week.
These are really good suggestions!
I’ll pass them on to the team.
We do also offer iOS Live Test.
You only have to download Thunkable live from the Appstore and start testing your apps!