roguish

Eddystone Bluetooth Beacon with Arduino 101

Here’s an open source Arduino program that allows a Arduino/Genuino 101 to act as an Eddystone Beacon, sending URL or URI information to nearby devices.
GitHub: GitHub. Details below.

Arduino programming environment config:

  • Arduino Board Manager: Curie 2.0.2
  • Arduino Libary: CurieBLE 2.0.0

Specific requirements I discovered in this version of the Curie Library

  • Use Eddystone UUID (“FEAA”) for both Service and Characteristic
  • Only BLEBroadcast property is required in second BLECharacteristic constructor parameter (omit BLERead and BLEWrite if you prefer)
  • Be sure the third parameter in the BLECharacteristic constructor, valueSize, is at least as long as the Service Data array or the Service Data will be truncated
  • Do not set a Local Name for the BLE. If you do it prevents the advertisement from being configured as type ServiceData.
  • You must call characteristic.broadcast();
  • You must call characteristic.writeValue *after* calling characteristic.broadcast

Reference

« Previous post

Leave a Reply