High-throughput USB-UART streaming on nRF9151 - Buffer overflow issues and reference examples

Hello,

I'm a beginner and trying to do my project with nRF9151DK. As said this project uses the nRF9151DK that requires high-throughput USB-UART data streaming on two boards TX and RX. TX receive from USB-UART and RX should output to the USB-UART. The current specifications that I want to achieve are:

  • Target throughput: 32 kbps (continuous)
  • Frame size: 40 bytes per frame
  • Frame rate: ~100 frames/second
  • Direction: Bidirectional (TX board receives from UART, RX board outputs to UART)

Current Issue:
When streaming data while the shell is active, I'm encountering

shell_uart: RX ring buffer full warnings,

causing message drops and console corruption.

My Questions:

  • Are there any demo applications or reference examples from Nordic that demonstrate high-speed USB-UART streaming (30+ kbps) with proper buffering?
  • What's the recommended approach for simultaneous shell access and high-throughput data streaming on the same UART?
  • Are there configuration best practices for shell buffer sizes when dealing with continuous data streams?

Any guidance on reference implementations or best practices for achieving reliable high-speed UART streaming would be greatly appreciated.

Thank you!

Parents
  • Hello,

    In general achieving more than 32 kbps of throughput over UART should not be a problem. However, I do not see any reliable way to expose both a UART shell and separate data streams on the same UART instance, since all data received by the UART will be passed to the shell module. Would it be possible to to expose the shell on another UART port?

    Best regards,

    Vidar

Reply
  • Hello,

    In general achieving more than 32 kbps of throughput over UART should not be a problem. However, I do not see any reliable way to expose both a UART shell and separate data streams on the same UART instance, since all data received by the UART will be passed to the shell module. Would it be possible to to expose the shell on another UART port?

    Best regards,

    Vidar

Children
Related