FPV Camera Latency Testing

In this FPV camera latency testing I will share my results on over 20 cameras, also my method of testing camera delay. FPV camera lag has impact on a pilot’s reaction time in flight, and it is one of the most important considerations in selecting FPV cameras.

FPV Camera Latency Measurement

It’s important to understand the latency of a FPV camera is not constant but constantly changing due to processing and limited frame rate. Consistent latency is just as important as total latency. Even if a camera had low average latency, occasional high delays could affect the overall performance.

Other parts of an FPV system might also introduce latency, for example VTX, VRX, and display. Here is my test on this: 5.8Ghz Analog VTX/VRX latency

I compiled the specifications of all FPV cameras for mini quad in this spreadsheet so you can compare them more closely.

This data was taken from the cameras I have, please use these results as reference only. Values are measured 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

HD Cameras:

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

*HD Cameras are measured during recording.

Method of Testing Camera Latency

I will try to explain everything in simple terms, if you want to discuss further please move over to my forum thread.

Why I use what I use?

Many reviewers online use virtual digital clocks/timer on an iPad or smart phone to measure the latency of a FPV camera or HD camera video out.

It might or might not work. I think it is unreliable because the displays and camera all have relatively low refresh rates, probably not on the same frequency so they are not even in phase. For example if everything runs on 60fps, the result could have an error of up to 16.7ms. This is considered significant as the total latency of the Runcam Swift is only 30ms.

In my testing I try to take as many samples as possible for each camera to get the best possible result. (currently around 500 samples at random intervals for each camera)

fpv camera latency testing

Roughly how everything is connected

How it works

In my testing setup, the FPV camera is connected directly to a LCD display. I put a LED in front of the camera and when it turns on, the display brightness will increase. There is a photo-transistor (or LDR – light dependant resistor) in front of the monitor to detect the brightness changes. The time difference in turning on the LED and detection of the light, would be the latency in the FPV camera.

However the display’s latency might contribute some error in the measurements. Since I am running so many samples at different intervals, the results should be unaffected by phase shifts and very consistent in my testing. This data is useful for comparing which camera has the least latency.

The LED and LDR are both connected to the Arduino UNO micro controller, so we can measure the time very accurately. The LED and LDR has delay as well: LED takes time to turn on (i.e. increase brightness from 0% to 100%), and LDR takes time to detect light. From my measurement, the delay is only around 170us, compared to the delay of FPV camera this is negligible.

I connected the camera to the monitor directly, and not using VTX/VRX to avoid extra latency in the system which will add more uncertainty to the results.

Arduino runs at 10KHz sampling rate.

NTSC and PAL

My assumption was that the video format of camera has an impact on the latency. (Read this about the difference between NTSC and PAL)

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 setting.

I found:

  • With the Eagle, minimum latency decreases significantly with NTSC, while average latency shows moderate reduction, but there is little to none difference in max latency
  • This is not the case with both cameras though, the latency seems to be the same with both encoding formats in a different camera

So it seems like the FPS difference doesn’t always make a difference in our latency testing. But why it was different with the Eagle in some cases?

I checked with Runcam, and they suggest the difference in latency could be caused by the camera algorithm, which might perform better with one video encoding format than the other.

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

I wanted to test more cameras with NTSC and PAL, but all other cameras i have are PAL and cannot be changed in the setting. In our latency testing, we always try to use PAL whenever possible since that’s what I personally use.

29 thoughts on “FPV Camera Latency Testing

  1. Banner

    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
  2. Andrew

    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
  3. Eduardo

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

    Reply
    1. Oscar Post author

      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
  4. Flux

    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
    1. Oscar Post author

      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
    1. Oscar Post author

      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
  5. n00b123

    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
    1. Oscar Post author

      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
  6. Davide

    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
  7. Joan Charmant

    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
  8. Sergio

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

    Reply
  9. Ryan Hartman

    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
    1. Oscar Post author

      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
  10. Mario

    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
  11. Fred

    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
    1. Oscar Post author

      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
  12. Darren

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

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).