This document describes how to use the factory programmed MAC address on the BMD-200 and BMD-300 Series modules.
Each BMD-200 and BMD-300 Series module has a unique Rigado registered MAC address that is programmed at the factory when the initial test image is programmed. The source of the MAC address is the physical label on the module that is scanned during this step.
The label contains a 2D barcode representing the last 6 hexadecimal digits of the MAC address. Below the 2D barcode are 8 digits for the BMD-200 and 6 digits for the BMD-300 Series.
The first two of these digits represent the firmware version pre-loaded at the factory. The last 6 hexadecimal digits are the last 6 digits in the MAC address.
BMD-300, BMD-301 BMD-350
Every Rigado MAC address starts with "94:54:93", making the MAC address "94:54:93:XX:YY:ZZ", where "XX:YY:ZZ" are the "XXYYZZ" above and represented by the barcode.
A common 2D barcode scanner is: https://www.honeywellaidc.com/products/barcode-scanners/general-duty/xenon-1900g-1902g
The 6-byte BLE Radio MAC address is stored in the nRF51822 UICR at NRF_UICR_BASE+0x80 LSB first.
NRF_UICR + 0x80 (0x10001080): MAC_Addr  (0xZZ)
NRF_UICR + 0x81 (0x10001081): MAC_Addr  (0xYY)
NRF_UICR + 0x82 (0x10001082): MAC_Addr  (0xXX)
NRF_UICR + 0x83 (0x10001083): MAC_Addr  (0x93)
NRF_UICR + 0x84 (0x10001084): MAC_Addr  (0x54)
NRF_UICR + 0x85 (0x10001085): MAC_Addr  (0x94)
Using the MAC address
To have the radio use this stored MAC address you need to read it from the UICR and pass the address to
If you do not call sd_ble_gap_address_set(), the radio will use a random public MAC address, stored in the FICR. Please refer to Nordic’s SoftDevice documentation and SDK regarding the use of the sd_ble_gap_address_set() function.
Reprogramming the MAC address
Use a J-Link interface with the savebin and loadbin commands. These can be included in a script.
- //save the MAC from UICR + 0x80
savebin mac_addr.bin 0x10001080 8 // memory reads must be in 4-byte increments
- //restore the MAC from the file and program to UICR + 0x80
loadbin mac_addr.bin 0x10001080