<?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>Production Programming - MAC Addresses - nRF52810</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/87528/production-programming---mac-addresses---nrf52810</link><description>Dear Nordic guys, 
 We are going to produce large number of BLE beacon devices and would like to label the BLE address on each device. We are using the default mac address (NRF_FICR-&amp;gt;DEVICEADDR) of the device. What is the easy way to find out the MAC</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 May 2022 14:44:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/87528/production-programming---mac-addresses---nrf52810" /><item><title>RE: Production Programming - MAC Addresses - nRF52810</title><link>https://devzone.nordicsemi.com/thread/366034?ContentTypeID=1</link><pubDate>Tue, 03 May 2022 14:44:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2da09a2-fd07-4312-af67-4a649c6a38df</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;The DEVICEADDR is randomly generated in production and does not exist anywhere else, so there is no other way to obtain it than to read it from flash. You anyway need to connect a programmer to the IC at some point to program it, and then it could be&amp;nbsp;convenient to do this at the same time in an automated way. That should not add much time in total. Exactly how this is most easily done depend on your production line, but the key is that the information is there in the chip and you need to read it out in a way that suits you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Production Programming - MAC Addresses - nRF52810</title><link>https://devzone.nordicsemi.com/thread/366027?ContentTypeID=1</link><pubDate>Tue, 03 May 2022 14:26:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58c1c81d-d3ba-47a6-9db4-8d4282ec1024</guid><dc:creator>Luke_123</dc:creator><description>&lt;p&gt;Hi Einar, Thank you for your reply.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But isn&amp;#39;t it difficult to do this for a large number of boards (for eg:- 5000) ? It will take a long time to do this one by one. How does usually everyone do this ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Production Programming - MAC Addresses - nRF52810</title><link>https://devzone.nordicsemi.com/thread/366026?ContentTypeID=1</link><pubDate>Tue, 03 May 2022 14:23:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e4e19888-a9ea-4761-918c-42e9c30da8cf</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can read the two DEVICEADDR registers for instance like this using nrfjprog:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfjprog --memrd 0x100000a4 --n 8
0x100000A4: A6B251CA 5984979B                     |.Q.....Y|&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For reference, the device address of this device is: D7:9B:A6:B2:51:CA. Note the endianness difference as Bluetooth use little endian. Also, the&amp;nbsp; two most significant bits are always 1. So, that means that&amp;nbsp; you read out the registers as I haw shown, swap the byte order (change endianness) and mask it so that you get the 46 bits from the DEVICEADDR and 2 additional &amp;#39;11&amp;#39; bits.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>