Skip to main content

DIY Airsoft Chrono [PC-based]

Chrono or Chronograph, the term used by Airsofter and Paintball players to refer to the device that measures the muzzle velocity of firearms. This is also called MVMD, short for Muzzle Velocity Measuring Device by the British Army. Muzzle Velocity is the velocity of the bullet as it exits the barrel of the firearm.

A year ago I was an active Airsofter in Iligan who's more interested in modifying and improvising AEGs (Automatic Electric Gun) rather than playing airsoft. I have made my AEG susceptible to high current burns by using locally available MOSFETs. I have improved velocity by replacing cylinder gaskets and spring. I have increased the rounds per minute by altering the armature windings of the drive motor. And most of all, I have made my own cheap alternative PC-based Chrono.

I have posted an artivle before that details the development of my chrono but unfortunately the online forum was hacked/deleted by webmaster of due to some violation in the contents. So, I'm re-posting it here now. ...thinking... (dont know how to start).

Okay, the idea started when I read about Jim's Homemade Chrono on the internet plus the desire to know how my AEG is doing in terms of muzzle velocity. Measuring the velocity is elementary physics. We measure velocity in terms of time and we measure time in terms of velocity. Think... think... think... Maybe this is the reason they call this device chrono (latin for Time).

The chrono i made was PC-based, meaning it requires a Personal Computer to work. It cost me about only 2.00$ for the components. Its basically a LPT port (Printer port) device which makes use of 2 infrared photo transistors and 2 infrared LED as bullet sensors, and a junk umbrella. What this device does is measure the amount of time it takes for the bullet to complete a travel to a definite distance, in this case (4 inches).


Soldering Iron, Mini Drill (for boring circuit board holes), Multi-tester, Circuit board, a couple of beers for the brain and of course, an Airsoft Gun (AEG).

I also used a universal printed circuit board to save time etching some copper clad for a very simple circuit like this.

How it works?

The schematic is pretty simple. It is composed of a pair of basic transistor switching circuit. The purpose of this two switch circuit is to tell the computer the a bullet has passed/detected at this location at a very specific time. Below is the schematic diagram of a single swithing circuit i used.

I designed the circuit ingenously so that it will not require external power source. The whole circuit gets its power from the PC's parallel port output pins. Sweet...

The IR Photo Diode emits an infrared light which will be received by the IR Photo transistor which serves as bullet sensor. Both are positioned in a way that when a bullet passes in between, the Phototransistor stops receiving IR signal for a bit by blocking the IR light. It then switches ON one pin of the parallel port making that specific BIT set to 1.


I got my IR Photo transistor and IR Photo Diode from an old junked wheel mouse. Wheel mouse has two pairs of this. One for the X and one for the Y axis so the wheel mouse is the perfect donor.

The barrel that serves as guide for speeding BB bullets was got from another junk. An umbrella stem. I decide to use the length 6 inches so that the conputation for Feet per second will be simpler and accurate. I then drilled two holes for the two pairs of IR tansistor and IR emiter as a bullet sensor position 4 inches apart form each other. This will make computation for feet per second easier because 4 is a factor of 12 inches (1 foot).

I then bought a couple of general purpose small power transistors to serve as the final switching element as it is indicated in my schematic. The lucky transistor is the C9013, an NPN small power transitor which is very common in local electronic shops.

Hardware Assembly

Connecting the components together in a circuit board as it is in the schematic diagram above, the result is a cute weird device. I reserved a space for the barrel at the center of the circuit board. The C9013 transistors are positioned in the image as the small black half-round pegs. I made use of hookup wires to connect the components together.

I then positioned the drilled barrel (umbrella stem) in the circuit board in a way that the phototransistor and photo diode will see each other thru the side wholes of the barrel. Then i soldered the barrel in to the board.

Then by attatching the printer cable using the correct pins to the base pins of the C9013 transistors, you now get the complete hardware part of the project. The speeding bullet sensor.

The Software

The software was written in C# over .NET framework 1.1 and is using a native library inpout32.dll which was written in C++. What this software does is to listen to the sensor for any signals. There are two type of signal that the hardware will send. One will tell the software that the bullet has passed thru the first sensor and the other one will tell the software the the bullet has passed thru the second sensor. The software will then record the exact time(in microseconds) these particular signals are received and do the velocity calculation.

From the unit itself we can already derive the formula. The unit is Feet per second which derive to the formula Velocity=Distance/Time. In my case the distance is fixed which is always 4 inches. The only variable we need is the time which can be derived by subtracting the particular time sensor 2 was triggered from the exact time sensor 1 was triggered.

Easy right, but the trick is how to make your software very fast enough to captre the presence of a speeding bullet to upto 600 feet per second. If i can stil remember, i made use of the .NET's performance counter to do this. This utility is designed to measure performance of your code but this i made it as part of the function itself.

The software was first witten as a .NET console application for the sake of simplicity. Or maybe i was just too excited to test that i cannot wait for a user interface to delay the development. :)

Testing the Project

I tested the project with a non-modified(stock) china made AK47 so that the resulting velocity is expected. And bingo! This is the result:

Although this software is running on an AMD K6-2 500 MHz with a 1GB RAM, it still performed like it was designed. But I did a few calculations and determined that with this machine (500MHz), only about 600 to 700 FPS is the maximum detectable speed. So what, everyone has a Pentium 4 anyway at the time I made this project. And also, with gearbox v2 or v3 you cannot make your airsoft gun go beyond 1000 fps anyway. How much more now with processors like ADM Turion or Intel Core 2?

After I have proven that it was possible to make a personal chrono for less than 2$, i then made a windows -based version of the application to enahnce the level of user friendliness. The only user of this sofware is just me anyway.

Even though I don't have this device with me now, coz i left it to a friend in iligan after i relocated here in Manila, you're still free to leave suggestions for improvement. I might make a better one someday...


  1. Nice work sir! Try to convert it to a USB interface and you'll be having a good business.

    Keep up the good work!

  2. You only need Php180 to convert this to USB device. There are available USB to Parallel/Parallel to USB cables at CD-R King.

    Click here

  3. Nice one sir! Do you intend to make your software and schematics available to the public, either free or commercial? Thanks.

  4. Nice work. I am trying to duplicate your results but the optics seem to slow to catch anything above 250 fps. Although I am using photo transistors from the shack. I also tried changing the resistors to vary sensitivity but still cant get much. Any suggestions?

  5. Hi pbasic... it might not be the optics that's slow. Maybe you have too much IR light emitted. You can check it if you have a Webcam or a camera phone. Camera's can see infrared light. Should strategically position the IR transistor against the LED in a way that only a very little amount of IR light is received and that any small disturbances like a BB bullet will stop the IR transistor from receiving the IR light. I used a masking tape for calibration by covering parts of the hole or the transistor itself.

    Good Luck!

  6. hello!Congrats for the work done,the hardware and the software part!I was searching for a diy chrono,till i found your schematic:simple and efficient.I need a chrono for a local airsoft club,a non proffit org. I can build the hardware part,but i cannot write not even 10 char of software code, so i want to ask if you will let us use your program.We do not sell airsoft guns,or other devices like chronograps,we just badly need a device to mesure the bb speed.Thanks in advance,Greets from Romania!

  7. this is an amazingly helpful/simple guide... i am going to look for the parts and try this out.

    but! i wonder, with a slight modification to the software, couldn't this also measure bb's per second? (the firing rate of the weapon, for full auto AEG's/gbb's)

  8. Sure you can! That will be a lot easier to measure than the speed of the bullet. Just make your own software do the job. No hardware modifications required. You only need to read from one sensor and measure the time between bullet passes on one sensor. You'll then need to get the mean(average) time of fire intervals and that's your rate of fire that can be measure in rounds per second or to what ever unit you want.

  9. hello sir
    first , i would like that ur program is amazing ,but i made the tooles , but i didn't find the software to finish the program
    can u help me in all of this ? if u don't mind ? this is my mail if u want to send me
    wish my best wish
    peace world

  10. hellow man!!!! fantastic your program , but how we can get to the software, i am a paintball player and buy in my country (chile) a chrono its to expensive the circuit is very easy to do but a C++ programation o my god i dont understand nothings !!!! please helps us

    see you..

  11. you are a geek pre lol

    i am doing another version of this. thanks for the idea. i hope it will be a success :p

  12. brigs... grabe ka genius jud ka dah... musta naman ka? ayaw kalimti ang lab sa MSU-IIT labi na ang IACET... hehehe... IACET grad ko daun BSIAM grad pod... nasalaag lang ko aning imo blog kai plano ko mag dula pod ug airsoft... hehehe.. godbless BRO!

  13. this is great! very unselfish of your for sharing!

  14. brigs...ngau ko sa codes... pwede e.mail lang?..

    albaran ni...


  15. good morning,

    i am very interested in building your chrono, i already build jim's homemade chrono, had used audicity as the software. is there anyway i can download the dos software your wrote, i am from paranaque, and a airgun/airsoft hobbyist that does my own gunsmiting!! thanks...

  16. Hello

    It looks like your photobucket account was disabled. We can not see any photos. Could you please reactivate photo display.

    Thank you

  17. hi sir.. im interested ab0ut y0u diy chr0n0.since its gunban ive decided to do thir project. the only thing lacking is the software. : ) is there any way where i cud d0wnl0ad ur d0s software? my email: thanks a l0t!

  18. hello, i am 14 years old and i am in to the hobby of airsoft. I completely understand electronics and your circuit, but i have not started learning code. Could you please post your code?

  19. this is a stunning idea i would love to know how to make the software or where i can buy a copy
    anyone got a copy please email me at

  20. Hai Ross, it's brilliant idea to make this chrono...I have been making simple chrono too, inspirated by jim's chrono and I think it need to much time to calculate space time beetween the first Pulse wave to the second Pulse wave in Wave Editor. Sometimes it's difficult to determine the top of the pulse because the limit of sound card frequency sampling.
    If you don't mind I would very appreciate if you share your made software to my email address:, thank you.

  21. Come visit the ultimate airsoft store now open 5 days a week! When purchasing airsoft guns it's important to select a dependable Airsoft Store that staffs knowledgeable airsoft players.Fox Airsoft is The Ultimate Airsoft Store. We carry professional airsoft guns, tactical gear, upgrade parts, and more. Our retail airsoft store is located south of Denver, in Parker, Colorado.
    Airsoft Store

  22. Barrister Global Services Network, one of premier provider of IT solutions, printer repair , Printer Service, managed print services, Barrister Global Services. Printing services as printer repair and Managed Print Services are among the best services provided by barrister.

  23. Hi Mate

    Excellent work with the chrono! im no master at code writing so im wondering if you could send the code to me at then i would be very greatful!

  24. Hi Mate

    Im from Poland and i wont to download schematics and software can you send me it ?

  25. Nicely done! I'd like to give this a try. I can take care of the HW side, but can you send my the SW Salamat Po!

  26. Hi, i was looking for a good chrono and found a low fps chrono with a cardboard box and audacity, but it just isn't accurate. can please either post the gui (the windows based user friendly software you made) or e-mail it to me? it would be greatly appreciated.

  27. Hi,
    I have a group of friends, that once a month make a paintball game milsim gender. Since we just do this for fun, we don't wanna spend money on a chrony. So this project of yours will be very helpful, but there's the software problem... If you may email me the software, i would be very grateful. My email is
    Thanks in advance.

  28. Hi, can i try this software? Please send me at
    Thank u so much!!!


  29. Thats really awesome! My kids are huge into airsoft and I would love to make this for them!

  30. Nice work dude! Try to convert it to a USB interface and you'lltotally be in business!

  31. Hi, I am making the same. I have the script Mph/kmh/fpt including name/time/date and result. The planned cost is only $4.99 - its far better than a photo diode as that has speed restriction. I can take range up to 350mph at the moment in a 2m span (Measurement distance). I am in pre-beta stages, doing some additional testing for the beta release. This will work with your mobile phone (i-phone & Android)/Laptop or PC.

    So far this is 2-3 times more accurate than current Chronograph's, the accuracy is in m/s. The script is expandable so has future additions, and will get updates. It will save a huge cost and allow everyone to afford a chrono, and more.

    Looking for beta testers, e-mail me to be on the list

  32. hi sir, can i try this software. this is my email


  33. Is there any slim chance you could send me a copy of the C# coding so that I could try some things out

  34. brigs.. asa naman ni imo g buhat naa pani sa iacet lab? .. ngau ko sa imo software brigss.. pwede.. email lang sa ako.. daghan salamat...

  35. wala na koy copy sa software ani. I also lost he hardware when i moved to Manila.

  36. Is there any slim chance you could send me a copy of the C# coding so that I could try some things out Email:


Post a Comment


Disable PrintScreen on C# without Keyboard Hooks

Yes, there is a simple solution to prevent grabbing information on your C# application screen with the keyboard's printscreen key without using keyboard hooks or calling COM interops. The solution makes use of Windows Forms Message Filter to trap keyboard events on your application window.

To trap keyboard events with Windows Message Filter, you need to implement the IMessageFilter interface and override the member PreFilterMessage(ref Message WM) method. This is the method called whenever a Form receives a keyboard or mouse event. You may want to read more about IMessageFilter.

The problem is that even though you have trapped the PrintScreen keypress event, the captured image will still persist to the clipboard. Therefore the simplest solution is to clear up the clipboard right after the PrintScreen is pressed on the keyboard.

This is how the overridden method will look like this:

publicbool PreFilterMessage(refMessage WM)
Keys kCode = (Keys)…

DIY Mic Shock Mount

For the past couple of weeks I was looking for a cheap microphone shock mount and the cheapest I saw that was available in my country was around US$160 so I decided to build a cheap one. I only spent less than $6 and a 2 hours of my not very precious time.Before I left office today, bought materials and tools to for my DIY shock mount which are a piece of 4”-diameter PVC pipe coupling ($0.50), a set of hair ties($0.40), set of stove bolts ($0.50), a set of coping saw frame and blades ($2.5).First, I decided to cut the PVC coupling so it would look like Rode SM3 shock mount’s frame.Then I used the section of the PVC coupling that was removed to be a attachment brace to the original mic holders base and bolted it to the base of the frame. I had to heat that part so could bend it to a desired angle.And then cut slots on the edges for the rubber suspensions (hair ties). Right after positioning the suspensions, i found a problem. The rubber bands slip every time i attempted to position the…