Zephyr Console on Adafruit Feather nrf52840 connected via SWD to nrf52840dk

I have a Thread bench-top environment set up that includes

  • One nrf5340dk flashed with the openthread coap_server firmware build and flashed on 1.8 via Visual Code
  • Two nrf52840dk's flashed with openthread coap_client firmware build and flashed on 1.8 via Visual Code
  • One Adafruit Feather Feather nrf52840 Express coap_client firmware built with Visual Code and flashed with the nRF Desktop Flasher
  • One nrf52840dk flashed with the RCP formware and paired with an OTBR on Pi.  OR flashed with the TTM firmware and viewed on TTM.

Loading the sample firmware on the coap_cients and servers works fine.  They all join using the hardcoded credentials.

I can use OTBR to join and view the network.

GREAT!

Now I am trying to use my own secure network and credentials.

I think i need to get the unique EUID for each board.

For each of the Dev Kits, I can use a serial console to connect UART to the DKs and see the Zephyr console.  I can issue the "ot eiud" command and get that SoC's id.

GREAT!

Now I am trying to connect to the Adafruit Feather which was flashed via the SWD cable on one of my DKs.  I know that device is running but I can't figure out how to connect interactively to it (cli) to learn its euid or issue ot commands.

The Adafruit docs seem to indicate that I can use the onboard usb port, but that isn't registering with the host (win11) as a serial port.

I tried to connect to the associated DK serial port but that seems to still be linked to the onboard SoC nrf.

The coap_client is the same code running on all of the dk clients but has the board configuration set to the feather board type.

Any ideas or hints to figure out how to interact with the Feathers?

Thanks

Parents
  • Thank you Jørgen. I will try these options.

    The schematic for the Adafruit Feather nrf52840 Express does seem to show the SoC D+/D- being routed off the module and to the microusb connector with just some resitstors inline.

    When I connect that USB port to the win11 machine I do not get any serial ports detected like I do when I connect any of the DKs.

    I am trying the Backend RTT method now.  I rebuilt the config with your suggested config item. 

    Connecting with J-Link RTT Viewer I get the following.  I will investigate further and try the alternate methods.  FYI, J-Link RTT Viewer prompted me for a fw update.  I tried both with the same result.

Reply
  • Thank you Jørgen. I will try these options.

    The schematic for the Adafruit Feather nrf52840 Express does seem to show the SoC D+/D- being routed off the module and to the microusb connector with just some resitstors inline.

    When I connect that USB port to the win11 machine I do not get any serial ports detected like I do when I connect any of the DKs.

    I am trying the Backend RTT method now.  I rebuilt the config with your suggested config item. 

    Connecting with J-Link RTT Viewer I get the following.  I will investigate further and try the alternate methods.  FYI, J-Link RTT Viewer prompted me for a fw update.  I tried both with the same result.

Children
  • Hi,

    Did you make any other modifications to the config of the coap_client example? I got the log and CLI on RTT from adding this single config. Did you build for the feather target, or for the nrf52840dk board? Also, you should select "nRF52840_XXAA" in RTT viewer when connecting, the other settings looks correct.

    HeneryH said:
    When I connect that USB port to the win11 machine I do not get any serial ports detected like I do when I connect any of the DKs.

    This is normal if the firmware running on the nRF52840 does not initialize the USB peripheral. You can check if the USB port works by building the OpenThread CLI sample with usb-overlay configuration and build it for the 'nrf52840dongle_nrf52840' target. This should use the native USB port of the nRF52840 for the shell transport.

    Best regards,
    Jørgen

  • I just built it again from scratch from sample and only added that single new line to the prj.cfg file.  Same behavior.

    I'll try adding the USB overlay to the project to see if I can get it that way. [maybe a better way at the end of this post]

    The problem I am trying to solve is figuring out how to get the eui64 for any device?  Maybe there is a better way of determining that data value?

    If I have a bunch of devices I want to deploy to the field, I need to generate join qr codes for each of them.  Maybe flash it with CLI, determine the eui64, then reflash with the desired project?

Related