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

Packet fragmentation with the nrf24l01+

Hi Guys,

I am planning on using the nrf24l01+ to send data with a payload which is larger than 32 bytes, I was wondering whats the fastest way to transmit these packets and receive them without wasting anytime. On the reception side I doubt there's anything I can do other than receiving the interrupt and storing it in a buffer. But on the other hand how do I get these fragmented packets to transmit really quick on the nrf24l01+. The datasheets claim that 2Mbps is possible. however the actual throughput is mentioned as 1.74Mbps. So how do I get such high rates when transmitting the data?

Also I have several other radios which have larger packet sizea but are much slower. How does nordic have such a small MTU and such high transmission rates?

  • Hi,

    There are some tricks to do to keep the data rate high, but this will not guarantee data integrity (no ACKing or re-transmissions). However, getting as much as 1.74 Mbit/s is highly unlikely. Remember that this is wireless, and you will always have some packet loss.

    The on-air data rate is 2 Mbit. You have overhead in your preamble, address, and configurable CRC. The lowest overhead that you can configure is 4 bytes (1 byte preamble + 3 byte address). CRC is highly recommended to enable.

    You will also have to take into account that you must start up on the PLL for the radio each 4 millisecond (start up is 130 us) in order to keep the RF carrier within specification.

    You'll need a fast MCU (ARM core or similar) to service this kind of throughput.

    If you go with the nRF24L01+, then you will have to buffer up in 32 byte chunks. If you look at the nRF51-series (nRF51822 for instance), then the radio is able to send 255 bytes per payload.

    Best regards Håkon

Related