Turning A Pi Into An iBeacon


Nowadays, if you want to ‘check in with Foursquare’ at your local laundromat, deli, or gas station, you need to take out your phone and manually ‘check in with Foursquare’. It’s like we’re living in the stone age. iBeacon, Apple’s NFC competitor that operates over Bluetooth 4.0 changes all that. iBeacon can automatically notify both iOS and Android users of where they are. [Kevin Townsend] over at Adafruit came up with a tutorial that turns a Raspberry Pi into an iBeacon, perfect for telling you that you’re somewhere in the proximity of a Raspberry Pi, and some other cool stuff too.

The iBeacon protocol is actually very simple. Basically, the only thing the iBeacon transmits is a 128-bit company/entity value, and an optional major and minor values (to differentiate between locations and nodes within locations, respectively). After plugging in a Bluetooth 4.0 USB dongle into the Pi, it’s a simple matter of installing BlueZ and entering the iBeacon data.

iBeacon by itself doesn’t really do anything – the heavy lifting of figuring out exactly which Panera Bread or Starbucks you’re in is left to the apps on your phone. If you’re a mobile developer, though, this is a great way to set up a very useful testing rig.


  1. K says:

    So…it spits out numbers, but those numbers really have no meaning, and the software on the phone still has to figure out where it is. This seems completely useless.

    • Old'un says:

      Not if you’re providing the software on the phone too…

      Typical use case would be iBeacons strewn round a supermarket, and the Walmart app then tells you where you are, where special offers are etc.

      Retail geolocating is going to be big…

    • fartface says:

      !00% correct. Apple had a good idea, but locked it up under a subscription service so normal people cant use it the bacon can not send any information, you have to pay apple several hundred a month to have your beacon to actually show up with meaningful info.

      • Shaun says:

        Based on what? There is no subscription service at work here. It just requires an app that will respond to the beacon’s ID. These apps can be on ios or android. Beacons just advertise their ID via Bluetooth Low-Energy; that’s the size restriction, straight from the standard as part of BLE’s proximity profile.

        The expectation is that apps respond to the identifier and then continue the interaction online, not via the bluetooth device.

    • K says:

      Alright, I can see it now. It just seemed really odd and didn’t offer much value-add right away. Thanks.

  2. Dodo says:

    The hack is using the raspberry pi instead of a normal pc…

  3. Eirinn says:

    Remember: when logging your position with any app KEEP YOUR PERSONAL INFORMATION PERSONAL. If you’re writing “LOL going on vacation in the Bahamas for a week”, or if you check into a hotel out of town; you risk coming home to a cleaned apartment and a note signed “kthx for notifying us, love thieves”. Happened to a guy i knew at a dorm. He went to Finland for a week and wrote it on his public facebook profile :)

  4. Stony Smith says:


  5. mrCxR says:

    Ironic how many folks complain about the “invasion of privacy” of modern technology.
    Yet, they blabber everything about their personal lives to the world (and sometimes
    even PAY services to give them that venue to air their details!).

    No one probably saw this clip, but in the sitcom “Melissa & Joey”, one of the kids
    was calling the 80’s “the stone age, how did you live back then?”.. and Joey made
    an insightful comment “oh when we had some useless piece of information – guess

  6. t9zap says:

    Stupid use for a Pi. Just use a BLED112 and change the script on it do it can act as an iBeacon without the Pi.

  7. James T says:

    I tried to make my own iBeacon using a Bluegiga BLE module. It didn’t work because I used TI software instead of the Bluegiga software. I bricked the RF chips. It’s a learning experience alright


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,577 other followers