Raspberry Pi can catch Nearable packet?

As I know, SDK is provided only in Android and iOS.

I want to develop the java application catching Nearable packet in Raspberry Pi.

Is there any SDK for it? How can I catch Nearable packet in RPi?

1 Like

Here’s a 3rd party Node.js SDK, works perfectly with RPi, Intel Edisons, etc. And supports stickers (:


Thank you for your help!

1 Like

Hello devs,

So am I right to think if I plug a bluetooth usb device on my rasbpi then I would be able to discover all beacons around it with that nodejs library ?

Thank you in advance :smile:


I used bluetooth model IOGEAR Bluetooth 4.0 USB Micro Adapter (GBU521) and successfully discover Nearable packets.

Now I am trying to this in python. :smile:


Cool thank you for the feedback. May I ask you can you read all of them ? (What is the max distance ?)

I have one beacon per room of my appartment and would be nice to read temperature from a central place (raspi)

Thank you in advance

On iOS, the range of beacons set to max Tx power is about 50–70 m. Stickers, about 10–15 m.

Depending on the sensitivity of your Bluetooth USB stick, it might be more or less, but usually it’s something around that value. Also, these values are with clear line-of-sight, so if you have your beacons, say, behind a wall, in another room, the range will likely go down drastically.

Great ! Will try that as soon I receive my usb stick ^^

May I know the format for the nearable packet in order to detect it using raspberry pi ? How did you detect it ? It is attached as a service data ?

I refered node.js library and developed it with Python.

Since I only need the information about movement, I used that information only.

But all information in nearable packet can be read by RPi.

You can use the node-bleacon Node.js library. It’s a 3rd party library, but they already rev-engineered the Nearable packet, and wrote all the decoding:

1 Like

Thanks a lot!! I am using noble but didn’t know that they have rev-engineered the Nearable packet. :smile:

Are you refering to motion values?

How often does your RPi receive the nearable packet?

Ideally this should be interval that are configured for specific sticker, however using the estimote-sticker.js module my sticker packages seems rather sporadic with intervals from a few seconds to 30+ sec, regardless if the sticker is in motion or not…

AFAIK, the bleacon library reports packets as soon as the hardware detects them, so if you’re getting a delayed response, that could mean something’s wrong with the Bluetooth dongle you’re using. Can you try another one and see if the behavior’s any different?

You could also use the Estimote iOS app to change your stickers’ advertising interval, set it to something lower, see if that helps.

I seem to have similar issues. I am using a Bluetooth 4.0 dongle from Logilink with a current version of bleacon, this nodejs library.

At home I saw even no packets today. Also “hcitool lescan” showed nothing. Neither did wireshark. However I had seen some sporadic beacons three days ago when I was in our hackerspace for the exact same estimote sticker.

Just for clarification, there is just one packet type in the air for an estimote sticker, which includes the one with the motion data, right? There is no packet needed to query or activate a sticker, is there?

PS: Three days ago a friend had tried the Estimote Android App and could see the stickers. At that same day I was able to see some sporadic packets with bleacon on Linux, too.

Just want to make sure I understand correctly: what you’re saying is, on one day you can detect the stickers, but on another day, with the same hardware, you can’t?

Right. at a different time and localtion (four days ago in the city center in our hackerspace), “hcitool lescan” was able to see some rare beacons from the stickers and node-bleacon threw some accelerometer data at me in unreliable, high intervals. Yesterday, at the same hackerspace both node-bleacon and “hcitool lescan” showed nothing.

Now at home, “hcitool lescan” shows nothing for me either.

I’ll try to redo the testing from four days ago, where a friend had been playing a little with the Android Estimote app at about the same time. I’ll check whether he can still see the sticker in that app tomorrow. Maybe he running the app might have made some difference, allowing me to get accelerometer and temperature data via node-bleacon?

Just another question to understand, the estimote sticker should always send bluetooth LE advertisiments and they should therefore always be visible via “hcitool lescan” on a Linux with a bluetooth 4.0 USB dongle, right? No magic packets / an app to activate or query a sticker needed for these simple advertisements, right?

EDIT: Wasn’t allowed to add a forth reply… therefore this edit.

Ok - looks like you gave the right pointers, heypiotr :).

Just went to the cellar of our hackerspace and checked each sticker one by one: The one I took home for “homework” as well as two other ones do not send anything. With one of these three, BLE advertisements can be seen again while and only while squeezing it. For the other two, that technique did not make a difference.

The remaining 7 seem to work fine, I can see them with “hcitool lescan”.

I would mail Marta from the estimote support again, we had been writing before the purchase. Unless there is another suggested procedure for replacing stickers.

Yes, the stickers should be broadcasting at all times, no magic required.

I wonder if somehow the battery got loose or otherwise doesn’t connect well to the PCB, resulting in these intermittent discoveries. Could you try firmly pressing on top of the sticker, and see if it starts being discovered then?