# Awesome Bluetooth Beacon [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A curated list of awesome iBeacon and Eddystone Bluetooth beacon resources, open source projects, libraries, tools and tutorials.


## Eddystone by Google

> **Eddystone** A platform for marking up the world to make your apps and devices work smarter by providing timely, contextual information.

* [Google Developers Beacons Portal](https://developers.google.com/beacons/)
* [Eddystone Protocol Specification & Tools](https://github.com/google/eddystone)
* Advertising frame types
  * [Eddystone-UID](https://github.com/google/eddystone/tree/master/eddystone-uid)
  * [Eddystone-TLM](https://github.com/google/eddystone/tree/master/eddystone-tlm)
  * [Eddystone-URL](https://github.com/google/eddystone/tree/master/eddystone-url)
* [Eddystone Validator](https://github.com/google/eddystone/tree/master/tools/eddystone-validator)
* [Eddystone GATT Configuration Service & Google Nearby API and Proximity API](* [](https://github.com/NordicSemiconductor/Android-nRF-Beacon-for-Eddystone)) (by Nordic Semiconductor)
* [Web Bluetooth Eddystone Configurator](https://beaufortfrancois.github.io/sandbox/web-bluetooth/eddystone-url-config/)
* [Eddystone Branding Guidelines](https://github.com/google/eddystone/tree/master/branding) & [Logos](https://github.com/google/eddystone/tree/master/branding/assets)

## Physical Web

> The **Physical Web** is an approach to unleash the core superpower of the web: interaction on demand. People should be able to walk up to any smart device - a vending machine, a poster, a toy, a bus stop, a rental car - and not have to download an app first. Everything should be just a tap away.

* [Physical Web - Walk up and use anything](http://google.github.io/physical-web/) - Official Github repository
* [Video: Introduction to the Physical Web](https://www.youtube.com/watch?v=w0XazPrh7r0) - Ubiquity Dev Summit 2016
* [URL Validator 1](https://beaufortfrancois.github.io/sandbox/physical-web/url-validator/), [URL Validator 2](https://url-caster.appspot.com/webui)
* [Physical Web Getting Started Guide for Developers](https://docs.google.com/document/d/1VC9umaw9TItV31WrcX0eJ9xVsfXXQoWvUjuSqWXmH8A)
* [Physical Web Implementation Status](https://github.com/google/physical-web/blob/master/implementation-status.md)
* [Physical Web Branding Guidelines](https://github.com/google/physical-web/blob/master/documentation/branding_guidelines.md) & [Logos](https://github.com/google/physical-web/tree/master/documentation/images/logo)
* [IEEE: Enabling the Internet of Things](https://web.eecs.umich.edu/~prabal/teaching/resources/eecs582/want15iot.pdf) by R. Want, B. Schilit, S. Jenson
* [Exploring the Physical Web (Without Buying Beacons)](https://medium.com/@urish/exploring-the-physical-web-without-buying-beacons-efae51e36c2e)

## Proximity Beacon API by Google

* [Beacons 101-- Getting Started with the Google Beacon Platform](https://www.youtube.com/watch?v=0QeY9FueMow) - Video Ubiquity Dev Summit 2016
* [Get Started with Beacons](https://developers.google.com/beacons/get-started) - This guide explains the steps required to start using Bluetooth low energy (BLE) beacons to provide proximity-based experiences for your users.
* [Proximity Beacon API](https://developers.google.com/beacons/proximity/guides) - A cloud service that allows you to manage data associated with your BLE beacons using a REST interface
* [Nearby](https://developers.google.com/nearby/) - Build simple interactions between nearby devices and people


## iBeacon Resources by Apple

> **iBeacon for Developers** From welcoming people as they arrive at a sporting event to providing information about a nearby museum exhibit, iBeacon opens a new world of possibilities for location awareness, and countless opportunities for interactivity between iOS devices and iBeacon hardware.

* [iBeacon for Developers](https://developer.apple.com/ibeacon)
* [Getting Started with iBeacon (PDF) ](https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf)
* [iBeacon Artwork and Specifications](https://developer.apple.com/ibeacon/)
* [iOS: Understanding iBeacon device compatibility](https://support.apple.com/en-us/HT202880)
* [iOS 7: Understanding Location Services](https://support.apple.com/en-us/HT201357)
* [Apple AirLocate Sample Code](https://developer.apple.com/library/ios/samplecode/AirLocate/Introduction/Intro.html) ([iOS8 fix](http://stackoverflow.com/questions/26079530/apple-airlocation-demo-app-ranging-not-shows-beacons))


## iBeacon for Developers

* [Building Applications with iBeacon](http://shop.oreilly.com/product/0636920033813.do)
* [Cisco iBeacon FAQ](http://www.cisco.com/c/dam/en/us/solutions/collateral/enterprise-networks/connected-mobile-experiences/ibeacon_faq.pdf)
* [5 Minute Overview - What is iBeacon? by ThoughtWorks](https://www.thoughtworks.com/insights/blog/what-is-ibeacon-in-5-minutes)
* [A Semi-Technical Lowdown on Working with iBeacons](https://www.thoughtworks.com/insights/blog/semi-technical-lowdown-working-ibeacons)
* [CapTech Webinar: iBeacon Demystified](https://www.youtube.com/watch?v=0IGeQqEGhx4)
* [5 fundamental misconceptions about Beacon technology by RadiusNetworks](http://developer.radiusnetworks.com/2014/01/10/ibeacon-misconceptions.html)
* [Ask a Dev: What Are the Limitations of Beacons?](http://mashable.com/2014/05/09/beacons-limitations/)
* [What's the Difference Between Beacons and Geofencing?](http://mashable.com/2014/02/24/beacons-geofencing-location/)
* [Guide to iBeacon Hardware by beekn.net](http://beekn.net/guide-to-ibeacons/)
* [Developing an iBeacon App by beekn.net](http://beekn.net/developing-ibeacon-app/)

# Hacks & Cool Apps

* [Empowering vision impaired people to navigate the world independently](https://www.wayfindr.net) (an open standard)
* [Google Glass & Beacons](https://github.com/tmwagency/Glasstimote)
* [10 awesome things you can do today with iBeacons](http://blog.twocanoes.com/post/68861362715/10-awesome-things-you-can-do-today-with-ibeacons) (by Twocanoes)
* [PunchClock](https://github.com/panicinc/PunchClock) An in/out tracking app for iOS 7+ that uses iBeacon and Geofencing.
* [The Geofancy iOS app](https://github.com/LocativeHQ/ios-app) Helping you to get the best out of your automated home, geofencing, iBeacons at your hand.
* [LaunchHere for iOS - iBeacon based app shortcuts](http://launchhere.awwapps.com/)
* [Traveling with Beacons: Checked Luggage Made Easy](https://medium.com/@urish/traveling-with-beacons-checked-luggage-made-easy-bbd664765ea3)


## Installation & Radio Planning

* Brooklyn Museum: [Positioning Visitors with iBeacons](https://www.brooklynmuseum.org/community/blogosphere/2014/10/14/positioning-visitors-with-ibeacons/) & [Getting Visibility on the iBeacon Problem](https://www.brooklynmuseum.org/community/blogosphere/2016/02/23/getting-visibility-on-the-ibeacon-problem/)


## Beacon Discovery & Configuration Tools

* [ScanBeacon](https://github.com/RadiusNetworks/scanbeacon-gem) - A ruby gem that allows you to scan for beacon advertisements using IOBluetooth (on Mac OS X) or a BlueGiga BLE112 device (on mac or linux)


# iOS


## Beacon Scanner Apps

* [Locate Beacon by RadiusNetworks](https://itunes.apple.com/us/app/locate-for-ibeacon/id738709014?mt=8)

## Swift

* [iOS Eddystone Scanner Sample Application ](https://github.com/google/eddystone/tree/master/tools/ios-eddystone-scanner-sample)
* [Swift based iBeacon App Development with CoreLocation on Apple iOS 7/8](http://ibeaconmodules.us/blogs/news/14702963-getting-started-developing-ibeacon-apps-with-swift-on-apple-ios-7-8)
* [Udemy: iBeacon development for iPhone](https://www.udemy.com/ibeacon-development-for-iphone/)
* [HiBeacons](https://github.com/nicktoumpelis/HiBeacons) A nice iBeacon demo app in Swift.
* [PubNub.com - Two-Way iBeacon Communication with Swift Programming Language](https://www.pubnub.com/blog/2014-08-19-smart-ibeacon-communication-in-the-swift-programming-language/)
* [iOS & OSX Bluetooth library for RxSwift](https://github.com/Polidea/RxBluetoothKit)
* [JMCiBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby.
* [BeaconKit](https://github.com/igor-makarov/BeaconKit) - Beacon detection framework using CoreBluetooth, supporting Eddystone-UID, Eddystone-URL, AltBeacon.

## Objective-C

* [Generic iBeacon Management and Utilities by KinveyLabs](https://github.com/KinveyLabs/KCSIBeacon/)
* [Replicates detecting and broadcasting iBeacons in the background](https://github.com/Instrument/Vicinity)
* [RABeaconManager](https://github.com/reelyactive/ble-ios-sdk) RABeaconManager is an easy to use library that allows you to detect Bluetooth Beacons and iBeacons in the foreground and background.


## Stackoverflow Q&A

* [iBeacon detection time in background](http://stackoverflow.com/questions/25495804/ibeacon-detection-time-in-background-home-automation-use-case/25496669#25496669)
* [iBeacon region monitoring AND proximity for >20 beacons?](http://stackoverflow.com/questions/25387660/ibeacon-region-monitoring-and-proximity-for-20-beacons)
* [How to make iBeacon foreground ranging for CLProximityImmediate faster in iOS?](http://stackoverflow.com/questions/23991733/how-to-make-ibeacon-foreground-ranging-for-clproximityimmediate-faster-in-ios/23992584#23992584)
* [Can we start iBeacon transmitter in background?](http://stackoverflow.com/questions/24164523/can-we-start-ibeacon-transmitter-in-background/24165073#24165073)
* [How does iBeacon wake up our app?](http://stackoverflow.com/questions/24590534/how-does-ibeacon-wake-up-our-app-for-how-long-and-how-to-extend-that-time/24590886#24590886)
* [Use Core Bluetooth instead of iBeacon - Any Downsides?](http://stackoverflow.com/questions/24267421/use-core-bluetooth-instead-of-ibeacon-any-downsides/24268389#24268389)

# Virtual Beacons

* [Beacon Toy - Android App to advertise as Eddystone](https://play.google.com/store/apps/details?id=net.alea.beaconsimulator)
* [Android BLE advertising library](https://github.com/uriio/beacons-android)
* [Locate by Radius Networks - Virtual iBeacon](https://itunes.apple.com/us/app/locate-beacon/id738709014?mt=8)
* [Chrome App to advertise Eddystone packets](https://github.com/google/eddystone/tree/master/tools/eddystone-chrome-app-sample) - uses [Eddystone Advertising Library](https://github.com/google/eddystone/tree/master/libraries/javascript/eddystone-advertising)
* [Linux iBeacon broadcaster](https://github.com/dburr/linux-ibeacon)
* [Quick Beacon](https://itunes.apple.com/us/app/quick-beacon/id1303172948?mt=8)


# Android

## Beacon Development

* [Android Lolipop Bluetooth Low Energy Enhancements.](https://developer.android.com/about/versions/android-5.0.html) Support OS-level scan filter & peripheral mode.
* [iBeacon Scanner for Android](https://github.com/inthepocket/ibeacon-scanner-android), [Docs](https://github.com/inthepocket/ibeacon-scanner-android/wiki) & [Blog post](http://developer.inthepocket.mobi/2016/11/24/ibeacon-scanner-android/)
* [Android beacon library based on AltBeacon.](https://github.com/AltBeacon/android-beacon-library) Use a custom beacon parser for iBeacon device compatibility.
* [BeaconKeeper](https://github.com/m039/beacon-keeper) The simple library for locating iBeacons in background
* [Android & BLE](https://developer.android.com/guide/topics/connectivity/bluetooth-le.html)
* [DevBytes: Bluetooth Low Energy API in Android 4.3](https://www.youtube.com/watch?v=vUbFB1Qypg8)
* [BLE SDK for Android](https://github.com/RedBearLab/Android)
* [Bluetooth LE Library for Android](https://github.com/alt236/Bluetooth-LE-Library---Android)
* [reelyactive-ble-android-sdk](https://github.com/reelyactive/ble-android-sdk) This SDK allows you to scan beacons and advertise as a beacon.

## Beacon Scanner Apps

* [iBeacon Scanner](https://play.google.com/store/apps/details?id=be.createweb.beaconscanner) & [code](https://github.com/eliaslecomte/ibeacon-scanner-app)
* [Beacon Scanner & Logger](https://github.com/justinodwyer/Beacon-Scanner-and-Logger) Android app that scans for BLE Beacons/iBeacons and logs the results to a file
* [iBeacon Detector](https://play.google.com/store/apps/details?id=youten.redo.ble.ibeacondetector&hl=de)
* [Bluetooth 4.0 Scanner](https://play.google.com/store/apps/details?id=com.bluemotionlabs.bluescan&hl=de)

## Beacon Advertiser Apps

* [Beacon Simulator](https://play.google.com/store/apps/details?id=net.alea.beaconsimulator) - iBeacon, Eddystone, AltBeacon

## Stackoverflow Q&A

* [BLE Distancing](http://stackoverflow.com/questions/20416218/understanding-ibeacon-distancing/20434019#20434019)



# Cordova, Phonegap, Xamarin, Titanium

* [Cordova iBeacon Plugin](https://github.com/petermetz/cordova-plugin-ibeacon)
* [Using iBeacon with Xamarin.iOS and Xamarin.Android](http://de.slideshare.net/glennthomasstephens/ibeacon-support)
* [iBeacon advertising and scanning in a Titanium module](https://github.com/jbeuckm/TiBeacons)



# OS X

* [iBeacon Scanning Utility App for OSX](https://github.com/mlwelles/BeaconScanner)
* [iBeacon Scanner - Scan for nearby iBeacons regardless of their UUID](https://github.com/liamnichols/iBeaconScanner)
* [Beacon OSX](https://github.com/mttrb/BeaconOSX) - Mavericks as an iBeacon
* [Electron Physical Web Scan](https://github.com/dermike/electron-physical-web-scan) - Mac OSX desktop app to scan for Physical Web (Eddystone) bluetooth beacons
* [Electron Slide Beacon](https://github.com/dermike/electron-slide-beacon) - Share links from your Mac using this app to broadcast them as an Eddystone URL (Physical Web) bluetooth beacon.
* [BeaconKit](https://github.com/igor-makarov/BeaconKit) - Beacon detection framework ns Swift using CoreBluetooth, supporting Eddystone-UID, Eddystone-URL, AltBeacon, iBeacon.

# Linux

* [Python script for scanning and advertising urls over Eddystone-URL](https://github.com/forksociety/PyBeacon)

# Node.js

* [Node-RED nodes to interact with the Physical Web](http://flows.nodered.org/node/node-red-node-physical-web)
* [A node.js BLE (Bluetooth low energy) central module](https://github.com/sandeepmistry/noble)
* [A node.js module for implementing BLE (Bluetooth low energy) peripherals](https://github.com/sandeepmistry/bleno)

# Windows

* [Universal Bluetooth Beacon Library](https://github.com/andijakl/universal-beacon) - open source library and links to apps to talk to Eddystone and iBeacon beacons

# Bluetooth Low Energy

* [Official Bluetooth Smart Portal](https://www.bluetooth.com/what-is-bluetooth-technology/bluetooth-technology-basics/low-energy)

## Bluetooth Smart & BLE Tools

* [nRF Master Control Panel (BLE)](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) nRF Master Control Panel is a powerful generic tool that allows you to scan and explore your Bluetooth Smart (BLE) devices and communicate with them.
* [LightBlue Mac OSX](https://itunes.apple.com/de/app/lightblue/id639944780?mt=12)
[(or iOS)](https://itunes.apple.com/us/app/lightblue-bluetooth-low-energy/id557428110?mt=8) LightBlue can test all of your devices that use Bluetooth 4.0 Low Energy (also known as Bluetooth Smart, or Bluetooth Light).
* [BlueSpeed for iOS by Punch Through](https://itunes.apple.com/us/app/bluespeed/id579118786?mt=8) Runs a Bluetooth LE speed test between 2 iOS devices

## Web Bluetooth API

* [Web Bluetooth Intro](https://dev.opera.com/articles/web-bluetooth-intro/) by Opera
* [Web Bluetooth Demos](https://github.com/WebBluetoothCG/demos)

# Beacon Developer Kits & BLE Chips

* [Texas Instruments - BLE Portal](http://www.ti.com/ble)
* [Texas Instruments - SensorTag DeveloperKit](http://makezine.com/2014/04/16/the-ti-sensortag-now-with-added-ibeacon/)
* [TI SensorTag Android Sources](http://git.ti.com/sensortag-android)
* [Broadcom - WICED™ Sense Development Kit](http://www.broadcom.com/application/internet_of_things.php)
* [Dialog Semiconductor](http://www.dialog-semiconductor.com/bluetooth-smart)
* [EMMicroelectronics](http://www.emmicroelectronic.com/products/wireless-rf/beacons/embc01)



## Proximity Trends & Outlook

* [Wired](http://www.wired.com/2013/12/4-use-cases-for-ibeacon-the-most-exciting-tech-you-havent-heard-of/) 4 Reasons Why Apple’s iBeacon Is About to Disrupt Interaction Design
* [Wi-Fi Aware™](http://www.wi-fi.org/discover-wi-fi/wi-fi-aware) - Wi-Fi Aware™ is a new Wi-Fi Alliance certification program that extends Wi-Fi’s capabilities with a real-time and energy-efficient discovery mechanism that provides an immediate on-ramp to rich here-and-now experiences.


## Vendor-driven Beacon Standardization

* [BeaconCtrl](https://github.com/upnext/BeaconCtrl) Setup and manage large beacon deployments with BeaconCtrl Open Source platform
* [The Open and Interoperable Proximity Beacon Specification](http://altbeacon.org/)

---

Bluetooth, Apple, Google, iBeacon, Eddystone and other trademarks are the property of their respective trademark owners.

# License

[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [Square Metrics GmbH](http://www.squaremetrics.com/) has waived all copyright and related or neighboring rights to this work.
