Where to get legit nRF24L01+ modules?
-
So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.
Just tried over the past 2 hours to replace the clone in my MyController gateway with either the itead or ebyte legit modules, and neither one of them would communicate with the other nodes. I put the clone back in, and it worked. Weird.
Not like it matters much, but here is the sketch (all comments removed) using a BME280 and a light sensor module, on a Nano, USB powered:
#define MY_DEBUG #define MY_RADIO_NRF24 #define MY_RF24_PA_LEVEL RF24_PA_LOW #define MY_GATEWAY_SERIAL #if F_CPU == 8000000L #define MY_BAUD_RATE 38400 #endif #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 6 #define SEALEVELPRESSURE_HPA (1013.25) const float ALTITUDE = 18; Adafruit_BME280 bme(BME_CS); // hardware SPI #define LIGHT_CHILD 0 #define BARO_CHILD 1 #define TEMP_CHILD 2 #define HUM_CHILD 3 boolean metric; uint8_t decimals; #include <MySensors.h> MyMessage lightMsg(LIGHT_CHILD, V_LIGHT_LEVEL); // 0 MyMessage pressureMsg(BARO_CHILD, V_PRESSURE); // 1 MyMessage tempMsg(TEMP_CHILD, V_TEMP); // 2 MyMessage humMsg(HUM_CHILD, V_HUM); // 3 #define LIGHT_SENSOR_ANALOG_PIN 0 int lastLightLevel; unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds) void setup() { #ifdef MY_DEBUG Serial.begin(115200); #endif decimals = 2; metric = getControllerConfig().isMetric; bool status; status = bme.begin(); if (!status) { #ifdef MY_DEBUG Serial.println("Could not find a valid BME280 sensor, check wiring!"); #endif while (1); } } void presentation() { sendSketchInfo("Master Nano", "1.0"); present(LIGHT_CHILD, S_LIGHT_LEVEL); // 0 present(BARO_CHILD, S_BARO); // 1 present(TEMP_CHILD, S_TEMP); // 2 present(HUM_CHILD, S_HUM); // 3 } void loop() { int16_t lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23; if (lightLevel != lastLightLevel) { #ifdef MY_DEBUG Serial.print(F("Sending lightMsg: ")); Serial.println(String(lightLevel)); #endif send(lightMsg.set(lightLevel)); lastLightLevel = lightLevel; } float p_Mb = bme.readPressure() / 100.0F; float p_Hg = p_Mb / 33.86; #ifdef MY_DEBUG Serial.print(F("Sending pressureMsg: ")); Serial.println(String(p_Hg)); #endif send(pressureMsg.set(p_Hg, decimals)); float t_C = bme.readTemperature(); float t_F = (t_C * (9/5)) + 32; #ifdef MY_DEBUG Serial.print(F("Sending tempMsg: ")); Serial.println(String(t_F)); #endif send(tempMsg.set(t_F, decimals)); float h_Pct = bme.readHumidity(); #ifdef MY_DEBUG Serial.print(F("Sending humMsg: ")); Serial.println(String(h_Pct)); #endif send(humMsg.set(h_Pct, decimals)); #ifdef MY_DEBUG Serial.print(F("Sleeping for: ")); Serial.println(String(SLEEP_TIME)); #endif sleep(SLEEP_TIME); }It works with the clone... I am using a regulator board for the nRF24-the one it plugs into & breaks out the 8 pins...
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.
You cannot rely on the print of the nRF to distinguish fake from genuine. Nordic is fabless, so they use different factories to produce their chips, each with its own specific marking.
-
So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.
Just tried over the past 2 hours to replace the clone in my MyController gateway with either the itead or ebyte legit modules, and neither one of them would communicate with the other nodes. I put the clone back in, and it worked. Weird.
Not like it matters much, but here is the sketch (all comments removed) using a BME280 and a light sensor module, on a Nano, USB powered:
#define MY_DEBUG #define MY_RADIO_NRF24 #define MY_RF24_PA_LEVEL RF24_PA_LOW #define MY_GATEWAY_SERIAL #if F_CPU == 8000000L #define MY_BAUD_RATE 38400 #endif #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 6 #define SEALEVELPRESSURE_HPA (1013.25) const float ALTITUDE = 18; Adafruit_BME280 bme(BME_CS); // hardware SPI #define LIGHT_CHILD 0 #define BARO_CHILD 1 #define TEMP_CHILD 2 #define HUM_CHILD 3 boolean metric; uint8_t decimals; #include <MySensors.h> MyMessage lightMsg(LIGHT_CHILD, V_LIGHT_LEVEL); // 0 MyMessage pressureMsg(BARO_CHILD, V_PRESSURE); // 1 MyMessage tempMsg(TEMP_CHILD, V_TEMP); // 2 MyMessage humMsg(HUM_CHILD, V_HUM); // 3 #define LIGHT_SENSOR_ANALOG_PIN 0 int lastLightLevel; unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds) void setup() { #ifdef MY_DEBUG Serial.begin(115200); #endif decimals = 2; metric = getControllerConfig().isMetric; bool status; status = bme.begin(); if (!status) { #ifdef MY_DEBUG Serial.println("Could not find a valid BME280 sensor, check wiring!"); #endif while (1); } } void presentation() { sendSketchInfo("Master Nano", "1.0"); present(LIGHT_CHILD, S_LIGHT_LEVEL); // 0 present(BARO_CHILD, S_BARO); // 1 present(TEMP_CHILD, S_TEMP); // 2 present(HUM_CHILD, S_HUM); // 3 } void loop() { int16_t lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23; if (lightLevel != lastLightLevel) { #ifdef MY_DEBUG Serial.print(F("Sending lightMsg: ")); Serial.println(String(lightLevel)); #endif send(lightMsg.set(lightLevel)); lastLightLevel = lightLevel; } float p_Mb = bme.readPressure() / 100.0F; float p_Hg = p_Mb / 33.86; #ifdef MY_DEBUG Serial.print(F("Sending pressureMsg: ")); Serial.println(String(p_Hg)); #endif send(pressureMsg.set(p_Hg, decimals)); float t_C = bme.readTemperature(); float t_F = (t_C * (9/5)) + 32; #ifdef MY_DEBUG Serial.print(F("Sending tempMsg: ")); Serial.println(String(t_F)); #endif send(tempMsg.set(t_F, decimals)); float h_Pct = bme.readHumidity(); #ifdef MY_DEBUG Serial.print(F("Sending humMsg: ")); Serial.println(String(h_Pct)); #endif send(humMsg.set(h_Pct, decimals)); #ifdef MY_DEBUG Serial.print(F("Sleeping for: ")); Serial.println(String(SLEEP_TIME)); #endif sleep(SLEEP_TIME); }It works with the clone... I am using a regulator board for the nRF24-the one it plugs into & breaks out the 8 pins...
-
@Bogus-Exception may I ask why are you using spi for bme280 sensor instead of i2c?
@gohan I already have the 3 pins for SPI in use for the nRF, so adding the BME was just one more pin. Simply conserving pins.
-
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.
You cannot rely on the print of the nRF to distinguish fake from genuine. Nordic is fabless, so they use different factories to produce their chips, each with its own specific marking.
@Yveaux Fair enough. I won't rel on that, but did want to mention the observation.
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch? -
@Yveaux Fair enough. I won't rel on that, but did want to mention the observation.
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
@Yveaux Fair enough. I won't rel on that, but did want to mention the observation.
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?What's the pitch on most other SMD nRF24L01+ modules? Is it also 1.27mm, or something else? I hadn't paid attention.
-
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
@Yveaux Fair enough. I won't rel on that, but did want to mention the observation.
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?What's the pitch on most other SMD nRF24L01+ modules? Is it also 1.27mm, or something else? I hadn't paid attention.
@NeverDie Great question. Mine look like these from a post earlier in this thread, and they are the first I've seen that didn't have their (breadboard-unfriendly) pinout.

-
Not sure if it's what you mean, but for prototyping purposes you could solder them to generic 1.27mm proto-board, such as this: https://www.aliexpress.com/item/6-X-8CM-spacing-1-27-universal-board-thickness-1-6mm-sided-HASL-PCB-test-board/32774106087.html?spm=a2g0s.9042311.0.0.eD40xE
-
@Yveaux Fair enough. I won't rel on that, but did want to mention the observation.
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?You can use NModule, the footprint highlighted in red color in the image below is compatible

-
I received my Ebyte modules, not a warranty of authenticity but the nrf chip has a square instead of a dot like all the fakes I have been using until now. I have a few standard SMD modules and a PA LNA version, I will try to make some basic range tests soon compared to the SMD clones.

@kalina made these DIP-to-SMD-NRF24L01-adapter, but my need isn't enough quantity to buy the chemicals, pay someone to make a rum of them, or convince my wife that, "We'll sell them and make our money back!" :-[
-
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
On a relatively side note, I got 4 SMD nRF24 cards from eByte, but can't locate any boards to mount them on! The holes are 1.27mm pitch, so I just ordered some 1.27mm headers.
Has anyone grabbed a board to surface mount solder them at this pitch?You can use NModule, the footprint highlighted in red color in the image below is compatible

@Nca78 Not just the module (10 for $15, right?), but the page concept is exactly what I am doing these days. Built in flexibility where it matters!
You've clearly spent a lot of time at my stage of tinkering with this!
Little touches like PA pinout, etc. makes this cake have more icing then cake! :o
-
@kalina made these DIP-to-SMD-NRF24L01-adapter, but my need isn't enough quantity to buy the chemicals, pay someone to make a rum of them, or convince my wife that, "We'll sell them and make our money back!" :-[
@Bogus-Exception
I'm sure the Kalina adapter would be inexpensive if you purchased 3 through OSH PARK because the surface area is small. -
@d00616 I have to ask...
How did you create this image?
-
@d00616 I have to ask...
How did you create this image?
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
How did you create this image?
The image is created with a medical X-Ray machine.
-
Not sure if it's what you mean, but for prototyping purposes you could solder them to generic 1.27mm proto-board, such as this: https://www.aliexpress.com/item/6-X-8CM-spacing-1-27-universal-board-thickness-1-6mm-sided-HASL-PCB-test-board/32774106087.html?spm=a2g0s.9042311.0.0.eD40xE
@NeverDie What I meant was, I don't have anything in 1.27mm, so now I've ordered enough stuff to keep my 2.54 and 2.0 company! :)
-
@Bogus-Exception said in Where to get legit nRF24L01+ modules?:
How did you create this image?
The image is created with a medical X-Ray machine.
@d00616 Yeah, but I mean, that image doesn't show detail, does it? I thought it was thermal/IR when I first saw it-like it was running.
First time I've seen this tried. Has it worked for other electronics? Is that image you posted what is usually expected?
And most importantly, how did you talk your dentist/radiologist into doing it?! :) -
@Bogus-Exception may I ask why are you using spi for bme280 sensor instead of i2c?
@gohan Was this wrong? Is there a readon to change?
Ya kind of left me hanging there, buddy! :) -
@gohan Was this wrong? Is there a readon to change?
Ya kind of left me hanging there, buddy! :) -
With the inability to get signal strength from the nRF24, I'm open to any suggestions to fairly evaluate the boards I've collected. Don't think the wife will let me spring for a spectrum analyzer... :(
