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

beacon firmware flash struggles

So I bought a "social retail" beacon device that claims to have 300foot range. After getting it I realized it uses the "iBeacon" standard, which is not compatible with my Android phone/apps. I took the board and and saw it has a nRF51822 chip with markings:

n51822 QFABCO 1517EK

Looking at the board and the nRF51822 datasheet, I see there was a SWD programming header that I could utilize. I bought a st-link/v2 programmer and flashed the pca20006 "beacon eval board" softdevice, boot loader and app to the chip (all 3 hex files). That didn't enable the nRF app to see the beacon.

I then went searching around here in the questions and on the nordic site and I noticed there are several different "pca"/pcb versions of the beacon app. This made me think there are different firmware versions for different board configs. So I inspected the PCB I bought and compared it to the "beacon kit pca20006" schematic and PCB. Social retail seems to have copied the PCB reference design exactly, as the LEDs and switches are wired to the same pins of the pca20006 ref design has. From what I can tell, the PCB version should not matter if I don't care about the switch and LED features. There was minimal components required to make this chip work: antenna/balun, 16Mhz crystal, and some de-caps

I use OpenOCD and Adalink to flash the board. I have confidence that is working, as I can read out the chip status:

Hardware ID : 0x007B SD Version : S110 7.1.0 Device Addr : E3:84:21:DD:F0:88 Device ID : 197D556C188F1DCC

I tried an experiment and flashed just the s110 8.0.0 hex file to the chip and was able to see the SD version changed as I expected. I flashed the 7.1.0 version back and saw the version change, so that's another data point that flashing is working properly.

Is there some other subtle thing I have missed that's blocking this from being visible to my nordic app?

FWIW: I want to use this "social retail" beacon because it has a "f" PCB antenna that I'm thinking should have a better range than the beacon (pca20006) has. I have a pca20006 board as well, so I know the nordic app on my phone works just fine with it.

Parents Reply Children
  • Yes, the beacon kit has a xxAA chip (256k flash), while my chip is a xxAB (128k flash). Both are 16k RAM. If I understand the compatibility matrix properly, I need to set

    IRAM base - 0x20002800 IRAM size(16 kB RAM) - 0x1800

    IROM base - 0x1C000 IROM size(128 kB Flash) - 0x4000

    So I installed the SDK and Keil DK and opened the ble_app_beacon. Under "project->options" I selected "nRF51822_xxAB" as the device, changed the xtal to 16Mhz, and set the IROM1 and IRAM1 to the above values. I got the hex file out and programed my device, but no beacon :(

    I did notice that the default keil setup for the "ble_app_beacon" is

    IROM start: 0x0 IROM size: 0x20000 IRAM1 start: 0x0000000 IRAM1 size: 0x4000

    I assume those are incorrect, but an interesting artifact is the LED now comes on when I program the board with those settings. Perhaps this is just an anomaly.

    Thanks everyone for your help.

Related