<?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>ble_gatts_service_add error code 0x0000000c</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/27314/ble_gatts_service_add-error-code-0x0000000c</link><description>Hello, I am trying to set my own BLE service, and on the adverstisement initialization I get an error 0x0000000c when calling to ble_advertising_init() . 
 Why does it mean and happen? How can I fix it? 
 Thanks in advance 
 My uuids are initialized</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 17 Nov 2017 14:58:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/27314/ble_gatts_service_add-error-code-0x0000000c" /><item><title>RE: ble_gatts_service_add error code 0x0000000c</title><link>https://devzone.nordicsemi.com/thread/107912?ContentTypeID=1</link><pubDate>Fri, 17 Nov 2017 14:58:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9b29e62-cdaa-46df-b427-b4d3c2b99654</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Add the vendor specific UUID in the scan response packet instead. See the ble_app_uart example on how this is done there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_gatts_service_add error code 0x0000000c</title><link>https://devzone.nordicsemi.com/thread/107913?ContentTypeID=1</link><pubDate>Thu, 16 Nov 2017 20:54:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9e19956-48a3-467c-b224-6d2b52533ee3</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;If you just single-stepped into the function you&amp;#39;d find very quickly where the error is coming from. My guess would be&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define NRF_ERROR_DATA_SIZE     (NRF_ERROR_BASE_NUM + 12) ///&amp;lt; Invalid Data size
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ie you&amp;#39;re trying to encode more data than fits in the packet probably because you have added long UUIDS to short UUIDS and there&amp;#39;s never enough space for that.&lt;/p&gt;
&lt;p&gt;And i just noticed ..  &lt;code&gt;BLE_UUID_TYPE_VENDOR_BEGIN&lt;/code&gt;. Do not use this. I really don&amp;#39;t know where this incorrect practice came from. You register the UUID base you want, but then you need to use the identifier returned (which may well be equal to BLE_UUID_TYPE_VENDOR_BEGIN and may not). You can&amp;#39;t assume equal too the vendor start.&lt;/p&gt;
&lt;p&gt;ps your title is rather misleading as you say the error comes from the advertising init function and not the service add one.&lt;/p&gt;
&lt;p&gt;pps if you&amp;#39;d typed &amp;#39;ble_advertising_init 12&amp;#39; into the search box at the top you&amp;#39;d have found 20 answers to this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>