Picture of Laser Shooting Game
This laser game is a simple project that utilizes an Arduino mini. All target boards have an Arduino, sensors, and servo control ports. Shooting the target center triggers the servo and the board falls flat.

Remove these adsRemove these ads by Signing Up

Step 1: Step 1:What you need

Picture of Step 1:What you need
PCB layout.jpg
20130817 SCH.png
Bill of material:
1. Shooting Target board PCB (attached gerber file)
2. Servo
3. Photo diode x 3
4. IR transmitter x 1
5. IR receiver x 1
6. 9014 NPN transistors x 3\
7. Pins and socket
8. Arduino Mini x 2
9. SMD components (Caps, resistors)
10. CD
11. Target board graphic (CD size)
12. Toy laser gun

Step 2: Step 2: Soldering

Picture of Step 2: Soldering
Assembly all components on the PCB.

Step 3: Step 3: Prepare the target board

Picture of Step 3: Prepare the target board
Cut out the and stick it on the CD by glue
The diameter of the CD is 120 mm and the inner diameter is 15 mm.

Step 4: Step 4: Glue the PCB on servo arm

Picture of Step 4: Glue the PCB on servo arm
Use the hot glue gun to glue the assembled PCB on the servo arm.
Please reserved some space between the servo and the PCB. As the servo chassis may collide with the PCB during servo arm moment.

Step 5: Step 5: Stick the target board on the PCB

Picture of Step 5: Stick the target board on the PCB
Use hot glue gun to glue the CD (target board) on PCB

Step 6: Step 6: Tidy up the cable

Picture of Step 6: Tidy up the cable
Connect the servo with the PCB.
Shorten the servo cable or tide the cable with string.
Please reserved some cable length for servo movement.

Step 7: Step 7: Upload the firmware

1. Install the IR remote library and complie the arduino program
2. Upload the firmware to Arduino mini

Step 8: Step 8: Modify the laser gun

Picture of Step 8: Modify the laser gun
1. Open the laser gun
2. Cut out the PCB
3. Replace the PCB with Arduino Mini
4. Solder the power wire to Vin and GND
5. Solder the laser diode wire to Pin 3 and GND
6. Solder the sound trigger wire to Pin 13
7. Download the firmware to arduino mini

IR send.zip646 bytes

Step 9: Final step: Make more target boards and Enjoy the game

Picture of Final step: Make more target boards and Enjoy the game
bsg681 month ago
How much did all the materials cost
samchoy88 (author)  bsg6814 days ago

Around USD$25 ~ $30, but its relatively cheap in China region.
Depends on how you source materials.

Arduino and Servo are the most expensive stuff in the BOM.

thanks for adding the updated schematic,,,, but i will be happy if you explain to me the function of the transistor and IR transmitter and receiver, an why did you use it instead of connecting the photodiodes on analog pins and using ADC functions you can know if the led is on the photodiode or not ? (btw i read all the comments but i still miss this point)
samchoy88 (author)  Armia Wagdy1 year ago
In this project, the main challenge is the environment light.
There are two possible light that make the target board false trigger or not function well.
1. Background light - it made the sensor output signal saturate and Arduino cannot receive significant signal and trigger the servo.
2. unexpected flash light - it give significant signal and it cause false trigger.

I found out TV remote did a good job on these problems and give reliable control / response. It gave me the solution of IR remote coding method.
However, IR transmitter usually give a wide angle of transmission. You can consider it is broadcasting the code. But I need a narrow angle or single point transmission to give gun shooting experience for the player. This is the reason why I choose laser instead of IR transmitter.

IR receiver has DC filter, AGC (Automatic Gain control) amplifier and stable digital output. It save me a lot of analog to digital components / design effort. However, the IR receiver does not response to RED laser signal. that is the reason why I need to use photo-diode to convert laser to IR transmitter.

In order to increase the sensor region, I choose to use multiple photo-diode to receive the signal. Those transistors act as the driver to deliver receive signal for IR transmitter.

I hope you can understand the circuit seem stupid and using "Laser --> photo-diode --> IR transmitter --> IR receiver --> Arduino". But it is worth to add 2 common components and save lots of time in avoiding complex coding / circuit.
It's very interesting the "optical coupler" solution you adopted into the receiver circuit. Do you think possible to replace the 3 photo-diodes with a solar cell in order to obtain a larger target surface?
samchoy88 (author)  albaguzzi4 months ago

yes, it is possible to use solar cell to replace the photo diode and I think it probably work without any circuit change on circuit.

However, there are 2 concern while using solar cell as sensor.

1. The solar cell output may saturated when too much light shine on cell. And too weak signal deliver to circuit.

2. The solar cell may not sensitive to laser beam signal.

If you tested solar cell work well in this design, please kindly leave us the comment or video.

ashwinzondag8 months ago

This is some great toy to play with :) Great Job.

Do you maybe have some component codes for the Photo diodes, the IR transmitter and the IR reciever?

With friendly greetings,

Ashwin Zondag

samchoy88 (author)  ashwinzondag8 months ago

These components are common in the market, here are the reference:

IR receiver: https://www.sparkfun.com/products/10266

IR emitter: https://www.sparkfun.com/products/9349

Phototransistor: http://www.radioshack.com/radioshack-3mm-ambient-l...


sajoo_dk11 months ago

Hey folks i have made an uglier version of the same :) Instead of light sensor employed an LDR..check it out

Its looks crude as it was made in couple of hours..plz suggest improvements that i can employ

Dandy_Don1 year ago

Nice instructable! How do you reset the targets after the game is finished?

samchoy88 (author)  Dandy_Don1 year ago

It reset automatically after certain delay time.

Where can I find this gun or one like it?
samchoy88 (author)  CristinaC12031 year ago


So if I wanted to make something like GhostBlasters (http://sallycorp.com/dark-rides/interactive/ghostblasters/) or (http://youtu.be/jCPYlzXxpDA), how would I make it recognize when I hit something and relay that back to a main arduino running in the car?

samchoy88 (author)  haunted.haunt1 year ago

I think there is a computer link up all sensors, guns and score boards on each car. When specific gun hit the sensor, computer recognized the gun signal and score at specific car.

is there any way you could post an ible showing how to do it w/ an arduino due or uno.........would be a great help thanks:)

Dylon1241 year ago
You can make a stand alone arduino for $5!
samchoy88 (author)  Dylon1241 year ago
Yes, but it took me a lot of time / tools / debug that worth more then buying from sparkfun.
Besides, it is much expensive to buy components in small qty.
i can't understand the scheme, can you post another detailed scheme ?
samchoy88 (author)  Armia Wagdy1 year ago
Posted the updated schematic, hope you understand how it works.
Nickwj132 years ago
How much did you pay for the pcb?
samchoy88 (author)  Nickwj132 years ago
I ordered a batch of PCB. Around USD$150 for the PCBs
Dylon1242 years ago
How much did the servos, and arduino mini's cost?
samchoy88 (author)  Dylon1242 years ago
The servo cost USD$11 and Arduino Mini cost USD$10
See below link:
nabzaf2 years ago
IR transmitter and IR receiver what kind i know there are diff types and how far can you shoot with them. is there a way to send a score?! and could you hook up the targets to a vest and just play lazer tag
samchoy88 (author)  nabzaf2 years ago
IR transmitter and IR receiver are used on the target board only to retrieve the coded signal. The IR receiver has automatic gain control (AGC) amplifier and filter inside the component. you can find the similar one on sparkfun with data sheet.

Laser diode in the gun has good transmission range. You can see the red dot in 30m distance.

Currently there is no score information sending out, but you can modify the arduino code and hook up all target board to an arduino and counting the hit and display the score.

If you take a look on the PCB layout, actually you can see a RGB LED was design in the PCB originally. As it is made for the application similar to your suggested game.
Beside, this target board can recognize different laser beam from different guns (thanks to the coding signal in laser beam) and it light up LED with different color according the gun signals.
Nickwj132 years ago
Did you make your own pcb or did you order them?
samchoy88 (author)  Nickwj132 years ago
I made the prototype on solderless board and arduino Nano. And I made this PCB layout and order from china PCB factory directly. that is the reason why I provide Gerber file.
Lakes572 years ago
Thanks for the quick reply.
i would suggest gutting a cheap (keychain) remote to put into the gun.

While searching Ebay for a toy gun, I found "Target Alarm Clock with LCD Screen"
You shoot the target to turn off the Alarm.

Should be easy to make an Arduino version. :)
samchoy88 (author)  Lakes572 years ago
Yes, this project is similar to the alarm clock you suggest.
Thanks for your suggestion. I will try to improve the target board and create more instructable projects.
Project 232 years ago
Lakes572 years ago
I like the idea (make a Shooting Gallery?), but need more details on the toy gun used.
Is it just an LED in the gun or a Laser Diode?
Like another poster said why is there an arduino in the gun as well?
samchoy88 (author)  Lakes572 years ago
I am using laser diode. As laser can provide better shooting experience (you can see the red dot while shooting on target) and the laser diode usually has a lens include.

To avoid the false trigger by other light source, I implemented the coding in the laser beam. (Similar to TV remote).
I don't understand why you need a microcontroller in the gun too. Also, why do you need a microcontroller for each target? Can't you just have multiple targets wired up to just one arduino?
samchoy88 (author)  llopez-garcia2 years ago
To avoid the false trigger by other light source, I implemented the coding in the laser beam (similar to tv remote control). That is the reason why I need an arduino in the gun. It is possible to use multiple targets wired up to one arduino. But it cannot wired up if those targets location is not near by.
veeguy2 years ago
Without digging into the program for the pistol, I'm guessing the arduino is sending a coded pulse when you pull the trigger. This way the target knows the intercepted signal pulse is from the pistol and not just an errant flash or reflection from another source. But that's just a SWAG* (* sophisticated wild ass guess)
theknexlord2 years ago
Ugifer2 years ago
This looks like a really great project.
spyder20212 years ago
pretty cool. wanted to make something like this. Great job.