I really like this video because it is nice to know that there are other people who really dive into stuff and learn as much as possible from there experience. You don't give up and always keep looking for other ways to get the job done. And best, you share this information!
Joop Brokking Thanks Joop! The thing about radio waves is you can't see them, makes me always wonder exactly what's going on, and how far to trust the connection :) There is also the important difference between the stated capability of the modules, and what happens in a real situation, is good to know.
Thanks a looooot man!! You did so much real research with these many possibilities there that still impacting someone's project after 6 years! Thanks again.
Great analysis and summarization. Very Interesting to see from the data how the distance/antenna relationship played out. Thanks for doing all the work!!!
Great work thanks for sharing all this. I enjoyed it and I passed it on to several ham radio friends too. I gave up on my CC1101 and now looking at the nRF24L01's.
Look around my channel for some more long range tests after I moved back to New Zealand. 31km using a large yagi at each end, and 35km from a whip to a yagi, on a high-altitude balloon :) th-cam.com/video/4XRp7pkZgPM/w-d-xo.html th-cam.com/video/o1J64naEEHY/w-d-xo.html
What you call pointing is putting the antenna in a horizontal plane which would direct the signal up and down and side to side and not towards your receiver if the tip is pointing towards the target. Antennas should always be in the same plane for best reception. So pointing is actually the opposite of what it says ;) In the HAM world (and other radio services) sometimes you put an antenna in the opposite plane of the transmitter you are trying to receive if there is excessive noise from other transmitters. This will lesson the noise but reduce the receive strength as well. Excellent review BTW - thanks.
Digger D Right. What I call 'pointing' is deliberately making the reception worse... perhaps I should have mentioned that instead of taking it for granted that viewers would already know that. The point was to see how much worse it gets, to estimate a safe distance to fly an RC model at.
I see, just wanted to clarify that for everyone. Your technical knowledge seems high so I was wondering? ;) Typically the term pointing an antenna means aligning it for best transmission/reception so a bit misleading to the beginners. Again, nice work.
Hi, Good Video, nice comparisons between the various types of Pcb and Antenna,s. I would just like to mention one thing with your Attenna,s you would get the best signal when they where both vertical reletive to each other and the worst signal when they are pointed end or tip to tip, to get the very best signal you should use a yagi type Antenna beaming at each other and that would realy increase the range. the vertical whip gives a signal out in a doughnut shape and is also the same on Rx. being a radio ham i have had a lot of dealings with Anteena,s and how they perform. I am hoping to get myself a couple of the modules and will be doing some experimenting with them in the future. your video has spured me on into getting some of them . Thanks for the great effort and keep up the grand work. All the best Steve Liverpool UK
For 1-1.5 km range, I will use a 2.8 dBi omnidirectional linear polarization dipole antenna on my drone, which has an nRF24L01+ PA LNA communication module. Which antenna type would be a more suitable option for tracking the drone on the ground?
Now-a-days you can learn a lot about which is likely to be the best antenna using the relatively cheap nano-vna. Many antennas are not actually tuned to the frequencies advertised. Long/short/shape/type/orientation probably mean less than the frequency at which it oscillates most efficiently.
Bravo!!! Good and complet job about Test Range Wifi Radio's... The best method ever I see in video! I hope you have time to do this with another antena! 10k's I like!
great comparison! I'm looking into extending the range of the pcb ant version, possibly with a simple wire dipole like on RC Rx's. Hoping to get 100m reliably without an SMA antenna.
Thank you very much for this great video! So much effort put into it, and in such a great environment, love Japan :) This video was really helpful and inspiring, I decided to order a couple of the shielded PA ones for a project of mine. Thanks!
Watched the whole vid start to finish :) Great stuff. I've been trying to use the PCB antenna versions (very cheap on ebay) to communicate across a 2m hallway, with two doors in the way, receiver placed near a boiler and transmitter in a wiring cabinet near a mains distribution board. It sometimes worked but sometimes didn't, although probably due to the fact I was sending 1 packet every 2 seconds and my expectations were for 0% packet loss. Silly expectations, I now see this! So thanks to your vid I'll try to get my hands on some shielded, amplified versions and some short antennas. Thanks!
+Mat Smith That sounds like the type of situation that the PCB modules could still cope with. Assuming you are not running from a tiny battery that you want to last for a long time, I would try just blasting out packets as fast as you can, there is really nothing to be gained by sending so infrequently.
+iforce2d Thanks so much! I'm using 8 AA batteries with a 5V switch mode power supply and a 3.3 linear reg for the NRF. I'll whack out the packets like there are no tomorrows and see how that goes!
Another great video! I so appreciate the thoroughness and detail you put into these tests along with publishing your code -- it is very helpful indeed. I just bought a pair of "NRF24L01+PA+LNA SMA" with regular length antennas on eBay for my autonomous rover which I want to test using your methodology. I think these most closely resemble your "PA1" module. Anyone can tell me what "LNA" in that product description stands for?
5 years ago I watched this video and wondering how you did this when I can not even get my modules work longer than 150-200 meters. Recently I bought an N1201SA, checked my "2.4ghz" antennas that were shipped with these modules and they suck hard. Their frequency is way off and even on that freq they are extremely shitty.
Excellent Analysis. Just out of curiosity, in the past it has been my experience that antennas function better with a ground plane attached, While for transmit it normally is optimal to have a plane which is at least 1/4 wave length. In practice I have found that bigger is normally better up to a point. Although even a small ground plane seems to help. Have you tried taking a metal lid from a soup can, punching a hole in the center, and placing it over the connector and attach it electrically and mechanically at the base of your whip? The ground plane can also effect the radiation pattern of the signal. Just a thought. Excellent work!
Hey hey! thanks for cool video. suggestion, when you show graphs (PPS vs range) in addition to PA2-TX (for example) in legend - I would add a picture of the setup (transmitter with antenna) that would make it easier to follow.
This quite an old thread so I'll understand if if there is no answer :-( Brilliant research work on these radios, extraordinarily thorough data gathering - good work mate! I've been playing with them for a while now, up to recently it's been sending information about my solar diversion system around the house so I can see what's happening - just fun. Now I've moved on to a weather station project and I want a bit more range. I had been using the PCB and non-shielded versions and have recently bought some of the shielded versions, mine call themselves AS01-ML01 DP5 V3.2. and, for me, they are not directly compatible with the other versions, in my sketches. Whilst the pcb and non-shielded versions worked, the shielded guys did not - same code - same hardware. I do use the adaptor boards and I haven't, as yet, put any caps on the radio boards. So, as a test, I took your sketches, as a starting point, just changed them a bit so the transmitter was pausing between txs and sending a count and some changing data and the receiver was reporting any records received and serial printing the data that should be changing. Worked great with the pcb and non-shielded versions, not at all with shielded version. My modified receive function: void recvData() { while ( radio.available() ) { radio.read(&data, sizeof(PacketData)); packetsRead++; lastRecvTime = millis(); Serial.print("Got record - packetsRead = "); Serial.print(packetsRead); Serial.print(" lon & lat = "); Serial.print(data.lon); Serial.print(" "); Serial.println(data.lat); } } As a tx-er the shielded one gets stuck and doesn't return from radio.write() call. As a rx-er it passes straight thro' the function above, increasing the packetsRead count and not picking up any data. The pcb and non-shielded versions work fine. Questions: Is the power issue so devastating with the adaptor boards and/or caps, especially when used as a receiver? Are all three of my shielded radios all broke? Are there any mods needed in the sketches and/or hardware to accommodate our powerful shielded friends? As I said before, great work and very useful, Eric, UK
The software side of things should be compatible regardless of the variant (shielded or not etc). The power on VCC should not exceed 3.6v absolute maximum, or 3.0v if you are using 5v on the signal lines (MISO, MOSI, CLK etc). Signal lines should not exceed 5v. Make sure you always have an antenna connected, especially when transmitting. One thing you can try to check if the module is alive at all is the radio.printDetails(). If you set something, (eg. radio.setDataRate(RF24_250KBPS) ) then that setting should be accepted and subsequent output from radio.printDetails() should reflect the change you made. If not, nothing else will work and you either have a dud module or some incorrect wiring.
That's a great idea, so I tried it (thanks for your quick reply, by the way) I've not looked very far into them yet, I will later, but just in case you see anything glaring, here's the three radio.printDetails() from three radios all plugged into the same hardware, running the same sketch. Well in fact the Arduino wasn't changed at all, just powered down and up while the radios were changed. Thanks for your help, I can see some differences need investigating, from a first glance it looks like the default values used by a nrf24l01 and a nrf24l01+ are different. 1.shielded Power amp - non-working for me STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0 RX_ADDR_P0-1 = 0xe3e3e3e3e3 0xe0e0f0f0e0 RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2 TX_ADDR = 0xe3e3e3e3e3 RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00 EN_AA = 0x00 EN_RXADDR = 0x00 RF_CH = 0x04 RF_SETUP = 0x00 CONFIG = 0x00 DYNPD/FEATURE = 0x00 0x00 Data Rate = 1MBPS Model = nRF24L01 CRC Length = Disabled PA Power = PA_MIN 2.Non-shielded power amp - working for me STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xe8e8f0f0e1 RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6 TX_ADDR = 0xe7e7e7e7e7 RX_PW_P0-6 = 0x00 0x20 0x00 0x00 0x00 0x00 EN_AA = 0x00 EN_RXADDR = 0x02 RF_CH = 0x4c RF_SETUP = 0x27 CONFIG = 0x0e DYNPD/FEATURE = 0x00 0x00 Data Rate = 250KBPS Model = nRF24L01+ CRC Length = 16 bits PA Power = PA_MAX 3.PCB - working for me STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xe8e8f0f0e1 RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6 TX_ADDR = 0xe7e7e7e7e7 RX_PW_P0-6 = 0x00 0x20 0x00 0x00 0x00 0x00 EN_AA = 0x00 EN_RXADDR = 0x02 RF_CH = 0x4c RF_SETUP = 0x27 CONFIG = 0x0e DYNPD/FEATURE = 0x00 0x00 Data Rate = 250KBPS Model = nRF24L01+ CRC Length = 16 bits PA Power = PA_MAX
It's not that the defaults are different, as I said "If you set something, (eg. radio.setDataRate(RF24_250KBPS) ) then that setting should be accepted and subsequent output from radio.printDetails() should reflect the change you made. If not, nothing else will work and you either have a dud module or some incorrect wiring." It looks like none of the settings you made are being respected by the shielded module. In every case this has happened to me it has been due to incorrect connections, eg. usually MISO/MOSI backwards. It can't hurt to try using a cap across the GND/VCC pins, but I think that is more likely a fix for transmission problems, not basic communication with the module.
Thanks again for quick reply, the connections do not change between my tests and this is a receiver test, I might just try a cap tho - maybe... All three of my AS01-etc give the same output, and as you say the data rate has not been accepted, the sketch fragment is: // Set up radio module Serial.begin(57600); printf_begin(); radio.begin(); radio.setDataRate(RF24_250KBPS); radio.setAutoAck(false); radio.printDetails(); radio.openReadingPipe(1,pipeIn); radio.startListening(); I reckon the probability is high that I've got some fake, broken or rejected modules, I'm using library RF24 version=1.3.0 author=TMRh20 Which has always treated me well. Like banging your head against a brick wall, it's great when you stop, and I think I might just do that - stop that is :-) You've been an enormous help, thanks very much. Eric UK
So, last chance saloon - I tried swapping MISO and MOSI, just for fun and it made no difference to the AS01-ML01 , but as you predicted it did make the formally working PCB and non-shielded versions become "faulty" by acting in the same way and refusing to take on any settings. So MISO and MOSI back to where they were, they were correct. Then, as I was about to give up, I came across this thread : github.com/nRF24/RF24/issues/182 and tried a suggestion made there by Nickson Yap: Quote I then roughly compare Maniacbug's library with TMRh20 and changed TMRh20's RF24.cpp line 44 _SPI.setClockDivider(SPI_CLOCK_DIV2); Into _SPI.setClockDivider(SPI_CLOCK_DIV4); Unquote And it worked, the radio.printDetails() then reflected the settings made in the sketch both for the AS01-ML01 and the PCB and non-shielded versions. A test using a a PCB as a transmitter and a AS01-L01 as a receiver worked fine as does a test between an AS01-ML01 as both a transmitter and a receiver. So, all is now well, by changing _DIV2 to _DIV4 on line 44 of RF24.cpp in the TMRh20 library. Thought you'd like to know, and thanks for your help and encouragement. Cheers, Eric
muh1h1 BTW, speaking of antennas, i managed to build my own little 5.8GHz antennas using old wifi antennas i had laying around. didn't build it out of copper, but an old spring i pulled out of an inkjet years ago (that was the only 0.80mm wire i could find in the house). they actually perform wuite well, and since it is spring steal rather than copper, it is quire durable also! :) best thing about that is the costs though: €0,- :)
***** i am just to cheap for this hobby, thats probably also why i initially subscribed to you with your cheapass quadcopter series :) yesterday i managed to buy 6 brand spanking new 2212 2200KV motors including spinners and screws for about 45€ on ebay :D btw, do you have any recomendations for small ESCs (preferably 12-18A) which are super cheap? the only really cheap ones i could find were 30A, and thats probably way to big (physicaly) for what i am trying to build...
muh1h1 wow, that's a good price for the motors, are they new? I just bought some small ESCs that will arrive soon, can't really say anything to recommend them yet but they were fairly cheap www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=11429&aff=1150185
***** Yep, new :) neat, i just audtioned off these: www.ebay.de/itm/4PCS-2-3S-12AMP-12A-SimonK-firmware-Brushless-ESC-w-BEC-Quadcopter-Multi-copter-/391123561879?pt=LH_DefaultDomain_77&hash=item5b10c7ed97 hope they will be up to the task :) Also yesterday i bought a new KK 2.1.5 from an ebay auction for 20,26€, this is truly a tight budget for a quad :D
i love 3d google, i think its opensource 3d buildings which anybody can submit to, new york is a joy to fly around, oh did i mention google earth has a built in flight sim,, a fast jet and a small prop plane, mount st helens is pretty amazing to fly around too....
At 30:58 you talked about Parallel vs Pointing of the Antenna's. Yes Parallel is best since the radiate out the sides, not the tip! At 35:14-- Yes the shorter antenna is best because the shorter antenna is closer to the freq. that is transmitted.
Yes, and I wanted to see how much difference it makes in reality. Just because the plastic case of the antenna is longer does not mean the active length of the antenna itself is different, it's not the plastic part that does the transmitting :)
An interesting video. Being a person that works with radar systems for a living, I'm wondering whether your two dips in signal are related to range as a time base issue, especially as there appears to be some sort of relationship between the two locations? It takes ~3.333us for a radio wave to propagate 1km, or 300m/us. May be interesting for a repeat test with a different source location to see if the phenomena is terrain or something related to how the signal is sent?
Kyle Null Short whip on the quad for sure. I will probably use long whip on the transmitter, not because it's any better, but just because I want to have my other short whip for another quad :)
Salam, Wow! you have inspired me to build one. I am currently playing with ESP8266. Not as good as you but I think I can grasp the understanding of Nano+nRF24L+motors. Can I suggest something, could you please try Coanda effect on your rotors to get upthrust. I think cutting ping pong balls to half and then mounting them under the rotors or above may do the trick. I am not sure but I think its a small trick and may prove very power saving if works out.
You should not be using both ceramic capacitors. Ceramic capacitors reduce high frequency interference from power and you should use a small one like 0.1 uF. For filtering out low frequency noise you should use an electrolytic capacitor at 100 uF. Also regarding 'pointing' antennas you have it backwards - these are not yagi antennas, they are omnidirectional. Your best performance comes when they are both pointing vertically upwards, not perpendicularly at each other.
lol why is both ceramic bad, I've never heard anybody say that. The nRF24L01 datasheet shows an example application using 10nF and 1nF capacitors with 0402 footprint, ie. ceramic. It also says "Mounting a large surface mount capacitor (for example, 4.7µF ceramic) in parallel with the smaller value capacitors is recommended". If you are experiencing better results with some other configuration, maybe you should contact the engineers at NordicSemi and tell them to correct their datasheet. Regarding antenna direction, what exactly did I get backwards? Reception will be best when the antennas are parallel and 'broadside' to each other and that's what my results show. I never claimed otherwise. Being vertical or not is irrelevant.
Great video and great analysis. I'd be interested to know how the height of the transmitter and receiver aerials affected range as typically, for R/C model flight, the Tx aerial is not 4m above the ground, more like 1 m (i.e. about waist height), and the receiver typically much higher (up to 100m). Do you have any data that shows range in that situation, or would you expect it to be roughly equivalent? Thanks, Ian
Hi iforce2d, your videos inspired me to build my own quad, and now i am a happy owner since may. i decided to upgrade the RF range, unfortunately i face a spooky problem. this is nRF2401 is with the pigtail cable to SMA antenna. On 2 ProMinis i am running your rangeCheckRx-Tx software, and its working for the PCB Tx-PCB Rx. i switch the Rx to external antenna version its also working fine. ..and no matter what Rx i use, when i attach the external antenna version to the Tx i never get any data packets transferred(cap is soldered to Vcc and GND). i check all the time with radio.printDetails(); to see if it is perfectly initialised, and even in this case i see my settings are set into the RF communication. i have 2x of the external antenna version and the case is the same for both. i was thinking that maybe in Tx mode the high current consumption is the problem, but when i saw your video, you didnot change the circuit besides the nRF changes...can you think of any mistake i made or any further debugs i could do? any help is appreciated :)
+RowleySmith I'm not sure which circuit you're meaning here, but it's not really such a good idea to power the nRF from a pro-mini. In this video and probably (hopefully!) my other videos too, the high power variant of the nRF would be powered by a separate voltage regulator thingy like I showed at 4:50
I noticed on your most recent videos (Diatone) that you are not using this radio modules. Can you tell us why you changed to another radio solution and what are the pros and cons of both, maybe you can make a comparison video about it.
Luis Cabral Mainly because I wanted to try a more 'normal' build for a change. The flight controller on the Diatone is not multiwii, so I can't make the nRF integrated yet to do telemetry, and I'm stuck for many days about getting that done in the Cleanflight source code: github.com/cleanflight/cleanflight/issues/1013 The pros of the regular receiver is that you can use it with any compatible transmitter, but only 6-8 analog channels, pro of the nRF is that you can program it to send any kind of digital data in both directions, but you need to also build and program the transmitter.
If you really want to get a serious antenna look up "RP-SMA 2.4GHz 25DBi Yagi Wireless WiFi Antenna". A bit overkill for most projects but if range is the game I'd think this would do it. Also had a question. I didn't see in the sketches where you used the PowerUp command? This takes it out of low power mode. Unless I read the purpose of that and it doesn't output anything in PowerDown mode. But also says the output power is programmable. I haven't looked through the code to see if they have a function to change that as well. So it may be that you're not using quite all the power you could be. Just a thought.
Very impressive video. As simple as it sounds. I just need to turn on an LED in 4 different locations (inside 4 offices side by side) as a status light for customers waiting. So 1 base unit/Transciever with toggle switch to turn on/off all 4 LEDs and 4 recievers with an LED attached. All powered from a 110v - 5V usb converter. Distance is less than 100 feet. Can you steer me in the right direction of what I would need to make this all work
Great work, sir! You created a standard for people to look up to! I already have a pair of amplified modules. Any chance I could shield them myself? I have adhesive aluminum tape made for chimney ducts or something. Could that work? Or has it to be a tin box? Does it need to be grounded?
Cutter Slade Yep, making some shielding yourself should work fine. Never tried it myself so I don't know how effective you can make it or what the best material would be, but somebody commented on one of my earlier videos saying he had made a reasonably effective shield from some kind of potato crisps bag.... iirc.
This was really interesting video! Thank you. I have a question do you have the wiring diagram you used to wire up the transceiver to the nano with the mini 360 buck??? It looks like you're using the ICSP header pins? And there's no ground connected to the mini 360 buck?? Thanks for your time.
also I have another question, couldn't you use the 3.3v line off of the Nano to control the nRF transceiver? why did you choose to use the Mini Buck??? is there a specific reason to do it with the buck converter?
Really good video....and long hahaha... The shielded one can work as a transceiver? Or just as transmitter or receiver? Thanks for making this videos, they've been really useful to me lately... :D
Knuth Helekivi I'd like to try this again sometime in a better location, maybe I'll have a few more antennas by then too. Will need more than 1.5km for helical and patch!!
Question re the sketch, and packet timings. Sorry if this is obvious. For each radio.write you are doing (with 7 bytes being sent), you have that radio.available loop in the receiving sketch. The radio.write is in the loop, so you are pumping out packets with only the analogRead providing timing gaps between packets. If you hypothetically removed those analogReads in the sending sketch, would radio.available return true all the time? Basically speaking, is it just the delay caused by the analogRead that is meaning your receiver can actually determine the difference between the end of one packet and the start of another?
+Mat Smith I think theoretically you could get a tiny bit more packet throughput by removing the analogReads, but that would not mean the receiver always has a packet available. The nRF module still requires time to do its work of sending and managing the packet buffers, and it still takes time to transfer the packet content between the arduino and the nRF, and packets will still be dropped in transit depending on the environment. The other thing is, if you're not going to be modifying the data you send there is really not much point sending it at all :) If you had a lot of free time you could probably arrange things so that the the loop time on both ends was exactly the same, and then if you decreased the sending rate enough so that the nRF could get everything done between sends, and you have an extremely noise-free environment then you could perhaps make it so that the receiver would _almost_ always have a packet available whenever it checked. But for most practical purposes there will be a difference in loop time on the sending and receiving sides, and the receiver will need to check if there is a packet available.
Hi again ! Thanks for this great comparison ! I am interested in working with the GT-24 2.4G NRF24L01, do you have any idea of its range and quality ? I haven't been able to find useful information about it :(
Question: on every nrf24 transceiver modul (the black ones) I noticed a short between the GND (outer shielding) and antenna (inner pin) of the SMA connector. Did you noticed the same?
***** What do you suppose all those graphs are? :) These modules don't have a traditional analog RSSI, the best you can do is measure how many packets you are successfully receiving, which at the end of the day is the only thing that matters anyway.
***** The graphs are visual representation of packets versus distance, haha. But I'd like to get numbers instead, it's a little hard to compare by eye. Mind uploading the data u have? Thanks :)
Interesting, thanks! But can you clarify: when you're not getting the full 308 packets per second, that means the other packets were lost, right? So there's no internal negotiation between the RX and TX to decide a packet rate that still works? I'm thinking that for single-shot signals (as opposed to sending continuous measurements) you need to transmit hundreds of copies of the packet, maybe some thousands, if you want to make sure it gets received.
+renxula It means that there was too much noise for packets to be reliably understood, so yes, I guess you could say they were 'dropped'. No, there is no negotiation between the TX/RX at all because it's a one-way transmission - the TX is a pure transmitter which just sends as fast as it can and never receives anything. This type of transmission is not really suited for single-shot signals. These modules are transceivers though, and can do packet acknowledgement if you change the settings a little, then the TX will know that a packet was received successfully.
I know it super late message :) but nice work. I had a lot of problems with the NRF24L01 modules using simple Arduino Nano and Mini modules. The 3.3V pins from these, can't sustain the NRF modules and until i put a separate power or used an adapter module, i couldn't get it to work as in your videos. One big request: Can you please upload somewhere the code and schema for that receiver thingy that you are using for testing and showing visual data of joysticks? I have the pieces to make one but i don't know the exact pins you used and what code you have to get visual representations of joysticks and received packets. Thank you in advance.
With all my videos, any code that I thought was relevant will be in the description links. If it's not there, then for a video like this one now four years old, I have no idea where the code is sorry. There is no visual data or joysticks in this video, I think maybe you are talking about a different video. For that I used the SSD1306 library from adafruit which lets you draw lines and rectangles. But if you just want to check the values, it's much much easier just to print them on the serial monitor.
@@iforce2d Yes, you are correct. I posted in a different page :) i have a lot of videos from you, opened in multiple tabs. Do you remember how did you connect the LCD together with the NRF24L01 ? You used I2C for display or some software SPI ? Thank you.
hi there i have a E10-433MSI1w but i have no idea how to get it to work ,are you aware of them and can you show how to get it going pls note they are 1 watt output good for long range and thank you so much for all of your content it is very thorough
What sort of applications are you using these for. I managed to get 10x for $5 from Aliexpress (I didn't realise it was that many). The ones I have are the PCB antenna model. I found that the were terrible with no antenna but with the 8.1cm ethernet wire attached they were very reliable.
I've been thinking of this combo: Controller: nrf24l01 + 2W wifi booster + antenna tracking based on packet loss count. Quad: cloverleaf antenna The aim is to get to distances of at least 5km, also for FPV to survey mountain area. I'll need the quad to return to me GPS coordinates and altitude... So on the quad I might have a 5.8g booster for the FPV too. What do you think? Do you think a wifi booster can couple with the nrf24l01?
***** If the two endpoints were not moving, you might actually be able to get 5km with a couple of strongly directional antenna (helical etc, not cloverleaf). Since the quad will of course be moving you can't do that though. So the quad will be carrying a 2W wifi booster? Sounds heavy and power hungry isn't it? You would probably be better off looking into lower frequencies like 1.2Ghz, 433Mhz range for that kind of distance. I think the OpenLRS project does what you want, with modules like this: abusemark.com/store/index.php?main_page=product_info&cPath=5&products_id=43 hmm... reading your post again, you say antenna tracking based on packet count. I don't think that will work if you are using acks or ack payloads, because you would need multiple RF modules on the tracker to sense where the strongest signal is, and they would not both be able to communicate with the quad. If you can send back the GPS location successfully you can just use that to track the quad instead.
***** Great advice! I'm trying to keep with the NRF24L01 coz I'm more familiar interfacing it with Arduino... Also, cloverleaf antennas seem to get larger for lower frequencies... The 2W wifi booster will be at stationary ground, Although I did found one 2.5W booster module 4*3cm that might work for the quad. I might use a stacked biquad antenna for the antenna tracker. Yes, I guess GPS tracking will work well enough. I'm checking out OpenLRS now...
Dear iForce2d I´m using 2.4 GHz Wireless Module ( E01-ML01DP5 ) and an Arduino NANO with your Cheapass Tx .... and Cheapass Rx software ... My problem is the connection of the E01-ML01DP5 to the NANO .... CE(pin3), CSN(pin4 ), SCK(pin5), DATAIN(pin6), DATAOUT(pin7), INT (pin8).....where to connect those pins to the NANO ..... Can you help me on that ?? Thanks a lot !!!!
From your tests, do you think that NRF24/PCB ant could act as a reliable RX, along with the nrf24 PA+LNA as TX? It looks pretty reliable out to about 500m? Do you know if the PCB ant ver has enough power for the PA+LNA to pick up telemetry from 500m out?
I have flown my quadcopter to about 200m like that, but I think it probably could have gone further. No, the PCB version will not be able to send anything more than about 40m reliably.
I tryed to search on aliexpres and ebay but as i see there is nothing for 2.4Ghz Helical, they are like that : www.ebay.com/itm/9-turn-5-8GHz-Helical-antenna-Circular-Polarization-Best-for-FPV-RP-SMA-UAV-/121498952106?pt=LH_DefaultDomain_0&hash=item1c49e6e1aa some people say you can build your own for 2.4Ghz *****
***** You have need testing the nRF24 module for a long time as i see, what kind of antenna do you sugest for long range and trasciver data? I'd like to send and receive some data from my airplane and have stable connection too, I know that you can change the kbps of the module so what kind of antenna and speed do u suggest to get max range and clear/good controll?
Domino SixO I think if you watched the video you can draw your own conclusions.... all I know is what I showed here. The antenna did not matter as much as the type of module. Definitely get a shielded PA module if you can. Choice of antenna would be dictated by how much movement you expect each end to be doing. If both ends never move you could put one of those helical coil antennas at both ends and have a kick-ass long range connection. If the plane will be mostly upright a whip antenna will be ok. If it will be rolling and flipping around a lot then a clover leaf would be better.
I have s question if you can help me. I want to send only two states ( 0 & 1) wirelessly, what could be best way to do it? I know I can do it with all those modules but there must be some less complicated way which uses less bandwidth. thank you and good video..
+TheThomas Instructions If you ask me this is the best way, but your question is a bit incomplete. For example if you look at recent videos on my channel you will see you can send a 0/1 status using a laser - but is your situation able to keep a clear line of sight between two non-moving points? What range to you need? etc. The method is not really that complicated - I don't think you will get far trying to do it without "all those modules" :)
Very good job :-) How did you made the Android program and how did you do to make the android device automatically recognize the arduino AND launch that program ?
+Michel GRIGAUT it's all a bit foggy in my memory now, but the library that does the interaction with the arduino also lets the device recognize when the arduino is attached. There may be multiple apps on your device that respond to the arduino being connected, if so you will be given the option to choose one of them as the default to use all the time.
PCB antenna is not great at the best of times. The only thing I can suggest is to put a cap (about 10uf) across the power and ground pins, if you haven't already.
I use a mobius action camera stuck onto my hat for the outside stuff, or my Galaxy S2 phone for still photos. If you're talking about the indoor stuff, I use a webcam (logitech C910 I think). The parts where I'm showing something on my computer is a screengrab of the screen.
I would like to ask you if something changes between shielded chip and others. At the beginning (3:20) of the video you say something like "I think the components are the same". As you do not talk about it again and i am in doubt. It is exactly the same program this chip or one of the other unshielded? Or something change?
Sir I don't have a linux device. The app starts but suddenly closes within 5-10 seconds. Even I wanted to change the location of starting point. Please tell how should I change android sdk.. Also the starting point of tx. Pls help
Hello from Denmark. First off all I like ALL your videos. :-) Next Do you know about the ESP8266 module, you can programet it with Arduino and its must more power full than Arduino and have build in Wifi maby that can be used to control a quad copter :-) Yes YOU have me hock on to start building my own TX and a quad copter, thanks for that :-)
+Allan Madsen yes I have seen the ESP8266 modules, they look pretty neat. Ethernet style connections are a bit overkill for applications like this though, and they usually involve latency inducing overheads to get the packets in order, for TCP at least. I wonder if you can do UDP with that module... in any case the nRF does the job just fine and requires no network or handshakes of any kind.
I really like this video because it is nice to know that there are other people who really dive into stuff and learn as much as possible from there experience. You don't give up and always keep looking for other ways to get the job done. And best, you share this information!
Joop Brokking Thanks Joop! The thing about radio waves is you can't see them, makes me always wonder exactly what's going on, and how far to trust the connection :) There is also the important difference between the stated capability of the modules, and what happens in a real situation, is good to know.
Joop Brokking U.K.
Thanks a looooot man!! You did so much real research with these many possibilities there that still impacting someone's project after 6 years! Thanks again.
Great analysis and summarization. Very Interesting to see from the data how the distance/antenna relationship played out. Thanks for doing all the work!!!
You have put in quite a lot of efforts in making this available. This is very useful. Thank you very much!
Amazing .. really amazing. Glad you finished it and didn't give up.
It's really a boring task.
Thanks.
Great work thanks for sharing all this. I enjoyed it and I passed it on to several ham radio friends too. I gave up on my CC1101 and now looking at the nRF24L01's.
Look around my channel for some more long range tests after I moved back to New Zealand. 31km using a large yagi at each end, and 35km from a whip to a yagi, on a high-altitude balloon :)
th-cam.com/video/4XRp7pkZgPM/w-d-xo.html
th-cam.com/video/o1J64naEEHY/w-d-xo.html
What you call pointing is putting the antenna in a horizontal plane which would direct the signal up and down and side to side and not towards your receiver if the tip is pointing towards the target. Antennas should always be in the same plane for best reception. So pointing is actually the opposite of what it says ;) In the HAM world (and other radio services) sometimes you put an antenna in the opposite plane of the transmitter you are trying to receive if there is excessive noise from other transmitters. This will lesson the noise but reduce the receive strength as well. Excellent review BTW - thanks.
Digger D Right. What I call 'pointing' is deliberately making the reception worse... perhaps I should have mentioned that instead of taking it for granted that viewers would already know that. The point was to see how much worse it gets, to estimate a safe distance to fly an RC model at.
I see, just wanted to clarify that for everyone. Your technical knowledge seems high so I was wondering? ;) Typically the term pointing an antenna means aligning it for best transmission/reception so a bit misleading to the beginners. Again, nice work.
Every time I see you struggle with the focus I'm reminded of AvE's famous line. :D
which one ?!
Hey, thanks for putting all this videos. Your info is very usefull!! Im actually building a quad with the same radio than you!
Phenomenal work you have done
Brilliant! Very informative. Thank you for posting this!
Hi, Good Video, nice comparisons between the various types of Pcb and Antenna,s. I would just like to mention one thing with your Attenna,s you would get the best signal when they where both vertical reletive to each other and the worst signal when they are pointed end or tip to tip, to get the very best signal you should use a yagi type Antenna beaming at each other and that would realy increase the range. the vertical whip gives a signal out in a doughnut shape and is also the same on Rx. being a radio ham i have had a lot of dealings with Anteena,s and how they perform. I am hoping to get myself a couple of the modules and will be doing some experimenting with them in the future. your video has spured me on into getting some of them . Thanks for the great effort and keep up the grand work.
All the best
Steve
Liverpool UK
For 1-1.5 km range, I will use a 2.8 dBi omnidirectional linear polarization dipole antenna on my drone, which has an nRF24L01+ PA LNA communication module. Which antenna type would be a more suitable option for tracking the drone on the ground?
Now-a-days you can learn a lot about which is likely to be the best antenna using the relatively cheap nano-vna. Many antennas are not actually tuned to the frequencies advertised. Long/short/shape/type/orientation probably mean less than the frequency at which it oscillates most efficiently.
Bravo!!! Good and complet job about Test Range Wifi Radio's... The best method ever I see in video! I hope you have time to do this with another antena! 10k's I like!
thankyou! :)
Thanks for the fast reply. Your videos are really helping us.
Wow. Amazing work! Thank you for sharing this very informative video.
great comparison!
I'm looking into extending the range of the pcb ant version, possibly with a simple wire dipole like on RC Rx's. Hoping to get 100m reliably without an SMA antenna.
Thanks for huge and useful work!)
with love from Russia)
Thank you very much for this great video! So much effort put into it, and in such a great environment, love Japan :)
This video was really helpful and inspiring, I decided to order a couple of the shielded PA ones for a project of mine. Thanks!
Watched the whole vid start to finish :) Great stuff. I've been trying to use the PCB antenna versions (very cheap on ebay) to communicate across a 2m hallway, with two doors in the way, receiver placed near a boiler and transmitter in a wiring cabinet near a mains distribution board. It sometimes worked but sometimes didn't, although probably due to the fact I was sending 1 packet every 2 seconds and my expectations were for 0% packet loss. Silly expectations, I now see this!
So thanks to your vid I'll try to get my hands on some shielded, amplified versions and some short antennas. Thanks!
+Mat Smith That sounds like the type of situation that the PCB modules could still cope with. Assuming you are not running from a tiny battery that you want to last for a long time, I would try just blasting out packets as fast as you can, there is really nothing to be gained by sending so infrequently.
+iforce2d Thanks so much! I'm using 8 AA batteries with a 5V switch mode power supply and a 3.3 linear reg for the NRF. I'll whack out the packets like there are no tomorrows and see how that goes!
Another great video! I so appreciate the thoroughness and detail you put into these tests along with publishing your code -- it is very helpful indeed. I just bought a pair of "NRF24L01+PA+LNA SMA" with regular length antennas on eBay for my autonomous rover which I want to test using your methodology. I think these most closely resemble your "PA1" module. Anyone can tell me what "LNA" in that product description stands for?
jims408 that would be low noise amplifier
***** Thanks!
5 years ago I watched this video and wondering how you did this when I can not even get my modules work longer than 150-200 meters.
Recently I bought an N1201SA, checked my "2.4ghz" antennas that were shipped with these modules and they suck hard.
Their frequency is way off and even on that freq they are extremely shitty.
Very good research and interesting analysis, will be very useful, thanks
Excellent Analysis. Just out of curiosity, in the past it has been my experience that antennas function better with a ground plane attached, While for transmit it normally is optimal to have a plane which is at least 1/4 wave length. In practice I have found that bigger is normally better up to a point. Although even a small ground plane seems to help.
Have you tried taking a metal lid from a soup can, punching a hole in the center, and placing it over the connector and attach it electrically and mechanically at the base of your whip?
The ground plane can also effect the radiation pattern of the signal. Just a thought. Excellent work!
Hey hey! thanks for cool video.
suggestion, when you show graphs (PPS vs range) in addition to PA2-TX (for example) in legend - I would add a picture of the setup (transmitter with antenna) that would make it easier to follow.
Looks like it could be the mesh fences that are causing the signal drops.
This quite an old thread so I'll understand if if there is no answer :-(
Brilliant research work on these radios, extraordinarily thorough data gathering - good work mate!
I've been playing with them for a while now, up to recently it's been sending information about my solar diversion system around the house so I can see what's happening - just fun. Now I've moved on to a weather station project and I want a bit more range. I had been using the PCB and non-shielded versions and have recently bought some of the shielded versions, mine call themselves AS01-ML01 DP5 V3.2. and, for me, they are not directly compatible with the other versions, in my sketches. Whilst the pcb and non-shielded versions worked, the shielded guys did not - same code - same hardware. I do use the adaptor boards and I haven't, as yet, put any caps on the radio boards.
So, as a test, I took your sketches, as a starting point, just changed them a bit so the transmitter was pausing between txs and sending a count and some changing data and the receiver was reporting any records received and serial printing the data that should be changing. Worked great with the pcb and non-shielded versions, not at all with shielded version.
My modified receive function:
void recvData()
{
while ( radio.available() ) {
radio.read(&data, sizeof(PacketData));
packetsRead++;
lastRecvTime = millis();
Serial.print("Got record - packetsRead = ");
Serial.print(packetsRead);
Serial.print(" lon & lat = ");
Serial.print(data.lon);
Serial.print(" ");
Serial.println(data.lat);
}
}
As a tx-er the shielded one gets stuck and doesn't return from radio.write() call.
As a rx-er it passes straight thro' the function above, increasing the packetsRead count and not picking up any data.
The pcb and non-shielded versions work fine.
Questions:
Is the power issue so devastating with the adaptor boards and/or caps, especially when used as a receiver?
Are all three of my shielded radios all broke?
Are there any mods needed in the sketches and/or hardware to accommodate our powerful shielded friends?
As I said before, great work and very useful,
Eric, UK
The software side of things should be compatible regardless of the variant (shielded or not etc). The power on VCC should not exceed 3.6v absolute maximum, or 3.0v if you are using 5v on the signal lines (MISO, MOSI, CLK etc). Signal lines should not exceed 5v. Make sure you always have an antenna connected, especially when transmitting.
One thing you can try to check if the module is alive at all is the radio.printDetails(). If you set something, (eg. radio.setDataRate(RF24_250KBPS) ) then that setting should be accepted and subsequent output from radio.printDetails() should reflect the change you made. If not, nothing else will work and you either have a dud module or some incorrect wiring.
That's a great idea, so I tried it (thanks for your quick reply, by the way)
I've not looked very far into them yet, I will later, but just in case you see anything glaring, here's the three radio.printDetails() from three radios all plugged into the same hardware, running the same sketch. Well in fact the Arduino wasn't changed at all, just powered down and up while the radios were changed.
Thanks for your help, I can see some differences need investigating, from a first glance it looks like the default values used by a nrf24l01 and a nrf24l01+ are different.
1.shielded Power amp - non-working for me
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0xe0e0f0f0e0
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x00
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN
2.Non-shielded power amp - working for me
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe7e7e7e7e7
RX_PW_P0-6 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x02
RF_CH = 0x4c
RF_SETUP = 0x27
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 250KBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
3.PCB - working for me
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe7e7e7e7e7
RX_PW_P0-6 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x02
RF_CH = 0x4c
RF_SETUP = 0x27
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 250KBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
It's not that the defaults are different, as I said "If you set something, (eg. radio.setDataRate(RF24_250KBPS) ) then that setting should be accepted and subsequent output from radio.printDetails() should reflect the change you made. If not, nothing else will work and you either have a dud module or some incorrect wiring."
It looks like none of the settings you made are being respected by the shielded module. In every case this has happened to me it has been due to incorrect connections, eg. usually MISO/MOSI backwards. It can't hurt to try using a cap across the GND/VCC pins, but I think that is more likely a fix for transmission problems, not basic communication with the module.
Thanks again for quick reply, the connections do not change between my tests and this is a receiver test, I might just try a cap tho - maybe...
All three of my AS01-etc give the same output, and as you say the data rate has not been accepted, the sketch fragment is:
// Set up radio module
Serial.begin(57600);
printf_begin();
radio.begin();
radio.setDataRate(RF24_250KBPS);
radio.setAutoAck(false);
radio.printDetails();
radio.openReadingPipe(1,pipeIn);
radio.startListening();
I reckon the probability is high that I've got some fake, broken or rejected modules, I'm using library RF24
version=1.3.0
author=TMRh20
Which has always treated me well.
Like banging your head against a brick wall, it's great when you stop, and I think I might just do that - stop that is :-)
You've been an enormous help, thanks very much.
Eric UK
So, last chance saloon - I tried swapping MISO and MOSI, just for fun and it made no difference to the AS01-ML01 , but as you predicted it did make the formally working PCB and non-shielded versions become "faulty" by acting in the same way and refusing to take on any settings. So MISO and MOSI back to where they were, they were correct.
Then, as I was about to give up, I came across this thread :
github.com/nRF24/RF24/issues/182
and tried a suggestion made there by Nickson Yap:
Quote
I then roughly compare Maniacbug's library with TMRh20 and changed TMRh20's RF24.cpp line 44
_SPI.setClockDivider(SPI_CLOCK_DIV2);
Into
_SPI.setClockDivider(SPI_CLOCK_DIV4);
Unquote
And it worked, the radio.printDetails() then reflected the settings made in the sketch both for the AS01-ML01 and the PCB and non-shielded versions.
A test using a a PCB as a transmitter and a AS01-L01 as a receiver worked fine as does a test between an AS01-ML01 as both a transmitter and a receiver.
So, all is now well, by changing _DIV2 to _DIV4 on line 44 of RF24.cpp in the TMRh20 library.
Thought you'd like to know, and thanks for your help and encouragement.
Cheers,
Eric
Great video, intresting results!
muh1h1 BTW, speaking of antennas, i managed to build my own little 5.8GHz antennas using old wifi antennas i had laying around. didn't build it out of copper, but an old spring i pulled out of an inkjet years ago (that was the only 0.80mm wire i could find in the house). they actually perform wuite well, and since it is spring steal rather than copper, it is quire durable also! :)
best thing about that is the costs though: €0,- :)
muh1h1 heheh good job, you will do well in the zombie apocalypse :)
***** i am just to cheap for this hobby, thats probably also why i initially subscribed to you with your cheapass quadcopter series :)
yesterday i managed to buy 6 brand spanking new 2212 2200KV motors including spinners and screws for about 45€ on ebay :D
btw, do you have any recomendations for small ESCs (preferably 12-18A) which are super cheap? the only really cheap ones i could find were 30A, and thats probably way to big (physicaly) for what i am trying to build...
muh1h1 wow, that's a good price for the motors, are they new? I just bought some small ESCs that will arrive soon, can't really say anything to recommend them yet but they were fairly cheap www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=11429&aff=1150185
***** Yep, new :)
neat, i just audtioned off these:
www.ebay.de/itm/4PCS-2-3S-12AMP-12A-SimonK-firmware-Brushless-ESC-w-BEC-Quadcopter-Multi-copter-/391123561879?pt=LH_DefaultDomain_77&hash=item5b10c7ed97
hope they will be up to the task :)
Also yesterday i bought a new KK 2.1.5 from an ebay auction for 20,26€, this is truly a tight budget for a quad :D
i love 3d google, i think its opensource 3d buildings which anybody can submit to, new york is a joy to fly around, oh did i mention google earth has a built in flight sim,, a fast jet and a small prop plane, mount st helens is pretty amazing to fly around too....
Wow, Thanks for sharing all those infos!!! Thank you very much
At 30:58 you talked about Parallel vs Pointing of the Antenna's. Yes Parallel is best since the radiate out the sides, not the tip! At 35:14-- Yes the shorter antenna is best because the shorter antenna is closer to the freq. that is transmitted.
Yes, and I wanted to see how much difference it makes in reality.
Just because the plastic case of the antenna is longer does not mean the active length of the antenna itself is different, it's not the plastic part that does the transmitting :)
Yes and No.
An interesting video.
Being a person that works with radar systems for a living, I'm wondering whether your two dips in signal are related to range as a time base issue, especially as there appears to be some sort of relationship between the two locations?
It takes ~3.333us for a radio wave to propagate 1km, or 300m/us.
May be interesting for a repeat test with a different source location to see if the phenomena is terrain or something related to how the signal is sent?
Great work man! Nice results!
Amazing work !!!! Bravo ...
Great nicely done and documented .. it will help me take decisions.. lot of hardwork.. :)
Very very very useful information, thank you !!!
Holy shit that's some serious range. Well I'm sold I'll spend my whole $2 on those transceivers.
I wish i had your knowledge!
Good video. Tnx for sharing ur experiences.
Thanks for doing this. Very helpful.
Excellent work! You're going to use the short, straight antenna on the quad, but the 3/4 leaf on the transmitter? Or short on both?
Kyle Null Short whip on the quad for sure. I will probably use long whip on the transmitter, not because it's any better, but just because I want to have my other short whip for another quad :)
Salam,
Wow! you have inspired me to build one. I am currently playing with ESP8266. Not as good as you but I think I can grasp the understanding of Nano+nRF24L+motors.
Can I suggest something, could you please try Coanda effect on your rotors to get upthrust. I think cutting ping pong balls to half and then mounting them under the rotors or above may do the trick. I am not sure but I think its a small trick and may prove very power saving if works out.
You should not be using both ceramic capacitors. Ceramic capacitors reduce high frequency interference from power and you should use a small one like 0.1 uF. For filtering out low frequency noise you should use an electrolytic capacitor at 100 uF. Also regarding 'pointing' antennas you have it backwards - these are not yagi antennas, they are omnidirectional. Your best performance comes when they are both pointing vertically upwards, not perpendicularly at each other.
lol why is both ceramic bad, I've never heard anybody say that. The nRF24L01 datasheet shows an example application using 10nF and 1nF capacitors with 0402 footprint, ie. ceramic. It also says "Mounting a large surface mount capacitor (for example, 4.7µF ceramic) in parallel with the smaller value capacitors is recommended". If you are experiencing better results with some other configuration, maybe you should contact the engineers at NordicSemi and tell them to correct their datasheet.
Regarding antenna direction, what exactly did I get backwards? Reception will be best when the antennas are parallel and 'broadside' to each other and that's what my results show. I never claimed otherwise. Being vertical or not is irrelevant.
Great video and great analysis. I'd be interested to know how the height of the transmitter and receiver aerials affected range as typically, for R/C model flight, the Tx aerial is not 4m above the ground, more like 1 m (i.e. about waist height), and the receiver typically much higher (up to 100m). Do you have any data that shows range in that situation, or would you expect it to be roughly equivalent?
Thanks, Ian
Hi iforce2d,
your videos inspired me to build my own quad, and now i am a happy owner since may. i decided to upgrade the RF range, unfortunately i face a spooky problem. this is nRF2401 is with the pigtail cable to SMA antenna. On 2 ProMinis i am running your rangeCheckRx-Tx software, and its working for the PCB Tx-PCB Rx. i switch the Rx to external antenna version its also working fine.
..and no matter what Rx i use, when i attach the external antenna version to the Tx i never get any data packets transferred(cap is soldered to Vcc and GND). i check all the time with radio.printDetails(); to see if it is perfectly initialised, and even in this case i see my settings are set into the RF communication. i have 2x of the external antenna version and the case is the same for both. i was thinking that maybe in Tx mode the high current consumption is the problem, but when i saw your video, you didnot change the circuit besides the nRF changes...can you think of any mistake i made or any further debugs i could do? any help is appreciated :)
+RowleySmith I'm not sure which circuit you're meaning here, but it's not really such a good idea to power the nRF from a pro-mini. In this video and probably (hopefully!) my other videos too, the high power variant of the nRF would be powered by a separate voltage regulator thingy like I showed at 4:50
I noticed on your most recent videos (Diatone) that you are not using this radio modules. Can you tell us why you changed to another radio solution and what are the pros and cons of both, maybe you can make a comparison video about it.
Luis Cabral Mainly because I wanted to try a more 'normal' build for a change. The flight controller on the Diatone is not multiwii, so I can't make the nRF integrated yet to do telemetry, and I'm stuck for many days about getting that done in the Cleanflight source code: github.com/cleanflight/cleanflight/issues/1013
The pros of the regular receiver is that you can use it with any compatible transmitter, but only 6-8 analog channels, pro of the nRF is that you can program it to send any kind of digital data in both directions, but you need to also build and program the transmitter.
***** Thanks for your quick reply.
Did you tried this solution ? - www.open-tx.org/radios.html
Very well done
If you really want to get a serious antenna look up "RP-SMA 2.4GHz 25DBi Yagi Wireless WiFi Antenna". A bit overkill for most projects but if range is the game I'd think this would do it.
Also had a question. I didn't see in the sketches where you used the PowerUp command? This takes it out of low power mode. Unless I read the purpose of that and it doesn't output anything in PowerDown mode. But also says the output power is programmable. I haven't looked through the code to see if they have a function to change that as well. So it may be that you're not using quite all the power you could be. Just a thought.
Very impressive video. As simple as it sounds. I just need to turn on an LED in 4 different locations (inside 4 offices side by side) as a status light for customers waiting. So 1 base unit/Transciever with toggle switch to turn on/off all 4 LEDs and 4 recievers with an LED attached. All powered from a 110v - 5V usb converter. Distance is less than 100 feet. Can you steer me in the right direction of what I would need to make this all work
+Nick Sebring this might help: th-cam.com/video/eVnyPSAefxU/w-d-xo.html
Also, consider that your mobile receiver is getting jacked up by other users of the 2.4GHz band. You could be close to a WiFi router?
Yes, the path I rode goes along beside houses about 40m away, most of which probably have a wifi router.
Great work, sir! You created a standard for people to look up to! I already have a pair of amplified modules. Any chance I could shield them myself? I have adhesive aluminum tape made for chimney ducts or something. Could that work? Or has it to be a tin box? Does it need to be grounded?
Cutter Slade Yep, making some shielding yourself should work fine. Never tried it myself so I don't know how effective you can make it or what the best material would be, but somebody commented on one of my earlier videos saying he had made a reasonably effective shield from some kind of potato crisps bag.... iirc.
This was really interesting video! Thank you. I have a question do you have the wiring diagram you used to wire up the transceiver to the nano with the mini 360 buck??? It looks like you're using the ICSP header pins? And there's no ground connected to the mini 360 buck?? Thanks for your time.
also I have another question, couldn't you use the 3.3v line off of the Nano to control the nRF transceiver? why did you choose to use the Mini Buck??? is there a specific reason to do it with the buck converter?
Thank you for the video!
Really good video....and long hahaha...
The shielded one can work as a transceiver? Or just as transmitter or receiver?
Thanks for making this videos, they've been really useful to me lately... :D
David Porras Yes, they all work as transceivers. They all have the same chip inside, just different packaging and antenna types.
Got it, thanks! (Y)
make a video on nrf24l01 modules with wifi booster amplifier for extending range
Is there a way to view the data in a presentable format? Thanks!
Nice, thanks for your effort!
Hi, can you try more antennas?
Helical antenna, dipole antenna and so on.
There are many interesting antennas
Knuth Helekivi I'd like to try this again sometime in a better location, maybe I'll have a few more antennas by then too. Will need more than 1.5km for helical and patch!!
You're in Tokyo ? Man you speak English REALLY well.
Hmm, i became curious, is that module NRF24L01P with 100 mW power totally compatible with RF24 library like regular NRF24L01 module or not?
Question re the sketch, and packet timings. Sorry if this is obvious. For each radio.write you are doing (with 7 bytes being sent), you have that radio.available loop in the receiving sketch. The radio.write is in the loop, so you are pumping out packets with only the analogRead providing timing gaps between packets. If you hypothetically removed those analogReads in the sending sketch, would radio.available return true all the time? Basically speaking, is it just the delay caused by the analogRead that is meaning your receiver can actually determine the difference between the end of one packet and the start of another?
+Mat Smith I think theoretically you could get a tiny bit more packet throughput by removing the analogReads, but that would not mean the receiver always has a packet available. The nRF module still requires time to do its work of sending and managing the packet buffers, and it still takes time to transfer the packet content between the arduino and the nRF, and packets will still be dropped in transit depending on the environment. The other thing is, if you're not going to be modifying the data you send there is really not much point sending it at all :) If you had a lot of free time you could probably arrange things so that the the loop time on both ends was exactly the same, and then if you decreased the sending rate enough so that the nRF could get everything done between sends, and you have an extremely noise-free environment then you could perhaps make it so that the receiver would _almost_ always have a packet available whenever it checked. But for most practical purposes there will be a difference in loop time on the sending and receiving sides, and the receiver will need to check if there is a packet available.
Hi again ! Thanks for this great comparison ! I am interested in working with the GT-24 2.4G NRF24L01, do you have any idea of its range and quality ? I haven't been able to find useful information about it :(
Question: on every nrf24 transceiver modul (the black ones) I noticed a short between the
GND (outer shielding) and antenna (inner pin) of the SMA connector. Did
you noticed the same?
You use step-down DC-DC as power suplay for nRF24L01 (30:24), but is it possible to use Arduino 5V digital pin for data receive/transmit?
Надпись "5V tolerant inputs" есть на первой же странице спеки на чип.
Kail
спасибо
It would be nice if you integrate the signal strength over distance, to give a clear view on overall performance xD
***** What do you suppose all those graphs are? :) These modules don't have a traditional analog RSSI, the best you can do is measure how many packets you are successfully receiving, which at the end of the day is the only thing that matters anyway.
***** The graphs are visual representation of packets versus distance, haha.
But I'd like to get numbers instead, it's a little hard to compare by eye.
Mind uploading the data u have? Thanks :)
***** It's linked in the description (the .odc file).
how can i print the PPS on my computers serial monitor instead of the android app you made...pls help
Interesting, thanks! But can you clarify: when you're not getting the full 308 packets per second, that means the other packets were lost, right? So there's no internal negotiation between the RX and TX to decide a packet rate that still works? I'm thinking that for single-shot signals (as opposed to sending continuous measurements) you need to transmit hundreds of copies of the packet, maybe some thousands, if you want to make sure it gets received.
+renxula It means that there was too much noise for packets to be reliably understood, so yes, I guess you could say they were 'dropped'. No, there is no negotiation between the TX/RX at all because it's a one-way transmission - the TX is a pure transmitter which just sends as fast as it can and never receives anything. This type of transmission is not really suited for single-shot signals. These modules are transceivers though, and can do packet acknowledgement if you change the settings a little, then the TX will know that a packet was received successfully.
I know it super late message :) but nice work.
I had a lot of problems with the NRF24L01 modules using simple Arduino Nano and Mini modules. The 3.3V pins from these, can't sustain the NRF modules and until i put a separate power or used an adapter module, i couldn't get it to work as in your videos.
One big request: Can you please upload somewhere the code and schema for that receiver thingy that you are using for testing and showing visual data of joysticks?
I have the pieces to make one but i don't know the exact pins you used and what code you have to get visual representations of joysticks and received packets.
Thank you in advance.
With all my videos, any code that I thought was relevant will be in the description links. If it's not there, then for a video like this one now four years old, I have no idea where the code is sorry.
There is no visual data or joysticks in this video, I think maybe you are talking about a different video. For that I used the SSD1306 library from adafruit which lets you draw lines and rectangles. But if you just want to check the values, it's much much easier just to print them on the serial monitor.
@@iforce2d Yes, you are correct. I posted in a different page :) i have a lot of videos from you, opened in multiple tabs.
Do you remember how did you connect the LCD together with the NRF24L01 ? You used I2C for display or some software SPI ? Thank you.
What do you think about the PA ones with ceramic antennas, claimed to be 1100m. Wonder how they compare between each other.
nice video very usefully information, thanks for sharing all that can I get the excel spreadsheet with the results?
+Luis GCU it's at the 'sketches' link in the description (file is nrf24L01ComparisonResults.odc)
That 's what I need. Thanks
hi there i have a E10-433MSI1w but i have no idea how to get it to work ,are you aware of them and can you show how to get it going pls note they are 1 watt output good for long range
and thank you so much for all of your content it is very thorough
this is amazing! . you help me lot
Useful video
thank you! really useful information!
What sort of applications are you using these for. I managed to get 10x for $5 from Aliexpress (I didn't realise it was that many). The ones I have are the PCB antenna model. I found that the were terrible with no antenna but with the 8.1cm ethernet wire attached they were very reliable.
+thehittmann1981 I'm flying quadcopters with them.
I've been thinking of this combo:
Controller: nrf24l01 + 2W wifi booster + antenna tracking based on packet loss count.
Quad: cloverleaf antenna
The aim is to get to distances of at least 5km, also for FPV to survey mountain area.
I'll need the quad to return to me GPS coordinates and altitude...
So on the quad I might have a 5.8g booster for the FPV too.
What do you think?
Do you think a wifi booster can couple with the nrf24l01?
***** If the two endpoints were not moving, you might actually be able to get 5km with a couple of strongly directional antenna (helical etc, not cloverleaf). Since the quad will of course be moving you can't do that though. So the quad will be carrying a 2W wifi booster? Sounds heavy and power hungry isn't it? You would probably be better off looking into lower frequencies like 1.2Ghz, 433Mhz range for that kind of distance. I think the OpenLRS project does what you want, with modules like this: abusemark.com/store/index.php?main_page=product_info&cPath=5&products_id=43
hmm... reading your post again, you say antenna tracking based on packet count. I don't think that will work if you are using acks or ack payloads, because you would need multiple RF modules on the tracker to sense where the strongest signal is, and they would not both be able to communicate with the quad. If you can send back the GPS location successfully you can just use that to track the quad instead.
*****
Great advice!
I'm trying to keep with the NRF24L01 coz I'm more familiar interfacing it with Arduino...
Also, cloverleaf antennas seem to get larger for lower frequencies...
The 2W wifi booster will be at stationary ground,
Although I did found one 2.5W booster module 4*3cm that might work for the quad.
I might use a stacked biquad antenna for the antenna tracker.
Yes, I guess GPS tracking will work well enough.
I'm checking out OpenLRS now...
***** If you want the quad to send back GPS coordinates, then you'll need a similarly high-powered booster on the quad too.
@@nicksonyap With what did you get the best result in the range you specified?
Dear iForce2d
I´m using 2.4 GHz Wireless Module ( E01-ML01DP5 ) and an Arduino NANO with your Cheapass Tx .... and Cheapass Rx software ...
My problem is the connection of the E01-ML01DP5 to the NANO .... CE(pin3), CSN(pin4 ), SCK(pin5), DATAIN(pin6), DATAOUT(pin7), INT (pin8).....where to connect those pins to the NANO ..... Can you help me on that ?? Thanks a lot !!!!
Better to ask this question on the relevant video... I'm sure I mentioned this or it will be in the source code comments.
From your tests, do you think that NRF24/PCB ant could act as a reliable RX, along with the nrf24 PA+LNA as TX?
It looks pretty reliable out to about 500m? Do you know if the PCB ant ver has enough power for the PA+LNA to pick up telemetry from 500m out?
I have flown my quadcopter to about 200m like that, but I think it probably could have gone further. No, the PCB version will not be able to send anything more than about 40m reliably.
BRILLIANT !! thank you
Can you test Helix antenna with nRF24 PA ? I would be glad to see the range results.
Domino SixO Where do I get that from?
I tryed to search on aliexpres and ebay but as i see there is nothing for 2.4Ghz Helical, they are like that : www.ebay.com/itm/9-turn-5-8GHz-Helical-antenna-Circular-Polarization-Best-for-FPV-RP-SMA-UAV-/121498952106?pt=LH_DefaultDomain_0&hash=item1c49e6e1aa some people say you can build your own for 2.4Ghz *****
Domino SixO cool! I don't think Tokyo has enough room to test that though. I couldn't even really test the whip antennas here properly :)
*****
You have need testing the nRF24 module for a long time as i see, what kind of antenna do you sugest for long range and trasciver data? I'd like to send and receive some data from my airplane and have stable connection too, I know that you can change the kbps of the module so what kind of antenna and speed do u suggest to get max range and clear/good controll?
Domino SixO I think if you watched the video you can draw your own conclusions.... all I know is what I showed here. The antenna did not matter as much as the type of module. Definitely get a shielded PA module if you can. Choice of antenna would be dictated by how much movement you expect each end to be doing. If both ends never move you could put one of those helical coil antennas at both ends and have a kick-ass long range connection. If the plane will be mostly upright a whip antenna will be ok. If it will be rolling and flipping around a lot then a clover leaf would be better.
its really amazing video
I have s question if you can help me. I want to send only two states ( 0 & 1) wirelessly, what could be best way to do it? I know I can do it with all those modules but there must be some less complicated way which uses less bandwidth. thank you and good video..
+TheThomas Instructions If you ask me this is the best way, but your question is a bit incomplete. For example if you look at recent videos on my channel you will see you can send a 0/1 status using a laser - but is your situation able to keep a clear line of sight between two non-moving points? What range to you need? etc. The method is not really that complicated - I don't think you will get far trying to do it without "all those modules" :)
+iforce2d 100 m is enough for me.
What's the vendor and part number for the Clover-Leaf Ant?
Also what Regulator are you using and what app did you use?
goo.gl/WcX4Qc
goo.gl/HP3Pci
Link to source code is in the video description.
Thanks for the Links!
Very good job :-)
How did you made the Android program and how did you do to make the android device automatically recognize the arduino AND launch that program ?
+Michel GRIGAUT
Ahemmmm ! Maybe I should have check your links first...
+Michel GRIGAUT it's all a bit foggy in my memory now, but the library that does the interaction with the arduino also lets the device recognize when the arduino is attached. There may be multiple apps on your device that respond to the arduino being connected, if so you will be given the option to choose one of them as the default to use all the time.
+iforce2d
Thanks a lot :-)
Hi! great video!!! im also testing this boards, could you share the config of your modules? i cant get more than 20 meters with PCB antenna!
PCB antenna is not great at the best of times. The only thing I can suggest is to put a cap (about 10uf) across the power and ground pins, if you haven't already.
@@iforce2d ok! thaks a lot! if i use lower baudrate do you think i will get better ranges? thanks!
What is the camera model you use to record your videos? It has very nice quality.
I use a mobius action camera stuck onto my hat for the outside stuff, or my Galaxy S2 phone for still photos. If you're talking about the indoor stuff, I use a webcam (logitech C910 I think). The parts where I'm showing something on my computer is a screengrab of the screen.
Hi,
i thought about indoor - Logitech c910
Thak you!
Well Done! Thank You.
You can use aluminium from a coke to wrap around Nrf24L01 unit.
You're great. Thanks!
great explanation though , ut should have given a direct data summary brauh
I would like to ask you if something changes between shielded chip and others.
At the beginning (3:20) of the video you say something like "I think the components are the same". As you do not talk about it again and i am in doubt.
It is exactly the same program this chip or one of the other unshielded? Or something change?
Can you tell how to setup the nexus7? To read de arduino nano?
Can you share the Android app source you used? Want to keep that as a startnig point for my project
Link is in the description
thanks for sharing this information :D
what do you think is better in range and data sending and reciving between two arduino uno's nrf24l01 or rf 315 MHz
aly safwat Lower frequencies give better range and penetration for the same power output. Higher frequencies give better data throughput.
***** I need range but still I want the frequency that is good that doesn't get interrupted so often so whats better nrf24 of rf 315
aly safwat do some research on the net.... 315 may not even be legal in some countries anyway
Sir I don't have a linux device. The app starts but suddenly closes within 5-10 seconds. Even I wanted to change the location of starting point. Please tell how should I change android sdk.. Also the starting point of tx.
Pls help
Maybe I forgot to mention it elsewhere, but Android programming is not something I'll be giving assistance with.
sir could i change it using android studio software??
I used Android Studio, so there should be project file or something you can open. But I don't remember anything about it now.
iforce2d ok sir. Thanks for your awesome videos. Well can u make a quad copter with brushed motors(not brushless)???
No, I will probably never do that :)
Hello from Denmark.
First off all I like ALL your videos. :-)
Next
Do you know about the ESP8266 module, you can programet it with Arduino and its must more power full than Arduino and have build in Wifi maby that can be used to control a quad copter :-)
Yes YOU have me hock on to start building my own TX and a quad copter, thanks for that :-)
+Allan Madsen yes I have seen the ESP8266 modules, they look pretty neat. Ethernet style connections are a bit overkill for applications like this though, and they usually involve latency inducing overheads to get the packets in order, for TCP at least. I wonder if you can do UDP with that module... in any case the nRF does the job just fine and requires no network or handshakes of any kind.
+iforce2d www.esp8266.com/viewtopic.php?p=16461 :-)
Was just thinking all in one, the Wight,and the more power full cpu and a lot of flash and so one.
Thank you!
wow, thank you man!