Go Down

Topic: Arduino 101 Eddystone Beacon support posted to GitHub (Read 6003 times) previous topic - next topic


Want to turn your Arduino 101 into a BLE Beacon? You can!

After a few small modifications to the CurieBLE library, I've succeeded in creating an Arduino/Genuino 101 Sketch that Advertises an Eddystone URL.

Eddystone is a BLE (Bluetooth Low Energy) Advertising packet protocol used by Google's Physical Web(tm) project.  The Physical Web is about having BLE beacons that advertise URLs so that users can interact with Internet-Of-Things devices using the web rather than having to download device-specific apps.

The modifications to CurieBLE are at https://github.com/bneedhamia/CurieBLEServiceData - I gave the project that name because the main change I made to CurieBLE/BLEPeripheral.cpp was to add support a BLE Service Data block.

A simple demonstration Sketch that broadcasts a short URL is at https://github.com/bneedhamia/CurieEddystoneURL. To modify it to Advertise a different URL, you probably need to learn Eddystone URL format.

Because the CurieBLE library changes add support for BLE Service Data, I imagine the modified library may enable you to write Sketches that Advertise other beacon formats - I haven't tested formats other than Eddystone.


P.S., to the Intel CurieBLE team: I'd be delighted if you were to incorporate these changes into the next release of CurieBLE.  The changes are quite simple, and enable important beacon functionality.



Thanks for the pointer. I hadn't looked for the open source project, because I started out hoping I could add Eddystone support from the Sketch level.

Thanks again - I'll get right on creating pull requests for the changes.




Hello mister and thank you for your article,

I'm actually working on my graduation project and i was wondering if you could help me with a couple of steps, I really need help and im stucked right now. any help will be appreciated .

Go Up