This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

OTA DFU of the precompiled hex to the nRF51822 Bluetooth Smart Beacon Kit

HI,

I purchased the nRF51822 Bluetooth Smart Beacon Kit (I knew it's discontinued) to perform a quick and simple POC (put my custom 31 bytes for the beacon to advertise the same manner I POC'ed with a laptop -> (  hcitool -i hci0 cmd 0x08 0x0008 {31 bytes} )

Before I start my customization I thought I'd check how I OTA DFU the precompiled hex to the beacon kit.

I tried using Android device and Nrf-Connect and Nrf-Beacon but I can't seem to get it to work.

I also tried to create a zip package from the application hex file but it didn't help as well, to generate the zip I did:

C:\nRF51822 Beacon v1.1.1\Precompiled hex> nrfutil pkg generate --application nrf51822_beacon_app.hex app_dfu_package.zip --hw-version 51 --sd-req 0x88 --application-version 0xFFFFFFFF

So before I dive in with logs and stuff, I'm pretty sure I'm off track and I just need a push in the right direction.

Can someone please shed some light on the correct process?

  • I got it to work

    After searching the DevZone I figured I need to use an older nrfutil

    dfu genpkg --application .\nrf51822_beacon_app.hex app.zip

    And the uses nRF Beacon to update the firmware and got a success message.

    I guess my next step now is to figure out how to use the toolchains and create my own hex file

  • OK, After a long weekend trying to figure this out I gave up and I hope someone can help me.

    I will explain some of the things I tried but in all honesty, I think it will great if someone can do me a huge favor just send me a zip/hex file of that updated this product to advertise my 31 bytes (Contact me and I will send them with a huge thanks and a beer/coffee gift)

    Every complied example I tried didn't advertise anything. I tried examples from the product's specific SDK , from SDK 10, SDK 12.3... I tried changing the linker script of PCA20006 example to armgcc_s130_nrf51822_xxaa/armgcc_s110_nrf51822_xxaa and so on. 

    About this discontinued product-specific SDK(nRF51822 Beacon v1.1.1): The product download is a zip file with an MSI installer and things are pretty much windows oriented.

    The main thing I wasn't able to understand is why the build targets of the examples there were for NRF51422.

    Because it's not a dev board I'm unable to provide any info about why the beacon didn't start advertising anything, I only tried "app" firmware, didn't touch the bootloader

  • The main thing I wasn't able to understand is why the build targets of the examples there were for NRF51422.

    NRF51822 is the same chip, just without the ANT+ license. Not relevant for BTLE applications.

    armgcc_s130_nrf51822_xxaa/armgcc_s110_nrf51822_xxaa and so on

    Those are for different softdevices.

    You need to know exactly which softdevice is in the flash, otherwise any application (using BT LE) won't work. Warning: This includes the OTA bootloader.

    Personally, I recommend soldering those SWD lines (SWDIO, SWDCLK) and using a J-Link debugger for programming and debugging. This also allows a fresh start with any softdevice version (just do a chip erase).

  • I'm using the discontinued reference kit: nRD51822 BLUETOOTH Smart Beacon Kit

    I don't know which of device it comes with but judging from download it's s110

    I guess I will first retry the pre-compiled HEX in the package (It flashed fine but I didn't check if it's advertising) and see

    I don't really want to solder the lines even if I find them (it's a really small board)

    So I guess I'm a little stuck for now

  • So you are able to do the DFU, but after the DFU, the device does not start to advertise ? Is that correct?

    Could you try to create the DFU package like this?

    Snippet:

    nrfutil dfu genpkg .zip --application .hex --application-version 0xFFFFFFFF --dev-revision 0xFFFF --dev-type 0xFFFF --sd-req 0xFFFE

Related