USB host mode (CDC ACM) support on nRF54LM20A reading from external USB serial device

Hi,

I'm working with the nRF54LM20 DK (nRF54LM20A) and evaluating whether it can act as a USB host to read data from an external USB CDC ACM device.

The intended setup is:

  • An external instrument connects over USB-C and enumerates as a CDC ACM device
  • The nRF54LM20A reads the incoming serial data
  • The data is forwarded over Bluetooth LE using Nordic UART Service (NUS)

I have a few questions regarding current support in nRF Connect SDK:

Q1:
Is USB host mode supported on the nRF54LM20A in the current SDK release?

The SoC includes a DesignWare USB 2.0 OTG controller (snps,dwc2), and Zephyr provides a USB host controller framework, but I haven't found confirmation that host mode is currently enabled/supported for this device in nRF Connect SDK.

Q2:
Is there support for a CDC ACM host class driver?

Since the external device enumerates as a CDC ACM interface, the requirement is to read data from it as a virtual serial port when operating in USB host mode.

Q3:
If USB host mode is not yet supported, is there a recommended alternative architecture for this use case?

For example:

  • using a UART interface instead (if available on the external device)
  • or another suggested approach for bridging external serial data to BLE on nRF54LM20A

Pointers to relevant documentation, samples, or roadmap guidance would be appreciated.

Thanks!

  • Hi,

    Q1:
    Is USB host mode supported on the nRF54LM20A in the current SDK release?

    No, current status for nRF54LM20A in the current version of nRF Connect SDK, is that USB host is not supported.

    Q2:
    Is there support for a CDC ACM host class driver?

    Not without USB host support, no.

    Q3:
    If USB host mode is not yet supported, is there a recommended alternative architecture for this use case?

    UART could be a good choice, with the NUS samples already bridging between NUS and UART: Bluetooth: Peripheral UART, Bluetooth: Central UART. You then would need an additional device for conversion between USB CDC ACM of the external device to UART for the nRF54LM20A device.

    Regards,
    Terje

  • Hi Tesc,

    For further context the Sensor / Device we're planning to connect to our device it has a USB-C port and would most likely use a USB connection directly to our nRF54LM20A.

    I'm unsure if UART would work for this as we require to send commands to the sensor device to query for data and a also provide firmware upgrades.

    Once this has been established the data can be sent over BLE which is working as intended just trying to sort out the serial connection part. Apologies if you've already answered some of this.

    Kind regards,

    Lewis.

  • Hi,

    Lewis_5523 said:
    For further context the Sensor / Device we're planning to connect to our device it has a USB-C port and would most likely use a USB connection directly to our nRF54LM20A.

    Unfortunately, as previously stated, there is currently no CDC ACM host support. There has been some efforts, but not currently active, no. Connecting a USB peripheral directly to the nRF54 is therefore currently not supported, no.

    For any inquiries about future plans and roadmaps, including when the above status might change, please contact our sales representatives through the Sales related questions form on our Contact us pages. They might be able to help out.

    Lewis_5523 said:
    I'm unsure if UART would work for this as we require to send commands to the sensor device to query for data and a also provide firmware upgrades.

    This of course depends on the device. The suggestion is if there are devices which can be used to bridge from an USB peripheral to a device lacking USB host but having UART available. That is, a device which does have USB host, as well as UART. While we do not have such a device from us, maybe alternatives exist for that type of bridge. Other than that, if the external instrument can only communicate over USB and as a USB peripheral, you are left with waiting for USB host support on the nRF54, or left to implementing that support yourself (which you might try but I would not confidently recommend as it would by no means be straight-forward.)

    Another option is if the external equipment does have other forms of communication, such as for instance UART, SPI, BLE, etc.

    Regards,
    Terje

Related