Nrf24l01+pa+lna

good day all.
please forgive me if i used the wrong topic, but i am unsure what to use as i am unsure of the problem i am facing.

i have 2* NRF24L01+ Pa LNA modules, with antenna, and i am trying to get it to work. i have scoured lot of places, including the forum and i have failed getting it to work.

when i connect them directly to my arduino uno R3 boards and try the examples of Robert2 i only get the following in the serial monitor:
from transmitter: TX Failed
from receiver: Data received.
i have tried other uno R3 and other NRF24L01+ modules. still no luck.
i have also tried using AMS1117 modules and even chips, i have also tried LM2596 modules and am still getting the same response.

if there is anyone who can help me to figure out what to try next i would appreciate it tremendously.

how have you powered the NRF24 modules - see advice by @gilshultz

how have you connected the NRF24 modules to the R3?
which libraries are you using?
upload the programs for transmitter and receiver?

how far apart are the modules?

1 Like

Also, it appears that you have used this tutorial: Simple nRF24L01+ 2.4GHz transceiver demo by @Robin2 you'll see in post #30 that there is sketch to dump debug output to the serial console. Maybe try that and post the results here for both modules.

Note that that tutorial contains a misleading diagram which could result in users, who are using an external power supply, failing to provide a common ground between the Arduino and the NRF24L01 module.

here is the first one:```10:04:48.946 -> PA Power = PA_MAX
10:04:48.979 -> ARC = 0
10:04:48.979 ->
10:04:48.979 ->
10:04:48.979 -> AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
10:04:49.045 -> and 250KBPS data rate
10:04:49.079 ->
10:04:49.079 -> SPI Speedz = 10 Mhz
10:04:49.145 -> STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
10:04:49.145 -> RX_ADDR_P0-1 = 0xe7e7e7e7e7 0x4141417852
10:04:49.245 -> RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
10:04:49.245 -> TX_ADDR = 0xe7e7e7e7e7
10:04:49.278 -> RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
10:04:49.312 -> EN_AA = 0x3f
10:04:49.345 -> EN_RXADDR = 0x03
10:04:49.345 -> RF_CH = 0x4c
10:04:49.378 -> RF_SETUP = 0x27
10:04:49.378 -> CONFIG = 0x0e
10:04:49.412 -> DYNPD/FEATURE = 0x00 0x00
10:04:49.412 -> Data Rate = 250 KBPS
10:04:49.478 -> Model = nRF24L01+
10:04:49.478 -> CRC Length = 16 bits
10:04:49.478 -> PA Power = PA_MAX
10:04:49.512 -> ARC = 0
10:04:49.512 ->
10:04:49.512 ->

and on the nano. same results with or without external power supply with a common ground:

10:13:50.128 -> SPI Speedz	= 10 Mhz
10:13:50.128 -> STATUS		= 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
10:13:50.194 -> RX_ADDR_P0-1	= 0xffffffffff 0xffffffffff
10:13:50.258 -> RX_ADDR_P2-5	= 0xff 0xff 0xff 0xff
10:13:50.292 -> TX_ADDR		= 0xffffffffff
10:13:50.321 -> RX_PW_P0-6	= 0xff 0xff 0xff 0xff 0xff 0xff
10:13:50.353 -> EN_AA		= 0xff
10:13:50.386 -> EN_RXADDR	= 0xff
10:13:50.386 -> RF_CH		= 0xff
10:13:50.417 -> RF_SETUP	= 0xff
10:13:50.417 -> CONFIG		= 0xff
10:13:50.450 -> DYNPD/FEATURE	= 0xff 0xff
10:13:50.481 -> Data Rate	= 1 MBPS
10:13:50.481 -> Model		= nRF24L01+
10:13:50.514 -> CRC Length	= 16 bits
10:13:50.548 -> PA Power	= PA_MAX
10:13:50.548 -> ARC		= 15
10:13:50.578 -> 
10:13:50.578 -> 

10:17:21.887 -> SPI Speedz	= 10 Mhz
10:17:21.887 -> STATUS		= 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
10:17:21.951 -> RX_ADDR_P0-1	= 0x0000000000 0x0000000000
10:17:22.015 -> RX_ADDR_P2-5	= 0x00 0x00 0x00 0x00
10:17:22.047 -> TX_ADDR		= 0x0000000000
10:17:22.078 -> RX_PW_P0-6	= 0x00 0x00 0x00 0x00 0x00 0x00
10:17:22.112 -> EN_AA		= 0x00
10:17:22.144 -> EN_RXADDR	= 0x00
10:17:22.144 -> RF_CH		= 0x00
10:17:22.176 -> RF_SETUP	= 0x00
10:17:22.176 -> CONFIG		= 0x00
10:17:22.208 -> DYNPD/FEATURE	= 0x00 0x00
10:17:22.241 -> Data Rate	= 1 MBPS
10:17:22.241 -> Model		= nRF24L01+
10:17:22.272 -> CRC Length	= Disabled
10:17:22.303 -> PA Power	= PA_MIN
10:17:22.303 -> ARC		= 0
10:17:22.351 -> 
10:17:22.351 -> 

this is with separate power supply with common ground

The first thing to say is that you have not included all the output which the tests have generated.
Here is a complete example starting with the phrase "CheckConnection Starting":

20:18:01.573 -> CheckConnection Starting
20:18:01.573 -> 
20:18:01.573 -> FIRST WITH THE DEFAULT ADDRESSES after power on
20:18:01.665 ->   Note that RF24 does NOT reset when Arduino resets - only when power is removed
20:18:01.711 ->   If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
20:18:01.804 ->      communicating with the nRF24
20:18:01.849 -> 
20:18:01.849 -> STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
20:18:01.942 -> RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0x4141417852
20:18:01.942 -> RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
20:18:01.988 -> TX_ADDR		 = 0xe7e7e7e7e7
20:18:02.034 -> RX_PW_P0-6	 = 0x00 0x20 0x00 0x00 0x00 0x00
20:18:02.080 -> EN_AA		 = 0x3f
20:18:02.080 -> EN_RXADDR	 = 0x02
20:18:02.126 -> RF_CH		 = 0x4c
20:18:02.126 -> RF_SETUP	 = 0x07
20:18:02.172 -> CONFIG		 = 0x0e
20:18:02.172 -> DYNPD/FEATURE	 = 0x00 0x00
20:18:02.172 -> Data Rate	 = 1MBPS
20:18:02.218 -> Model		 = nRF24L01+
20:18:02.218 -> CRC Length	 = 16 bits
20:18:02.264 -> PA Power	 = PA_MAX
20:18:02.310 -> 
20:18:02.310 -> 
20:18:02.310 -> AND NOW WITH ADDRESS AAAxR  0x41 41 41 78 52   ON P1
20:18:02.356 ->  and 250KBPS data rate
20:18:02.356 -> 
20:18:02.356 -> STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
20:18:02.403 -> RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0x4141417852
20:18:02.494 -> RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
20:18:02.540 -> TX_ADDR		 = 0xe7e7e7e7e7
20:18:02.540 -> RX_PW_P0-6	 = 0x00 0x20 0x00 0x00 0x00 0x00
20:18:02.587 -> EN_AA		 = 0x3f
20:18:02.633 -> EN_RXADDR	 = 0x02
20:18:02.633 -> RF_CH		 = 0x4c
20:18:02.633 -> RF_SETUP	 = 0x27
20:18:02.633 -> CONFIG		 = 0x0e
20:18:02.679 -> DYNPD/FEATURE	 = 0x00 0x00
20:18:02.726 -> Data Rate	 = 250KBPS
20:18:02.726 -> Model		 = nRF24L01+
20:18:02.772 -> CRC Length	 = 16 bits
20:18:02.772 -> PA Power	 = PA_MAX
20:18:02.772 -> 
20:18:02.772 ->

Most of your last two debug sessions looks odd, with many fields set to either 0x0000 or 0xFFFFFF, but this in particular is odd where the CRC length is disabled.

The one in post #4 looks good so far but, like all, is incomplete.
It does appear that the ones in posts #5 and #6, where you appear to have made changes to the power provision indicate a problem.

I think the first thing to do is to repeat the results and supply the complete output from the debug session, again indicating how the power was configured for each test.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.