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?

Parents
  • 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

Reply
  • 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

Children
  • 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

  • Thanks.

    Zipping the precompiled wit he snippet you sent and DFU'ing it helped and the beacon is transmitting again.

    However, using the same snippet I can't seem to run my own compiled HEX on the beacons. As far as I was able to under I need to compile a pca20006 s100 makefile for compatibility.

    In SDK10 I found 

    sdk10/examples/ble_peripheral/experimental_ble_app_eddystone/pca20006/s110/armgcc

    But compiling it and DFU'ing it to the beacon the bacon will not advertise anything again.

    Trying to use the customized SDK for this product compiling is too hard, the Makefiles ha wrong directory depth in them and I wasn't able to get it to compile.


    ( nRF51822 Beacon v1.1.1/Source Code/nrf51_beacon/ble_app_beacon/pca20006/s110/armgcc )

    But I'm not sure there is any point in trying if I can't seem to find another "pca20006/s110/armgcc" example that works 

Related