Most reliable "best" radio
-
@Larson said in Most reliable "best" radio:
MouseTrapMonday has probably featured this 500 V device. He has quite a collection.
He's the one who demonstrated the dead fall skunk killer. He's also demoed some no-spray catch-and-release traps, but I don't see those as practical for anyone but the pro's. The way they work is interesting though: supposedly a skunk has to be able to raise its tail to spray, and the no-spray traps don't give them enough room to do that. The downside is that once you release a skunk from the no-kill trap, it can raise its tail and spray you, which is what happened to him in one of his videos.
-
@NeverDie Hilarious.
Release problem: Nothing that a remote, a servo, a relay, and a radio couldn't solve. All of which would get sprayed anyway. Hmmm...
-
@Larson said in Most reliable "best" radio:
Hilarious
Uh... after finding and watching the dead fall video, I downgrade my "Hilarious" comment to "Interesting". Back to the joy of radios!
@Larson said in Most reliable "best" radio:
@Larson said in Most reliable "best" radio:
Hilarious
Uh... after finding and watching the dead fall video, I downgrade my "Hilarious" comment to "Interesting". Back to the joy of radios!
I know what you mean. Not sure why, but even if the crush physics are equivalent, somehow his design does seem more disturbing than having a giant falling bolder do the dirty work. On the other hand, at some level it's no worse than road kill, which happens all the time, and most people seem relatively dismissive about that.
In any case, thanks for your post and info regarding the electric fence.
-
As a first pass I tried running the RadiolLlb on these two 20dBm nRF24L01's with the default settings:

and although they work fine at closer ranges, they delivered zero packets (i.e. total fail) along my worst-case transmission path. Make of that what you will. I'll see if I can possibly tweak some settings for a better result and then re-test, but those are the early results. I thought them worth testing because many people here like the nRF24L01 radios and because those radios do have good support for over-the-air updates on the atmega328p.To be fair, there do exist some nRF24L01 modules on Aliexpress with even higher transmission power, so maybe a pair of those would cut the mustard.
I purchased them on amazon, mainly because I could receive them a lot faster than ordering something from China: https://www.amazon.com/dp/B07QC1SXJ8?psc=1&ref=ppx_yo2ov_dt_b_product_details
[Edit: same results even if I reduce the datarate to 250kbps. ]
Well, too bad. They do work for short range. Although this isn't rigorous testing by any means, I'm concluding that long-range for the nRF24L01, or other impairments, is essentially out of consideration Its niche is short-range, and for non-amplified versions preferably line-of-sight short-range. Sorry if that seems harsh, but for a comparison of different radio modules, somebody has to call it--and that's how I'm calling it. If somebody has a better nRF24L01 module that they feel would test better, please make a post and let us know what it is.
-
Surprise! I'm getting it the nRF24L01 modules to send and receive, even along my worst-case transmission path, though for some reason ack's aren't being received along that worst-case path. Not sure why there would be an asymetry like that. Apparently the RadioLib library didn't default to full transmission power, because when I set transmit power to 0dB (which gets amplified by the PA), I'm now getting great radio communication. And this is the 2.4Ghz band, no less. Who would have thought? I'm flabbergasted. If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
Even if I increase the datarate to 1mbps, the majority of the packets are still getting through. This may turn out to be a closer horserace than I had originally thought: it may yet require some careful measruements to separate out the winner.
[Edit: As a result, I just now ordered some of these E01-2G4M27D: https://www.aliexpress.com/item/3256801616913450.html?spm=a2g0o.order_list.0.0.24f21802jP9dtI
presently on sale for $4.34 each with free shipping, which allegedly contain TCXO's and, hopefully, should be a further step-up in performance. In fact, these may be the top-end of what's currently available on the market in the nRF24L01 series.Now the long wait for them to arrive....]
-
Surprise! I'm getting it the nRF24L01 modules to send and receive, even along my worst-case transmission path, though for some reason ack's aren't being received along that worst-case path. Not sure why there would be an asymetry like that. Apparently the RadioLib library didn't default to full transmission power, because when I set transmit power to 0dB (which gets amplified by the PA), I'm now getting great radio communication. And this is the 2.4Ghz band, no less. Who would have thought? I'm flabbergasted. If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
Even if I increase the datarate to 1mbps, the majority of the packets are still getting through. This may turn out to be a closer horserace than I had originally thought: it may yet require some careful measruements to separate out the winner.
[Edit: As a result, I just now ordered some of these E01-2G4M27D: https://www.aliexpress.com/item/3256801616913450.html?spm=a2g0o.order_list.0.0.24f21802jP9dtI
presently on sale for $4.34 each with free shipping, which allegedly contain TCXO's and, hopefully, should be a further step-up in performance. In fact, these may be the top-end of what's currently available on the market in the nRF24L01 series.Now the long wait for them to arrive....]
@NeverDie said in Most reliable "best" radio:
If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
That is my aim (to replicate). I've got these radios on order, but from China.
@NeverDie said in Most reliable "best" radio:
Not sure why there would be an asymetry like that.
I'm thinking... maybe because of the compounded probability of the second (ack) transmission? Maybe having a secondary transmision counter for the ack would help? I'll play with it if I'm not too late. As said, you move fast.
-
Surprise! I'm getting it the nRF24L01 modules to send and receive, even along my worst-case transmission path, though for some reason ack's aren't being received along that worst-case path. Not sure why there would be an asymetry like that. Apparently the RadioLib library didn't default to full transmission power, because when I set transmit power to 0dB (which gets amplified by the PA), I'm now getting great radio communication. And this is the 2.4Ghz band, no less. Who would have thought? I'm flabbergasted. If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
Even if I increase the datarate to 1mbps, the majority of the packets are still getting through. This may turn out to be a closer horserace than I had originally thought: it may yet require some careful measruements to separate out the winner.
[Edit: As a result, I just now ordered some of these E01-2G4M27D: https://www.aliexpress.com/item/3256801616913450.html?spm=a2g0o.order_list.0.0.24f21802jP9dtI
presently on sale for $4.34 each with free shipping, which allegedly contain TCXO's and, hopefully, should be a further step-up in performance. In fact, these may be the top-end of what's currently available on the market in the nRF24L01 series.Now the long wait for them to arrive....]
@NeverDie One other late thought is to have some standard of antennae selection. I was thinking to make the different radios comparable some limit would be needed, I was thinking I'd stick to the bare 1/4 WL wire. But, reality of antenna science is probably far more complex. Thoughts?
-
@NeverDie said in Most reliable "best" radio:
If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
That is my aim (to replicate). I've got these radios on order, but from China.
@NeverDie said in Most reliable "best" radio:
Not sure why there would be an asymetry like that.
I'm thinking... maybe because of the compounded probability of the second (ack) transmission? Maybe having a secondary transmision counter for the ack would help? I'll play with it if I'm not too late. As said, you move fast.
@Larson said in Most reliable "best" radio:
That is my aim (to replicate).
Great! When you do, be aware that I found a bug in the RadioLib library wrt the nRF24L01, but it's easily patched: replace micros() with millis() in this section of their library code:
int16_t nRF24::receive(uint8_t* data, size_t len) { // start reception int16_t state = startReceive(); RADIOLIB_ASSERT(state); // wait for Rx_DataReady or timeout //uint32_t start = _mod->micros(); uint32_t start; start = millis(); while(_mod->digitalRead(_mod->getIrq())) { _mod->yield(); // check timeout: 15 retries * 4ms (max Tx time as per datasheet) //if(_mod->micros() - start >= 60000) { if((millis() - start) >= 60000) { standby(); clearIRQ(); return(RADIOLIB_ERR_RX_TIMEOUT); } }I commented out their erroneous code and put my corrected code beneath it. Doing this will allow the radio to listen in Rx mode for a minute before timing out. If you don't make the change, it will time out after 60ms, which I can't imagine is what they intended.
Of course, you may choose to use/try a different nRF24L01 library entirely. There are plenty to chose from.
-
@NeverDie said in Most reliable "best" radio:
If anyone wants to replicate, I've posted my modified RadioLib sketches to source-code tab of the openhardware.io project for the nRF24L01 adapter.
That is my aim (to replicate). I've got these radios on order, but from China.
@NeverDie said in Most reliable "best" radio:
Not sure why there would be an asymetry like that.
I'm thinking... maybe because of the compounded probability of the second (ack) transmission? Maybe having a secondary transmision counter for the ack would help? I'll play with it if I'm not too late. As said, you move fast.
@Larson said in Most reliable "best" radio:
I'll play with it if I'm not too late
I imagine you'll have plenty of time. I'll try again when the E01-2G4M27D's (see edited comment above) arrive, but unfortunately those may not arrive until the end of July according to aliexpress.
-
@NeverDie One other late thought is to have some standard of antennae selection. I was thinking to make the different radios comparable some limit would be needed, I was thinking I'd stick to the bare 1/4 WL wire. But, reality of antenna science is probably far more complex. Thoughts?
@Larson said in Most reliable "best" radio:
@NeverDie One other late thought is to have some standard of antennae selection. I was thinking to make the different radios comparable some limit would be needed, I was thinking I'd stick to the bare 1/4 WL wire. But, reality of antenna science is probably far more complex. Thoughts?
You raise a good point. Not really sure. I'll have to marinate on that one. For better or worse, some modules more or less force the use of different antennas than just a wire-whip or spring, because they come equipped with SMA connectors or u.fl connectors or they have trace antennas. As near as I can tell, dipole antennas are generally the best overall, unless you're deliberately trying to do something directional. So, one could maybe argue that we should test with dipole antennas, although that's easier said than done because it's easier with some modules than others.
I started this radio testing with the expectation that one radio, or at least one type of radio, would stand head-and-shoulders above the rest, regardless of antenna type. However, maybe that won't turn out to be the case, which will in itself be be an interesting result if that's how it plays out. For instance, by picking the E01-2G4M27D to test with, I'm certainly giving the nRF24L01 far more advantage than it ever would have if I were using just regular dirt cheap nRF24L01 modules without any PA or LNA. Those by themselves would have no chance of competing, except at very short range. However, for very short range applications, they may very well be winners because of their 2mbps data rate.
-
@Larson said in Most reliable "best" radio:
That is my aim (to replicate).
Great! When you do, be aware that I found a bug in the RadioLib library wrt the nRF24L01, but it's easily patched: replace micros() with millis() in this section of their library code:
int16_t nRF24::receive(uint8_t* data, size_t len) { // start reception int16_t state = startReceive(); RADIOLIB_ASSERT(state); // wait for Rx_DataReady or timeout //uint32_t start = _mod->micros(); uint32_t start; start = millis(); while(_mod->digitalRead(_mod->getIrq())) { _mod->yield(); // check timeout: 15 retries * 4ms (max Tx time as per datasheet) //if(_mod->micros() - start >= 60000) { if((millis() - start) >= 60000) { standby(); clearIRQ(); return(RADIOLIB_ERR_RX_TIMEOUT); } }I commented out their erroneous code and put my corrected code beneath it. Doing this will allow the radio to listen in Rx mode for a minute before timing out. If you don't make the change, it will time out after 60ms, which I can't imagine is what they intended.
Of course, you may choose to use/try a different nRF24L01 library entirely. There are plenty to chose from.
@NeverDie said in Most reliable "best" radio:
Of course, you may choose to use/try a different nRF24L01 library entirely. There are plenty to chose from.
As I say to my physician, dentist, and probably my mother: you lead, and I will follow. Your library is my library.
-
@Larson said in Most reliable "best" radio:
@NeverDie One other late thought is to have some standard of antennae selection. I was thinking to make the different radios comparable some limit would be needed, I was thinking I'd stick to the bare 1/4 WL wire. But, reality of antenna science is probably far more complex. Thoughts?
You raise a good point. Not really sure. I'll have to marinate on that one. For better or worse, some modules more or less force the use of different antennas than just a wire-whip or spring, because they come equipped with SMA connectors or u.fl connectors or they have trace antennas. As near as I can tell, dipole antennas are generally the best overall, unless you're deliberately trying to do something directional. So, one could maybe argue that we should test with dipole antennas, although that's easier said than done because it's easier with some modules than others.
I started this radio testing with the expectation that one radio, or at least one type of radio, would stand head-and-shoulders above the rest, regardless of antenna type. However, maybe that won't turn out to be the case, which will in itself be be an interesting result if that's how it plays out. For instance, by picking the E01-2G4M27D to test with, I'm certainly giving the nRF24L01 far more advantage than it ever would have if I were using just regular dirt cheap nRF24L01 modules without any PA or LNA. Those by themselves would have no chance of competing, except at very short range. However, for very short range applications, they may very well be winners because of their 2mbps data rate.
@NeverDie said in Most reliable "best" radio:
I started this radio testing with the expectation that one radio, or at least one type of radio, would stand head-and-shoulders above the rest, regardless of antenna type.
Yep. And that is why I was thrilled with your earlier conclusions about the SX1262. Andreas Spiess convinced me that maximizing design parameters depend on the needs. Bit rate, bandwidth, power demands, range, and other factors are all working against each other, or with each other. Wish I knew the fundamentals and that is my aim. It would be fun to stay with one radio and just change the parameters and antennae. That has probably been done in academic circles. Imagine what led to the progressive development of different radios. I'm sure it wasn't random. We are left to discover why.
Back to school for me.
-
It seems that I was able to get an improvemet from no ACKs to a majority of ACKs just by installing fresh batteries on the receiver. That was an improvement from 2.9v with the old batteries to 3.2v with the new fresh AA's. So... it makes me wonder whether there'd be even more improvement if it were running at the maximum allowed 3.6v. So, I tried powering it with an external power supply, but performance went down dramatically even at the 3.2v level. I guess probably from longer wires or maybe some other source of noise. Anyhow, just memorializing these findings here as a reminder in case it's worth exploring this topic further in the future.
-
It seems that I was able to get an improvemet from no ACKs to a majority of ACKs just by installing fresh batteries on the receiver. That was an improvement from 2.9v with the old batteries to 3.2v with the new fresh AA's. So... it makes me wonder whether there'd be even more improvement if it were running at the maximum allowed 3.6v. So, I tried powering it with an external power supply, but performance went down dramatically even at the 3.2v level. I guess probably from longer wires or maybe some other source of noise. Anyhow, just memorializing these findings here as a reminder in case it's worth exploring this topic further in the future.
@NeverDie Maybe just ripple on the DC? Did you scope it to see? Maybe try with 10n , 100n and 470uF caps across the DC power line? - Or if there is an onboard regulator on the RF module, then maybe that gets more noisey as the voltage drop across it increases?
-
@skywatch said in Most reliable "best" radio:
Do you have any links to this please?
Sure, Here it is on Amazon. I got mine at Coastal Farm and Ranch. While I'm now using it for skunks and racoons, I initially used it on the swim platform of my old wooden boat that was a party scene for sea otters. They can really stink up the boat after a winter.
-
@NeverDie Maybe just ripple on the DC? Did you scope it to see? Maybe try with 10n , 100n and 470uF caps across the DC power line? - Or if there is an onboard regulator on the RF module, then maybe that gets more noisey as the voltage drop across it increases?
@skywatch said in Most reliable "best" radio:
@NeverDie Maybe just ripple on the DC? Did you scope it to see? Maybe try with 10n , 100n and 470uF caps across the DC power line? - Or if there is an onboard regulator on the RF module, then maybe that gets more noisey as the voltage drop across it increases?
It does already have 100n (=0.1uF) across the DC power line, extremely near the inputs to the nRF24L01. I didn't check those other things though. However, given how widespread the use of the nRF24L01 is on this forum, if anyone happens to know whether powering it with voltage at the higher end of its range improves performance, please post. I think for the LoRa chips it doesn't matter, because they all down-convert anyway. Maybe the nRF24L01 does as well? I really hadn't expected the nRF24L01, boosted as it was with PA and LNA, to do as well as it did. So, there's that added layer of PA + LNA complexity that may have something to do with it, not just the nRF24L01 chip itself. If I was focused on just one particular chip or module, I could do those tests. But multiply that workload by six or so other radio modules, all with different idiosyncrasies, and I quickly run out of time. I may have bitten off more than I can chew. So, I just have to draw the line and either come back to it in the future or not, depending on how the global picture develops. But if someone already happens to know the answer, then hopefully they might make a posting.
This guy just recently did a video on nRF24L01 problems:
NRF24 Frustration - Radio module doesn't work? – 12:46
— Electronoobsand the very first thing he talks about is long wires.
-
@NeverDie said in Most reliable "best" radio:
I started this radio testing with the expectation that one radio, or at least one type of radio, would stand head-and-shoulders above the rest, regardless of antenna type.
Yep. And that is why I was thrilled with your earlier conclusions about the SX1262. Andreas Spiess convinced me that maximizing design parameters depend on the needs. Bit rate, bandwidth, power demands, range, and other factors are all working against each other, or with each other. Wish I knew the fundamentals and that is my aim. It would be fun to stay with one radio and just change the parameters and antennae. That has probably been done in academic circles. Imagine what led to the progressive development of different radios. I'm sure it wasn't random. We are left to discover why.
Back to school for me.
@Larson said in Most reliable "best" radio:
@NeverDie said in Most reliable "best" radio:
I started this radio testing with the expectation that one radio, or at least one type of radio, would stand head-and-shoulders above the rest, regardless of antenna type.
Yep. And that is why I was thrilled with your earlier conclusions about the SX1262. Andreas Spiess convinced me that maximizing design parameters depend on the needs. Bit rate, bandwidth, power demands, range, and other factors are all working against each other, or with each other. Wish I knew the fundamentals and that is my aim. It would be fun to stay with one radio and just change the parameters and antennae. That has probably been done in academic circles. Imagine what led to the progressive development of different radios. I'm sure it wasn't random. We are left to discover why.
Back to school for me.
I did that once with the RFM69, and the parameters on that radio are numerous and a real challenge to fully understand. The API of the newer LoRa radios is a lot simpler, which is fine by me.
If it weren't for the 2mbps, or even 1mbps, capability of the nRF24L01 (and related nrf5x modules, of course), I would drop the nRF24L01 like a hot brick. But those high datarates, and especially mysensors support for OTA updates using it, offer a compelling advantage.
So, now that there's a common test platform--one without long wires--we'll just see how it all develops.
It would be fun to test the si4468, which looks very capable, but I think I'm already at the limit of what I can consider all at one time.
-
@Larson Now that you have a PPK2, there's an easy way you can check for whether or not your plain, ordinary nRF24L01 chips are fake or not: looking at the Tx and Rx current draws and comparing them to the datasheet. For instance, on this particular nRF24L01 module:
Here is the Tx and Rx profile from running the RadioLib transmit script I posted in source code section:

The first plateau is the transmit current. The second plateau is the Rx current, where it's listening for an ACK. Well, as you can see, the Tx current is about 26-27ma and the Rx current is around 14-15ma. So, next, compare that to the specifications in the nRF24L01 datasheet:

and you can see that the values don't match. Not even close! 26-27ma is way beyond the spec of 11.3ma for maximum current draw,and 14-15ma is above the max of 12.3ma for Rx. So, the chip on this module, even though it says, as you can clearly see in the photo itself, that it is NRF 24L01+, it's a total fake. No question about it. Not only that, but if you want to, you can identify exactly which fake chip that it is, by looking at the datasheets of known fakes and looking for a match.
When in doubt you can also measure and compare sleep currents, which varies between the real and various fake chips. As you'd probably expect, Nordic has the lowest sleep current of any of them, at least as far as I'm aware.
-
@Larson In this case, it's almost certainly the si24R1 chip, because if you look at the datasheet here: https://datasheet.lcsc.com/lcsc/1811142211_Nanjing-Zhongke-Microelectronics-Si24R1_C14436.pdf and zoom in on the electrical specification, you see that the specified currents are:

which is a very close match.
:smile:
I've written about this before (here: https://forum.mysensors.org/topic/1664/which-are-the-best-nrf24l01-modules/285 , where it took me a lot of effort to finally figure all this out), but it's so buried at this point that I doubt anyone new to the game is even aware of it. So, I include it here, as bonus perk for anyone who happens to be reading this thread. Nice, ya?
-
By the way, if I did end up using the nRF24L01 (or nRF5x series), I'd like to do what I outlined in the last post on that thread (https://forum.mysensors.org/topic/1664/which-are-the-best-nrf24l01-modules/309?_=1654977950928), which is to do channel hopping and time synchronization among motes. There are some interesting demos on distributed time synchronization which are pretty cool:
Proportional Integral Clock Synchronization in Wireless Sensor Networks – 01:00
— Kasım Sinan YıldırımOne simple (but maybe not the best technique) is to have each node transmit its local time in some kind of sequence, while the other nodes listen and take note. Then by averaging these local times over a few iterations, the group converges onto a single time. Pretty neat, huh? I would imagine that, more efficient and less complex, would be to have a powered wireless time server, and then everything syncs to that.