This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

UUIDs: pre-defined and merchandized or randomly generated, or both?

Per the name "UUID" and the very limited background knowledge that I have, it appears that a particular device can have its UUID assigned by its manaufacture, who bought the UUID from BSIG, then at the same time, I'm under the impression that not only services and characteristics, but also devices themselves can have completely custom defined UUIDs, which means the chance of two devices from completely different manufactures having same UUIDs isn't zero.

Just are things done when it comes to UUIDs?

  • FormerMember
    0 FormerMember

    Part 1/2 of this video tutorial gives you an introduction to UUIDs, I would recommend you to have a look at it. The part about UUIDs starts at 8:57.

    For custom applications*, a 128-bit UUID (normally) has to be used. It is theoretically possible that other manufacturers uses the same 128-bit UUID. However, if it's randomly generated, it is quite unlikely that someone else will use the same.

    It is possible to buy a 16-bit UUID from Bluetooth SIG for custom applications instead of using a 128-bit UUID. In that case, no one else can use that UUID. You can read more about buying a 16-bit UUID here. If you have a service with some characteristics, and you want to buy a 16-bit UUID, I would recommend you the following: Use a 16-bit UUID for the service, and 128-bit UUIDs for the characteristics, since the service UUID is the only UUID that will be advertised.

    *Custom applications: applications that are not defined by Bluetooth SIG. The list of applications, services and characteristics, defined by Bluetooth SIG and their respective UUIDs can be found here.

    My impression is that for custom applications, 128-bit UUIDs normally are being used (instead of buying a UUID).

Related