Author Options:

Competition Shooting Timer made with Arduino Answered

I have only begun to use Arduino in the last few months, and my skill set is still somewhat lacking.  I can easily build the circuit that I need, however programing is still difficult at this point.  Especially trying to write my own program from scratch.

I am looking for help to make a Competitive Shooting Timer for IDPA competitions(international defensive pistol association).  In my head it should use a piezo speaker as a microphone on a digital input, have a couple LED's for currently working and ready status, an LCD screen that shows the time lapsed since the first shot occurred to the hundredths of a second, and a push-button to stop the timer.

Any help would be greatly appreciated!!


Feel free to fork my code if you like:


I was able to look at both of the speaker options that you posted links of, and they are way too large for what I have in mind. I shooting timer like this is supposed to be handheld, and mobile, being handled by the range master who follows the shooter on a coarse run. The timer that I posted a link of is not much bigger than cellular pagers of old

This is the flow that I was looking for:

Turn power on

LCD reads "Ready To GO", green LED on

Gunshot initiates timer sequence, orange LED flashes until Stop Button is pressed. LCD counts upward until the Stop Button is pressed

Stop Button being pressed stops the timer, and the flashing orange LED stops flashing and becomes solidly lit. LCD readout "Your Time


Press Ready Button, LCD reads "Ready To Go"


To emit sound you may need something like a fire alarm buzzer or a low-frequency siren.



You can make a triggering mechanism using a solid-state relay or a mosfet, and then connect whatever sound-emitting device you find suitable. I've used an indoors siren for one of my similar projects, but outdoors you need a very loud 1-tone low-frequency buzzer.

For the microphone circuit you need an op-amp to boost the signal to proper levels (it should output 5V when a loud shot is fired, so you need to implement gain control at least for the first prototype). This way you won't have all the delays associated with ADC initialization and acquisition speed, which means your timer can be made even more accurate.

About details : mostly I need functional specs, like what it does, how accurate it should be, what should it be triggered with, what data must be displayed etc.

even with the percussion of a large caliber firearm?

What kinds of details can i provide for you?

Send me some more details on this project and I'll try to figure out the solution.

Right now I can tell , that using piezo-buzzer as a mic won't give you the required signal strength to use it as digital. You have to amplify it by using an aftermarket LM358-based module, or making your own circuit with whatever opAmp you like (like OPA2134 for example). Even with an electret mic you have to use an amplifier.