This is an airgun pellet trap:

airgun pellet trap

I fire small metal pellets at it (4.5mm = .177" in diameter) at up to 120 m/s = 390 fps.

What are my options for detecting the X / Y position at which it enters the target?

Does it make it easier if I only need to know the distance from the center? (the score)

Right now my pellets are lead-free, but not ferromagnetic (they don't stick to a magnet.) If I were to get ferromagnetic pellets, would I have more options? Some inductive or otherwise electromagnetic effect maybe?

Right now I can think of:

  1. A camera mounted on a tripod, that would compare successive pictures and detect any differences on the target paper. Downsides: it would need decent computing power (at least a Raspberry Pi) and it would probably miss a pellet passing right through a hole carved by the previous pellet. It would also not work as well against the black bands.

  2. Two laser or CCD scanners, such as repurposed barcode scanners, mounted along the target edges at 90° to each other. Downsides: the optics would have to be tweaked in the case of CCD; they would probably need a white reference background on the other side; and they would have to be very fast, because the pellets are moving very fast.

Any other ideas?

Can I use antennas mounted along the edge, to detect some kind of electromagnetic effect? What if produce an electromagnetic field? Would the metal pellet interact with it in any noticeable way? Would a ferromagnetic pellet do so?

Can I use two supersonic distance detectors, mounted at 90° to each other? Can they detect such a small object, traveling fast?


4 Answers 4


A circular coil around the outer perimeter of the target generates magnetic flux: -

enter image description here enter image description here

The flux density is at its minimum (but not zero) in the centre and as you approach the coil perimeter the flux density increases.

If the current were an AC current the peak flux density would be \$\sqrt2\$ higher compared to the DC case. However, a big difference is that (due to eddy current induction) any conductive material will alter the coils inductance as it passes thru. So, if you arranged for the coil to be part of an oscillator (preferably in the output stage so it has more AC) you can tune the coil with a capacitor and detect the frequency shift as a pellet passes thru. The bigger shift will be as the pellet approaches the coil periphery.

Clearly, a bigger pellet would also generate a bigger frequency deviation too so it needs calibrated for .177 0r .22 pellets differently.

Use some form of frequency detector to produce a dc blip (demodulated) and the size of the blip is proportional to how near or how far from the coil edge you are. One down side is that outside of the coil there needs to be something to prevent stray pellets registering as within the loop. You want to have a decently high frequency of probably a few MHz so that the detector can register several tens of cycles changing as the projectile passes thru.

At 120 metres per second gut feeling tells me it will start to register something when the coil is perhaps 50mm away from the coil so maybe there is a sweet spot distance of about 10mm where the frequency changes most. At 120 m/s, 1m is travelled in 8.333 ms so 10mm is a time period of 83.33 us so maybe 83 cycles of 1MHz might be acceptably detected but at 10MHz it would be better.

This will only require a 1 turn loop with a few hundred pF of tuning.

It's do-able.

I used to design pharmaceutical metal detectors looking for metal contaminants in the pill production. It used 1MHz and could detect particles as small as 0.25mm diameter (ferrous and non ferrous but not stainless steel). It had a square coil of about 100mm by 35mm so it was a tad smaller than one for a target but if you consider that "detection levels" are proportional to mass and mass is proportional to distance cubed then it should be OK.

A .177 pellet can be assumed to be a 4.5mm diameter sphere - this is 18 times bigger than 0.25mm and therefore its mass will be 5,832 times bigger and the signal will be 5,832 times bigger roughly.

  • \$\begingroup\$ This is great! Thank you. It will take me a while to figure out the circuit for a 10MHz oscillator using an inductor (I can't even get this to work) let alone how to measure its frequency with an Arduino. If you can link me to any existing circuit or CircuitLab that would be great. Otherwise it's back to Practical Electronics for Inventors :-) \$\endgroup\$
    – Tobia
    Commented Apr 2, 2015 at 21:21
  • 1
    \$\begingroup\$ learnabout-electronics.org/Oscillators/images/… this is a colpitts oscillator and should be OK - experiment with your coil but stick with a single turn to keep resonant tuned currents fairly high. I think yout inductance will be about 200nH. \$\endgroup\$
    – Andy aka
    Commented Apr 2, 2015 at 21:52
  • \$\begingroup\$ Thanks again. I tried it here and a 200nH inductor, with all other values unchanged, gives me a signal of about 4MHz. That should be fast enough to reliably detect the pellet, but low enough to be directly measurable by the Arduino Frequency Counter Library. I'll post a followup as soon as I get something working. \$\endgroup\$
    – Tobia
    Commented Apr 2, 2015 at 22:54
  • \$\begingroup\$ Coolio that was quick but good luck and cone back if any problems. \$\endgroup\$
    – Andy aka
    Commented Apr 2, 2015 at 23:33

You could try a set of microphones arranged around the path of the projectile.

I once saw a target drone that used a series of microphones to detect the miss distance of the rounds flying past it. In this case the rounds were supersonic so their sound was a bit louder and sharper edged than yours, but the principle might still work.

To explore this idea you could obtain two small electret microphones, bias them correctly, and test with a digital storage oscilloscope. If you don't have one, you could also connect them to your computer sound card (line in, so you get Stereo). Mount them on a stick, say 30 cm apart, make an audio recording at your highest sample rate, and fire a few pellets over them in various positions. Look through the WAV files with Audacity, and see if 1) there is a useful impulse, and 2) if the time of arrival difference corresponds to the different paths of the shot.

330 m/s divided by 44 kHz is 7.5 mm, so if the microphones have enough bandwidth, I think you have a chance of detecting the position with the sound card.

If you see good results with a sound card, the next step will be to design a detector circuit that can reasonably accurately detect the sound impulse, producing a simple low->high transition on its output. It could be as simple as a high pass filter, amplifier and comparator. Then make at least 3, but better 4 or 5 of these, arrange the microphones around the target, and connect them to your Arduino, to do the timing. You only need relative time, and only a resolution of perhaps 10 us, so an Arduino is perfect.

Then it's just some maths, probably on your PC rather than the Arduino, to figure out the position of the pellet in the microphone array.

A few small thoughts : Watch out for the sound of the rifle itself triggering the detectors - maybe a software gate that only records the second set of pulses? The detector circuit must reset quickly and not stay On top long. Also, watch out that your detector circuits don't read loud sounds earlier than softer ones - this would make the range calculation less accurate. Apart from making the detector better at picking up the peak, you could space the microphones further apart, not just at the corners of the target. Keep the microphones well forward of the target so you don't have sound reflections from the cardboard.


You could use a "rubberized" membrane matrix of closely spaced contacts (similar to a keyboard). Depending on the resolution accuracy you need, you could use a 10 x 10 or 100 x 100 wire matrix. By electronically scanning the contacts you would be able to determine where the pellet hits.

  • \$\begingroup\$ Wouldn't the pellets ruin it? What design do you have in mind? \$\endgroup\$
    – Tobia
    Commented Apr 10, 2015 at 8:09

You have already cited the most practical and simplest solution, a camera, but it seems that you have seen the forest and no trees: the point is that there are all kinds of cameras, and you show your experience NOT to include the kind you need: a high-speed camera. A typical camera takes one picture when you press the button one time. A more expensive camera can be equipped with an automatic winder (for the old-style FILM-based cameras, now nearly obsolete) and the winder will open the shutter and take another exposure as soon as the film has advanced to the next frame. But a HIGH-speed camera, one which is NOT film-based, can take an almost-unbelievable number of pictures per second, clear up into the range of 20,000 exposures per second OR MORE. THIS is your solution, if you can afford it. It will, of course need to be electronically synchronized with the TRIGGER on the pellet gun, and that dictates that both the pellet gun and the camera are automatically initiated. The camera would start taking pictures a little before the shot is fired, and careful aiming coupled with (I expect) an automatic focus (Or a very wide-field) will track the projectile from the time it leaves the barrel to the time it hits the target. All you have to do is play it back and watch the record. And it won't even matter if the current pellet goes through an OLD hole in the target. YOU SEE IT, no matter what happens. Now the bad news: although this is the simplest, most effective solution to your problem, it DOES NOT COME CHEAP. Only you can decide how much it's worth to you to have absolute certainty about the trajectories; I expect the HIGH-SPEED camera you need (a-la-Mythbusters) will cost many thousands of dollars to buy, and many hundreds of dollars to rent for a short time, IF you can find someone to rent you one (Does FLUKE make cameras? They DO rent electronic equipment, or at least they used to); but it's a DANDY of a solution to your problem, if you can afford it!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.