nRF52840 DK VS Adafruit nRF52840 Feather

Hi

I've been trying to get into Nordic's ecosystem using their SoCs but it's been a huge headache. Probably because they don't have their own IDE (like Microchip and STM have for example), or because they discontinued previous SDKs and all the tutorials found online are still made for the old SDKs and there is a huge lack of information/guides to the nRF Connect SDK which is based on zephyr build system and the amount of abstraction layers is gigantic (about this I also wonder how much more program memory and how much less energy efficient the generated programs are due to so many layers of abstraction idk).

I have been working with the nRF52840 DK which has an Onboard J-Link Segger and as a programming environment VS Code with nRF Connect SDK. When I do logs in nRF52840 DK, I found a serial port in VSCode and I can see the logs directly in the terminal (in some way, I believe this serial port is due the J-Link On board programmer). However, when I switch to Adafruit nRF52840 Feather and only change the board in the build process and then flash the board (I use a Segger J-Link Plus connected to the SWD pins to flash it) I can't find any serial port in VSCode and can't see any logs. 

Can anyone explain to me why? What is the difference between using a J-Link on board on the nRF52840 DK and using a J-Link Plus directly on the Adafruit nRF52840 Feather connected to the SWD connector? To be able to use the logs via USB (USB pheripheral of SoC and not USB from the J-Link programmer/debugger) on the Adafruit nRF52840 Feather board I follow the example found in zephyr/samples/subsys/usb/console to use the usb peripheral but I don't quite understand what it is doing and what changes the app.overlay file makes.

I started to question myself why not change to the STM ecosystem. Looks much more simple to have an IDE and use their HAL instead of the trying to learn the new nRF Connect SDK based on  zephyr build system, idk.

Parents
  • I am assuming that whatever log routines you are using in your app are directed to the uart console based on the statement that you can see them in the serial port terminal when using the nRF52840DK

    The nrf52840DK provides both the JLINK interface as well as a virtual USB to serial adapter to the target mcu uart when using the USB port on the short side of the DK board. It looks like the feather brings the target mcu uart out to the through holes labeled RX and TX on the edge of the board.

    Use a separate USB to TTL level UART adapter between your PC and those pins and you should see the output on the uart provided by the adapter. If not you may need to make sure flow control is not enabled in your application as the feather does not utilize uart HW flow control while the DK does have those signal routed to the virtual adapter.

Reply
  • I am assuming that whatever log routines you are using in your app are directed to the uart console based on the statement that you can see them in the serial port terminal when using the nRF52840DK

    The nrf52840DK provides both the JLINK interface as well as a virtual USB to serial adapter to the target mcu uart when using the USB port on the short side of the DK board. It looks like the feather brings the target mcu uart out to the through holes labeled RX and TX on the edge of the board.

    Use a separate USB to TTL level UART adapter between your PC and those pins and you should see the output on the uart provided by the adapter. If not you may need to make sure flow control is not enabled in your application as the feather does not utilize uart HW flow control while the DK does have those signal routed to the virtual adapter.

Children
No Data
Related