Peripheral UART Baud-Rate

Hello,

I am using the nRF54L15-DK development kit. The peripheral-uart example works well to stream data from the kit to a smartphone using the nRF-tools App. However, this software runs only at 115200 Baud/s. I would like to use at least 230400, better 460800. Is there already a sample tool ready for this? If not, how do I modify the peripheral-uart-code to increase the Baudrate? Does the Android-App support this speed?

Regards,

Michael

Parents
  • Hi Michael,

    You can incrase the baud rate of the UART interface by modifying the devicetree. For the Bluetooth peripheral UART sample and the nRF54L15 DK, you can modify boards/nrf54l15dk_nrf54l15_cpuapp.overlay and add this to set the baud rate (here 9600 is used, you can pick another supported baud rate):

    &uart20 {
    	current-speed = <9600>;
    };

    However, the maixmum UART baud rate for most instances is 1 Mbaud. The exception is UARTE00, which should suppor tup to 4 Mbaud. This is not supported in the SDK yet though, nor is the details availbale in the current datasheet. So for now, you need to stick to maximum 1 Mbaud.

    Regarding Android app etc, the UART speed and the throguhput of the Bluetooth interface are two different things. Bluetooth throughput is a bit complex, and depend on the capabilities of both devices. With 2 Mbps PHY and ideal connection parameters etc you may be able to get a throughput up to about 1.5 Mbps over Bluetooth, but this depend on a lot of factors, not leas the phones capabilities (and of course, if you are using NUS with a slower UART interface, you will not get this high throughpug in the whole system).

  • Is there any idea when UARTE00 with 4Mbit support will be available?

  • Hi,

    It is supported in nRF Connect SDK 3.0.0. No special consideration is needed. However, as part of supporting this, the devicetree now describe the clock in the device tree using clocks = <&hfpll>; for the high speed instance (and clocks = <&pclk>; for the normal speed / 16 MHz instances). So if you redefine uart00 you need to make sure you do not select the wrong clock source.

  • Thank you for fast response,

    Could I ask you point me to the example for Zephyr?

Reply Children
Related