<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>UUID 128 bit</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/1348/uuid-128-bit</link><description>Hello
I need help with 128 bit UUID for BLE.
Could you explain me how to specify my own 128 bit uuid?
Whether it should be unique? 
 Bluetooth specification refers to ITU-T X.667.
There are 3 way to create unique UUID: 
 
 time based UUID 
 name</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 14 Jan 2014 13:16:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/1348/uuid-128-bit" /><item><title>RE: UUID 128 bit</title><link>https://devzone.nordicsemi.com/thread/6140?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2014 13:16:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5f32243-dbf7-4708-8b92-52adca4d366d</guid><dc:creator>Artem Zemlyanukhin</dc:creator><description>&lt;p&gt;Ok, thanks a lot!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UUID 128 bit</title><link>https://devzone.nordicsemi.com/thread/6139?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2014 13:08:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf35c715-6b97-4ca8-9f6c-95101dfd1270</guid><dc:creator>Carles</dc:creator><description>&lt;p&gt;According to the spec, all UUID values outside the range of the ones reserved by the spec are valid. Also UUIDs are universal by nature, so I believe that you can simply generate them using the tool linked and use them for your purposes. Because the TimeLow value is a timestamp, if you modify it you are effectively generating UUIDs extremely quickly (in time-based generation).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UUID 128 bit</title><link>https://devzone.nordicsemi.com/thread/6138?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2014 13:01:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddab12a7-1278-47a9-8d2e-3ca5c53df15a</guid><dc:creator>Artem Zemlyanukhin</dc:creator><description>&lt;p&gt;Carles, thank you for your fats response,&lt;/p&gt;
&lt;p&gt;If I set my UUID to any arbitrary  value, this may be will not be unique.
So can I not worry about the fact that my UUID will not be unique?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UUID 128 bit</title><link>https://devzone.nordicsemi.com/thread/6137?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2014 12:46:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9556e489-6542-416f-920d-c8e3c6a08ab9</guid><dc:creator>Carles</dc:creator><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I use nRF51822 with softdevice. To define base UUID I have to use sd_ble_uuid_vs_add().
And then I can add my services with attributes. But their UUIDs will be obtained by defining
only byte 12 and byte 13.
And this does not match to name based UUIDs, because UUIDs obtained using hash function will be differ not
only in 12 and 13 bytes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The nRF51 solution to handling 128-bit UUIDs is specially tailored for the low memory requirements of an embedded system. It consists of vendor specific 128-bit UUIDs that can be freely set to any value by the user. Those base UUIDs can then be further modified by changing the 2 lower bytes of the TimeLow portion of the UUID (bytes 12 and 13).
If your UUIDs can&amp;#39;t be extended with this mechanism simply set the base plus bytes 12 and 13 to your required value, but that will use up a base for each VS UUID that you require.&lt;/p&gt;
&lt;p&gt;We used this mechanism because it was the SIG&amp;#39;s choice when shortening Bluetooth standard 128-bit UUIDs to 16 or 32 bits.&lt;/p&gt;
&lt;p&gt;EDIT: According to the spec: &amp;quot;UUID values outside of this range can be allocated as described in [ISO-11578] for any purpose the allocator desires.&amp;quot;&lt;/p&gt;
&lt;p&gt;You can generate UUIDs here:
&lt;a href="http://www.itu.int/ITU-T/asn1/uuid.html"&gt;www.itu.int/.../uuid.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Carles&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>