**SOLVED ESP32-S3-Wroom1 and NRF24L01+ NOT WORKING

Hey guys, student here that needs help with ESP32-S3-Wroom1 Clone to connect with NRF24L01+ module.
I connected as follows:
SCK -> GPIO 12 (pin 11)
MISO -> GPIO 13 (pin 12)
MOSI -> GPIO 11 (pin 10)
CE -> GPIO 10 (pin 9)
CSN -> GPIO 9 (pin 46)
I've already checked that everything is connected well and I lowered the SPI Mhz to 1Mhz from 10Mhz.
The NRF24l01+ Module is powered separately through a 5V source on the break-out board (It is safe for 5V with regulator).
**Attached to this post is the result of printDetails command.
Code ran:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define VSPI 3
const int VSPI_MISO = 13;  // MISO D
const int VSPI_MOSI = 11;  //MOSI Q
const int VSPI_SCLK = 12;  //CLK
const int VSPI_SS = 9;    //CSN
SPIClass vspi = SPIClass(VSPI);
RF24 radio(10, 9);  // CE, CSN
const byte address[6] = "00001";
void setup() {
vspi.begin(VSPI_SCLK, VSPI_MISO, VSPI_MOSI, VSPI_SS);
radio.begin();
radio.setAutoAck(false);
radio.setDataRate(RF24_250KBPS);
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
Serial.begin(9600);
}
void loop() {
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text);
Serial.println("available");
}
if (radio.isChipConnected()) {
Serial.println("Transmitter NF24 connected to SPI");
} else {
Serial.println("\n\nNF24 is NOT connected to SPI");
}
radio.printDetails();
delay(1000);
}

Capture

for an ESP32 the initialization I use is (assuming using VSPI)

// ESP32 connections
// ESP32 SCK pin GPIO18 goes to NRF24L10_pin SCK
// ESP32 MISO pin GPIO19 goes to NRF24L10_pin MI
// ESP32 MOSI pin GPIO23 goes to NRF24L10_pin MO
// NRF24L10 CE to ESP32 pin GPIO4
// NRF24L10 CSN to ESP32 pin GPIO 5

#include <SPI.h>
#include <RF24.h>

#define CE_PIN 4
#define CSN_PIN 5

RF24 radio(CE_PIN, CSN_PIN);

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32 > NRF24L01 Receive text");
  radio.begin();
  if (radio.isChipConnected())
    Serial.println("Receiver NF24 connected to SPI");
  else {
    Serial.println("NF24 is NOT connected to SPI");
    while (1)
      ;
  }

for an ESP32-S3 your pin definitions in post 1 look OK

For some reason i Still get "NF24 is NOT connected to SPI"
newer code:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <printf.h>
#define VSPI 3
#define CE_PIN 4
#define CSN_PIN 5
#define VSPI_MISO 19
#define VSPI_MOSI 23
#define VSPI_SCLK 18
SPIClass vspi = SPIClass(VSPI);
const byte thisSlaveAddress[5] = { 'R', 'x', 'A', 'A', 'A' };

RF24 radio(CE_PIN, CSN_PIN);

char dataReceived[10];  // this must match dataToSend in the TX
bool newData = false;


void setup() {
  Serial.begin(115200);
  vspi.begin(VSPI_SCLK, VSPI_MISO, VSPI_MOSI, CSN_PIN);
  radio.begin();
  radio.setAutoAck(false);
  radio.setDataRate( RF24_250KBPS );
  radio.openReadingPipe(0, thisSlaveAddress);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
  radio.printDetails();
}

void loop() {
  if (radio.available()) {
    char text[32] = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);
    Serial.println("available");
  }
  if (radio.isChipConnected()) {
    Serial.println("Transmitter NF24 connected to SPI");
  } else {
    Serial.println("\n\nNF24 is NOT connected to SPI");
  }
  radio.printDetails();
  delay(3000);
}

Results:
image
image

Using a ESP32-S3-DevKitC-1 I run the following code

//  ESP32 > NRF24L01 receiver test using a text string

// ESP32_S3_DevKit_1 connections
// ESP32_S3 SCK pin GPIO12  to NRF24L10_pin SCK
// ESP32_S3 MISO pin GPIO13  to NRF24L10_pin MISO
// ESP32_S3 MOSI pin GPIO11  to NRF24L10_pin MOSI
// ESP32_S3 SS  pin GPIO 10   to NRF24L10 SS
// ESP32_S3 pin GPIO16   to NRF24L10 CE
// ESP32_S3 pin GPIO17 to NRF24L10 DCSN

#include <SPI.h>
#include <RF24.h>

#define CE_PIN 16
#define CSN_PIN 17

bool radioNumber = 1;
const uint8_t pipes[][6] = { "1Node", "2Node" };

RF24 radio(CE_PIN, CSN_PIN);

char dataReceived[10];  // this must match dataToSend in the TX
bool newData = false;

//===========

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32_S3 > NRF24L01 Receive text");
  radio.begin();
  if (radio.isChipConnected())
    Serial.println("Receiver NF24 connected to SPI");
  else {
    Serial.println("NF24 is NOT connected to SPI");
    while (1)
      ;
  }
  radio.setChannel(125);
  radio.setDataRate(RF24_1MBPS);
  //radio.setDataRate(RF24_250KBPS);
  radio.printDetails();
  if (!radioNumber) {
    radio.openWritingPipe(pipes[0]);
    radio.openReadingPipe(1, pipes[1]);
  } else {
    radio.openWritingPipe(pipes[1]);
    radio.openReadingPipe(1, pipes[0]);
  }
  radio.startListening();
  // radio.setPayloadSize(sizeof(Struct1));
}

//=============

void loop() {
  if (radio.available()) {
    char testString[10] = "";
    radio.read(testString, sizeof(testString));
    Serial.print("Test string:      ");
    Serial.println(testString);
  }
}

the serial monitor displays

ESP32_S3 > NRF24L01 Receive text
Receiver NF24 connected to SPI
SPI Speedz	= 10 Mhz
STATUS		= 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	= 0x65646f4e32 0x65646f4e31
RX_ADDR_P2-5	= 0xc3 0xc4 0xc5 0xc6
TX_ADDR		= 0x65646f4e32
RX_PW_P0-6	= 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA		= 0x3f
EN_RXADDR	= 0x03
RF_CH		= 0x7d
RF_SETUP	= 0x07
CONFIG		= 0x0e
DYNPD/FEATURE	= 0x00 0x00
Data Rate	= 1 MBPS
Model		= nRF24L01+
CRC Length	= 16 bits
PA Power	= PA_MAX
ARC		= 0

I am not able to achieve such results.
May you please send me a Pinout connection for NRF24L01+ with ESP32-S3-DevKitC-1 OR ESP32 Dev Module (I tried Both and still no progression).
Also an Rx Code and Tx Code, something simple like to produce a hello world.. I've yet to manage. Thank you in advance.

EDIT:
my Arduino Interface is 2.3.2 and the RF24 Lib I'm using is 1.4.9, Could this be the issue?
So far Everything has been "NF24 is NOT connected to SPI"

the NRF24L01 pinout I used was (view from top of PCB)
image

the ESP32-S3-DevKitC-1

and the connections

// ESP32_S3_DevKit_1 connections
// ESP32_S3 SCK pin GPIO12  to NRF24L10_pin SCK
// ESP32_S3 MISO pin GPIO13  to NRF24L10_pin MISO
// ESP32_S3 MOSI pin GPIO11  to NRF24L10_pin MOSI
// ESP32_S3 SS  pin GPIO 10   to NRF24L10 SS
// ESP32_S3 pin GPIO16   to NRF24L10 CE
// ESP32_S3 pin GPIO17 to NRF24L10 DCSN

photo

Thank you for your guidance :slight_smile: It helped a lot.
The biggest problem was the NRF24L01 Break-out board, it required a 10uF Electrolytic Capacitor from the + to - of it as the Vdrop was too high.

I dont understand, does this board come with an onboard wifi or nrf module?