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

Max TX's to one RX for nRF24L

Hi, I'm searching platform for my project. I will need to send packets from big quantity of transmitters (nRF24LE1) to one reciever (nRF24L01), it will something like voting, in one time (+-1-2s) all transmitters send 1 packet to reciever with acknowledge. I want to know about max quantity of properly working transmitters. May be i should use BLE or ANT?

  • Hi Eugene,

    You may want to provide more information on:

    • how many devices you are talking about here

    • power consumption constraint for each device

    • how is the environment there, you have full control of the RF channels or it could be interfere by other devices such as wifi hotspot ?

    • How many byte each transmitter needs to send ?

    There are two suggestions or approach:

    1 - Follow what we have with BLE advertising, so that the transmitter sends its on 3 different (predefined) channels and wait for an ACK after sending each packet. If it doesn't receive any ACK it will wait a random delay before starting again. Doing this the transmitter can keep low power consumption and can avoid interference.

    2 - Keep all the transmitter in listening mode in one same channel, waiting to be polled by the central device. This way you can utilize all the time domain to poll all devices. This depends on the size of the packet. But then using only one channel may have trouble with interference.

  • Hi, Hung Bui, Thank You for so usefull information.

    • I need minimum 32 transmitters, but i want flexible solution with 200-300 transmitters in perspective
    • Transmitters should be powered by batteries, so power consumption constraint
    • There are no control of RF channels (wifi, BT, BLE, cellular 3g/4g)
    • Transmitter should send : self number (1-32 or more) 1-3 bytes, data 1 byte, battery flag 1 byte = 5 bytes

    So first suggestion is intresting for me. Maybe preferable to use 3 or more receivers for each channel?

  • Hi Eugene,

    Using 3 receivers could be a good idea, it would definitely help on the transmission rate. You may need to deal with synchronization between the 3 receivers (or more) but I guess it's not a big deal. We can do some rough calculation. The packet size is 5 bytes, you may want to add some more for security or packet sequencing, let's say total 10 bytes. Then adding address and preamble, CRC we can get up to 20 bytes. For transmitting 20 bytes it would take 160us with 1Mbps. We will need to open an RX period on each channel to catch ACK also, let's say 100us. So in total about 260us for one channel, 780us for 3 channels.

    So by theory you can have up to 1200 transmission in 1 seconds. Of course we can't get to that number, but I would expect you should be easy to manage to get data from all 32 devices in one second.

    The random delay should be chosen smart enough so that it won't make the delay too long but not too short to interfere with other devices.

Related