Pairing specific pairs among many

Hello, we're trying to make products using BLE with nRF52840(central) and nRF52833(peripheral).

We did make custom boards and also made a program that once paired(bonded), it won't connect with others.

(eg, once nRF52840 and nRF52833 is paired, it will not connect with others)

We were wondering is there a way to make specific central connect with specific peripheral?

Is there a way to make each central/peripheral unique so that pairing process can be done without interference?

We got concerned that wrongly paired(or bonded) devices might ship out.

At our current stage, pairing wrong central/peripheral is possible.

Other infos.

nRF52840-central has 2 buttons, while nRF52833-peripheral has none

We're using SDK 17.1.0 S140 Segger Studio

has NUS(communication) and BAS(battery check) BLE services

thanks

edit:

extra question: is there a way to write certain unique number/MAC address on flash during flash write and then read it during application?

How do I know which address of flash is used or not?(want to avoid  collision with bonded info)

Is there a download tool beside nRF Connect Programmer?

Parents
  • Thanks, what I was looking for was UICR, and it checked out when I used "nrfjprog --memwr 0x10001080 --val 0xcc"

    I am now stuck with binary(or hex) files.

    nRF Programmer is showing different memory layout  when comparing what I debug via Segger studio versus output/my_app.hex + softdevice_s140.hex.

    Are there other hex file I should consider? (I also added bootloader_setting.hex I generated but they don't seem to be identical.)

    Top two lines on the right side is bootloader_setting.hex, and the rest are my_app.hex + softdevice_s140.hex

    bootloader_setting.hex (nrfutil settings generate --family NRF52840 --application "my_app.hex" --application-version 0 --bootloader-version 0 --bl-settings-version 2 bootloader_setting_uicr.hex)

    Also, are there any easy-to-follow nrfjprog tutorial?

    Thanks

Reply
  • Thanks, what I was looking for was UICR, and it checked out when I used "nrfjprog --memwr 0x10001080 --val 0xcc"

    I am now stuck with binary(or hex) files.

    nRF Programmer is showing different memory layout  when comparing what I debug via Segger studio versus output/my_app.hex + softdevice_s140.hex.

    Are there other hex file I should consider? (I also added bootloader_setting.hex I generated but they don't seem to be identical.)

    Top two lines on the right side is bootloader_setting.hex, and the rest are my_app.hex + softdevice_s140.hex

    bootloader_setting.hex (nrfutil settings generate --family NRF52840 --application "my_app.hex" --application-version 0 --bootloader-version 0 --bl-settings-version 2 bootloader_setting_uicr.hex)

    Also, are there any easy-to-follow nrfjprog tutorial?

    Thanks

Children
No Data
Related