Create a low-cost Paintball Chronograph for less than $40!

A ballistic chronograph is a device that records the velocity of a projectile. This particular chronograph I have made has only been tested with a paintball gun and it is relatively simple to make. I have also implemented a function that can record the rate of fire at which a device is firing.

Seeing as you will be using a device that shoots projectiles at high speeds to test this chronograph, use your head and be smart. Follow all safety procedures and guidelines that pertain to the use of the paintball marker or other device that you are using to shoot projectiles.

Step 1: Electronic Requirements

Although this chronograph is pretty easy to build, a basic understanding of electronics and soldering skills is essential. The most trouble I had with this project was making the PCB. I use the toner transfer method, but that doesn't produce very nice boards when your laser-jet printer needs a new cartridge. The board itself has some spots that are pitted and doesn't look too neat, but it gets the job done. If you aren't able to make your own PCB's, one can just use some perfboard and point to point wire everything together.

Here is a list of the following electronic components required:

- 2x 47µf Electrolytic Capacitors
- 2x 0.1µf 0805 SMD Capacitors
- 1x 0.01µf 0805 SMD Capacitor
- 1x 0.01µf Ceramic Capacitor
- 2x 27pf 0805 SMD Capacitors
- 2x 10kΩ 0805 SMD Resistors
- 2x 2.4kΩ 0805 SMD Resistors
- 2x 470Ω 0805 SMD Resistors
- 1x 150Ω 0805 SMD Resistor
- 2x 100Ω 0805 SMD Resistors
- 1x 4.7kΩ Trim Potentiometer
- 1x 1N4148 Diode
- 1x LM7805 5v Regulator
- 2x TSOP4838 IR Detectors
- 2x IR Transmitters
- 2x Female 2-pin Molex Connectors
- 2x Male 2-pin Molex Connectors
- 1x 5-pin Header
- 1x MMMBT2222A General Purpose Transistor
- 1x 12MHz Crystal
- 1x Tactile Switch
- 1x Rocker Switch
- 1x PIC18F13K50 SOIC Microcontroller
- 1x 16x2 LCD Display
- 1x 9v Battery Clip

Most of these components I had already had on hand, but I would estimate the cost of this project to be around $30-$40. I have not shown any of the SMD components (except for the PIC) in the photo below.

I have gone and posted print screens of some places where you can buy the components. Some components couldn't be bought as 1 or were cheaper in higher quantities, that's why you may see some extra parts in the pictures. Many of the parts can be bought at a good price at www.dipmicro.com. I will tag the cost of each product in the photos below. With all of these parts, not including the board, it came to $38.11 to purchase all the components for this chronograph with all shipping included except for the PIC18F13K50 bought at Digikey. Then it would be a couple more bucks for the PVC pipe. Also, if you want to save $3.39, you can buy 16x2 LCD Displays on eBay for $2.99 including shipping.
@Regax, how much would you sell a working one for?
Check the code, even if it compiles, it can never work! <br>Either fix it or delete this mess.
You sent me an email in which you stated the chronograph always says you are shooting at 16960 fps. This happens when neither of the IR receivers are seeing the IR transmitted signal. Double check that your IR transmitters are PWMing at 38KHz. If the outputs on the 38KHz IR receivers don't change when you obstruct the view of the IR transmitter, that is your problem. Apologies for not getting back to this post sooner.
Gran trabajo, pienso intentar poder contruir uno, peor me gustaria saber si a parte de darme los fps, podria darme los m/s y julios.<br><br>&iquest;Como podria programarlo? Gracias por todo un saludo.<br>
Has conseguido respuestas con el tema del cronografo?
Hola Sadstorm, estoy interesado en contruir un cronografo como el del amigo Regax, tu lo has conseguido? <br>Gracias? <br>
what is the maximum fps you think it can detect? I want to build this for my airspft gun but it shoots over 500fps (not sure exatly how much) but I need to know it it will even work. thanks.
Very good project, i'd like it, please, can you tell me the correction for reading the velocity in m/s, thanks.
Considering the size of the paintball relative the ID of the pipe are you worried about back pressure slowing down your paintball? I would assume it would have some effect on your measurements because aerodynamics are different.
Is There a reason the .pdf files are blank, can new files be uploaded of saved to another site.<br><br>I will be building this and the layout files would help a lot.<br><br> Cheers
I'm not sure if users without a &quot;Pro&quot; membership can view PDF files (This was brought to my attention a couple of months after I had already created this instructable). I'll create a zip file with all of the contents required for the project and post it in the last step.
Thanks for this. I just finished building and testing. Didn't like the SMD componnents so I built it off you schematic with the old fashoned parts :D Works great...now I was thinking of redesiging the sensor to have a wider field for use with a firearm. works great with my paintball guns.
That's awesome! Glad this instructable helped you build your project! I'm not sure how a person could make a wider field for use with a firearm. You could make a line of IR transmitters and receivers, but you would have to make sure that the transmitters have very narrow viewing angles so the stray light does not cross into the path or another IR detector. Let me know if you find out a way to do this. Good luck!<br><br>Cheers,<br>Regax
I was actually looking at motion detectors something like this from radio shack..<br>http://www.radioshack.com/product/index.jsp?productId=2906724<br><br>PIR Sensor Module then limiting it's field of vision to a slit.
Regax well done mate but it all went right over my head !!!<br>it totally ment nothing to me<br><br>how about i buy that one of you ?? ;-)
Interested in possibly using this to chrono airguns (.177/.22 cal.) as well as .68 cal. paintballs. Any idea as to the maximum FPS this chrono can detect?
Hi I would like to know wich other PIC can I use to build this amazing chrono?!!! is just that i cant find the 18F13K50 at my city.
Well you would want a minimum of 11 I/O pins, a hardware PWM module, at least one 16-Bit Timer, the higher its operating frequency the greater its accuracy, so I would recommend a PIC18F that operates at a speed of at least 10MIPS (40MHz) to get pretty good accuracy. Also, I use one external interrupt for the RoF mode, so that would be an asset.<br><br>Here is a nice program from Microchip that will narrow the results down to based on what you need in a PIC. <br><br>A pretty common chip that you could use would be a PIC18F2455, however you will have to modify the driver files for that device or else replace my driver files with microchips driver files.<br><br>Cheers,<br>Jeff<br><br>
:( I think I will keep searching for de 18f13k50 because I'm not too much experimented on this things so .... I could get lost in this.
Well if you purchase online at all, you can check out Digikey or buy them straight from Microchip at http://www.microchipdirect.com/ProductSearch.aspx?keywords=PIC18F13K50. When you do purchase them, make sure you purchase them in a &quot;SOIC 300mil&quot; package type if you plan to use my PCB. If you are just breadboarding buy a &quot;PDIP&quot; package.
The link didn't show up, sorry, the PIC Chip Selector is located at: http://www.microchip.com/productselector/MCUProductSelector.html
Your instructables is very good for your first one! Great graphic and explanation.<br><br>If you have better lighting when you take those electronic and tools pictures, it would look even more pro! CFL lighting works great. (coolwhite or daylight) You can also play with the setting of the camera before taking a picture.<br><br>Keep it up!
Thanks for the tips! I'll be sure to take that into consideration for my next instructable.
Excellent instructable! Very well thought out! Would the diameter of the tube make a difference in the reading? I would love to have a shot counter for when I play airsoft.
Thanks! And nope, the diameter of the tube does not matter. You could use a smaller tube and as long as the airsoft bullet manages to break both IR beams it will work the same as this one does.
I'm not accusing anyone but im pretty sure this was stolen from somebody's post for a measuring the velocity of a coilguns projectile. I'll update when i find the website.
This is soooo cool!! You should sell them, make some $$, haha!
This is really cool! about how much does it cost to make one?
I just bought all the components from Digikey for $60. Add another couple for the board and I had to buy some etching liquid but you can do it all for around $70 in real life. Figured I'd throw that out there
Ya making the PCB will up the cost if your don't already have the materials to make one, I had everything on hand so I just estimated the cost. The majority of my stuff is bought off of eBay, which in some cases is much cheaper than Digikey's parts. Just look around for parts, eBay is great for hobbyists that don't need high quantities of supplies.
I just went and found the cost of all the components at 3 different websites, DIPMICRO.com, eBay.com and Digikey (only for the Microcontroller) and it came to a full cost of $38.11 for all of the electronic components. I have posted all of this information in step #2.
Kinda figured it's possible to find everything for cheaper, I'm just a fan of one-stop shopping. Thought I'd just give an estimate for anyone looking to buy everything.
The only shipping that I didn't add up was the PIC18F13K50 from Digikey. Of course, shipping could cost you more or less, it is totally location dependent. But you are right, it is much less hassle to order everything from one place and get all the parts delivered at the same time. I find eBay has much slower shipping than most other sites such as Digikey. Good luck on your project! Feel free to post pictures when you've got it all finished.
Plus when you add shipping, it starts to add up.
Create a low-cost Paintball Chronograph for less than $40!
very good, will try to modify for airsoft or airgun use! thanks
If you're modifying it for air gun use, seeing as the pellets are so small you may have to decrease the intensity of the IR beams or make a barrel where the beams are more &quot;concentrated&quot;. <br><br>To decrease the intensity of the IR beams you can add larger resistance values for R4 and R5. Or else you may be able to decrease the PWM frequency from 38KHz to something a bit smaller, which will decrease the sensitivity of the IR Detectors. If you go too low though, they won't detect a beam at all. <br><br>Cheers
great! will do as you suggest, also i am planning to use a smaller pvc pipe or tube, i was planning to use a umbrella stem or old tv antenna elements..
Good idea! Feel free to post pictures of your prototype when you get it made!
Hey great Instructable! <br>I like how easy and straight forward it is! <br>But I have a question, you write &quot;The PIC is setup to run at 48MHz. It takes 4 cycles to perform one instruction...&quot; I think one instruction is like one loop? One time going through the whole script? How did you find out how many cycles it takes to run the script. Is that a given characteristic of the PIC or is it depending on the length of your script and how complex it is? <br>Well thanks a lot. <br>keep it up <br>Shah
Not quite, I should have watched my wording a little more carefully. Let me restart:<br><br>An instruction is like a command, it allows you to tell the micro what you want it to do. Normally, one would think that if this micro was running at 48MHz, it could execute one command every clock cycle, which is equal to 20.83333ns (1 / 48MHz). However, that is not the case. I won't go very deep into it, but due to the way that the microcontroller is built, it takes 4 clock cycles to perform one instruction cycle. That's how we get 12MIPS, (1 / (20.83333ns * 4 clock cycles)). Now every instruction that the microcontroller can use takes at least one instruction cycle, some take more. <br><br>For example, If I wanted to turn an 'active high' LED on that is located at RB0, I could write this:<br><br>PORTBbits.RB0 = 1; <br><br>That is 'C' code. This is a higher level language, which means it is easier for the programmer to use. All a C compiler does is it converts your &quot;easier to read and write&quot; C code into Assembly Language Code. An example of what the above C code would convert to in ASM (Assembly) is below:<br><br>BSF PORTB,RB5,A<br><br>This instruction tells the microcontroller &quot;Set bit #5 on PORTB high&quot;, which would turn on the LED. If you look in the PICK18F13K50 data sheet (link added below), starting on page 309 is the detailed part of all the ASM instructions. Here you can see how many instruction cycles it takes to perform any of the listed instructions. The above &quot;BSF&quot; instruction only takes one instruction cycle, which is 83.3333ns with this projects configuration. So you could go and look at the disassembled C code for this project and figure it out by hand how much time a section of code will take to execute, or you could do like me and just use the MPLAB simulator. <br><br>Its kind of confusing to wrap your head around I know, but if you don't fully understand it, you can just use the MPLAB simulator and its stopwatch which will do all the calculations for you.<br><br>Heres a link to the datasheet:<br>http://ww1.microchip.com/downloads/en/devicedoc/41350c.pdf<br><br>Sorry for the long, confusing explanation. I don't know if this helped, I am a bit better at explaining things in person haha<br>
How did you find out how many cycles it takes to run the script. Is that a given characteristic of the PIC or is it depending on the length of your script and how complex it is? <br><br>Sorry I missed this last part. The amount of time that it takes to run your code is totally dependent on how large and complex your program is. More instructions mean more instruction cycles which means more time is needed to execute everything.
For time critical sections interrupts can be used so the timing section is run outside of the main loop.<br><br>Plus, there is what if I remember right, imperial timing, where you know the number of instructions, hence time it takes to get from one point in the program to another. Its typically frown upon, but for smaller programs where it won't branch or interupts, it can be used carefully.
Nitpick: you're measuring speed, not velocity. There's a difference.
You are right, unless I was to state the direction in which the projectile is traveling it is speed. Should have remembered that one from physics haha
Sorry, I know nobody's going to be confused because you said velocity, I just can't help being pedantic.<br><br>And I feel bad that I forgot to mention: awesome project! As a paintballer, I know how frustrating the chronos at the field can be, especially in the morning, when they're cold. Nice job!
No problem! I appreciate feedback like that. I for one can't stand when people don't capitalize any sentences or have terrible grammar, so I know where you're coming from. Thanks for the review!
i want one. make me one.
I would for the right price, however, the price of making it yourself would be much cheaper. So I'd recommend doing that haha
i understand. :) i am just lazy and really want one of these, and also lack the skill to make one. have you tested it with bullets fired from a firearm?

About This Instructable


167 favorites


More by Regax: Interactive LED Beer Pong Table 2.0 (BPT X5) Laser Cut Wooden Jewelry Box Interactive LED Beer Pong Table
Add instructable to: