How to modify iBeacon's UUID, Major, and Minor values?

Follow

Estimote Beacons ship with Estimote Monitoring enabled by default. This allows for the more reliable enter/exit events, quick configuration, unlimited number of beacon regions to scan for, and software-powered beacon management.

If you opt to use iBeacon instead, your beacon will receive a unique ID in iBeacon format which will consist of three values: UUID, Major, Minor. Beacons with iBeacon enabled broadcast their iBeacon ID, which can then be recognized by mobile apps to trigger specific actions.

UUID is fixed, Major and Minor are randomized.

Default UUID: B9407F30-F5F8-466E-AFF9-25556B57FE6D

There are three ways to change the iBeacon ID:

  • Estimote app
  • Estimote Cloud
  • Estimote SDK

It’s also possible to switch between iBeacon and Eddystone formats. When using Eddystone, a beacon is no longer broadcasting UUID, Major, and Minor values. They’re replaced either with Eddystone-UID (consisting of Namespace and Instance values) or Eddystone-URL (consisting of a URL address).

To better understand the difference between Estimote Monitoring, iBeacon and Eddystone, check our Intro to Estimote APIs.

Can I use the same ID on multiple beacons?

Yes, you can set the same combination of UUID, Major, and Minor on as many beacons as you want.

Changing iBeacon ID with the Estimote App

To change the iBeacon ID:

  • Launch the Estimote app
  • Open the Devices screen
  • Log into your Estimote Account
  • Choose the List view and tap on tap on a beacon you want to edit
  • Go to 'Packets' and pick iBeacon
  • Tap on UUID/Major/Minor and input the new value
  • In the case of UUID, you can either manually input a new value or generate it through Estimote Cloud. Remember that if someone else has already claimed a specific UUID for their beacons, our collision detection system will prevent anyone else from using the same one. We explain it in more detail in the Can I claim a UUID for myself? article.


All changes will be automatically saved in Estimote Cloud.

Changing iBeacon ID with Estimote Cloud

Log into your Estimote Account on cloud.estimote.com then select the beacons you want to edit. Input new values, save changes, and that's it!

Screen_Shot_2017-09-18_at_15.15.18.png

Screen_Shot_2017-09-18_at_15.18.34.png

 

Switching to Estimote Monitoring or Eddystone

You can switch to Estimote Monitoring & Eddystone via the Estimote App, Estimote Cloud or programmatically, using the SDK. Read:

Was this article helpful?
2 out of 3 found this helpful

84 Comment(s)

  • Avatar
    Mike Schorah

    None of the 6 Estimote beacons that I've received possesses that UUID. And my understanding from Apple WWDC 2013 documentation is that implementations are supposed to have the same UUID for beacons across, say, a chain of stores; then use the Major and Minor numbers to identify, say, the store/branch (Major) and the floor/department (Minor).

    If Estimote is going to mandate the same UUID for all its beacons world-wide then that severely limits how we can design our apps, doesn't it?

  • Avatar
    Mark Danks

    I have similar worries. I don't particularly want my app being woken up in response to seeing any Estimote beacon, and I don't want to have to worry about having other beacons in the wild that share my major/minor IDs if we cannot change the UUID.

  • Avatar
    Mike Schorah

    I was thrilled to see the Tweet from Jakub at Estimote today confirming that they WILL allow update of UUID. I was concerned that we were going to be unable to use Estimote beacons after all if they didn't follow the Apple recommendations of using UUID to distinguish all beacons belonging to an organisation by sharing the common UUID. Seems we've got to wait for an update to the Estimote beacon OS and at this stage I'm not sure how we deploy that to the beacons, but no doubt all will become clear.
    https://github.com/Estimote/iOS-SDK/issues/9#issuecomment-29273312

  • Avatar
    Alex Santos

    Hi all…I will check with Jakub on this change and update articles accordingly.

  • Avatar
    Alex Santos

    Mike… the yet to be released Estimote app will allow the UUID to be changed but your beacons will require a firmware update.

  • Avatar
    Germán Larraín

    So i get the importance of changing the UUID, major and minor values...it's the way to 'proggram' the beacons and be sure that would be in the context that should be (i.e. my green estimote beacon, i know it is uniq and located on my chilean store on the sports room).

    Two questions:

    1.- How it's gonna be an easy way to administrate all my beacons (imagine i have a hundread), how can i know some phisical of the hardware property itself to identify and set the correct values?

    2.- Who is allowed (and i mean proggramatically) to use a 'change value' method of the beacons; because i need to protect them from any one that gets in my store and whants to change them only for bad.

  • Avatar
    Ivan Rodriguez

    Hi Estimote team,

    I'm trying to change the major and minor values of my beacons, from what I've read I need to update my firmware, but when I try to read the firmware information of the beacons I get an error: "Error Domain= Code=404 "Firmware info not available" UserInfo=0x16e7c830 {NSLocalizedDescription=Firmware info not available}".

    How do I update the firmware?

    Thank you in advance

  • Avatar
    Alex Santos

    Hi Ivan

    Our newest Estimote iOS app has a firmware update feature but the firmware is not yet ready.

    Our SDK has also been updated. If you look up the ESTBeacon Class Reference you will find the following task available after connection, they include, firmwareVersion property and firmwareUpdateInfo property. There are also Firmware update handling methods: checkFirmwareUpdateWithCompletion and updateBeaconFirmwareWithProgress:andCompletion

    German: in terms of security, which is your main concern, relative to spoofing the beacons with a rogue UUID or major, minor value. At this time, we haven't introduced a security layer but it's in the works. In the meantime don't deploy in a mission critical environment.

    Ivan: are you using our SDK? Download our SDK from github and review the ESTBeacon Class Reference. It's all there. Remember, the Estimote SDK is a wrapper around Apple's CoreLocation framework.

  • Avatar
    Felix Fan

    Hi I am wondering if I can disable or only allow modification of value like Major/ Minor etc. exclusively to some certain people.

    Because when I put this device into real retailers, I cannot afford that customers can easily hack and modify the system simply by using Estimote Beacon App.

  • Avatar
    Felix Fan

    Besides, I have found an article from Estimote mentioning this issue:

    http://blog.estimote.com/post/74816977799/estimote-app-v1-2

    "If you are building a mission critical app where security is important please make sure to implement security on your end. You can use our SDK to rotate the UUID or combine it with other signals, e.g. from GPS. "

    May you talk more about how to implement
    1. Rotating UUID
    2. Combine it with other signals

    For the 2. suggested solution, I believe it is still not solving the problem scenario, for example someone change the Major/ Minor Number, then combing GPS will still be invalid to detect individual beacons.

    Thanks.

  • Avatar
    Lakshmi Iyer

    I have the same question as Felix Fan. I would like to know more about rotating UUIDs and combining with other signals such as GPS. The latter probably means that you will use knowledge of GPS in addition to location estimation from the beacon to validate the location of the device. However I did not follow UUID rotation - does it mean that UUID changes ? is this done over the air or through code? How does the app know about the change? Does the app have to be signaled every time UUID changes so that it can update the regions it is scanning for?

  • Avatar
    Ryan Johnson

    I just had a great Estimote Demo using the FREE iOS App - BEECON.

    • Auto senses UDID, MAJOR & MINOR.

    • You can create custom actions/ push notifications once it finds a beacon in range

    • You can connect to each device and it will reveal its battery power and other status items

    • I tried a few apps with less success, Placed - didn't work well, Beacon Harvester is decent, BLE Finder is ok but no custom messages, xBeacon is great if you speak/read chinese.

    Good luck guys -

    RJ

  • Avatar
    Wojtek Borowicz

    @Lakshmi, Felix

    Sorry it took us so long to answer your questions. Yes, the very concept of rotating UUID is based on the idea of changig Beacon's identifier with a given frequency. The purpose of this is security - rotating UUID makes hijacking a Beacon much harder.

    It's currently not implemented in our SDK, but in a couple of weeks you can expect an update that will introduce the first layer of security to Estimote platform. Stay tuned!

    Cheers.

  • Avatar
    Jonas Nielsen

    @Wojtek. Do you have any news on the update including security when it comes to changing the uuid, major and minor?

  • Avatar
    Wojtek Borowicz

    Hi there,

    Yep, it's coming pretty soon. But for now we're mostly focusing on introducing authentication and making sure that we can prevent unauthorized access to Beacons.

    Cheers.

  • Avatar
    Jonas Nielsen

    Well that was actually also what I meant so that is great. :) When do you expect this authentication will be implemented and how will it work?

  • Avatar
    Wojtek Borowicz

    Hi there,

    It's almost ready, so you can expect the update pretty soon. It'll require confrmation by login that the Beacons are yours.

    Cheers.

  • Avatar
    Jitender Saini

    Hi
    Can any one please tell me how can I change default UUID in android so that beacons can not be located from the demo app? Please let me know the sample code for the same.
    Thanks
    Jitender

  • Avatar
    Wojtek Borowicz

    Hi Jitender,

    Please check our Android SDK and the BeaconConnection class, it's explained there: http://estimote.github.io/Android-SDK/JavaDocs/

    Cheers.

  • Avatar
    Mahesh Mohan

    I encountered an issue while changing proximityUUID,major ID and minorID.
    I was successfully able to change the UUID from "B9407F30-F5F8-466E-AFF9-25556B57FE6D" to "AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE", which is a test value. I was able to change the value to and fro many times and it was working. But yesterday when I tested it again, I am receiving an error from server saying "ProximityUUID value update failed due to server issue".
    Also I was able to write major ID and minor ID successfully for the first time and then it starts showing "Beacon UID already taken". I have tried using many values but all I am getting is this error.
    Can anybody please help me to get over the issue?

  • Avatar
    Wojtek Borowicz

    Hi Mahesh,

    Please check if the problem is still ocurring. Server issue shouldn't be a case anymore today.

    Cheers.

  • Avatar
    Mahesh Mohan

    Hi Wojtek,

    Unfortunately, I am still facing the same issue. May I know in which all cases will I receive this error?

  • Avatar
    Ola Puchta

    Mahesh,
    Are you using the app or our SDK to do this?

  • Avatar
    Mahesh Mohan

    Hi Ola,

    I am using the same code from your iOS SDK to discoverBeacons , connect to Beacon and then write to it. As I have stated before it was working. But currently it's not and it's showing the error I mentioned.

  • Avatar
    Mahesh Mohan

    Any update on this?

  • Avatar
    Mahesh Mohan

    Anybody have an update on this?

  • Avatar
    Wojtek Borowicz

    Hi Mahesh,

    Sorry for the wait and thanks foryour patience. We've reported it to our developers and they're currently investigating the issue. We will let you know as soon as we figure it out, stay tuned!

    Cheers.

  • Avatar
    Mahesh Mohan

    Thanks Wojtek. Meanwhile when I tried now I am not even able to connect to the Beacon , it's returning error "Error Domain=com.estimote Code=401 "You are not authorized to access this beacon". Just wanted to update.

  • Avatar
    Ola Puchta

    Mahesh,

    Our developers replied to your questions on Github, let us know, if that helps.

  • Avatar
    Mahesh Mohan

    Yeah Ola. That helps. I am proceeding as per their suggestion and hope it will work out.

Estimote is
hiring!