B4R Question [Solved] Any way to connect rf24-nrf24l01-radio-modules to one module?

Beja

Expert
Licensed User
Longtime User
I have a game project with 2 players.. Is it possible to use these RF modules to control the same module on the main game board?
See This thread
 

Beja

Expert
Licensed User
Longtime User
1764874181709.png
 
Upvote 0

Beja

Expert
Licensed User
Longtime User
I asked Google Ai and this is the result:


Yes, the NRF24L01+ can absolutely connect to and communicate with 2 (or more) similar modules.

Unlike Bluetooth, which pairs devices one-to-one, the NRF24L01+ uses a packet-based radio frequency system. This means it doesn't hold a permanent "connection" but instead sends data to specific addresses. This allows for flexible setups.




Here are the two main ways you can connect one module to two others:

1. One Receiver, Multiple Transmitters (The "MultiCeiver" Method)​

This is the most common setup for sensor networks (e.g., two remote temperature sensors sending data to one central hub).

The NRF24L01+ has a built-in feature called MultiCeiver that allows one unit to listen for incoming data from up to 6 different transmitters at the same time.




  • How it works: The receiving module opens up to 6 "listening pipes" (Pipe 0 through Pipe 5).
  • The Setup: You assign a unique address to each pipe. Transmitter A sends to the address of Pipe 1, and Transmitter B sends to the address of Pipe 2. The receiver knows which module is talking based on which pipe received the message.

2. One Transmitter, Multiple Receivers​

This is used if you have one remote control and want to control two different robots or devices.

Since the radio can only transmit to one address at a time, you have two options:

  • Sequential Transmission: The transmitter sends a packet to Receiver A (Address A), then immediately switches its destination address to Receiver B (Address B) and sends the next packet. This happens so fast (milliseconds) that it feels simultaneous to the user.
  • Broadcasting (Multicast): You set both receivers to listen on the same address. When the transmitter sends a message to that address, both receive it. Note: You usually have to disable "Auto-Acknowledgement" for this to work well, or the receivers will jam each other trying to reply "I got it" at the exact same time.

Important Technical Limitations​

If you are using the "MultiCeiver" mode (1 Hub, 2 Nodes), you must follow strict addressing rules for the hardware pipes to work:

  1. Pipe 0 can have any unique 5-byte address.


  2. Pipe 1 can have any unique 5-byte address.
  3. Pipes 2, 3, 4, and 5 must share the same first 4 bytes as Pipe 1. They can only differ in the very last byte.

Example of valid addresses:

  • Pipe 0: 0x7878787878
  • Pipe 1: 0xB3B4B5B601 <-- Base address
  • Pipe 2: 0xB3B4B5B602 <-- Only last byte changes
  • Pipe 3: 0xB3B4B5B603

Summary​


  • Can it connect to 2? Yes.
  • Maximum direct connections: It can listen to 6 transmitters at once.


  • Software Libraries: If you are using Arduino, the standard RF24 library makes this easy. For massive networks (hundreds of nodes), you can use the RF24Network or RF24Mesh libraries, which handle the complex addressing for you automatically.
 
Upvote 0
Top