I have a number of nRF24L01 that look like clones. When set to rx mode, they continuously say data is available on pipe3. Here is a sketch that should enable one to quickly detect if you have one of these devices. (Please note: I have not checked it with a genuine part as I do not have any yet).
/*
* Check nRF24L01 to see if it is a modified clone
*
* Tested using library "RF24 by TMRh20" Version 1.4.1
* On Arduino IDE V 2.0.0-beta.10
* Code running on Arduino Pro Mini
*
* Change CE, CSN defined pin values to match your setup
* Set your Arduino IDE serial monitor Baud rate to 9600
*
* Interpret "modified" as meaning the part does not appear
* to support the original Nordic Semiconductor datasheet:
* https://www.sparkfun.com/datasheets/Components/SMD/nRF24L01Pluss_Preliminary_Product_Specification_v1_0.pdf
*/
#include <RF24.h>
#define CE 9
#define CSN 10
RF24 radio(CE, CSN);
const byte address[6] = "TEST1";
long counter = 0;
uint8_t pipeNum;
char text[32] = "";
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("<<< nRF24L01 clone tester >>>");
if (!radio.begin()) {
Serial.println("Failed to connect to radio");
while (1);
}
radio.openReadingPipe(1, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
for (int i=0; i<1000; i++) {
if (radio.available(&pipeNum)) {
radio.read(&text, sizeof(text));
if (pipeNum == 3) {
counter += 1;
}
}
}
if (counter > 100) {
Serial.println("Part is a modified nRF24L01 clone");
} else {
Serial.println("Part may be a valid nRF24L01");
}
}
void loop() {
}