nRF52840 Dongle - Logging problem - in the course “Bluetooth Low Energy Fundamentals” - in several examples

Hi there,

Several examples of the course include a configuration file and an overlay file for the nRF52840 dongle.
However, the code cannot be compiled.

The problem seems to be that the “old” and “new” USB stacks conflict with each other and are both active.

I was able to solve the problem as follows. However, some “deprivation messages” are generated.

nRF Connect SDK v3.2.1-d8887f6f32df
Zephyr OS v4.2.99-ec78104f1569

Procedure:
L2_e1: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L2_e2: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L2_e3: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L3_e1: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L3_e2: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L4_e1: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L4_e2: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

L5_e1: nrf52840dongle_nrf52840.conf
add: CONFIG_USB_DEVICE_STACK_NEXT=n      // explicitly disable next stack

I tried a few things to use the new USB stack. Has the new USB stack been fully implemented yet? If so, does anyone have any tips on how to use it? If the new stack has not yet been fully implemented, is it known when the new USB stack will be fully implemented?

Kind regards, Dani

Parents Reply Children
  • The later SDKs does not bring any new functionality to the nRF52840 dongle, so I recommend using a slightly older version of NCS (v3.1.1).

    From the version after v3.2.x the nRF52 series is no longer supported (not tested for, but may still work). So since no new features are added to the nRF52 series, I suggest you stick to NCS v3.1.x for this device.

    Best regards,

    Edvin

  • Thank you for your reply, although I would have preferred a different answer.
    If I understand you correctly, this applies not only to the nRF52840 dongle but generally to all devices that start with nRF52xxx, including nRF52840dk.
    In that case, it would probably be better to switch to nRF54 series or an nRF7002 for new developments.

    Kind regards, Dani

  • Hello, Dani!

    That is correct. For new development, the nRF54L series is recommended (or nRF7002 if you are planning to use WiFi). That said, the nRF52 series is well tested, and it is still working as good as it did in the older SDKs - in the older SDKs.

    This particular issue seems to be related to the USB driver used for the dongle's debug logs. If you run this on an nRF52840 DK, or any of the other DKs that use UART instead of USB for logging, you will be fine, and you will not see any warnings. 

    In general, for development, it is a good idea to use the DKs, as they have an on board debugger. In theory, you can use the USB peripheral present on the nRF52840 for logging, but the moment the app crashes, the USB driver will stop working, and you will not see any logging about the issue. If you are using the UART for logging, the debugger will still be able to read the logs, so it makes things a lot easier for development.

    Best regards,

    Edvin

  • Thanks for clarifying that. I'll order an NRF54LM20-DK and hope to receive the kit before May.
    The distributor's website says that the NRF54LM20-DK won't be available before the end of April...

Related