I'm building a laser target with photoresistors and a 90FPS camera (which will probably become CPU bottle-necked) and when yesterday I went to shopping I just saw a barcode scanner and begun thinking: "Well, these things are relatively cheap in terms of hardware(ignoring the software), are bloody fast, and are excellent detecting patterns of black and white when illuminated by laser light", then I recalled that mouse sensors work the same way, and questioned myself if there is a much simpler and more effective way of building the target with those.

Can one of such sensors be used to detect red laser light hitting a white surface (with a blackish circle on the middle) a few centimeters away? Since they take hundreds/thousands of frames each second, I'll assume that they can detect 10 laser pulses in 15~25ms, correct?

How hard is to use one of those for DIY projects?

Since you are electric engineers (and know the stuff) is there any other way to do it? A camera+photoresitors will probably work (working on it), but it feels hackish and is not in compliance with the official sport regulations (unable to tell if its one solid shot or 10 short pulses at every shot). How would you do it?

EDIT: Forgot some specs. This is a target that can be used in competition (Modern Pentathlon): enter image description here

Its sides are opaque and the front is only slightly opaque so the light can go through. It is about 20 by 20cm, and 25 thick, but some simpler targets are as slim as 5cm. The lasers have a 630nm to 650nm wave, 3.5mW intensity, and the maximum of 1cm dispersion at 10meters. The target needs to have the maximum of 100ms reaction time, so photo-resistors should be enough, and it needs to tell the location of the shot with 0.5mm precision at the very edge of the black circle (to distinguish an in from an out), some separation should do the trick.

Can you guys tell what is that target made of just by looking at it? It is hugely overpriced (800€-950$), since the low end targets (that only distinguish in from out, and give no position) are made with a diode and a controller cost almost 300€(~350$). I'll assume that the real cost is about 200€, what can be done with 200€ worth of electric material?

  • \$\begingroup\$ "official sport regulations" ? \$\endgroup\$
    – brhans
    Commented Jul 30, 2015 at 17:22
  • 1
    \$\begingroup\$ Not sure what you want, but photoresistors are slow. Photodioes are fast... maybe you can use a small solar panel as the detector... (is this outside or inside?) \$\endgroup\$ Commented Jul 30, 2015 at 19:49
  • 1
    \$\begingroup\$ I would suspect that each of the concentric rings has a single photodiode and that they are constructed as light guides, so that a hit anywhere on the ring will produce a signal on the corresponding diode. Or maybe each ring is in four sections (top, bottom, left, right) still with a separate photodiode for each. But this is a wild guess. Manufacturing such a thing may not be that easy unless you have facilities to mold plastics. And, do not think of it in terms of frames per second. It is probably analog, with response time on the order of microseconds if not faster. \$\endgroup\$ Commented Jul 31, 2015 at 0:19
  • 1
    \$\begingroup\$ Another way to do it is indeed to use a camera. The trick is to use two cameras and have the integration time of one overlapping the readout time of the other, so that there is no dead time. This way you are guaranteed to catch every shot, provided that the cameras are sensitive enough to observe the laser pulses at all. The electronics are more complex with this approach than using the plastic rings and photodiodes (and some programming is certainly required), but the physical construction is probably simpler. \$\endgroup\$ Commented Jul 31, 2015 at 0:24
  • 1
    \$\begingroup\$ The high cost per unit is most likely because there is not much of a market for this product, so development costs are not amortized over a large volume as it is for typical consumer products. So, I am not sure if it is really overpriced, as such--to design and manufacture something of commercial quality takes a considerable up-front investment of money and effort. It is probably not realistic just to look at the cost of the components and materials. \$\endgroup\$ Commented Jul 31, 2015 at 0:36

1 Answer 1


This is all speculation because I am not familiar with the device in question, and I am actually not an electronic engineer either. But it does not seem too difficult in principle.

To detect 1.5 ms pulses, practically any photodiode will do that can detect red light with reasonable efficiency. The bandwidth only needs to be 10 kHz or so. You can even use a phototransistor for a larger signal level without having to use a separate amplifier. (Although, I would not suggest using a photoresistor. They are more expensive than photodiodes and phototransistors, and have poor sensitivity and response time.) Detecting the pulse train does not need to be spatially resolved--either it is detected and the target is hit somewhere (which will prompt a position readout), or it is not and there was no shot or a miss. The spatial resolution can be accomplished separately if necessary.

You can do this in two ways, as I see it. Either you can construct the target so that its sections lead to a signal on a corresponding photodiode, or you can use a camera.

You could have the front part be a plastic molding with annular light guides for each of the concentric rings. A hit anywhere on the ring would then propagate through the light guide and be detectable by a suitably placed photodiode or phototransistor. If a hit falls across two different rings, the relative intensity falling on each ring can be used to give a more precise location estimate. In this case, because the light is confined to the light guide, one would have to make arrangements for all guides to also be connected to the pulse detection circuit. Of course it is possible to do the pulse detection separately on each ring, but duplicating this function does not seem to be necessary to the design.

Another approach is to use a camera to locate the shot after having detected it in another fashion. You do not need to have a high-frame-rate camera to accomplish this, because the frame rate does not define the shortest event you can detect, but rather the shortest time that you can measure between any two successive events. I sometimes use an ordinary CCTV camera to observe (infrared, thus invisible) laser radiation when I align pulsed lasers. These pulses are not milliseconds, but nanoseconds in duration. There is no problem detecting them provided that they fall within the frame integration time of the camera.

However, (most) cameras do not integrate continuously. Rather they integrate for a fixed period, and then read out, during which they are not capable of detecting anything. In order to avoid the small chance of missing a shot due to it falling within the readout period, it would be advisable to have two separate cameras, where the integration time of one would overlap the readout time of the other. With this method you could also accomplish a limited form of pulse detection, because the spot would be visible in two successive frames (one from each camera) and then be absent. (Or maybe one or the other camera would miss it, and it would only appear in one frame. Either way, it can still be identified as a pulse.)

Any cameras with frame rate sufficient for your required response time would be suitable. A typical board camera with an M12 lens would probably be quite appropriate. The M12 lens may be preferable over a fully integrated lens for its larger aperture, and thus higher light-gathering ability (hence sensitivity). These are inexpensive and small enough that there is no obvious problem with mounting two of them side by side in the enclosure. The frame rate used in practice should be such that each frame fully contains one shot, but not so long that it would lead to a slow response. So, a frame duration of about 50-100 ms seems reasonable. Having captured the image, one must of course be able to process it to give a position readout. I expect this will be the limiting factor for the response time, but practically speaking, if the readout is given in under a second, it does not strike me as being a problem. You can give feedback (e.g. by making the target flash or sounding a buzzer) as soon as the pulse is detected but before the position is determined, if you prefer an immediate response.

My suspicion is that the deeper (25 cm) target uses a camera, simply because of the practicalities of observing the full target using a camera mounted very close to it. One would need a very short focal length (fish eye) lens to do so, which is either expensive, or introduces a lot of distortion, or possibly both. The thinner (5 cm) target probably does not use a camera, but something more similar to the ring light guide arrangement.

Finally, even though it is not difficult in principle, do not underestimate how long it will take you to make this. I suppose it will be at least some tens of hours unless you are exceptionally well equipped to begin with. At some point, it will be more economical to simply buy the target rather than making it yourself. This fact, and the rather specialized nature of the product and resulting limited size of the market, probably accounts for the high cost of the commercial targets in relation to their likely materials costs.

  • \$\begingroup\$ Great answer! :) Didn't knew about the camera frame time at all. I assumed the exposition time would be a constant across framerates and way smalled than the frame time. Right now Im sort of equipped, have the plexi, laser modules (till september when will be able to test with a real gun), raspberries, a camera module, fresnel lens to play with, and I'm waiting for photo-resistors and an Arduino to play with the light. Will also look out for the correct diodes to use. So far only ~80€ out of the 800, the remaining 720€ will be OpenCV programming time :p You're awesome ;) \$\endgroup\$
    – SOMN
    Commented Jul 31, 2015 at 15:52

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.