FPV Camera Latency Testing

by Oscar

I have been testing FPV camera latency independently and I share the results here. Latency has an impact on the pilot’s reaction time and stick feel, and it is one of the most important aspects in selecting FPV cameras.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

FPV Camera Latency Measurement

Other parts of an FPV system can also contribute to the overall latency, for example, video transmitter and receiver, but it seems to be insignificant compared to FPV camera lag. Here is my testing on this to prove it: 5.8Ghz Analog VTX/VRX latency

The latency of an analog FPV camera is constantly changing within a certain range. Manufacturers tend to brag about their cameras’ minimum latency, but the average latency are usually much higher, and that why third party testing like this is extremely useful.

Values in ms – milliseconds.

Camera Latency (Max) Min Average (500 Samples)
Runcam Swift 38 17 28
Runcam Swift Rotor Riot Edition 37 17 27
Runcam Swift 2 32 14 23
Runcam Swift Mini 34 15 24
Runcam Micro Swift 33 17 28
Runcam Eagle 46 27 36
Runcam Eagle 2 34 15 25
Runcam Owl Plus 25 9 18
Runcam Owl 2 26 8 18
Foxeer Arrow V2 38 16 27
PZ0420M 40 21 31
HS1177 29 10 19
Micro Swift 2 35 19 28
Aomway 650TVL CCD 29 12 22
Aomway 700TVL CMOS V2 23 6 14
Runcam Sparrow (Full, Micro) 24 6 15
Runcam Eagle 2 Pro 34 17 25
Runcam Nano 24 6 14
Runcam Night Eagle 2 35 18 26
Eachine SpeedyBee SEC 43 20 34
Foxeer Predator (Micro, Mini) 24 6 15
Caddx SDR1 48 27 37
Micro Eagle 35 17 26
Micro Sparrow 2 (M8) 24 6 15
Foxeer Monster Pro Mini & Micro 23 5 14
Runcam Micro Swift 3 39 23 33
Foxeer Predator V2 24 6 15
Runcam Micro Sparrow 2 Pro 24 6 15
Runcam Racer 24 6 15
Foxeer Falkor 42 20 33
Runcam Racer 2 24 7 15
Runcam Phoenix 46 22 36
Caddx Kangaroo Nano 22 7 15
Caddx EOS2 Nano 22 7 14
Runcam Nano 2 24 7 16
Runcam Nano 3 21 6 14
Runcam Nano 4 21 5 13
Caddx Ant 21 6 14
Foxeer Razor Nano 23 6 15
Foxeer Toothless 2 Nano 44 26 35
Foxeer Predator Nano 24 7 16
Runcam Phoenix 2 48 21 36
Runcam Phoenix 2 Nano 49 22 37
Runcam Racer 5 21 6 14
Runcam Eagle 3 49 22 37

HD cameras as FPV camera:

Latency (Max) Min Average (500 Samples)
Runcam 1 146 99 123
Runcam 2 64 27 45
Runcam 3, Runcam 3S 51 23 38
Runcam Split (V1, V2) 51 23 38
Runcam Split Mini (V1, V2) 51 23 37
Runcam Split V4 105 64 86
Runcam Hybrid Split V2 20 5 12
GoPro Hero 3 Silver 132 103 117
Mobius 138 101 120
808 Key Chain 103 53 79

*HD Cameras are measured during recording.

My Method of Testing Camera Latency

I see many reviewers use a virtual timer on smartphone to measure the latency of a FPV camera or HD camera video out, which is very unreliable in my opinion.

First of all, the display and camera both have relatively low refresh rates, and they are not in sync either. For example if everything runs on 60fps, the result could have an error of up to 16.7ms. This is a significant error margin because the lowest latency are down to 4 or 5 ms in same FPV cameras.

How it works

My testing setup is simple, the FPV camera is connected directly to a display via AV input.

I put an LED in front of the camera, when is controlled by an Arduino board. The display brightness will change as the LED turns on and off. There is a photo-transistor (aka LDR – light dependant resistor) in front of the monitor to detect the brightness changes.

The time difference between the turning on of the LED and change of screen brightness, would be the latency we measure.

The Arduino runs at 10KHz sampling rate, and I take 500 samples at random intervals in each test.

I love this setup because it’s completely automated using scripts.

fpv camera latency testing

Possible Errors

The LED and LDR have delay as well: LED takes time to turn on and the LDR takes time to detect light. From my measurement, the delay of these components is less than 120us in total, compared to the delay of our FPV cameras, this is negligible.

The display’s low refresh rate however, will be a more significant contributor of additional delay to our measurements. But since I am taking a very large number of measurements at random intervals, the averaged result should be unaffected by the phase shift. I can confirm the results are consistent and repeatable in my testing.

This testing is definitely useful for comparing relative measurements since the error will be the same across all data samples.

NTSC and PAL

My assumption was that the video format (NTSC/PAL) has an impact on the latency.

NTSC is 30fps while PAL is 25fps, but because they are interlaced (in every frame, odd lines are drawn before even lines), which gives them a real fresh rate of 60fps (16.7ms) and 50fps (20ms) respectively. So in theory NTSC should be 3.3ms faster than PAL.

I want to verify if NTSC is really faster than PAL, and the Eagle is very handy as I can easily change video encoding in the settings. So I tested the Eagle (CMOS) and Eagle 2 (CMOS) under PAL and NTSC.

Here’s what I found:

  • With the Eagle, minimum latency decreases significantly with NTSC, while average latency shows moderate reduction, but there is little to no difference in maximum latency
  • The above finding didn’t apply to the Eagle 2 though, the latency seems to be the same in both NTSC and PAL

I checked with Runcam, and they suggest the difference in latency could be caused by the camera algorithm, which might perform slightly better with one video encoding format than the other. In this case, the Eagle 1 is faster in NTSC while the Eagle 2 works slightly better in PAL. But video encoding itself doesn’t necessary make a noticeable difference in latency. Therefore to keep things consistent, I will stick to PAL whenever possible in my testing.

Camera NTSC/PAL Max Min Average
Runcam Eagle 1 NTSC 45 17 32
PAL 46 27 36.0
Runcam Eagle 2 NTSC 33 17 26
PAL 34 15 25

Edit History

  • 2017 May – article created
  • 2021 May – updated article with some more cameras

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

36 comments

Peter 2nd July 2020 - 1:22 pm

Hi Oscar,

If I understand well the “old” method to measure latency with a screen cause higher values in results but never cause lover. Is it right?
I ask it because I bought a Fatshark Scout goggles and I can’t fly with it. I feel the low reactions so I decided to make a compare test with my old EV800D vs Scout. It was a surprise because the EV800D has 10-20ms and the Scout has 50-60ms in the same test. (144Hz monitor + stopwatch, Mobula6 in front of it and both goggles at the same time and I took some pics/video)

How is it possible to get this low latency with the EV800D? Or Mobula6’s VTX and Nano3 camera is that good? Or this not accurate measure methode can produce better/false results?

Do you plan make some goggles latency tests? I would be very interested. Especially the old good EV800D’s result.

Thank you for your time to make reviews and test!

Reply
Ivan 28th June 2019 - 8:06 am

Where is Runcam Robin test?

Reply
Kevin 31st January 2019 - 10:27 am

Hey, Can you please help ne. Im asking my self if the foxxer falkor is to slow for a aggressiv Freestyle Pilot? 42ms? Right now Im flying a eagle2pro und a swift2 but im looking for the best picture quallity… greetings.

Reply
Oscar 10th February 2019 - 8:22 pm

it depends. I personally can’t feel the difference.

Reply
Niek 23rd August 2018 - 3:57 pm

Any chance you can test the Runcam 3s too? Or it’s basically the same as the 3?

Reply
Oscar 28th August 2018 - 4:37 pm

same as the 3

Reply
Banner 23rd March 2018 - 9:41 am

Why havent you tested the Foxeer Monster? This is for all the beginners out there that need to see it has much higher latency than lower tvl cams. They use it without know that they are getting about the same quality as 600tvl as that practically what analog video can get through the 5.8ghz bandwidth.

Reply
Oscar 1st April 2018 - 12:27 am

It’s been tested, see Monster Pro (V3).

Reply
Vayu 30th August 2018 - 5:42 am

The test shows the Monster as having one of the lowest latencys.

Reply
Andrew 18th January 2018 - 3:07 pm

Hi Oscar,
Really nice work here, I’m impressed.
I have a question about the HD Cameras (the runcam split for example). Are these CCD or CMOS, or something else? When the camera has a ribbon cable attached to the board these are usually HD cameras, but what is actually going on with the sensor and the board? are these digital compared to analogue?
Sorry if this is a noob question.
thanks,

Reply
Oscar 29th January 2018 - 12:10 pm

All HD cameras you see in FPV are CMOS.
For the differences in CCD and CMOS see this post: https://oscarliang.com/cmos-ccd-fpv-camera-multicopter/

Reply
Eduardo 14th January 2018 - 11:08 am

Os love to see the results for the TBS zerozero and Foxeer Predator!
They both claim new firmware and really low latency!

Reply
Oscar 16th January 2018 - 3:53 pm

I have tested the Predator, see results above :)
I asked one reseller to send me the TBS zerozero for review, but they said this product will cease production soon so there is no point of reviewing it, so I guess it doesn’t matter what they claim now :) although I don’t believe in “zero” latency at all.
15ms average latency is possibly the lowest we can go currently.

Reply
Flux 1st January 2018 - 6:54 pm

Hey is there a chance you can update this with the new Caddx cams too please? The new S1 is outperforming my Swift 2 on both colors and light handling by a considerable amount. I was surprised actually as I thought they were just going to be clones in a different colored case….

Reply
Oscar 3rd January 2018 - 1:53 pm

I’ve contacted Caddx about reviewing their cameras, but they don’t appear to be interested.
I will add their camera to the list whenever I can get hold of some samples.

Reply
Twisted2aT 16th November 2017 - 10:36 pm

Oscar, hope you can get your hands on the Foxeer Predator Mini for latency and overall review soon.

Reply
Oscar 18th November 2017 - 7:51 pm

I am happy to test one if Foxeer send one in.
I asked them about reviewing their cameras a few times before, but they don’t seem to be interested.

Reply
n00b123 13th November 2017 - 7:04 pm

I like your method but one thing to think about is that the processing done by the camera could be content/image dependent. With a mostly monotone image some processing may be skipped or accelerated. The results might vary with a more representative input signal. No idea how to test this.

Reply
Oscar 18th November 2017 - 7:30 pm

Just like any other testings done in this hobby, motor testing, antenna testing etc… there are always so many different variables and it’s simple impossible to cover everything. This is not perfect, but I found it to be one of the best methods of testing cameras so far. Though I am open to ideas how to improve the test if you have any.

Reply
Thibault 7th November 2017 - 7:46 am

Hi Oscar, any plans to include the Rkuncam Split V2 in your analysis ? Thanks!

Reply
Oscar 12th November 2017 - 4:24 pm

Yes, soon! :)

Reply
Henrik 13th September 2017 - 1:22 pm

Hi oscar,
link for Aomway 700TVL CMOS V2 is wrong

Reply
Davide 27th August 2017 - 9:30 pm

Hey, just wanted to link to a method I first talked about a year back: fpv.blue/2016/07/glass-to-glass-video-latency-is-now-below-50-milliseconds

Reply
Joan Charmant 17th August 2017 - 1:30 pm

Nice setup. Beware of CMOS camera with rolling shutter as this will interfere with your setup.

There is another approach that has been proposed in the Augmented Reality literature: have a pendulum swinging back and forth in the field of view of the camera. Then using a second camera, film both the pendulum and the screen display.

Now using a motion tracking method or manually, record the horizontal position of the pendulum: once directly visible, and a second time on the LCD screen. Fit sine waves to the recorded values. As we know the position of the pendulum describes a sine wave. Between the two measurements the amplitudes will be different, but the period will be the same. The phase shift between the two waves will be the latency. This method is supposed to be very accurate and can measure very small latencies independently of the refresh rates because of the sine fit that allow recovering of the missing data.

Reply
Tweak 7th July 2017 - 10:00 am

Please test a Connex Prosight in HQ/HP/H+ modes!

Thanks.

Reply
Oscar 10th July 2017 - 5:59 pm

that’s a whole FPV system including VTX… not really just a fpv camera testing. :)

Reply
Sergio 24th June 2017 - 2:02 am

Hello Oscar,
Really interesting test. I would like to know the latency of HS1177. Do you know it? I would appreciate. Thank you

Reply
Oscar 25th June 2017 - 7:50 pm

sorry i don’t have the HS1177. But I guess it should be similar to the Swift.

Reply
Sergio 26th June 2017 - 12:45 pm

Thank you :)

Reply
Ryan Hartman 20th June 2017 - 12:08 am

I’m curious what settings you used for the HD tests? I’ve seen some data that the runcam 2 in 720p120fps mode runs about 25ms of latency. I don’t have the equipment/know how to test this myself, but I feel like I am able to discern a drop in latency perceptually when using 1080P60 vs 710P120. I was hoping that you might be able to shed some light on that, and if the runcam split supports a similar mode, maybe that would be good to see also. My PC monitor is set to 120FPS so recording in 720P120 is an acceptable tradeoff in resolution for higher framerate footage and lower FPV latency, if the difference is actually real :)

Reply
Oscar 25th June 2017 - 4:25 pm

I run 1080p 60fps or the next best settings on the HD camera while recording.
I don’t see any point of running low resolution on the HD camera :) for 720p I might as well just record my DVR LOL

Reply
Mario 16th June 2017 - 9:48 pm

Hi Oscar, great setup and measurements! I hate the limit of 16.66ms we have I measuring latency of the cams.
Please take a look at my video from today. I tried to take out the lcd of that equation using a osciloscope. Like in your setup i use a led with a switch. I probe this as curve a and probe also the video cable as curve b. On the osci I also literally saw the ntsc frame with.
youtu.be/Wz36GJC7gd0
Greets from Austria, Mario

Reply
Fred 8th June 2017 - 10:39 am

Would love to see the Foxeer Monster v1 and v2 added to your test!!
I remember reading that it was known for being on of the fastest camera at the time when I bought the v1.
Would also be interesting to add the type (ccd vs cmos) of sensors and the size of the sensors in the comparison table

Keep up the good work !

Reply
Oscar 12th June 2017 - 4:38 pm

only if someone send me a sample to test :)
can’t justify spending $40 for a camera just for testing latency.
At the moment only Runcam is kind enough to send me samples…
I will work on adding the sensor type soon, thanks for the suggestion!

Reply
Darren 30th May 2017 - 11:52 am

Great job. Are you able to add the Connex prosight in HP and HQ modes to this. Would be an interesting comparison

Reply
Oscar 30th May 2017 - 11:56 am

Maybe in the future when I get one for review :)

Reply