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!

Related