SPI Communication for a nRF24 Module on an Arduino Nano Every

Hello,

First off I was trying to get this example project to work but was having no luck so I went back to basics and paired down the program to a simple "Hello world" program and I am getting the same frustrating results. For the life of me, I can't get these nRF24 modules to communicate.

I have checked the pinout both on the nRF module as well as the SPI pinout on the Nano Every (CE and CSN are on pins 5 and 6 respectively), I have measured voltages from my 3.3v buck and checked the ground all the way back to the battery, and even tested for continuity on all data pins back and forth. I have tried two different modules, ones with the PCB antenna and a model with the long-range antennae, and can't even get it to send a simple string of characters.

I have also been using the nRF24 library reference to make sure I am supplying the proper arguments.

I've been at this an hour or two a day for at least the past week and I feel like I am ramming my head into a wall chasing possible errors. Can someone please take a look at even my basic code and tell me what I am doing wrong?

Transmitter Code

#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
#define CE_PIN 5
#define CSN_PIN 6

const uint8_t pipe[6] = "00001";

RF24 radio(CE_PIN,CSN_PIN);
char data[] = "Hello World";


void setup() {
  // put your setup code here, to run once:

  Serial.begin (9600);
  radio.begin();
  radio.setPALevel(RF24_PA_MIN);
  radio.openWritingPipe(pipe);
  radio.stopListening();
  

}

void loop() {
  // put your main code here, to run repeatedly:



  radio.write( &data, sizeof(data));



}

Receiver Code

#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
#define CE_PIN 5
#define CSN_PIN 6

const uint8_t pipe[6] = "00001";

RF24 radio(CE_PIN, CSN_PIN);
char data[] = "";


void setup() {
  // put your setup code here, to run once:

  Serial.begin (9600);
  delay(1000);
  Serial.println("nRF24L01 Receiver Starting");
  radio.begin();
  radio.setPALevel(RF24_PA_MIN);
  radio.openReadingPipe(1, pipe);
  radio.startListening();


}

void loop() {
  // put your main code here, to run repeatedly:

  if (radio.available())
  {
    radio.read( &data, sizeof(data));
    Serial.println(data);
  }
else
{
  Serial.println("No radio available");
}
}

I have no experience with the nanoEVERY but the examples in this Simple nRF24L01+ Tutorial have worked for other Forum members.

Wireless problems can be very difficult to debug so get the wireless part working on its own before you start adding any other features.

The examples are as simple as I could make them and they have worked for other Forum members. If you get stuck it will be easier to help with code that I am familiar with. Start by getting the first example to work

There is also a connection test program to check that the Arduino can talk to the nRF24 it is connected to.

A common problem with nRF24 modules is insufficient 3.3v current from the Arduino 3.3v pin. This seems to be a particular problem with the nano. The high-power nRF24s (with the external antenna) will definitely need an external power supply. At least for testing try powering the nRF24 with a pair of AA alkaline cells (3v) with the battery GND connected to the Arduino GND.

...R

Hello zeplus, I´ve been having the same problem with the communication between the NRF24L01+PA+LNA antenna and Arduino Nano Every. I´d like to know if you found a way to make it work since you last posted?