Arduino Photodiode Input Lag Tester

I have a breakthrough in a millisecond-accurate input lag tester, that is as almost as accurate as using as an oscilloscope and a photodiode. I am creating photographs on how you can construct your own inexpensive Arduino input lag meter. No soldering iron, no no Electronics 101 knowledge absolutely necessary. Just enough DIY skills to assemble hardware & compile a supplied program.

The Arduino photodiode scope (input lag meter/stroberate meter) will be indispensible for my continuing work on the scanning backlight. PC application will be provided. Watch this blog!

EDIT: See the Sneak Preview.


About Chief Blur Buster

Mark Rejhon, the founder of Blur Busters. Read more about him on the About Mark page.

8 Comments For “Arduino Photodiode Input Lag Tester”

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sort by:   newest | oldest | most liked
damiola
Member
damiola

Will be great if we will see some results

damiola
Member
damiola

Great work. Will be great to see measurements at your upcoming reviews.

MrInvisible3
Member
MrInvisible3
MrInvisible3
Member
MrInvisible3

I have confirmed this should be fully compatible with Digispark ($10 miniature Arduino on Kickstarter, now being manufactured for delivery).

Thus, an electronic input lag meter can be built for less than $15 — Only two additional components are required: A 100 KΩ resistor and a common visible-light photodiode.

In addition, the input lag meter may have even further improved accuracy with low-latency Arduino’s such as Teensy, which has less than 1ms latency rather than the 4.1ms latency that’s common on Arduino UNO. I would avoid Duemilanove since they have more than 15ms latency, and this can interfere with the accuracy of input lag measurements.

MrInvisible3
Member
MrInvisible3

I succeeded in highly accurate USB latency averaging (1 to 2 microsecond variance), at least on recent computer systems. ping jitter will be a non-issue for the BlurBusters Input Lag Tester!

I will need to use Direct3D for accurate timing of frame display. My target accuracy is now improved to +/- 0.05ms when putting the sensor on the screen for several seconds. This is an aggressive goal, considering the difficulty of CPU variances, USB latency variances, but I have access to microsecond-accurate system clocks on both the PC and Arduino sides. The VSYNC is an exact synchronous signal that can eventually be computed to microsecond accuracy (using averaging techniques over a long period of many test cycles). “Outlier rejection” algorithms can reject miscalculations caused by missed VSYNC’s due to CPU variances. The limiting factor will simply be how long you feel like holding the sensor to the screen — the longer you hold it against the screen, the more accurate the input lag result becomes!

An unknown is the video cable lag (e.g. VGA cable versus HDMI cable), but the same cable can be used when calibrating the input lag tester to a CRT display, before using the same cable on digital displays.

Another unknown is asymmetric latency within the USB connection (incoming latency different from outgoing latency), but this is constant on average. It will only affect the input lag result if the sensor is used in an uncalibrated manner. The sensor calibration to a CRT display will naturally zero this out. Either way, the same computer should be used, with the same USB cable on the same USB port, with the same video cable, after calibrating the input lag sensor to a CRT display. Changing these variables may affect the +/- 0.05ms accuracy for display-side input lag measurements.

All digital displays should be workable with the input lag tester, including LCD, plasma, OLED, DLP, and LCOS, flat panels and projection displays.

wpDiscuz