So I have a plan for a project involving setting multiple sensor nodes, each with a different purpose, all connected to one base station(A Raspberry Pi). My Initial plan was to use a bunch of the cheap NRFL01+ transceivers( With the antenna on the PCB) to send data at regular intervals to the RPi where it can be put onto a web server. Upon doing further research I realized that the range of the NRF modules might not be long enough for my purposes. So my question is, about how much range can I expect out of one of these modules, and how can I extend the range if it's not enough? Is it possible to simply solder an antenna on to the PCB or does it not work like that?
Thanks.
Hi,
What range are you looking for?
Tom.... 
Not too long. Since I'm going to creating a mesh network, all the sensors are within 5 meters of each other and can act as repeaters to convey the message to the Raspberry Pi. The node I'm concerned about though is in the garage. It's about 15 meters away from the nearest sensor. The door to the garage is also metal, so that could also cause some problems.
Please understand one significant difference between wired and wireless networks:
On a wired network the messages are sent over dedicated (connected) lines, not interfering with messages sent over different lines. Like people sitting in their own rooms and talking to a distinct person in another room via phone.
Wireless networks lack such isolation, what one node sends can be received by every other node. Like people in the same room, trying to speak all at the same time. In this case you'll need some moderator, which allows only one specific person (sender) to speak at a time.
Some wireless networks (radio stations, cell phones...) use multiple channels, so that each sender can transmit only on his assigned channel, and the message will be heard only by nodes listening to exactly that channel. But this is impossible with the NRF24L01, which uses only one channel. Even if you can tune specific modules to send on a slightly different frequency (channel), the transmissions then could be received only by receivers tuned to exactly the same frequency.
I.e. your idea will work only with one sender (remote control) and multiple receivers. Repeaters will not work this way.
You may use the Pi as a moderator, allowing a specific client to send a message, then advance to the next client (polling). This requires that every client has a unique ID, and waits until the Pi allows that ID to speak.
I was thinking each node could have an ID so that the Pi can identify each one. The Pi will also have it's own ID so all the nodes know whether the transmission is data from a sensor that needs to passed on to the Pi or an instruction from the Pi.
A message from the Pi to a node would look like this: [ID of Recipient Node] [Data] A messeage from a node to the Pi would look like this: [ID Indicating Pi] [Data]. The nodes would know to pass on messages that didn't contain it's identifier and obey messages that did.
Hope that made sense... Thanks.
Personally I've had no problems with the standard module, over a distance of 12 mtrs and through 2 concrete floors at full speed. I'd just buy two and test it. If they haven't got enough spunk, you can always use 'm for the 5 mtr range.
If it doesn't work, you can buy two NRF24L01+PA+LNA modules, they can reach up to a kilometre.
Hi,
One of many sites that deal with networking the NRF24L01
https://maniacbug.github.io/RF24Network/
Google NRF24L01 network arduino
Tom..... 
ArvindBalaji:
I was thinking each node could have an ID so that the Pi can identify each one. The Pi will also have it's own ID so all the nodes know whether the transmission is data from a sensor that needs to passed on to the Pi or an instruction from the Pi.
A message from the Pi to a node would look like this: [ID of Recipient Node] [Data] A messeage from a node to the Pi would look like this: [ID Indicating Pi] [Data]. The nodes would know to pass on messages that didn't contain it's identifier and obey messages that did.
Hope that made sense... Thanks.
Think again about the protocol. When the Pi cannot reach an node directly, multiple replicated messages may interfere. This can be solved by different message delays, for each node, based e.g. on the node ID. Or you assign a single replicator ID to each target ID. It also should be clear from each message, whether it's a request (from Pi) or an answer (to Pi), else the replicators may become confused.