2

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?
Christos Mitsis
  • 354
  • 4
  • 15
  • 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

1 Answers1

1

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

Hayden Thring
  • 308
  • 2
  • 10