My Arduino Uno WiFi Rev2 does nothing with nRF24L01+

My project: surveillance and smart ventilation to reduce humidity in a tiny house that can be unattended per months.

Main components: 1) Arduino Uno WiFi Rev2 (sort of Master), that does some of the job and communicates with the user (me) through SMS and twitter and 2) Arduino Mega 2560 (sort of Slave), which does most of the job and should communicate with the Master to share data. The 2 Arduinos are quite close, but on two different floors, so I cannot / don’t want to use wires between them. I decided to use 2 Chinese nRF24L01+.

My development system: Windows 10, IDE 1.8.12, the latest RF24 library, NINA Firmware 1.3.0.

What works: everything works but… Arduino Uno WiFi Rev2 does nothing with its nRF24L01+.

What I tried: I swapped the units nRF24L01+: the 2560 did the same and Arduino WiFi Rev2 again nothing. I used a pretty new nRF24L01+ and connected it to Arduino WiFi Rev2, w/o success. I added a 10uF capacitor between ground and 3.3V, w/o success. I double checked the connections, also with a tester. Nothing changed when I disconnected the 3.3V pin, just for curiosity.

The sketch I have used is: (IDE) Examples > RF24 > GettingStarted_HandlingFailures.
The connections: CE = 7, CSN = 8, SCK = 13, MOSI = 11, MISO = 12, ground, 3.3V. There are no other wired connections for this experiment, apart from the USB.

What I get from the sketch is copied here below. Please note that I applied the changes to printf.h, suggested in the topic “Arduino Forum > … > Problem with arduino NANO EVERY and libraries”, otherwise I could not get any output at all from the “radio.printDetails()” function.

17:40:52.373 -> RF24/examples/GettingStarted
17:40:52.373 -> *** PRESS 'T' to begin transmitting to the other node
17:40:52.373 -> STATUS = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
17:40:52.373 -> RX_ADDR_P0-1 = 0xffffffffff 0xffffffffff
17:40:52.373 -> RX_ADDR_P2-5 = 0xff 0xff 0xff 0xff
17:40:52.373 -> TX_ADDR = 0xffffffffff
17:40:52.418 -> RX_PW_P0-6 = 0xff 0xff 0xff 0xff 0xff 0xff
17:40:52.418 -> EN_AA = 0xff
17:40:52.418 -> EN_RXADDR = 0xff
17:40:52.418 -> RF_CH = 0xff
17:40:52.418 -> RF_SETUP = 0xff
17:40:52.418 -> CONFIG = 0xff
17:40:52.418 -> DYNPD/FEATURE = 0xff 0xff
17:40:52.418 -> Data Rate = 1MBPS
17:40:52.418 -> Model = nRF24L01
17:40:52.418 -> CRC Length = 16 bits
17:40:52.418 -> PA Power = PA_MAX
18:01:48.547 -> *** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
18:01:48.547 -> Now sending
18:01:48.547 -> failed
18:01:48.764 -> Failed, response timed out.

The above is not a good start. The Model should be nRF24L01+, by the way.
Any help would be very much appreciated; I'm stuck.

In other words:

have you been able to make Arduino WiFi Rev2 work with nRF24L01?

If so, any tip for me to succeed?

Hello

Same kind of project with same kind of problem!

2 arduinos, one nano and uno wifi rev 2. nRF24L01 doesn't work with uno wifi r2. Nothing.

If I move the nRf to a regular uno it works.

Is there a solution for this?

br
Marcus

What library are you using? When I select Arduino WiFi Rev2 as the board I noted some examples of sketches using NRFLite and RF24Network were in a folder called Incompatible. This changes when an Uno R3 board is selected. Just wondering if its a library issue.

Guy

I use the RF24 library from TMRh20, latest version. It might be a library problem, hard to say. Everythig looks good and compiles but nothing happens.

When I put same code in a "normal" arduino uno, all is ok and the communicaton starts.

The uno wifi rev 2 has a different processor so it could be that too.

M

OK so I got it to work.

You have to use MISO, MOSI and SCK from the ICMP 6pin, not 11,12,13 as on the other Arduinos.

1 = MISO
3 = SCK/SDA
4 = MOSI

1 is marked with a white dot
1 2
3 4
5 6

You can also find the pinouts from the documents on the Uno Wifi Rev2 page.

br
Marcus

1 Like

marcus69:
OK so I got it to work.

You have to use MISO, MOSI and SCK from the ICMP 6pin, not 11,12,13 as on the other Arduinos.

1 = MISO
3 = SCK/SDA
4 = MOSI

1 is marked with a white dot
1 2
3 4
5 6

You can also find the pinouts from the documents on the Uno Wifi Rev2 page.

br
Marcus

Thank you SO MUCH for this post. I was completely directionless on how to progress with using my RF unit on my WiFi Rev 2 board. You saved me a lot of trouble!

1 Like

marcus69:
OK so I got it to work.

You have to use MISO, MOSI and SCK from the ICMP 6pin, not 11,12,13 as on the other Arduinos.

1 = MISO
3 = SCK/SDA
4 = MOSI

1 is marked with a white dot
1 2
3 4
5 6

You can also find the pinouts from the documents on the Uno Wifi Rev2 page.

br
Marcus

Thank you! Good spot, Marcus: you had the right and clever idea.

Nevertheless, I am not satisfied with the quality of the transmission. With Mega 2560 the quality is much better and with Arduino UNO as well, so I gave up with rf24 connected to Arduino WiFi rev2; now I am using a 3rd, low-cost, Arduino UNO that acts as a bridge between Arduino WiFi rev2 and its counter-part.
That's a stupid solution that works for my project.