Input lag testing is difficult. What seems like a simple task, often requested, involves a lot of nuance, understanding and equipment, but most of all time.
I have been testing input lag for the better part of a decase. Despite no background in programming or electronics, I've been able to make a number of different systems work to provide increasingly sophisticated results in less time.
One point to make up front, there is no perfect method for input lag testing. Perhaps in the future, if 1000fps capture with good resolution becomes commonplace I can revise this statement. In the meantime, different technologies help with different problems. I will try to outline the advantages and disadvantages to each system in the relevant pages.
Across all of my testing, the central controller remains the same. I have used an Arduino as the system that controls timing for inputs sent out to the controller, and where required also read the results coming back. My current setup is an Arduino Giga with touchscreen attached. There are a number of cheaper and potentially faster solutions available, however I greatly appreciate the analog pins on the arduino devices, which as missing in several other microcontrollers. Also being a known brand, it would mean if anybody wants to follow my testing they can do so.