We are mostly using fake nRF24L01+'s, but worse fakes are emerging.
-
I just used the GettingStarted and got the following reply from a nrf24l01+ with antenna:
RF24/examples/GettingStarted/
ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 x00 = 0xe7e7e7e7e7 0xf0f0f0f0d2
RX_ADDR_P2-5 x00 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe7e7e7e7e7
RX_PW_P0-6 x00 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR x00 = 0x03
RF_CH = 0x4c
RF_SETUP x00 = 0x07
CONFIG = 0x0f
DYNPD/FEATURE x00 = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_HIGHSo it's the same like @Magiske.
-
This is the first time I'm putting anything here. I also have been developing a C based library for one of the NRF24L01 (no plus) devices.. I used a Stellaris Launchpad to interface with the chip. Eventhough most of the functionality work correctly I saw the CD (Carrier Detect) is not functioning properly. Once it is high it is always high. To make it low I had to flush the RX buffer. It is really strange. I bought my sensors from e-Bay. So they must be clones :D. Can someone try this CD thing and see whether it is working properly?
-
Has anyone here found a good vendor for modules that use genuine Nordic NRF24L01+ chips?
-
You could buy your modules from Itead. They have promised us to only source genuine Nordic chips. They are a little higher in price/shipping but you could also take the opportunity to buy a MySensors Micro board to support the project :)
The ebay/aliexpress shops is a bit of a chance-taking as they might switch sourcing partner at any time.
-
You could buy your modules from Itead. They have promised us to only source genuine Nordic chips. They are a little higher in price/shipping but you could also take the opportunity to buy a MySensors Micro board to support the project :)
The ebay/aliexpress shops is a bit of a chance-taking as they might switch sourcing partner at any time.
@hek said:
You could buy your modules from Itead. They have promised us to only source genuine Nordic chips. They are a little higher in price/shipping but you could also take the opportunity to buy a MySensors Micro board to support the project :)
The ebay/aliexpress shops is a bit of a chance-taking as they might switch sourcing partner at any time.
Fair enough. I just now ordered some allegedly Itead NRF24L01+ modules from an Itead distributor, but I suppose there's a risk the distributor might get greedy and ship me something else. On a different thread, someone mentioned that the Itead modules each come in their own box. Would someone please post a photo of the individualized packaging for the Itead modles? If it's distinctive, it might serve as a kind of "certificate of authenticity." I realize that could be faked also, but it would make it a little harder for someone to fake, and so it's better than nothing.
-
Would the following might work as a way to separate good modules from bad modules, therefore also separate out the fakes?
- Set up a looping ping-pong link between two "known good" modules and measure the % packet losses.
- Unplug a reference module and then plug a test modules into the same setup. If the packet loss percentage is significantly worse, then the test module is either bad or a fake.
-
@hek said:
You could buy your modules from Itead. They have promised us to only source genuine Nordic chips. They are a little higher in price/shipping but you could also take the opportunity to buy a MySensors Micro board to support the project :)
The ebay/aliexpress shops is a bit of a chance-taking as they might switch sourcing partner at any time.
Fair enough. I just now ordered some allegedly Itead NRF24L01+ modules from an Itead distributor, but I suppose there's a risk the distributor might get greedy and ship me something else. On a different thread, someone mentioned that the Itead modules each come in their own box. Would someone please post a photo of the individualized packaging for the Itead modles? If it's distinctive, it might serve as a kind of "certificate of authenticity." I realize that could be faked also, but it would make it a little harder for someone to fake, and so it's better than nothing.
@NeverDie said:
Fair enough. I just now ordered some allegedly Itead NRF24L01+ modules from an Itead distributor, but I suppose there's a risk the distributor might get greedy and ship me something else. On a different thread, someone mentioned that the Itead modules each come in their own box. Would someone please post a photo of the individualized packaging for the Itead modles? If it's distinctive, it might serve as a kind of "certificate of authenticity." I realize that could be faked also, but it would make it a little harder for someone to fake, and so it's better than nothing.
Here's an image:
http://imall.itead.cc/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/i/m/im120606002_2.jpgCheers
Al -
@NeverDie said:
Fair enough. I just now ordered some allegedly Itead NRF24L01+ modules from an Itead distributor, but I suppose there's a risk the distributor might get greedy and ship me something else. On a different thread, someone mentioned that the Itead modules each come in their own box. Would someone please post a photo of the individualized packaging for the Itead modles? If it's distinctive, it might serve as a kind of "certificate of authenticity." I realize that could be faked also, but it would make it a little harder for someone to fake, and so it's better than nothing.
Here's an image:
http://imall.itead.cc/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/i/m/im120606002_2.jpgCheers
Al@Sparkman said:
@NeverDie said:
Fair enough. I just now ordered some allegedly Itead NRF24L01+ modules from an Itead distributor, but I suppose there's a risk the distributor might get greedy and ship me something else. On a different thread, someone mentioned that the Itead modules each come in their own box. Would someone please post a photo of the individualized packaging for the Itead modles? If it's distinctive, it might serve as a kind of "certificate of authenticity." I realize that could be faked also, but it would make it a little harder for someone to fake, and so it's better than nothing.
Here's an image:
http://imall.itead.cc/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/i/m/im120606002_2.jpgCheers
AlThanks! Pooling our information should reveal who the good vendors are.
After I receive the modules I ordered today, I'll post which vendor I purchased them from, the price, and whether or not I think they're real (i.e. what tests I ran to make that determination). I would encourage others to do the same.
-
Judging from the current banter on this other thread, it sounds as though if a module is powered directly from a fully charged battery pack (so that there's no voltage ripple) but it has fewer lost packets after installing a 10uF capacitor, then it's probably a fake.
I'm guessing you could make a test rig by soldering a capacitor across the Vcc and Ground legs of one of these:

Then just plug the module into it, and then it into the usual arduino socket that you'd ordinarily plug the module into.Would that work?
-
-
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
Andreas -
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
Andreas@sundberg84 said:
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
AndreasSo far, I've mainly compared packet loss rates (as well as packet roundtrip times) for different types of modules. I think both are important, but if I had to pick just one or the other, I would pick packet loss rates.
I'm defining packet loss rate as: (# lost packets) divided by (total packets sent)
Anyone have ideas/opinions/thoughts/suggestions/recommendations as to whether there are better discriminating metrics to measure?
In terms of test setup, it would be ideal if the two arduinos running the test were screwed down to their test locations so that they couldn't be budged, so that almost the only thing that can change when testing different NRF modules is which NRF module is plugged into it. That way the antenna orientation will hopefully be effectively the same, or at least as close to that as we can hope to get without using an anachoic chamber--something which probably no one here would have access to.
-
I'm trying to get gc_supermarket to refund me or send working ones.. the nrf's I got from them, marked "GOOD QUALITY" has a range of a few meters in open space. Cap adds another meter or so.
I've ordered nrf's from itead too, hopefully good ones.@Stric said:
I'm trying to get gc_supermarket to refund me or send working ones.. the nrf's I got from them, marked "GOOD QUALITY" has a range of a few meters in open space. Cap adds another meter or so.
That sounds awful. Have you tried other channels and locations and power supplies to rule out heavy interference or noise? If none of that makes any difference, would you please post a photo? Perhaps someone will notice something distinctively different that we can then all use to hopefully avoid a similar disappointment.
Also, I suggest ordering a minimum of 3 modules (from whomever you order), rather than only two, just to rule out the chance possibility that a botched module is to blame. This is what I did on my most recent order. It wouldn't rule out the possibility of getting 2 botched modules in the same order, but the odds of that should be very small if only random luck is involved.
-
I also ordered those "good quality" from gc_supermarket. I havent made any test yet but on the chip it says NRF M, 24L01+ 1429AF
On my other radios it says 1242AF. -
It's a manufacturing date stamp. 29th week of 2014
Don't know what AF stands for. Anyone know?
-
@sundberg84 said:
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
AndreasSo far, I've mainly compared packet loss rates (as well as packet roundtrip times) for different types of modules. I think both are important, but if I had to pick just one or the other, I would pick packet loss rates.
I'm defining packet loss rate as: (# lost packets) divided by (total packets sent)
Anyone have ideas/opinions/thoughts/suggestions/recommendations as to whether there are better discriminating metrics to measure?
In terms of test setup, it would be ideal if the two arduinos running the test were screwed down to their test locations so that they couldn't be budged, so that almost the only thing that can change when testing different NRF modules is which NRF module is plugged into it. That way the antenna orientation will hopefully be effectively the same, or at least as close to that as we can hope to get without using an anachoic chamber--something which probably no one here would have access to.
@NeverDie said:
@sundberg84 said:
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
AndreasSo far, I've mainly compared packet loss rates (as well as packet roundtrip times) for different types of modules. I think both are important, but if I had to pick just one or the other, I would pick packet loss rates.
I'm defining packet loss rate as: (# lost packets) divided by (total packets sent)
Anyone have ideas/opinions/thoughts/suggestions/recommendations as to whether there are better discriminating metrics to measure?
In terms of test setup, it would be ideal if the two arduinos running the test were screwed down to their test locations so that they couldn't be budged, so that almost the only thing that can change when testing different NRF modules is which NRF module is plugged into it. That way the antenna orientation will hopefully be effectively the same, or at least as close to that as we can hope to get without using an anachoic chamber--something which probably no one here would have access to.
Hi @NeverDie,
As mentioned in another thread I'm (slowly) re-writing the RFToy code to use the MySensor lybrary instead. By doing so I believe that we can do a direct relation between MySencor configs and performance. (It will take a while as I'm waiting for the sensors to test the code)
Anyway I would like to make some question to better understand the tests being made and the scenarios.
Here it goes:- Does the RFToy code have the ACK messages activated?
- It is possible to detect when an ACK is received? (RFToy or MySensor libraries)
- How was defined the timeout of 8 micro seconds?
At the moment my concerns with the current code are:
- The value used for timeout (above mentioned 8ms)
- The measure of the RTT (Round trip time), by it's definition if the ACK messages are used the RTT should be the time difference between the first bit of the message sent and the first bit of the received ACK message
- The payload used being the max allowed of 32bit for one packet, does it not overflow? does this cause problems? (need to test)
- Is useless to compare if the received message is equal to the message sent as this (most probably) is handled by hardware (CRC check?)
- Is there a way to be sure that there is enough time for the receiver node to switch between modes (receiving/transmitting)?
Sorry for the long post and for the possible inaccuracy of my statements but this is my first contact with arduino so far, so I just hope to help and to learn with it.
Regards
-
@NeverDie said:
@sundberg84 said:
Explaining to a electronic newbie, how do I test them?
All i can do now is prette much see if they work or not within my house.I would be good if someone could create a little how-to so all can participate in these test.
Regards
AndreasSo far, I've mainly compared packet loss rates (as well as packet roundtrip times) for different types of modules. I think both are important, but if I had to pick just one or the other, I would pick packet loss rates.
I'm defining packet loss rate as: (# lost packets) divided by (total packets sent)
Anyone have ideas/opinions/thoughts/suggestions/recommendations as to whether there are better discriminating metrics to measure?
In terms of test setup, it would be ideal if the two arduinos running the test were screwed down to their test locations so that they couldn't be budged, so that almost the only thing that can change when testing different NRF modules is which NRF module is plugged into it. That way the antenna orientation will hopefully be effectively the same, or at least as close to that as we can hope to get without using an anachoic chamber--something which probably no one here would have access to.
Hi @NeverDie,
As mentioned in another thread I'm (slowly) re-writing the RFToy code to use the MySensor lybrary instead. By doing so I believe that we can do a direct relation between MySencor configs and performance. (It will take a while as I'm waiting for the sensors to test the code)
Anyway I would like to make some question to better understand the tests being made and the scenarios.
Here it goes:- Does the RFToy code have the ACK messages activated?
- It is possible to detect when an ACK is received? (RFToy or MySensor libraries)
- How was defined the timeout of 8 micro seconds?
At the moment my concerns with the current code are:
- The value used for timeout (above mentioned 8ms)
- The measure of the RTT (Round trip time), by it's definition if the ACK messages are used the RTT should be the time difference between the first bit of the message sent and the first bit of the received ACK message
- The payload used being the max allowed of 32bit for one packet, does it not overflow? does this cause problems? (need to test)
- Is useless to compare if the received message is equal to the message sent as this (most probably) is handled by hardware (CRC check?)
- Is there a way to be sure that there is enough time for the receiver node to switch between modes (receiving/transmitting)?
Sorry for the long post and for the possible inaccuracy of my statements but this is my first contact with arduino so far, so I just hope to help and to learn with it.
Regards
- It is possible to detect when an ACK is received? (RFToy or MySensor libraries)
When ACK/autoretry (ESB mode) is enabled, the transmit is not indicated as complete until an ACK is received or all retries are exhausted.
- The measure of the RTT (Round trip time), by it's definition if the ACK messages are used the RTT should be the time difference between the first bit of the message sent and the first bit of the received ACK message
People could define RTT in several ways for different purposes. You describe one way one could define it. For the most part tho people are going to measure the times between two events that are visible in the chip registers. So if you want the RTT for a message with an ACK (and no retries), you might measure the time from when the transmit is triggered, to the time that the chip considered it complete (ack received), which will be shortly after the last bit of the ACK is processed.
Another way to define RTT would involve a software ACK at a higher network level being received - master uC sends to slave uC, slave parses and sends a new packet to the master uC. Again, it's going to tend to be measured via the visible registered (from transmit fired to packet received).
- The payload used being the max allowed of 32bit for one packet, does it not overflow? does this cause problems? (need to test)
The nRF24L01+ has a maximum payload of 32 bytes (a protocol layered on top of that, like MySensors, may have it's own smaller maximum payload at that level, after its own protocol overhead). Not sure what you are asking but maybe NeverDie will.
- Is there a way to be sure that there is enough time for the receiver node to switch between modes (receiving/transmitting)?
If you are using hardware ACK, that switchover (primary transmitter into receive mode temporarily for receiving the ACK, primary receiver into transmit mode temporarily for sending the ack) is handled automatically, including the 130 uS or so needed to switch the radio. If you are using a software ACK, you would need appropriate delays and/or timeouts.
