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

This data was taken from the cameras I have, I cannot guarantee the same performance on other cameras out there. Please only use these results as reference.

I will add more cameras to this list in the future, feel free to bookmark this page.

It’s important to understand the latency of a FPV camera is not constant but changing all the time. Consistent latency is just as important as total latency. Even if a camera had low average latency, occasional high delay could affect flying.

Values are measured in ms – milliseconds.

Camera Latency (Max) Min Average
Runcam Swift 37.8 17.1 28.5
Runcam Swift Rotor Riot Edition 36.5 16.8 27.0
Runcam Swift 2 31.6 13.7 23.2
Runcam Swift Mini 33.8 14.6 24.0
Runcam Micro Swift 32.9 16.6 27.6
Runcam Eagle 45.5 27.2 36.0
Runcam Eagle 2 33.8 15.2 24.6
Runcam Owl Plus 24.6 8.7 17.6
Runcam Owl Plus 2 25.5 8.1 18.1
Aomway 600TVL CMOS I burned it by feeding 3S lol
Foxeer Arrow V2 37.6 16.4 27.2
PZ0420M 39.9 20.6 30.7

HD Cameras:

Latency (Max) Min Average
Runcam 1 145.6 98.8 122.9
Runcam 2 64.1 26.5 45.2
Runcam 3 50.9 23.1 37.6
Runcam Split 51.3 23.2 38.0
GoPro Hero 3 Silver 131.5 103.3 116.7
Mobius 137.5 101.0 120.3
808 Key Chain 102.6 53.3 78.8

*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 would contribute some error in the measurement. Since I am running so many samples at different interval (unaffected by phase shifts), the latency would become fairly constant in my testing. Probably not the most accurate absolute values, but as long as I am using the same setup for testing, the results should be relatively correct. The data should be most 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.2 17.4 31.8
PAL 45.5 27.2 36.0
Eagle 2 NTSC 33.4 16.8 25.7
PAL 33.8 15.2 24.6

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.

6 thoughts on “FPV Camera Latency Testing

  1. 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
  2. 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
  3. 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
  4. 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 don't look at blog comments very often (maybe once or twice a week), so if you have any questions related to multirotor please post it on this forum IntoFPV.com... You're likely to get a response from me faster on there.