I want to make a network with arduinos and nrf24l01 chips. The network will be like this:

  • 1 master arduino
  • multiple (no specific number) slave nodes

I want all nodes to have the same receiving and the same transmitting address and the master arduino to understand which one send the message from the message itself. For example:

Master: Receiving: 0xABCDABCD71 Transmitting: 0xABCDABCD01

Slave 1 Receiving: 0xABCDABCD01 Transmitting: 0xABCDABCD71

Slave 2 Receiving: 0xABCDABCD01 Transmitting: 0xABCDABCD71

Slave 3 Receiving: 0xABCDABCD01 Transmitting: 0xABCDABCD71

Slave 4 Receiving: 0xABCDABCD01 Transmitting: 0xABCDABCD71

When master send a message, all nodes will receive it. What I want to ask is :

  • Is that possible?
  • Will there be any problems?
  • Is there any other way so I can add more nodes in the future without changing the code?
  • 1
    That will work. The only possible problem would be collisions, if the nodes send a lot of data (having different re-transmit intervals might help here). – Gerben May 23 '15 at 18:51
  • Generally, having same RX address on all slave nodes is a bad idea except when the slaves are receive only. If you want to receive data from a specific node, then they should have different addresses, use ACK_PAYLOAD and you poll each one in turn. – MichaelT Aug 12 '18 at 13:46
  • Can we do it for only multiple slaves to single data receiver? I want to get 13 IMUs( gy9250) data on single nrf24lo1 receiver is it possible? – Wajhee uddin Nov 13 '18 at 16:36

as well as comment #1 the other thing will be the ack packets that the slaves will send back to the master to confirm message recieved. with all slaves sending back a ack at about the same time there will be no way for master to tell which ack is from which client, and thus who needs a retransmit. a way around this is to turn off ack for the clients and make the master transmit max times regardless. there is a rf24 fork that has broadcast mode, the makes it more easy to specify not to wait for ack before retransmitting

  • Using this as a base library and this as an simplifying overlay (there's actually RF24Mesh too) will make this possible very easily. – Avamander Aug 17 '15 at 23:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.