Testing Video Transmission with Various nRF24L01 modules

As eluded in the resource page about sending video wirelessly via a pair of nRF24L01 transceivers, I wanted to do some range & speed tests using different versions of the nRF24L01 modules. This is the first of hopefully many experiments in to these radio modules.


Setup & Method

These tests were aimed at comparing the performance between a set of standard nRF24 modules with the PCB antenna, a set of standard modules with a capacitor soldered to the power pins, and an nRF24 module with the build in PA+LNA and 80mm ‘duck’ antenna. I’ve written more about how to get these modules working here.

The test was conducted with the receiver in the house, on the desk, and the transmitter at the far end of the garden. This gives an approximate straight line distance of 16-17m with two masonry walls breaking the line of sight.

I believe the figure encircled in cyan is me cutting the hedge.

The method was set that the transmitter would be started in the ‘normal’ horizontal plane for 15 seconds, before being turned 90 degrees about one axis for a further 15 seconds, before a final 90 degree rotation.

To ‘standardise’ the test, first plane would take a photo of the sky, the second photo would be of the house, and the third photo would be of the closest fence to the side.

The receiver would remain on the desk, tethered to the computer via a USB cable. The serial monitor would report the number of data ‘chunks’ received, and how long it took to receive them. This data was used for analysis.


Test Results

A total of 6 different configurations were tested. As each test was ran for 45 seconds and there is a 2.2ms transmission time, then that limits the test to a maximum of 20 frames.

As each frame consists of 5120 chunks of data, and there is a nominal 27 bytes of overheads per chunk, we can determine the maximum total amount of data that should be received during a single test is 2,416,640 bits. From this we can work out the average data transfer speed and data loss.

The results are shown in the table below, and it’s clear to see that the winner is using a PA+LNA module for the transmitter, and a PCB module with a capacitor for the receiver.

Analysis #1: Capacitor Vs No Capactitor

The upper graph plots Test 1 (in blue) with two PCB modules with a capacitor against Test 5 (orange) which is a pair of PCB modules with no capacitor.

As you can see, only 5 partial frames were transmitted by the module without a capacitor, resulting in an overall 99.7% data loss. Using a capacitor decreases this loss to 79.9%, which is still pad.

The bottom graph shows the a pair of tests where the transmitter was using a PA/LNA module. The difference is between the receiver with a capacitor (blue) compared to the receiver without a capacitor (orange).

Analysis #2: Constant Transmitter

The top graph shows when the transmitter is a PA/LNA module and the receiver is changed from a PCB with capacitor (blue) to a PA/LNA module (orange).

Counterintuitively, the PCB module does better as a receiver in this test. Looking at the drop out of the central section of the PA/LNA line would indicate that orientation is important.

The bottom graph shows the same test, but where the transmitter is a PCB module. The overall results of this is poor, and worse at different orientations – although the PA/LNA receiver does show slightly higher rates of transmission.

Analysis #3: Constant Receiver

This analysis is similar to above, but keeping the reciever as a constant and changing the method for transmission.

The upper graph shows that the PA/LNA is better at transmitting than the PCB module (with capacitor).

The lower graph lends more credence to the fact that the PA/LNA module is a better transmitter than the PCB module (with capacitor).


Conclusion

From this, we can see that the ideal combination is to use a PA/LNA module as transmitter, and PCB module with capacitor as a receiver. The other key takeaway is that orientation of the aerials is important.

I’m aware that there are many other variables that were not controlled during this experiment, not least the fact that I’m a fat sack of capacitance, so standing close the transmitter could have beneficial/negative effects.

I hope to do more tests in the future to test the absolute range. I also have some shielded modules which I would like to test out.