The VLT - Video Latency Tester

The VLT is a tool to measure how long it takes (in milliseconds) for a video signal to change from one state to another.

Similar projects worth following
Consider a person pressing the next slide button in a Windows PowerPoint or Apple Keynote presentation. How long does it take the hardware/software to process the button press and display the next slide?

In any live broadcast or presentation the lower the latency, the better. For example, if people are at a concert signing to words on a screen, the projectionist needs to advance the text on the slides to the next screen of lyrics with sub second accuracy. It is no useful if the projectionist hits the next slide button, and then the hardware/software takes too long to change the slide. By no fault of the projectionist, the band is already at the next chorus while the singers are momentarily waiting to see their next lines on the projection screen; timing is everything!

This project is based around a simple Arduino circuit, a VGA Loop (switcher), and a computer mouse module. The mouse module is plugged into the presentation computer, and is used to progress a slide on a Windows PowerPoint or Apple Keynote presentation. When the button is pressed a timer in the Arduino is started, and the slide changes from a Black slide to a Green slide. The analog voltage of the Green VGA pin is monitored. When the voltage on this pin changes, the timer is stopped, and the resulting time measurement is displayed on the mini OLED screen.

Below is a screenshot of the schematic:

Source code and compiled binaries of the Arduino sketch are available from the 'Files' section of this project, or on GitHub:


EAGLE Schematic file

sch - 49.73 kB - 09/14/2017 at 06:33



Compiled binary for the ATmega328 IC chip with the Arduino bootloader

hex - 30.84 kB - 09/12/2017 at 01:21



Compiled binary for the ATmega328 IC chip without the Arduino bootloader

hex - 30.12 kB - 09/12/2017 at 01:21



Arduino source code

ino - 731.00 bytes - 09/12/2017 at 01:21


  • 1 × ATmega328P MCU
  • 1 × 16Mhz Crystal
  • 1 × 5V USB Voltage Regulator
  • 1 × Computer mouse module Extracted from an unused wired mouse
  • 1 × 128 x 64 OLED Display Module SSD1306 Chipset

View all 8 components

  • Fooling the Display Adapter

    Nathan Daniels3 days ago 0 comments

    I needed a way for the computer to ‘think’ it was plugged into a display or projector. Initially I tried to read a voltage directly from the VGA output of my computer, however this was not possible for me. To solve this I used a Kramer VP-211DS. This piece of equipment is designed to be a VGA switcher. It also amplifies the signal as it runs from a 12 volt wall socket power source. The switching mechanism of the Kramer VP-211DS is not used in this project, as its sole use is to power the video signal and allow the computer to output a VGA video feed. Any other device that causes the laptop computer to detect a display can be used for this project. Future hardware changes of this project may wish to eliminate to VGA Switcher altogether by constructing the circuitry needed for a dummy display to initialise.

View project log

Enjoy this project?



Nathan Daniels wrote 09/12/2017 at 01:49 point

It should be interesting to see how background tasks on a computer affect the latency of a slide change. One might expect that if the CPU is running computational heavy tasks, the time it takes to change the video signal is increased?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates