This simple chronograph measures the speed of a projectile by measuring the time it takes the projectile to travel a known distance. This is accomplished with 2 IR emitter/detector pairs. Each pair is configured into a beam-break sensor with the output going to ground when triggered. Each of these circuit outputs is attached to a digital IO pin on the Arduino or ESP8266.
Current software uses the CCOUNT register of the ESP8266 which increments at the full clock speed of 80 MHz. This translates to an impressive precision of 0.0125 fps at 1000 fps! This is much improved over the original Arduino version which used the micros() function and was only precise to 4 microseconds for Arduino. However, it's unlikely that the chrono is accurate to this level of precision. Other errors and 'slop' in the design multiply to limit the accuracy of the measured speed to within a foot per second (or so) of the actual speed. Still pretty impressive for less than $40 worth of hardware. Next update should begin to incorporate a web interface (via the ESP8266 built-in WiFi) and possibly also a camera trigger out for high speed photography.
Could anyone confirm where the GATE_ENABLE pin connects to please?