# Bluetooth Low Energy Transmits but does not Receive

**URL:** <https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954>\
**Category:** Questions about Thunkable X\
**Tags:** bluetooth\
**Created:** [June 30, 2020, 4:52pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954 "2020-06-30T16:52:00Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [October 27, 2020, 12:23pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/21 "2020-10-27T12:23:26Z")

</div>

BLE receive is working!

If anyone is using the standard ESP32 libraries on Arduino IDE or the BLE DEMO instructable written for Thunkable Classic the key is to add property\_read to the BLECharectoristics.

See in between \*\* \*\* bellow. Was working immediately!

Off a standard timer on Thunkable. Admittedly the BLE receive should probably be an event block

pCharacteristic = pService-\>createCharacteristic(  
CHARACTERISTIC\_UUID\_TX,  
BLECharacteristic::PROPERTY\_NOTIFY\*\*|BLECharacteristic::PROPERTY\_READ\*\*  
);

 ![BLE receive working for esp32 etc](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/d/3/d3105768528350c92336a9897f56cc11b3a75dc8.png)

Kind Regards Rich

---

<div class="post-metadata">

**Author:** ![pittsgsal](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/pittsgsal/32/50859_2.png) [@pittsgsal](https://community.thunkable.com/u/pittsgsal)\
**Post date:** [November 12, 2020, 8:38pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/22 "2020-11-12T20:38:02Z")

</div>

That’s great! I’m trying to get a reading from a BLE temperature probe thermometer. I don’t know programming, so I’m not sure where the stuff between the \*\* \*\* goes in the blocks. Can you explain a little to someone like me?? 🙂

Any help is greatly appreciated!!

---

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [November 12, 2020, 8:59pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/23 "2020-11-12T20:59:18Z")

</div>

Hi Pittsgsal,

This code (The bits between \*\* \*\*) is for an Espressif esp32 (Like an arduino). It was a way for the Arduino to speak/communicate with thunkable.

This will not help you much with your Bluetooth Thermocouple I am afraid.

You could get temperature sensor for an arduino or esp32 and use the BLE Arduino template and the above extra snippet to transmit the information to thunkable.

Here a common sensors, most also have code ready to go so should only be a bit of studying and copy and paste to get it to work

> **[9 Arduino Compatible Temperature Sensors | Random Nerd Tutorials](https://randomnerdtutorials.com/9-arduino-compatible-temperature-sensors-for-your-electronics-projects/)**
>
> Reading temperature with Arduino is a very useful task. Here's a list of 9 cheap and easy-to-use temperature sensors. They are also compatible with ESP32, ESP8266, etc.

Cheers Rich

---

<div class="post-metadata">

**Author:** ![pittsgsal](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/pittsgsal/32/50859_2.png) [@pittsgsal](https://community.thunkable.com/u/pittsgsal)\
**Post date:** [November 12, 2020, 9:19pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/24 "2020-11-12T21:19:48Z")

</div>

Cheers, Rich!

I’m really at a loss as to how to get this working, as I have an API that explains it, but I just don’t have the skills to get the correct info in the blocks, or to even enter something extra that need to be in there to make it work. It supposedly will act like a GATT Server. All the Characteristic numbers are in the doc, and I set Global variables. I’m attaching a pic of the “meat” of the API in case you can magically think of a way to get a temperature from it… 🙂

 ![API](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/3/c/3ca5db7dddf4f1794afa74c2450351afb17984ed.jpeg)

---

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [November 12, 2020, 9:47pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/25 "2020-11-12T21:47:53Z")

</div>

Looks like you just need to get the UUID, write that to the string outside the above code block and see what data you get and look for the float between byte 2 and 5.

If the documentation doesn’t specify the UUID Google how to find low energy Bluetooth UUID from Charectoristic. Might be easier to connect to it via a laptop find it that way.

---

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [November 12, 2020, 9:55pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/26 "2020-11-12T21:55:19Z")

</div>

![Screenshot_20201112-215148_Chrome](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/b/a/baccf0910b2e258f4e0f9db474553a837f3f88b5.jpeg)

 ![Screenshot_20201112-215156_Chrome](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/4/c/4c6c3cef1b39077bb0cfc335f2d577b075c7e910.jpeg)

You obviously need to connect when the page opens and all that… excuse the screen shots just on phone.

---

<div class="post-metadata">

**Author:** ![pittsgsal](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/pittsgsal/32/50859_2.png) [@pittsgsal](https://community.thunkable.com/u/pittsgsal)\
**Post date:** [November 12, 2020, 10:01pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/27 "2020-11-12T22:01:34Z")

</div>

I can absolutely connect with no issues. Works great!  
The issue comes when I’m looking for a reading from the thermometer. I try to show it in a Label, but it won’t show a temp. I assume that it doesn’t KNOW that it’s Little Endian, and can’t figure out what to do with the gibberish it gets.

---

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [November 12, 2020, 10:19pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/28 "2020-11-12T22:19:51Z")

</div>

You have done all the work already! You may be stuck if you cannot change the device property from notify to read. Its will show as undefined. If you have an old thunkable classic account you can do it easily there.

I guess you might need program it properly not blockely or down a more DIY route with an arduino and sensors. Give you plenty of options too.

If you by some remote chance figure a way. I know the community will be keen to know.

Good luck!

---

<div class="post-metadata">

**Author:** ![pittsgsal](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/pittsgsal/32/50859_2.png) [@pittsgsal](https://community.thunkable.com/u/pittsgsal)\
**Post date:** [November 12, 2020, 10:22pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/29 "2020-11-12T22:22:14Z")

</div>

Thanks for the help, Rich! I’m going to keep trying!! Maybe I can figure a way to get an old account… lol!

Mike

---

<div class="post-metadata">

**Author:** ![rkx1984t1q54a](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/rkx1984t1q54a/32/87325_2.png) [@rkx1984t1q54a](https://community.thunkable.com/u/rkx1984t1q54a)\
**Post date:** [November 12, 2020, 10:28pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/30 "2020-11-12T22:28:44Z")

</div>

But if you CAN get read the bytes into text (even if its HEX or ascii) you can use the text code blocks to extract the bytes and convert them.

Using length blocks, Trim then if HEX = hex hex = ascii equivalent

Then use math boxes to add them the right order and store them to a variable then to a label.

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [November 13, 2020, 12:27am UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/31 "2020-11-13T00:27:40Z")

</div>

@pittsgal That Temperature Measurement appears to be in hexadecimal. I used an online converter to convert 0x2A1C to decimal and got 10780. Perhaps you tried that, too. I knew we could ignore the 0x after reading the article I link to below but I wasn’t sure about the rest of the value.

So it seems we need some more information about the type of value that is being output as temperature.

And there is some in the information you posted (I tried to find the API documentation you mentioned but couldn’t. Is it available online?).

“Byte 1 contains the flag field.” This helps us know if the temperature is in °C or °F but it doesn’t affect the actual value of the temperature.

According to the article below, each hexadecimal digit maps to 4 bits (4 binary digits). A byte is eight binary digits or two hexadecimal digits. So Byte 1 consists of the first two hexadecimal digits, “1C.” So we can ignore those for now.

“Byte 2 to 5 is a 4 byte float representing the temperature reading…” Now we’re getting somewhere!

If we take Byte 2 to 5 as a single value, we need to evaluate “2A.” Because that’s all that remains after we remove the 0x prefix and Byte 1 “1C.”

And 2A in hexadecimal converts to 42 in decimal. So the answer is 42 degrees! Woo hoo! But wait, is that 42°F or 42°C? Probably if you’re measuring the temperature at home with the physical device, you already know the answer. But if you need help with parsing the value from Byte 1, I could take a crack at that, too.

Mind you, I just figured this out and I’ve never worked with hexadecimal. So even though I feel pretty good about the chances that 42° is correct, you might want someone else to double-check my assumptions.

I found this useful: [Hexadecimal - learn.sparkfun.com](https://learn.sparkfun.com/tutorials/hexadecimal/all), especially the part titled " Hex-to-Decimal Example: Convert 0xC0DE" and the couple of sections below that. Also, I had to read this to understand that in “little endian,” bytes are read from right to left: [Is binary code read from right to left? - Quora](https://www.quora.com/Is-binary-code-read-from-right-to-left).

**Edit:** I can’t leave well enough alone when it comes to learning more about coding! Byte 1’s value of 1C in hexadecimal equals 00011100 in binary. That’s eight bits: 0, 0, 0, 1, 1, 1, 0, and 0. According to what you posted above, “Bit 0 [is the] Temperature scale.” So if we look at bit 0, the value is 0 – I’m pretty sure that’s the right-most value. So this temperature is in Celsius (a value of 1 would indicate Fahrenheit). I hope I’m right! 😃

To contextualize, I’m going to say you’re probably measuring some nice hot tub water at about 108 °F.

![Screen Shot 2020-11-12 at 4.55.43 PM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/a/2/a248c406ed2ff37442b9b86202e166af3f1a9e66.jpeg) ![download](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/a/0/a04edd8e3d23679eb61d68328f6e942436a0e30d.png) ![download](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/d/0/d059c4ecb99ceed168847e0ed9bc8352ac09e80b.jpeg)

---

<div class="post-metadata">

**Author:** ![neuheisser](https://avatars.discourse-cdn.com/v4/letter/n/9fc29f/32.png) [@neuheisser](https://community.thunkable.com/u/neuheisser)\
**Post date:** [December 6, 2020, 1:29pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/32 "2020-12-06T13:29:26Z")

</div>

Confirmed, working.  
Check this post

> [@\[Solved\] Can I use BLE on iOS?](http://community.thunkable.com/t/solved-can-i-use-ble-on-ios/132834/50):
>
> OK - I can finally confirm that BLE transfer works both ways with ESP32 slight_smile The key is really in setting right properties, and the easiest way for setting things up is flashing the example BLE\_notify from ESP32 BLE Arduino folder in Examples Connecting to the device name ESP32 (BLE block) Using CHARACTERISTIC\_UUID from the example for Receive block. And basically you got it. Good luck and thanks for help Richard and the others!

---

<div class="post-metadata">

**Author:** ![sirfrancisdrake](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/sirfrancisdrake/32/70212_2.png) [@sirfrancisdrake](https://community.thunkable.com/u/sirfrancisdrake)\
**Post date:** [December 29, 2020, 9:31pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/33 "2020-12-29T21:31:15Z")

</div>

i can confirm that adding the property PROPERTY\_READ ble is working both ways on esp32 and iphone 12 pro max ios 14.3  
tks!

---

<div class="post-metadata">

**Author:** ![pittsgsal](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/pittsgsal/32/50859_2.png) [@pittsgsal](https://community.thunkable.com/u/pittsgsal)\
**Post date:** [January 22, 2021, 10:23pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/34 "2021-01-22T22:23:46Z")

</div>

That’s great! How did you add the “PROPERTY\_READ” to your app??? I’m clearly not as educated as you guys are!

Thanks!

---

<div class="post-metadata">

**Author:** ![sma.smart](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@sma.smart](https://community.thunkable.com/u/sma.smart)\
**Post date:** [March 20, 2021, 2:18pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/35 "2021-03-20T14:18:16Z")

</div>

Hi there, any update about this issue? Thanks

---

<div class="post-metadata">

**Author:** ![sma.smart](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@sma.smart](https://community.thunkable.com/u/sma.smart)\
**Post date:** [April 13, 2021, 2:56am UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/36 "2021-04-13T02:56:56Z")

</div>

Hi, any one can help to share a sample of data string receiving with BLE?  
Thanks

---

<div class="post-metadata">

**Author:** ![ncoplin74cp](https://avatars.discourse-cdn.com/v4/letter/n/ba9def/32.png) [@ncoplin74cp](https://community.thunkable.com/u/ncoplin74cp)\
**Post date:** [July 15, 2021, 2:00pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/37 "2021-07-15T14:00:49Z")

</div>

Hi Thunkers and Developers,

I signed up to trial this app development tool specifically for a BLE application using the HM-10 BLE module. The nice thing about Thunkable was its ability to be cross-platform; Android, iOS and now WEB. I was contemplating upgrading to PRO, until reading these threads it appears that the issue with receiving data from the HM-10 has been on-going for over a year, with lots of dedicated users trying to resolve and provide guidance - but no official update to support.

Can someone from Thunkable provide clarity if this issue with the HM-10 will be resolved, or should I (and others) start looking at other app development platforms which support this popular BLE module?

---

<div class="post-metadata">

**Author:** ![ncoplin74cp](https://avatars.discourse-cdn.com/v4/letter/n/ba9def/32.png) [@ncoplin74cp](https://community.thunkable.com/u/ncoplin74cp)\
**Post date:** [July 16, 2021, 12:06pm UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/38 "2021-07-16T12:06:25Z")

</div>

…as an update:

1. “receive” does work with characteristic 0x2A00 which reads the name of the device; so the fundamental read code in thunkable works

2. having a genuine HM-10 (not a clone) I tried splitting write and read functionalities into a second characteristic 0xFFE1 and 0xFFE2; unfortunately the no change. This would indicate to be the error is in the code which parses the returned information.

Strangely, back to back, the MIT AppInventor has no issue with receiving code, which is bazaar since the thunkable code leverages the AppInventor source code…

---

<div class="post-metadata">

**Author:** ![angelo.puzzo999e4](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@angelo.puzzo999e4](https://community.thunkable.com/u/angelo.puzzo999e4)\
**Post date:** [October 15, 2021, 8:57am UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/39 "2021-10-15T08:57:38Z")

</div>

Hi! I’ve some problems with the uuid of the hc08. I can neither receive nor send message…  
someone already did that?

---

<div class="post-metadata">

**Author:** ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)\
**Post date:** [November 8, 2024, 11:25am UTC](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954/40 "2024-11-08T11:25:08Z")

</div>



[Previous page](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954.md?page=1)

[Next page](https://community.thunkable.com/t/bluetooth-low-energy-transmits-but-does-not-receive/646954.md?page=3)
