Hi there, 

Here introduce the firmware perspective about how to program your code onto MDBT50Q-RX dongle.

Believed all readers have done the hardware setting and now has well prepared to load the code onto the dongle. (If not yet done the hardware setting, pls find it here)

In this blog, we will introduce the procedure based on below 2 scenarios

  • First time to load the code
  • DFU Firmware update by USB or OTA (through Bluetooth over the air)

First time to load the code:

1. Generate Public Key

For security reason, Public Key is the first step to proceed (DOS Environment MUST), Command to produce Public Key is in below:

nrfutil keys generate public_key.pem

nrfutil keys display –key pk –format code public_key.pem –out_file public_key.c

2. Edit Bootloader (Use Keil C as the example)

      2.1 Open a project

\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10056_ble

      2.2 Paste the Public Key produced from step 1 in the red square.

Paste Public Key

2.3 Set up Button behavior to trigger the Bootloader function start

2.3.1 Activate to enter the Bootloader function by using button pressed. (Developers may change to others if don’t like this way. Just enter “secure_bootloader” project and modify “sdk_config.h”)

Set Up Bootloader-1

2.3.2 Modify button pin no. (Developers can modify “sdk_config.h” in “secure_bootloader” project)

Modify Button GPIO

2.3.3 Modify LED pin no. (Developers can modify “pca10056.h” in “secure_bootloader” project)Modify LED GPIO

3. Edit Application

   Open and edit the project

\nRF5_SDK_15.3.0_59ac345\examples\peripheral\usbd_ble_uart\pca10056\s140\arm5_no_packs

4. Generate bootloader_settings.hex file

nrfutil.exe settings generate –family NRF52840 –application USBD_TO_UART.hex –application-version 3 –bootloader-version 2 –bl-settings-version 1 bootloader_settings.hex

5. Merge files

1、Bootloader.hex

2、bootloader_settings.hex

3、s140_nrf52_6.1.1_softdevice.hex

4、USBD_TO_UART.hex

mergehex.exe -m Bootloader.hex bootloader_settings.hex -o Combind0.hex

mergehex.exe -m Combind0.hex s140_nrf52_6.1.1_softdevice.hex -o Combind1.hex

mergehex.exe -m Combind1.hex USBD_TO_UART.hex x -o USBD_TO_UART_BT_SD_APP.hex

6. Use nRFconnect to burn the merged code onto dongle (nRF52840 IC)

Launch the programmer

nRFConnector Launch the Programmer

Load the merged .hex file

Load the merged file

Program the .hex file

Burn the .hex file

Right here, the code should be loaded onto dongle successfully.

Hope all you guys enjoy the journey and completed the setup.

In case you are not happy about the code you just loaded?

No worry, we now introduce DFU process in below to retrieve your happiness.

DFU Firmware update by OTA (through Bluetooth over the air) 

1. Generate DFU File (.zip)

nrfutil pkg generate –hw-version 52 –sd-req 0xb6 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip

2. Activate Dongle’s DFU mode

Press and hold the button on the dongle and plug into PC USB hub, the dongle then enter to DFU mode.

IMG_1784

3. Connect Nordic nRF52DK (or nRF52840-DK / nRF52833-DK /nRF51-DK) to PC and execute Bluetooth Low Energy in nRF Connect.

nRF Connect for Bluetooth Low Energy

4. Select device to proceed DFU

Select DFU Objective

5. Press “Yes” (this page only shown for first time DFU)

First Time DFU

6. Press start scan for find the DFU objective device

Find objective DFU Device

7. Select Dfu Targ

Select DFU Trag

8 Select Start Secure DFU Option

Start Secure DFU

9. Select File

Step 1

10. Start DFU

Start DFU

11. DFU Progress Start

DFU Progress Start

12. DFU Progress Completed

DFU Progress completed

DFU Firmware update by USB

1. Generate DFU File (.zip)

nrfutil pkg generate –hw-version 52 –sd-req 0xb6 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip

2. Activate Dongle’s DFU mode

Press and hold the button on the dongle and plug into PC USB hub, the dongle then enter to DFU mode. PC finds the nRF52 comport

3. Execute USB DFU

Under DOS environment (Windows’s Command Line Interface) proceed below command

nrfutil dfu usb-serial -pkg USBD_TO_UART.zip -p COM69

DFU starts immediately and completed when the bar goes to 100%.

DFU-USB-DOS

Thanks for your time reading through the introduction.

Hope the this article can cover most queries about coding issue for MDBT50Q-RX.

In case there is anything not clear, we encourage developers to contact us directly at cs@raytac.com.

Have a good day and we at Raytac wish you smooth and happy tinkering)

Raytac Corporation 勁達國際電子有限公司
A BT5.2 & BT5.1 & BT5 module maker based on Nordic nRF53 & nRF52 solution
(nRF5340 & nRF52840 & nRF52833 & nRF52832 & nRF52820 & nRF52811 & nRF52810 & nRF52805)
www.raytac.com email: service@raytac.com Tel: +886.2.3234.0208

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: