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?
3
  • 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, 2015 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, 2018 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? Nov 13, 2018 at 16:36

1 Answer 1

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

1
  • 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, 2015 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.