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

Questions about the USB power of the nRF52840 DK board.

Hi.

I am using the nRF52840 DK board and have integrated the SDK15 ESB_Rx example with the HID example.

The nRF52840 DK board has two USB ports. (J2, J3)

  • J2: Firmware Programming
  • J3: HID

Is it necessary to connect USB to both J2 and J3 to use HID?

Until yesterday, I did not connect USB to J2, I only connected USB to J3, and HID worked well.

J2, J3 Both HID works well when J2 is removed after USB connection.

If J2 is not connected and only J3 is connected, HID will not work.

Is this normal?

Thank you.

  • Hi,

    Is it necessary to connect USB to both J2 and J3 to use HID?

    No, it should work with only J3.

    Did you make any changes to "ESB_Rx example with the HID example" that could have caused this?

    Have you tested with usbd_hid_composite example in SDK 15?

    What is the position of the different switches on the DK?

    What version of the DK do you have(it's printed on the white sticker on the board)?

    Could you try a different USB cable?

    Could you try a different USB port on the computer?

     

  • Running the SDK's HID example, it works fine even if you connect the USB to J3 only.

    I seem to have missed something in the process of combining code.

    Is app_timer related to the power of J3?

  • I solved the problem.

    I commented out the Uart setting in Main() and it works correctly.

    void uart_configure(void){
      uint32_t err_code;
      
      const app_uart_comm_params_t comm_params =
        {
            RX_PIN_NUMBER,
            TX_PIN_NUMBER,
            RTS_PIN_NUMBER,
            CTS_PIN_NUMBER,
            UART_HWFC,
            false,
            NRF_UART_BAUDRATE_115200
        };
    
      APP_UART_FIFO_INIT(&comm_params,
                           UART_RX_BUF_SIZE,
                           UART_TX_BUF_SIZE,
                           uart_error_handle,
                           APP_IRQ_PRIORITY_LOWEST,
                           err_code);
    
      APP_ERROR_CHECK(err_code);
    }
    

    But I do not know the cause of the problem.

    Does J3 not work when I set the Uart?

    Thank you.

  • Hi,

    Happy to see that you solved it. By default, both USBD HID examples in SDK 15 already initializes the UART in the init_cli() function. If you then try to initialize the UART again, without uninitializing the old instance, you might get some error-code returned, and end up in the error-handler.

Related