NRF24L01+ range of only few meters
-
@Anduril said:
@HenryWhite yeah I have caps at all my nrfs. Will try with a different power source, as mine is attached to my pc usb as well. At least for testing it should work on batteries.
If that doesn't help try exchanging the Gateway Radio module.
@HenryWhite I tried with my ESP on battery and only get few meters range, too.
Also changing radio did not change anything. But my radios are from the same seller, even if my second batch was ordered months after the first. So maybe still same typ of radios.
I will check for @VooDooX hint and change datarates. I will report back... -
@epierre my notes are in inches so forgive me not converting it here. My thinking was to make a full wavelength antenna using the existing pcb antenna. A full wavelength antenna for 2.4GHz is 4.92 in. I measured the existing pcb antenna on the nRF and it was 1.64 in. So, 4.92 - 1.64 = 3.28 in. (or 8.3312 cm). I'm not claiming to be an expert at all (an other people have said this shouldn't work) but it has worked well for me so I keep doing it. :) Others have reported success too so hopefully it will help you.
(thanks for your help @mfalkvidd)
@nunver Have you changed the PA level to MAX in myconfig.h?
-
@petewill when you solder you are at the end of the existing antenna, so you should add both length right ? and yes using imperial unit is well... non international ;-)
-
I also have a poor range. With all the tricks:
-
pairs of electrolytic+ceramic capacitors
-
short leads
-
max out emittance power
-
lowered KBS to 250
-
increased retries and delays
-
free of wifi interference freq
-
lowered payload to 4 bytes
-
powered usb hub for gateway
-
laptop USB powered arduino for sensor
-
what I did not try - is separate step down regulator for radio
I got 10m at most through couple of walls. These are plain wood frame + drywall + insulation walls.
Even that was only possible with max power output on both sides and 250KB/s speed + 4bytes payload. I'm not sure if mysensor serial protocol allow to change payload size. I had to go down to roots of nrf24 programming to debug my poor reception.
Payload size was the greatest impactor by the way I had to make my own test hardware+software to do these range tests (simple echo server, sending time back, thus 4 bytes payload)I've almost give up on nrf24 and ordered 4 hopeRF 483MHz transceivers for testing.
-
-
I also have a poor range. With all the tricks:
-
pairs of electrolytic+ceramic capacitors
-
short leads
-
max out emittance power
-
lowered KBS to 250
-
increased retries and delays
-
free of wifi interference freq
-
lowered payload to 4 bytes
-
powered usb hub for gateway
-
laptop USB powered arduino for sensor
-
what I did not try - is separate step down regulator for radio
I got 10m at most through couple of walls. These are plain wood frame + drywall + insulation walls.
Even that was only possible with max power output on both sides and 250KB/s speed + 4bytes payload. I'm not sure if mysensor serial protocol allow to change payload size. I had to go down to roots of nrf24 programming to debug my poor reception.
Payload size was the greatest impactor by the way I had to make my own test hardware+software to do these range tests (simple echo server, sending time back, thus 4 bytes payload)I've almost give up on nrf24 and ordered 4 hopeRF 483MHz transceivers for testing.
-
-
@Igor-Katkov did you get better results with higher output power? I am no radio expert, but most stuff I have read says that higher output often results in worse signal to noise ratio.
@mfalkvidd Yes, a few more meters with PA_MAX.
Here is my best performing coderadio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_250KBPS); radio.setPayloadSize(4); radio.setChannel(2); radio.setRetries(15, 15);Full code https://gist.github.com/ikatkov/6df540838bd4d3ea8b57
-
@mfalkvidd Yes, a few more meters with PA_MAX.
Here is my best performing coderadio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_250KBPS); radio.setPayloadSize(4); radio.setChannel(2); radio.setRetries(15, 15);Full code https://gist.github.com/ikatkov/6df540838bd4d3ea8b57
-
It appears that I was quite foolish expecting FTDI adapter board to power my nrf24 :-(
datasheet says it can provide at most 50mA.I'll try 2AA batteries and a step up regulator
-
@epierre my notes are in inches so forgive me not converting it here. My thinking was to make a full wavelength antenna using the existing pcb antenna. A full wavelength antenna for 2.4GHz is 4.92 in. I measured the existing pcb antenna on the nRF and it was 1.64 in. So, 4.92 - 1.64 = 3.28 in. (or 8.3312 cm). I'm not claiming to be an expert at all (an other people have said this shouldn't work) but it has worked well for me so I keep doing it. :) Others have reported success too so hopefully it will help you.
(thanks for your help @mfalkvidd)
@nunver Have you changed the PA level to MAX in myconfig.h?
-
It appears that I was quite foolish expecting FTDI adapter board to power my nrf24 :-(
datasheet says it can provide at most 50mA.I'll try 2AA batteries and a step up regulator
@Igor-Katkov powering the radio from a switching regulator is no guarantee for radio performance. Most of these (small) regulators have a high voltage ripple around their switching frequency.
You have no need for it either... The radio should work perfectly when powered by two cells. -
@Igor-Katkov powering the radio from a switching regulator is no guarantee for radio performance. Most of these (small) regulators have a high voltage ripple around their switching frequency.
You have no need for it either... The radio should work perfectly when powered by two cells. -
@AWI It does not sound right to me having to use battery power where there is AC. There should be a way to get clean enough power for these little devices?
@nunver sure, use a standard regulated power supply (phone charger) of 5v for the Arduino and make sure the radio gets a stable supply from a regulator. What always works is using one of those nrf24 adapter plates (look in the shop) for a stable radio.
-
I was/am trying to make a battery powered wireless sensor so there would be no AC if I can avoid it.
I intended to use the step up regulator to 3v3 to extend sensor life on a pair of AA batteries. I think voltage would drop fairly quickly below nrf24 lower limit.
-
It appears that I was quite foolish expecting FTDI adapter board to power my nrf24 :-(
datasheet says it can provide at most 50mA.I'll try 2AA batteries and a step up regulator
-
I was/am trying to make a battery powered wireless sensor so there would be no AC if I can avoid it.
I intended to use the step up regulator to 3v3 to extend sensor life on a pair of AA batteries. I think voltage would drop fairly quickly below nrf24 lower limit.
@Igor-Katkov Your AA batteries will be as good as dead before these drop below the nrf24 minimum voltage (1.9V). See below the graph for one cell. If the arduino survives depends on hardware/ fuse-settings.
-
OK, so I tried with AA cells, no regulators.
Plain and simple. TMRh20 lib.
Not any better.
I then tried with a chunk of bare copper wire 83mm long, soldered to the end of that curly PCB antenna - not any better either.
Not sure what might I've done wrong. Layout is pretty simple

Voltage with load is 3.1V, current never goes above 19.2mA

I tried with direct line of sight, range has doubled to say 20m, but again - nothing to write home about.
-
[Update for future generation]
I think I found my issue. It was the large transceiver see image below, with power amplifier and external antenna.
Once I replaced both receiver and transmitter with identical units, range got significantly better.
60m clear sight and almost whole house through multiple walls.For whatever reason small unit can't hear ACK from the PA unit. I tried to reduce power on the PA end to
radio.setPALevel(RF24_PA_MIN);but it did not seem to have any effect. My best guess now is that oscillator on the PA unit is slightly off. PCB antenna unit is battery powered.
Power source to arduino UNO that drives PA unit is good, 5V less that 2mV ripple. The transceiver is powered via 3V3 output (onboard regulator) of UNO though, could it be the problem? -
@Igor-Katkov said:
The transceiver is powered via 3V3 output (onboard regulator) of UNO though, could it be the problem?Yes. But depends on which onboard regulator is used on your UNO.
Also have an look here: http://forum.mysensors.org/topic/3168/long-range-transmission/27 -
[Update for future generation]
I think I found my issue. It was the large transceiver see image below, with power amplifier and external antenna.
Once I replaced both receiver and transmitter with identical units, range got significantly better.
60m clear sight and almost whole house through multiple walls.For whatever reason small unit can't hear ACK from the PA unit. I tried to reduce power on the PA end to
radio.setPALevel(RF24_PA_MIN);but it did not seem to have any effect. My best guess now is that oscillator on the PA unit is slightly off. PCB antenna unit is battery powered.
Power source to arduino UNO that drives PA unit is good, 5V less that 2mV ripple. The transceiver is powered via 3V3 output (onboard regulator) of UNO though, could it be the problem?@Igor-Katkov said:
I think I found my issue. It was the large transceiver see image below, with power amplifier and external antenna.
I have had issues with my NRF radio like the one you mention here. I'm not sure about range issues but it totally stopped my Z-Wave network from communicating. It was easier for me to just use one of the smaller radios instead of doing further troubleshooting. I know there are some other threads (that I can't think of off the top of my head) where users have found that shielding it has helped. Also, as @Oitzu said, try powering it from a separate 3.3v source instead of from the Uno.