Developer Skill Sprint - Proximity Awareness with Beacons

Posted by on in Tips, Tricks and Techniques

YouTube Replay


Using Beacons



Skill sprint project files can be found on code central.
Download C++

The RTL.BeaconsProximity Sample is a very complete example of managing proximity awareness (and much more) with multiple beacons and multiple regions using the Beacon RTL.

Download C++
Download Object Pascal



EM Microelectronic - EMBC01 Beacon

EMBC01 Beacon product page
EMBC01 Beacon Datasheet


Philips Hue - Iris Starter clear LED Table lamp

The Philips Iris smart light combined with the Philips Hue Bridge, as found in any of the available starter packs, is collectivly refered to as Philips Hue. Philips offers a RESTful API, find out all about it at

For information on how setup the Embarcadero REST Debugger to communicate with the Phlips Hue RESTful API, check out my appmethod blog post, Developing the Internet of Things: Philips Hue Lux Starter Kit. There is a lot of information on the blog post which also applies to RAD Studio. 


Kwikset SmartCode Deadbolt and VeraLite Smart Home Controller

Kwikset offers an electronic SmartCode Deadbolt that features Z-Wave technology. This enables it to be controlled by a VeraLite Smart Home Controller. The VeraLite Smart Home Controller is a connectivity hub that interfaces with all kinds of smart home automation Gadgets and Devices. For more information, please check out my appmethod blog post, Developing the Internet of Things: Kwikset SmartCode Deadbolt and VeraLite Smart Home Controller.





Gold User, Rank: 8, Points: 399
Brian Alexakis is a Product Marketing Manager at Embarcadero Technologies. He is focused on leveraging the connected world of technology to build new experiences for the Internet of Things.


  • Brian Alexakis
    Brian Alexakis Monday, 6 July 2015

    Hello Godfrey,

    Thank you for taking the time to post your findings. I'm glad you were able to get the EM Microelectronic Beacons to work with your hardware.

    There are many 3rd party beacon scanner apps. I would recommend trying a few different ones out and contrast their behavior. This can help you establish an understanding of how the Beacon should be performing basic functions.

    Please feel free to ask any specific questions you may have at this time and I will help to find you answers.

    Have a great day!

  • GodfreyF
    GodfreyF Monday, 6 July 2015

    Some interesting observations regarding beacons. I first used some cheap Chinese beacons and I was having problems with my app crashing and also the reliability of the signal was erratic, my app would not report the distance from the Beacon accurately. I then got some Beacons from EM Microelectronic, the same as used in above demo and my problems are solved. I can recommend EM Microelectronic for their products and support.

  • GodfreyF
    GodfreyF Friday, 3 July 2015

    Can you suggest a 3rd party app.

    Note: My app and the example app do pick up the beacons but both just bomb out after about 2 min. It looks as though Android 4.4.2 kills the app for some reason.

  • Brian Alexakis
    Brian Alexakis Thursday, 2 July 2015

    Regarding the Beacon, have you tried using a 3rd party beacon scanning app?

  • GodfreyF
    GodfreyF Tuesday, 30 June 2015

    I am using XE8 upd 1. I can run debug mode on my cell phone so it does not seem to be the problem with xE8 installation but rather with the tablet. It seems to clash with something on the tablet. Tablet running Android 4.4.2 and I have run the app to check compatibility which it passed.

  • GodfreyF
    GodfreyF Tuesday, 30 June 2015


    I did have the Bluetooth permissions set.

    Tried the RTL.BeaconsProximity sample. Also bombs out after about 2 min. How can I find out why this is happening. Also why I cannot run in debug mode. Is there an error log I can get.


  • Brian Alexakis
    Brian Alexakis Monday, 29 June 2015

    Hi Godfrey,

    One quick bit of feedback is to ensure that you have given your app Bluetooth permissions.

    Project Options -> Uses Permissions -> Bluetooth and Bluetooth Admin

    Though I suspect you did do this otherwise the app would crash immediately when requesting Bluetooth and not after a few minutes.

    Have you tried the RTL.BeaconsProximity Sample project I link to in my blog post?

  • GodfreyF
    GodfreyF Monday, 29 June 2015

    I replaced the ADB driver for my tablet with the Android composite ADB driver, but I still cannot debug my app on the tablet.

    I did some further testing with the Beacons. If I run the app with the Beacon component
    disabled then the app does not bomb out, but when I enable the Beacon component and it is
    scanning, it runs for a few minutes(picking up the beacon) then bombs out.

    Any suggestions would be appreciated.

  • GodfreyF
    GodfreyF Monday, 29 June 2015


    I have some questions about beacons. I bought some ibeacons from a Chinese site that were
    fairly cheap and were supposed to be 100% iBeacon compatible, but I seem to be getting unreliable results. The proximity distance seems to vary and is not very accurate. Is it possible that the beacons are not up to spec?

    Also, I copied your app above and one thing that is frustrating is, the app runs for a minute or 2 then it just bombs. Running on my Android 10" tablet with Android Ver 4.4. Could it be that I am missing some permissions or a setting?

    I do have a problem with debugging on this tablet, as I am battling to find a ADB driver, it comes up as the correct model number but as an HTC although it is not an HTC(has a Mediatek chip). It allows me to install my app from the IDE but will not allow the debugger to run. Maybe this is also the cause of the app bombing out on the Android device.


  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: