2

Can the NRF24L01+ (+PA +LNA) be used for video transmission?

I want to build a quadcopter that would provide video surveillance; how possible is it to use the NRF24L01+ module for video transmission using raspberry pi?

ahmetertem
  • 424
  • 1
  • 5
  • 18
Bruce130
  • 31
  • 1
  • 4
  • 1
    Looks like it's been achieved using h265 here https://youtu.be/9N1uRcvZzq4 Currently looking into it for your same purpose – LollosoSi Apr 13 '23 at 13:24

3 Answers3

3

Looks implausible to me. There are some video clips at letsmakerobots.com that illustrate the sort of performance you might expect, which looks like 320x240 at about 1 fps. They used it for a slow moving ground based robot - I can't imagine it would be fun to try to pilot a quadcopter at that frame rate.

The product page suggests that the chip may be capable of up to 2Mbps. By the time you've added up overhead/packet loss/etc. you're not likely to achieve usable results.

goobering
  • 10,730
  • 4
  • 39
  • 64
2

I've done some experimentation with the NRF24L01 for exactly this. Using the python API & auto-ack/retransmit etc, I got about 6500 bytes/s! Absolute garbage for video.

So I tried again using a C program & all settings tweaked/disabled to squeeze every bit of perf & optimization out of it I could get. I finally got 1.7Mb/s out of it, and I got about 300 feet away with lots of obstructions before any drastic packet loss.

Next step - how to get a decent frame rate on the 320x240 PiTFT, 16 bit color. That's just over 2 frames a second at 1.7Mbit. With interlacing & skipping every 2nd row, you can get about 11 FPS. You could quantize further too if you didn't mind going a bit more retro to be a bit more responsive.

It is possible, but it's the wrong tool for the job :D it's a great low powered module for sending & receiving reliable data, but kind of unsuitable for streaming HD. I hope to write a blog about my bot one day, I really should cover how I did this.

nevelis
  • 121
  • 2
  • Note that the 1.7Mb/s is one-way only. To have input going the other way required lots of... awkward synchronization, filthy compromises & bad dreams. – nevelis Feb 07 '17 at 07:27
0

I suggest to take a look into WiFiBroadcast instead.

It uses COTS Wifi dongles , uses error correction and has many advantages if you only need to send :

https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/

flakeshake
  • 6,235
  • 1
  • 14
  • 33