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

nRF52840 dongle UART application only works on "older" batch of dongles.

Dear Nordic Team,

I recently ported the BLE UART example project for the PCA10056 to the PCA10059 dongle (SoftDevice 113). I added some minor changes like RX/TX pins, GPIO config for an additional button and some special character escaping to trigger LEDs.

Everything works as expected with my "old" dongle:

  • Revision: 1.2.0
  • Date: 2020.7

I flashed the exact same binary to the "new" dongle I recently ordered.

  • Revision1.2.0
  • Date: 2020.19

Here the application shows an erratic behavior: Data received via BLE RX is not forwarded to UART TX, and data received by UART RX is not forwared to BLE TX.
Instead, everything received by UART RX is directly "looped back" to UART TX.

I'm really lost here, since I cannot debug the application on the dongle. Plus I would expect the same binary to behave the same on a device with the same Revision.

Many thanks for your help!

Marc

Parents
  • Hi Simon,

    Thanks for the info, I updated my project to SDK 17.0.2 (Took the ble_uart project from new SDK and added the same changes I made on the ble_uart project from the old SDK) and I tried it with two dongles with date 2020.19 and another dongle with date 2020.37.

    Unfortunately they show all the same behavior, UART TX "echoed back" to UART RX.
    The same binary still works correctly on the dongle 2020.7.

    Would it be helpful if I sent you the binary/sources of my project?

    Best Regards

    Marc

  • Hi again Marc

    A light bulb just lit above my head as I was writing you a reply. The P0.09 and P0.10 are by default used as NFC pins on the nRF52840 and are restricted to standard drive/low frequencies only. This doesn't explain why your 2020.7 Dongle works as intended, but it explains why the others don't if you haven't configured the NFC pins as GPIOs. If you add the preprocessor define "CONFIG_NFCT_PINS_AS_GPIOS" (add under project settings -> "Preprocessor" -> "Preprocessor definitions"), you should be able to use these NFC pins as normal GPIOs. You can alternatively use any other pins on the Dongle as TX and RX pins to see if it works as intended there (P0.13 and P0.15 for instance).

    If you've already thought of this and configured the NFC pins as GPIOs from the beginning, then yes please, if you could send me the binary or .hex file of your project I can do a test on my end. I have a 2020.7 and a 2020.37 myself that I have not been able to reproduce the issue on. I'll solder those pins as well and test on my end.

    Best regards,

    Simon

Reply
  • Hi again Marc

    A light bulb just lit above my head as I was writing you a reply. The P0.09 and P0.10 are by default used as NFC pins on the nRF52840 and are restricted to standard drive/low frequencies only. This doesn't explain why your 2020.7 Dongle works as intended, but it explains why the others don't if you haven't configured the NFC pins as GPIOs. If you add the preprocessor define "CONFIG_NFCT_PINS_AS_GPIOS" (add under project settings -> "Preprocessor" -> "Preprocessor definitions"), you should be able to use these NFC pins as normal GPIOs. You can alternatively use any other pins on the Dongle as TX and RX pins to see if it works as intended there (P0.13 and P0.15 for instance).

    If you've already thought of this and configured the NFC pins as GPIOs from the beginning, then yes please, if you could send me the binary or .hex file of your project I can do a test on my end. I have a 2020.7 and a 2020.37 myself that I have not been able to reproduce the issue on. I'll solder those pins as well and test on my end.

    Best regards,

    Simon

Children
No Data
Related