NRF24L01 + MEGA and NANO

I have 2 NRF Modules and I am trying the RF24 Example code pingpair_ack.

  1. NRF24L01+MEGA
  2. NRF24L01+Nano

The results from Serial port for 1 are:

RF24/examples/pingpair_ack/

ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS		 = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
RX_ADDR_P0-1	 = 0xffffffff7f 0xffffffffff
RX_ADDR_P2-5	 = 0x7f 0xff 0x7f 0xff
TX_ADDR		 = 0xffffffff7f
RX_PW_P0-6	 = 0xff 0x7f 0xff 0x7f 0xff 0x7f
EN_AA		 = 0xff
EN_RXADDR	 = 0x7f
RF_CH		 = 0xff
RF_SETUP	 = 0x7f
CONFIG		 = 0x7f
DYNPD/FEATURE	 = 0x7f 0xff
Data Rate	 = 1MBPS
Model		 = nRF24L01
CRC Length	 = 16 bits
PA Power	 = PA_MAX
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Got response 0, round-trip delay: 228 microseconds
Got response 0, round-trip delay: 1196 microseconds
Got response 0, round-trip delay: 5276 microseconds
Got response 0, round-trip delay: 9780 microseconds
Got response 0, round-trip delay: 14284 microseconds
Got response 0, round-trip delay: 18880 microseconds
Got response 0, round-trip delay: 23464 microseconds
Got response 0, round-trip delay: 28060 microseconds
Got response 0, round-trip delay: 32644 microseconds
Got response 0, round-trip delay: 37236 microseconds
Got response 0, round-trip delay: 41824 microseconds
Got response 0, round-trip delay: 46416 microseconds
Got response 0, round-trip delay: 51004 microseconds
Got response 0, round-trip delay: 55596 microseconds
Got response 0, round-trip delay: 60184 microseconds
Got response 0, round-trip delay: 64776 microseconds
Got response 0, round-trip delay: 69364 microseconds
Got response 0, round-trip delay: 73956 microseconds
Got response 0, round-trip delay: 78544 microseconds
Got response 0, round-trip delay: 83136 microseconds
Got response 0, round-trip delay: 87724 microseconds

It is not clear above how the Transmit mode changes to Receive mode without any intervention.


Results from 2 are below:

RF24/examples/pingpair_ack/

ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS		 = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
RX_ADDR_P0-1	 = 0xffffffffff 0xffffffffff
RX_ADDR_P2-5	 = 0xff 0xff 0xff 0xff
TX_ADDR		 = 0xffffffffff
RX_PW_P0-6	 = 0xff 0xff 0xff 0xff 0xff 0xff
EN_AA		 = 0xff
EN_RXADDR	 = 0xff
RF_CH		 = 0xff
RF_SETUP	 = 0xff
CONFIG		 = 0xff
DYNPD/FEATURE	 = 0xff 0xff
Data Rate	 = 1MBPS
Model		 = nRF24L01
CRC Length	 = 16 bits
PA Power	 = PA_MAX
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.

Any pointers on what might be wrong?

Thank you.

Both modules are non-functional. Probably a wiring/configuration fault.

How is the nRF24 connected to the Mega? The pins are not the same as for an Uno? I am not familiar with the Nano - but that is also worth checking.

...R

Here NRF24L01s are running fine on Mega and Nanos (all supplied directly by the 3,3V pins).

Both outputs of the OT show that the chip does not respond, see #1.

Whandall: Both outputs of the OT show that the chip does not respond, see #1.

Maybe I got up too early today. :)

...R

Whandall: Both modules are non-functional. Probably a wiring/configuration fault.

Thanks for the first step in troubleshooting, I realized later that the CE and CSN pins were reversed. I will correct that and post results again.

I am powering the NRF24 connected to Nano from a separate 3.3V supply. The NRF24 on the mega however is powered by the Mega board 3.3V pin itself.

Will post some results soon.

I am curious to understand how Whandall determined that both modules are non functional. Here are the results from the testing.

Also I have observed that after sometime the Crystal on the NRF board gets very hot. I am not sure if these radio's are still workable or they are broken.

NRF24L01 + Nano

RF24/examples/pingpair_ack/

ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
RX_ADDR_P0-1 = 0xffffffffff 0xffffffffff
RX_ADDR_P2-5 = 0xff 0xff 0xff 0xff
TX_ADDR = 0xffffffffff
RX_PW_P0-6 = 0xff 0xff 0xff 0xff 0xff 0xff
EN_AA = 0xff
EN_RXADDR = 0xff
RF_CH = 0xff
RF_SETUP = 0xff
CONFIG = 0xff
DYNPD/FEATURE = 0xff 0xff
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 16 bits
PA Power = PA_MAX
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. failed.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. failed.

NRF24L01 + Mega

RF24/examples/pingpair_ack/

ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
RX_ADDR_P0-1 = 0xffffffffff 0xffffffffff
RX_ADDR_P2-5 = 0xff 0xff 0xff 0xff
TX_ADDR = 0xffffffffff
RX_PW_P0-6 = 0xff 0xff 0xff 0xff 0xff 0xff
EN_AA = 0xff
EN_RXADDR = 0xff
RF_CH = 0xff
RF_SETUP = 0xff
CONFIG = 0xff
DYNPD/FEATURE = 0xff 0xff
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 16 bits
PA Power = PA_MAX
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Blank Payload Received.
Now sending 1 as payload. Got response 0, round-trip delay: 232 microseconds
Got response 0, round-trip delay: 1184 microseconds
Got response 0, round-trip delay: 5276 microseconds
Got response 0, round-trip delay: 9784 microseconds
Got response 0, round-trip delay: 14288 microseconds
Got response 48, round-trip delay: 18876 microseconds
Got response 0, round-trip delay: 23552 microseconds
Got response 0, round-trip delay: 28144 microseconds
Got response 0, round-trip delay: 32732 microseconds
Now sending 10 as payload. Got response 0, round-trip delay: 224 microseconds
Got response 0, round-trip delay: 1188 microseconds
Got response 0, round-trip delay: 5340 microseconds
Got response 0, round-trip delay: 9848 microseconds
Got response 0, round-trip delay: 14352 microseconds

Can you post the actual code you are using?

I don't think the crystal should change temperature at all.

What instructions are you using (post a link). I used this Tutorial successfully.

...R

cimulation: I am curious to understand how Whandall determined that both modules are non functional. Here are the results from the testing.

That is easy (and your modules are still not responding...)

A running NRF produces something like this when looked at the registers (in my new driver format)

Model        = nRF24L01+
CONFIG       = 0x0E 0b.0001110 16-byte CRC powerUp PTX
FEATURE      = 0x07 0b.....111 dynLength ackPayLoad dynAck
SETUP_AW     = 0x03 0b......11 5-byte addressFormat
STATUS       = 0x0E 0b.0001110 rxEmpty
FIFO_STATUS  = 0x11 0b.001..01 txEmpty rxEmpty
OBSERVE_TX   = 0x00 0b00000000 lost 0 Retries 0
RF_SETUP     = 0x0F 0b0.00111. 2Mbps 0dB
RF_CH        = 0x4C 0b.1001100 76 ~ 2.476 GHz
SETUP_RETR   = 0x2F 0b00101111 Retry 15 after 750 µs
DYNPD        = 0x3F rxp 543210
EN_AA        = 0x01 rxp .....0
EN_RXADDR    = 0x01 rxp .....0
TX_ADDR      = 0x6261736531
RX_ADDR_P0   = 0x6261736531
RX_ADDR_P1   = 0xC2C2C2C2C2
RX_ADDR_P2   =         0xC3
RX_ADDR_P3   =         0xC4
RX_ADDR_P4   =         0xC5
RX_ADDR_P5   =         0xC6
RX_PW_P0-5   = 0x20 0x00 0x00 0x00 0x00 0x00

My NRF24L01 modules don't get hot.