Possible Bug using Authentic Nordic nRF24L01+ Module
-
I've been using the nRF24L01+ modules I purchased from China (which are most likely clones) along with the Sense Bender Micro as Temperature Sensor Nodes for a few months and they seem to be working ok.
I recently received some "official samples" of the nRF24L01+ modules directly from a Nordic Rep here in the U.S. When I replace the Chinese modules with the Nordic modules they do not work - No response from the Node while monitoring the gateway. I am running the exact same software for the SenseBender Micro.
I spoke to the Nordic rep and he indicated that there are some subtle differences between the authentic and clone versions and suspects that it is a software issue on the Sensbender PCB.
For testing, I hooked up the Nordic module to my gateway Arduino and it worked fine. So I would assume the same conclusion that there is a bug in the SenseBender code.
-
I've been using the nRF24L01+ modules I purchased from China (which are most likely clones) along with the Sense Bender Micro as Temperature Sensor Nodes for a few months and they seem to be working ok.
I recently received some "official samples" of the nRF24L01+ modules directly from a Nordic Rep here in the U.S. When I replace the Chinese modules with the Nordic modules they do not work - No response from the Node while monitoring the gateway. I am running the exact same software for the SenseBender Micro.
I spoke to the Nordic rep and he indicated that there are some subtle differences between the authentic and clone versions and suspects that it is a software issue on the Sensbender PCB.
For testing, I hooked up the Nordic module to my gateway Arduino and it worked fine. So I would assume the same conclusion that there is a bug in the SenseBender code.
@tcontrada could very well be that the modules are simply incompatible. 2 authentic nRF modules will work correctly and 2 fake ones, but when you start to mix them things won't work.
I tested a combination of fakes and authentic modules and it worked flawlessly with MySensors, but your mileage may vary.
If you have some spare time, take a look at these two threads:
https://forum.mysensors.org/topic/1664/which-are-the-best-nrf24l01-modules
https://forum.mysensors.org/topic/1153/we-are-mostly-using-fake-nrf24l01-s-but-worse-fakes-are-emerging -
I can use the Nordic as a Gateway and it works fine with the Chinese that are running the code on the SenseBender module....That's not the issue.
The issue is, in my opinion, that there is a minor bug in the SenseBender code as that is where the Nordic modules are failing. Basically the code works with the Chinese version, but does not with the authentic Nordic.
-Tony
-
I can use the Nordic as a Gateway and it works fine with the Chinese that are running the code on the SenseBender module....That's not the issue.
The issue is, in my opinion, that there is a minor bug in the SenseBender code as that is where the Nordic modules are failing. Basically the code works with the Chinese version, but does not with the authentic Nordic.
-Tony
-
The debug looks normal as far as I can tell.
But appears nothing is getting transmitted??any suggestions?
-Tony
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
@tbowmo OK, I got ver 1.5.4 loaded and it's still failing with the authentic Nordic module.
Here is the output from the serial debug.Sensebender Micro FW 1.3send: 4-4-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=fail:0
send: 4-4-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,st=fail:1.5.4
send: 4-4-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
sensor started, id=4, parent=0, distance=1- Online!
send: 4-4-0-0 s=255,c=3,t=11,pt=0,l=17,sg=0,st=fail:Sensebender Micro
send: 4-4-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.3
send: 4-4-0-0 s=7,c=0,t=6,pt=0,l=0,sg=0,st=fail:
find parent
send: 4-4-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 4-4-0-0 s=8,c=0,t=7,pt=0,l=0,sg=0,st=fail:
send: 4-4-0-0 s=199,c=0,t=13,pt=0,l=0,sg=0,st=fail:
isMetric: 0
TempDiff :181.00
HumDiff :146.00
T: 76.59
H: 46
send: 4-4-0-0 s=7,c=1,t=0,pt=7,l=5,sg=0,st=fail:76.6
Battery: 4850
send: 4-4-0-0 s=199,c=1,t=38,pt=4,l=4,sg=0,st=fail:4850
TempDiff :4.41
HumDiff :0.00
T: 76.59
H: 46
send: 4-4-0-0 s=7,c=1,t=0,pt=7,l=5,sg=0,st=fail:76.6
- Online!
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
@tbowmo Also, here is some info that I got from Nordic Tech Support
"The re-marked nRF24L01P (+) clones are not 100% register compatible. The issue with the counterfeit devices is that when they enabled “Dynamic Payload Length” (EN_DPL) in the “FEATURE” register, one bit get’s activated in the on-air payload (the NO_ACK bit) This bit should be active high (according to the Nordic datasheet), but it’s actually implemented the other way around. When EN_DPL is activated, the NO_ACK bit get reversed in the real nRF-devices. They did such a good job of cloning they cloned the datasheet error into the device!!!
If someone is using the fake parts on both ends it will work to some degree. In a mixed environment where you may have both real L01P and the fake ones you will have issues. But don’t look to be fully “compatible” with the real nRF24L01P firmware wise. And on a side note, As the nRF24LE1 and nRF24LU1P both use the nRF24L01P radio this makes the counterfeit parts incompatible with those as well. -
@tbowmo Also, here is some info that I got from Nordic Tech Support
"The re-marked nRF24L01P (+) clones are not 100% register compatible. The issue with the counterfeit devices is that when they enabled “Dynamic Payload Length” (EN_DPL) in the “FEATURE” register, one bit get’s activated in the on-air payload (the NO_ACK bit) This bit should be active high (according to the Nordic datasheet), but it’s actually implemented the other way around. When EN_DPL is activated, the NO_ACK bit get reversed in the real nRF-devices. They did such a good job of cloning they cloned the datasheet error into the device!!!
If someone is using the fake parts on both ends it will work to some degree. In a mixed environment where you may have both real L01P and the fake ones you will have issues. But don’t look to be fully “compatible” with the real nRF24L01P firmware wise. And on a side note, As the nRF24LE1 and nRF24LU1P both use the nRF24L01P radio this makes the counterfeit parts incompatible with those as well.@tcontrada that's exactly the point I made in my post.
Anyway, all modules I have work together, fake and genuine ones, so that statement certainly isn't true for all fakes.
Furthermore the on-air format cannot be controlled from register settings, so IMHO configuration of nRF by MySensors library is according to spec. -
@tcontrada that's exactly the point I made in my post.
Anyway, all modules I have work together, fake and genuine ones, so that statement certainly isn't true for all fakes.
Furthermore the on-air format cannot be controlled from register settings, so IMHO configuration of nRF by MySensors library is according to spec. -
I can try a Nordic Module on my Gateway. But I am actually using one of the high power radios on the gateway, which I may assume it has the Chinese chip instead of the Nordic one.
If it does work, then I will need a high power radio with an authentic Nordic chip, it that is even available. If so let me know..
I will get back with the test shortly...
-
The error you're seeing means node doesn't hear the ack message sent back from the receiver. As @Yveaux said, you might have to switch to genuine radios on both places to get a correct ack-behaviour.
@hek I did the test here is the result.
While the Nordic radio is connected to the gateway it receives the data from all the Chinese radios, no problem.
When I connect the Nordic module to one of the SenseBender modules I do not receive any data according to the gateway debug whether it has the Nordic or Chinese module.
So it appears that the Nordic and the Chinese can communicate, but the Nordic appears not to work when only connected to the Sensebender module. So I suspect something going on there?
-
@hek I did the test here is the result.
While the Nordic radio is connected to the gateway it receives the data from all the Chinese radios, no problem.
When I connect the Nordic module to one of the SenseBender modules I do not receive any data according to the gateway debug whether it has the Nordic or Chinese module.
So it appears that the Nordic and the Chinese can communicate, but the Nordic appears not to work when only connected to the Sensebender module. So I suspect something going on there?
-
@tcontrada said:
So it appears that the Nordic and the Chinese can communicate,
At least that rules out the bull from the Nordic guys :satisfied:
@Yveaux I'm not a big fan of companies stealing the design of another company which has put time and resources into the development of a chip.
I only want to use genuine Nordic products in my sensor network. That said, I think that some work needs to be done on why the SenseBender appears to have an issue operating with the Nordic module. I hope that the responsible folks will step up and make this work.
Let me know if I can do any other testing as I'd like to get this issue resolved ASAP.
Thanks,
Tony -
The error you're seeing means node doesn't hear the ack message sent back from the receiver. As @Yveaux said, you might have to switch to genuine radios on both places to get a correct ack-behaviour.
@hek One should be able to change the Auto ACK register on one of the sides to make it work correctly. (If that is the type of clone being used as various clones have various differences) But that would mean tight control of what modules are being used with what firmware on what side of the link.
RF Digital makes a real nRF24L01P based module however it is more pricey then the Chinese knock offs. But if you only need a few of them then at least you know you are getting the real McCoy.
Has header and SMA connector
RFD21711Has PCB antenna and header
RFD21712This has no header and no SMA connector
RFD21716
The Nordic Website has all the Gerbers for this module in case you wish to roll your own.
http://www.nordicsemi.com/eng/nordic/download_resource/9620/7/13918708If one wanted to make a tester out of a example this would work. http://www.nordicsemi.com/eng/nordic/download_resource/10638/11/57367651
However to run this example stock a nRF24LU1P dev kit is also required. -
@Yveaux I'm not a big fan of companies stealing the design of another company which has put time and resources into the development of a chip.
I only want to use genuine Nordic products in my sensor network. That said, I think that some work needs to be done on why the SenseBender appears to have an issue operating with the Nordic module. I hope that the responsible folks will step up and make this work.
Let me know if I can do any other testing as I'd like to get this issue resolved ASAP.
Thanks,
Tony@tcontrada Don't get me wrong: I'm also against shameful copying of others work, but I've worked closely with Nordic in the past, trying to figure out a way to distinguish fake from genuine chips. I started this discussion, to enable the maker community to buy modules with genuine chips from China, without having to pay the distributor prices from the West (starting at €30 a piece!)
But either Nordic themselves don't know how to tell if a module is a fake (apart from x-ray, which they used on 3 of my modules) or they just don't want to share this information with us.
Feel free to buy only original ones from approved suppliers, but they come at a price. -
@tcontrada said:
So it appears that the Nordic and the Chinese can communicate,
At least that rules out the bull from the Nordic guys :satisfied:
@Yveaux If the Chinese module has a genuine Nordic part on it then why would it not work? However there has been enough info put out there on the difference in the cloned parts and the genuine nRF24L01P device to know that there are incompatibilities in certain situations, like use of Auto-ACK on some of the clones. (Check out the hackaday posts on this activity. It is one thing when they sell the clones with the part number intact. It is another when they remove the markings and put nRF24L01+ on them. That is plain old Fraud and becomes counterfeiting.