Which are the *best* NRF24L01+ modules?



  • @rollercontainer Interesting...with 2.0b I have 6uA consumption in a sleep mode on Pro Mini + nrf24l01+


  • Hardware Contributor

    hi.
    there is no interest to use 1mhz during sleep mode because in this mode clock is stopped. No matter the freq, if you have no problem in your circuit and software is well configured and bod disabled, just the atmel in standalone is consuming 140nA in deep sleep.
    1mhz can be helpful during active mode but it reacts slower, wake up slower, and can cause trouble for communication like serial... and sometimes it can be less effective vs keeping internal rc.
    But 1mhz is useful, used in certain ways of course, i use it too 😉



  • it is working with lower voltages at 1mhz, thats the reason I use it on a 2 AA node.


  • Hardware Contributor

    But @scalz is saying that only in sleep mode the frequency does not matter, it has no effect on the power consumption. However, it will effect your power consumption while the MCU is awake, but there're discussions regarding the length of time its awake some times means that it uses less power if using a higher frequency due to it performing its tasks quicker and then returning to sleep.


  • Hero Member

    So, I guess the question is whether waking up at 8mhz on 1.8v will be a problem or not. It's out of spec according to the datasheet. I'd certainly much prefer to wake-up the atmega328p at 8mhz than 4mhz or 1mhz, because then the wake-up time can be very, very short (<4us). No other setting that I know of comes anywhere close to 4us.



  • @rollercontainer I have 8Mhz working below 1.8V. The problem is that below 1.9V, it is unstable as the radio may be working intermittently. I think @GertSanders reported his node running down to 1.6V at 8Mhz. In any case, I do not think one has to run 1Mhz as power saving compare to 8Mhz is not massive and clock is not working - the latter is by far important for my needs.



  • @rollercontainer

    I have found that the NRF24L01+ PA LNA radios I have, have 100% packet loss and will not sleep if driven with voltages over 3.0v I have dropped the supply to 2.7v and now have minimal packet loss and the radios will sleep at all power level settings.

    Current draw is 4.7uA including 328P + RTC when asleep as measured with a uCurrent Gold.


  • Hero Member

    @doug That is an interesting observation. Was there a specific reason to test this? Have you tried other voltages also?



  • @AWI

    I was building a boost converter with one of these Texas TPS61097A-33DBVT the NRF I was using on battery didn't work with the boost CCT. I tried with 4-5 of these modules all from the same supplier and none of them worked. My scope showed they were transmitting and the uGold was showing sleep mode was not happening. When connected to an adjustable converter I notice that if I wound down the voltage under 3.0v they would spark into life. Its the same with all the NRF PA LNA modules I tried.



  • I bought my first NRF24L01+ modules from cg market and I created some simple nodes (temp/hum and binary switch) using 3V coin battery, and they are up since last January. Than, I'm wondering why 😒, I bought other modules from another seller and I got a lot of problem: the binary switch (same of the other one in software and hardware) fails many times in sending communications to the gateway and after just 1 month I had to replace the battery; another node cannot even communicate at all if I move it in another room different from the gateway (of course I tried different values of decoupling-capacitors) 😞
    I have to get new modules 😢


  • Hero Member

    @doug said:

    @rollercontainer

    I have found that the NRF24L01+ PA LNA radios I have, have 100% packet loss and will not sleep if driven with voltages over 3.0v I have dropped the supply to 2.7v and now have minimal packet loss and the radios will sleep at all power level settings.

    Current draw is 4.7uA including 328P + RTC when asleep as measured with a uCurrent Gold.

    Would you please post a photo of what the module looks like? It might offer up some clues.



  • 0_1466444120491_image.jpeg

    Here is a photo of the module



  • @doug I do have the same ones bought at alice from the shop link. I also have issues and basically not functioning. I will try your "fix" and see how it goes. Did you do some shielding?

    Cheers,
    SJ



  • @doug I did some quick tests and I can confim that the modules work better with less voltage. I made best experience with 2.5-2.6V. However they are still much much worse than all others I have and not worth the hassle IMHO.


  • Hero Member

    @parachutesj said:

    . However they are still much much worse than all others I have and not worth the hassle IMHO.

    Which other ones do you have that perform better? It would be very useful to know.


  • Hero Member

    @parachutesj said:

    @doug I do have the same ones bought at alice from the shop link. I also have issues and basically not functioning. I will try your "fix" and see how it goes. Did you do some shielding?

    Cheers,
    SJ

    FWIW, I use these exact ones and I get very good range with them, without additional shielding.

    Cheers
    Al



  • @NeverDie
    I have the shielded ones from IC-Station:
    http://www.icstation.com/22dbm-100mw-nrf24l01ppalna-wireless-transmission-module-p-4677.html

    Back to the ones discussed here:
    When doing the basic test from earlier in this thread I am getting massive packet loss even if the modules are very close together. Ok, maybe it needs to be shielded, power too high etc and tried having them separated with no luck, still massive packet losses. Of course this is no scientific research.

    Without tweaking, modifications, special antenna orientation the shielded IC-Station ones just worked for me. I am not saying the others don't work, they just perform not in my setup very well.

    Also as a comparison, I have some cheep modules from Aliexpress they outperform the ampliefied ones (at least within the house):
    http://www.aliexpress.com/item/10PCS-LOT-NRF24L01-wireless-data-transmission-module-2-4G-the-NRF24L01-upgrade-version/1593276910.html
    alt text

    Those modules look very poor build to be honest but seem to be ok. They came in one single back, some pins bent but nothing which couldn't be fixed. Minor packet losses and antenna orientation seems to be key.

    In comparison, I also bought some more expensive ones, which claim to be original:
    http://www.aliexpress.com/item/Free-shipping-Original-Genuine-NRF24L01-Wireless-Module-2-4G-wireless-communication-module-2-54mm-Interface-2/1781618813.html
    alt text
    Those came in a nice protected box and look very well made.
    They work, I even think better than the others - but I already blew two of them. Not sure what went wrong 😞

    Just received some SMD ones which haven't been tested yet.



  • Does anyone know if the NRF24L01 and the +PA+LNA modules can be mixed and matched? Will the regular modules and the longer range versions talk to each other? I would like to use one of the long range modules on my gateway in the house and on some sensors around my yard that are a fair distance from my house. But then to save some money I was wondering if I could use the regular modules around the rest of my house. My concern is if I use regular modules on the sensors in my house if they will still be able to communicate with the longer range version module I have on my gateway?



  • @loralg I successfully use a nRF24L01+PA+LNA on the gateway and regular nRF24L01+ on the sensors.

    There is a lot of information and hints available in the forum regarding the nRF24L01+PA+LNA . See e.g. here:
    https://forum.mysensors.org/topic/3719/nrf24l01-vs-nrf24l01-pa-lna/2

    In my case, however, the nRF24L01+PA+LNA works fine without any fix or special attention.



  • Hello,

    What is the best way to measure the performance of one module at a given distance? I mean, how can I measure the number of packets lost?
    Does anybody already created a "performace test sketch" to perofrm a better test?


  • Hero Member

    @afeno said:

    Hello,

    What is the best way to measure the performance of one module at a given distance? I mean, how can I measure the number of packets lost?
    Does anybody already created a "performace test sketch" to perofrm a better test?

    I posted a sketch earlier in this thread.



  • @parachutesj said:

    @doug I did some quick tests and I can confim that the modules work better with less voltage. I made best experience with 2.5-2.6V. However they are still much much worse than all others I have and not worth the hassle IMHO.

    How did you decrease the voltage on nrf24l01+ PA? I have a voltage regulator providing 3.3V.



  • I have also found that the higher the voltage the more capacitance you need. Guess that makes sense. Still can't get them to work reliably at 3.3v though.

    I am realising the important thing is a good power supply you need to choose the right regulator to ensure the voltage doesn't tank too far when the current spikes (~180mA). caps help to some degree and I have found ceramic are better than the aluminium ones.

    I am now using a single cell lipo and 2 regulators one at 3.3 and one at 2.7 for the radio. Also easier to get a low IQ with 2 regulators rather than one big one.

    I am still learning and need to start doing some playing with a greater range of modules. Especially as your experience of these is that they are pretty poor.



  • @alexsh1

    I'm wondering the same as @alexsh1 . How can I get 2.5-2.6V? There is an easy/cheap way to do it?


  • Hero Member

    @afeno The cheap way is a diode in the vcc line. The voltage drop over a normal silicon diode (i.e. 1N4001) is around 0.7V. This has proven to be a working solution.



  • @alexsh1
    as it was just a test, I used a table power supply to have the exact voltages.



  • Hello,
    I'm creating a "ping" sketch to measure the % of packet lost using the tmrh20 library. I will post it once it is finished but it is just a modification of the "GettingStarted" sketch.

    It is very simple:

    • Node 1 send a value to node 2.
    • Node 2 receive the message and send it back to node 1.
    • Node 1 receive the message.

    I'm measuring the number of packets lost and the turnaround time.

    But doing some tests, I realised about something very strange that I don't understand...

    Based on the sketch described above, both the node 1 and 2 are sending and receiving the same amount of data.
    They both use the same commands to send and receive.
    I have two hardware sensors/devices (let's call it A and B ) based on arduinos nano.

    When I use A as Node 1 it gets 0.2% of packets lost. (B is used as Node 2)
    When I use B as Node 1 it gets 15% of packets lost!! (A is used as Node 2)

    Remember: Both nodes are sending and receiving the same amount of data.

    I understand that the current, radio, noise, etc. might have an impact on the performance and range but why it is working fine on one way? And not in the other way? This is making me crazy. Both sensors are sending and receiving the same data. If one of them is not sending (or receiving) well, the performance still should be the same independent on who is acting as node 1 or 2.

    What I am missing?

    Thank you!


  • Hero Member

    @afeno
    Interesting asymmetry.

    This sounds basically the same as the sketch I posted earlier. Perhaps post a photo of the two nodes? Maybe something will jump out.

    If you really want to solve it, try also
    testing the packet loss on the individual links instead of only roundtrip. I suspect it will reveal something.



  • Sorry for my ignorance... But how can I measure the packets lost on individual links?
    Do you mean to check the packets lost in a 1-way trip? Only from node1 to node2?



  • Hello,

    I thought it might be best to contribute to this thread rather then making a new one. I have some NRF24L01+ for like 2-3 years. Some of them are the normal ones and a few LNA+PA.

    The following explanation requires some "advanced" knowledge about the RF24 library and the test-sketch I added. Please forgive me as I was not able to write a more simple sketch and explanation.

    From day one I had problems using the modules at 250kbps with autoack. The Reception (RPD) was very poor and I had very high packet loss.

    For a few days now I have been tinkering with mysensors and just recently noticed .. wait what???

    250kbps + autoack is default.

    As mysensors is not ideal for testing modules I used another well known library:

    http://tmrh20.github.io/RF24/

    To get access to a very important register to debug autoack issues I modified "RF24.h" to get the low level functions public:

    **public:**
    
      /**
       * @name Low-level internal interface.
       *
       *  Protected methods that address the chip directly.  Regular users cannot
       *  ever call these.  They are documented for completeness and for developers who
       *  may want to extend this class.
       */
    

    After that I hooked up an single WS2812B-LED to pin 4 and tinkerd together a little test-sketch:

    0_1469476423782_getting_started_250kbps_minimum2.zip

    Note: You have to write the values 0 and 1 to EEPROM.Address 0 ONCE. 0 is the static pong back node and 1 is the mobile node with the WS2812B LED. This allows moving freely and check reception in your home.

    After writing the values to the eeprom you can comment out the code and don't have to worry when uploading the sketch to the "pongback"-node or the mobile "ping" node.

    //EEPROM.write(0,0); // 0 = PongBack
    

    If you don't want to use the WS2812B you have to remove some code but that should not be too hard.

    The important parts come now:

    settings[autoack] = 0;
    settings[retry] = 15;
    settings[delay_rf] = 15;

    Disabling autoack I could get an improved reading of RDP and very little PacketLoss. I now can cover distanced much larger like through 2-3 walls more then before.

    My modules are all powered from 3,3V dedicated LDO or 3V (2x AA) Battery and run @ 8MHz

    Long story short:

    If you have reception problems even after checking your Supply and even after trying the "ugly fix" and still got nowhere .. i suggest your try disabling auto ack. Although this it not intiutive on mysensors and would leave you vulnerable to packetloss I suggest you to test it out with this library (http://tmrh20.github.io/RF24/) and my example sketch.

    Sorry for not presenting a whole solution but I thought it might be worth to point people having reception problems into one possible "direction".

    PS: Autoack works fine on my modules if I switch to 1MBPS so this might be viable too.


  • Mod

    At current date, is there anybody that can suggest a place to buy good NRF24 modules? I live in Italy so probably US shops would be a little expensive on shipping cost.



  • @gohan
    I would not like to make a suggestion and rather reply my opinion on it:
    The worst experience I made was with the probably original ones (greenish on reference design). Not that the reception was bad but 4-5 already broke during testing and had to be exchanged.
    Therefore I buy the cheapest ones from GC supermarket or other big ALI-shops.
    However if you want a amplified version, I would spent the extra dollar and get a premium one. I posted it here somewhere and really made good experiences with it.


  • Mod

    @parachutesj

    I read your earlier post but after 7 months I was trying to get an update, you know things can change quickly 🙂



  • Just to add my 2cent .. I mainly use the LNA+PA ones (cheap from ebay) and complained some time for their "bad" performance.

    Just recently I noticed they are quite nice but .. RF24_PA_MIN is your friend! I got nearly zero packet-loss ~20m (one wall between) with RF24_PA_MIN. This might just be a subjective opinion but as they only cost 2-3$ a piece they are a good option (at least for me).

    Getting "genuin" chips for a reasonable price is very difficulty in germany.


  • Hero Member

    @cimba007
    I think I read somewhere in a different thread on this forum that the PA+LNA ones work better if powered from a lower voltage.



  • I ordered modules from ITEAD. They seem to have real nordic chips populated. Each module comes in paper box and ESD bag. The modules look like the cheap ebay stuff, but with 0402 components.
    With these modules I got rid of my issue with repeated messages.
    (https://forum.mysensors.org/topic/5588/multiple-messages-with-same-content-received)


  • Mod

    @karlheinz2000

    did you check the chip print if it is genuine or fake? There are some guides if you search. Those modules are quite cheap and that makes me wonder.



  • I checked the print and it is different to the cheap ones. But, I got genuine NRF24 chips (just the ICs) from mouser and this print is similar to the cheap ones!!??

    Edit:
    The print quality of cheap modules is not as good as genuine one and more space between dot and first line.
    Genuine parts differ in little dot or square.

    ITEAD
    0_1484916652600_DSC06264.JPG

    IC from Mouser
    0_1484916676292_DSC06268.JPG

    Cheap Ali/ebay
    0_1484916713977_DSC06267.JPG


  • Mod

    @karlheinz2000
    The first 2 definitely look similar, but the top left logo doesn't look genuine to me. But actually I don't care much about being genuine or not, the import thing is how they perform in terms of reliability and range



  • @NeverDie: In addition to using RF24_PA_MIN I power most of my nodes from 2x AA Alkaline Batteries .. so they have 2.2V - 3,0V VCC. This might contribute to my pretty good reception.

    Earlier nodes used 3,3V LDO in connection with lithium-ion batteries. So I can't say what really improved my reception the most ... lowering the voltage or putting the RF24_PA_MIN.



  • @gohan @karlheinz2000

    just for comparison, my "geniune" has also the same logo and the cheap one looks much "better" but one can see the bad production quality
    top one is GC supermarket, bottom genuine
    alt text


  • Hero Member

    @cimba007 said:

    @NeverDie: In addition to using RF24_PA_MIN I power most of my nodes from 2x AA Alkaline Batteries .. so they have 2.2V - 3,0V VCC. This might contribute to my pretty good reception.

    Earlier nodes used 3,3V LDO in connection with lithium-ion batteries. So I can't say what really improved my reception the most ... lowering the voltage or putting the RF24_PA_MIN.

    Anyone know what the optimal voltage range is for running the PA_LNA versions? It would be good to know for future reference.


  • Hero Member

    @gohan said:

    @karlheinz2000
    But actually I don't care much about being genuine or not, the import thing is how they perform in terms of reliability and range

    Agreed. And it's not just the chip that will determine that, but rather the entire ball of wax.


  • Mod

    @karlheinz2000 @parachutesj @gohan It appeared to be pointless to compare markings of nRF24L01+ IC's to determine if they are genuine or not.
    Nordic is fabless and uses different fabs to produce their IC's. Each fab will have a different way of marking the chips.

    I had a discussion with a Nordic representative in the past and even he could only say for sure if an IC was genuine or not by putting the part in X-Ray.
    He had 3 different modules analyzed which I mailed to Nordic (China versions); all 3 appeared to be fakes...

    The blob ones however are fake for sure.


  • Mod

    @Yveaux
    So basically we are stuck at trying modules from a supplier and share on the forum if they work or not, right?


  • Hardware Contributor

    Since its impossible to determine if a radio is genuine, fake or even working (power consumtion in sleep mode for example) is there a good sketch and/or PCB to test the radio module?


  • Mod

    Another user wrote me a few days ago that there are modules that work best with 4.7uF cap while others need higher capacity, so that makes it also more difficult to make a test rig. In addition I don't remember if there is a way to get signal quality from NRF24 (but I don't think there is) to help the tests


  • Mod

    @sundberg84 not that I'm aware of. I tried to differentiate them based on power usage, but didn't get far.


  • Hero Member

    @gohan said in Which are the *best* NRF24L01+ modules?:

    @Yveaux
    So basically we are stuck at trying modules from a supplier and share on the forum if they work or not, right?

    WRONG. If you read this thread (search for "nailed it"), and if you have an oscilliscope, I show what seems like a 100% reliable way to differentiate between genuine and fake chips.


  • Hero Member

    @gohan said in Which are the *best* NRF24L01+ modules?:

    Another user wrote me a few days ago that there are modules that work best with 4.7uF cap while others need higher capacity, so that makes it also more difficult to make a test rig. In addition I don't remember if there is a way to get signal quality from NRF24 (but I don't think there is) to help the tests

    In this particular instance, if you're unsure which cap value to pick, pick the one with the biggest value. Overkill is better than underkill.


  • Mod

    @NeverDie
    He claimed to have run some tests and it came out that bigger isn't necessarily better.

    And I don't have an oscilloscope to test chips


  • Hero Member

    When I tested the iTead modules (see earlier posts in this thread), they proved out to be genuine. Since you're unequipped to make a determination yourself, then if you're just wanting a simple answer, I suggest you try those.


  • Mod

    @NeverDie
    I'll keep in mind for next purchase, tnx



  • @NeverDie Hi there! So as a summary were you able to get a few trusted suppliers (sellers) to buy these modules from to get genuine ones?

    Is this one a good one to buy from.
    Aliexpres item


  • Mod

    @VItaria-VM did you try them?


  • Hardware Contributor

    @NeverDie said in Which are the *best* NRF24L01+ modules?:

    It turns out my scope can do better than I thought. Here's the blob module again, but this time at 5mv/div.
    blob1x_2.jpg
    So, I may be able to use an even smaller resistor, because now I can go down to 1mv/div, whereas before it seemed it wouldn't let me go lower than 10mv/div. Hopefully that will help improve my measurement accuracy.

    Haha it seems back then you got cheated by the infamous zoom function of the Rigol oscilloscopes 😄


  • Hero Member

    @Nca78 said in Which are the *best* NRF24L01+ modules?:

    Haha it seems back then you got cheated by the infamous zoom function of the Rigol oscilloscopes

    Haven't heard about that one. What makes it infamous?


  • Hardware Contributor

    @NeverDie said in Which are the *best* NRF24L01+ modules?:

    @Nca78 said in Which are the *best* NRF24L01+ modules?:

    Haha it seems back then you got cheated by the infamous zoom function of the Rigol oscilloscopes

    Haven't heard about that one. What makes it infamous?

    Real resolution is 10mV/div, and from there it's only zooming from the 10mV/div data to reach the 1mV/div. They are "hiding" this, pretending to have better resolution instead of telling you it's zooming like other brands do.



  • Beginner here and I am gathering a list of parts to buy, the NRF24L01+ module is one of those. While browsing for buying advise I came across this, old but relevant, threads. Is there a list of verified vendors? As a beginner I want to minimise my variables early on so hope some one can help me. Couldn't find another thread that covers this question.



  • @sebex

    I've tried a lot of the aliexpress modules.

    My experience with cheap modules


  • Hero Member

    From what I last heard, which was quite a while ago now, Itead is in the circle of trust.

    The only way to know for sure though is to test the Tx and Rx current consumption using an oscilliscope and compare that against the datasheet specs on the radio that you paid for and that was (hopefully) delivered to you.


  • Hardware Contributor

    @ncollins is of good advice here. NRF24 are infamous for their bad range, but with good SMD modules (not the cheapest versions with a blob !) and a cdebyte pa+lna module (using external "stick" antenna) for the gateway I have a full reliable coverage in a 100m2 apartment. Despite being in a high rise with a lot of WiFi networks polluting the 2.4GHz band.
    0_1572675373379_Screenshot_20191102-130808.png


  • Hero Member

    @ncollins Thanks for pointing that out. I hadn't noticed before that EBYTE had a super upgraded implementation for the nRF24L01 that includes a TCXO, 27dbm Tx power, forward error correction, and frequency hopping: https://www.aliexpress.com/item/32955792424.html?gps-id=7590465&scm=1007.14677.110221.0&scm_id=1007.14677.110221.0&scm-url=1007.14677.110221.0&pvid=404d40e9-e799-4d10-a4e1-d3ebe0d0df08&spm=a2g1y.promotion-20181111.promoteWysiwyg_502241756.1
    The high sleep current would be a problem for battery operated nodes, but... seems interesting.

    At the very least it's an existence proof that we should be able to make the nRF24L01 do frequency hopping. A couple years ago on the lowpowerlab forum a number of us brainstormed how the RFM69 might be made to do frequency hopping, all through only atmega328p control (no extra hardware). IIRC, one guy went off and got it working. I presume the same general approach might be applicable to the nRF24L01 as well.

    At the root of it all is the ability to keep all the clocks in sync--and recalibrating them as necessary--so that they are all hopping in unison from one radio frequency to the next.
    Time Synchronization in a SmartMesh IP Network – 02:47
    — LinearTechnology


Log in to reply
 

Suggested Topics

  • 87
  • 6
  • 5
  • 7
  • 5
  • 7

14
Online

11.4k
Users

11.1k
Topics

112.7k
Posts