Introduction: Laser Shooting Game

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.

Step 1: Step 1:What You Need

Picture of Step 1:What You Need

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

Step 9: Final Step: Make More Target Boards and Enjoy the Game

Picture of Final Step: Make More Target Boards and Enjoy the Game


LukasH3 (author)2017-07-13

where did you get the toy gun with the built-in laser from? I can only find IR solutions and I guess they won't work

bsg68 (author)2016-02-24

Would the arduino uno work too?

samchoy88 (author)bsg682016-02-25

yes, it works on Arduino UNO too

bsg68 (author)2015-06-11

How much did all the materials cost

samchoy88 (author)bsg682015-07-21

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.

Armia Wagdy (author)2013-08-21

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 Wagdy2013-08-24

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.

albaguzzi (author)samchoy882015-03-12

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)albaguzzi2015-03-12

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.

ashwinzondag (author)2014-12-03

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)ashwinzondag2014-12-03

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

IR receiver:

IR emitter:



sajoo_dk (author)2014-08-24

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_Don (author)2014-07-21

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

samchoy88 (author)Dandy_Don2014-07-22

It reset automatically after certain delay time.

CristinaC1203 (author)2013-11-18

Where can I find this gun or one like it?

samchoy88 (author)CristinaC12032014-04-29

haunted.haunt (author)2014-04-28

So if I wanted to make something like GhostBlasters ( or (, 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.haunt2014-04-29

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.

aaronXtreme (author)2014-01-27

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:)

Dylon124 (author)2013-08-19

You can make a stand alone arduino for $5!

samchoy88 (author)Dylon1242013-08-19

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.

Armia Wagdy (author)2013-08-11

i can't understand the scheme, can you post another detailed scheme ?

samchoy88 (author)Armia Wagdy2013-08-16

Posted the updated schematic, hope you understand how it works.

Nickwj13 (author)2013-08-02

How much did you pay for the pcb?

samchoy88 (author)Nickwj132013-08-04

I ordered a batch of PCB. Around USD$150 for the PCBs

Dylon124 (author)2013-08-02

How much did the servos, and arduino mini's cost?

samchoy88 (author)Dylon1242013-08-02

The servo cost USD$11 and Arduino Mini cost USD$10
See below link:

nabzaf (author)2013-08-01

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)nabzaf2013-08-01

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.

Nickwj13 (author)2013-07-31

Did you make your own pcb or did you order them?

samchoy88 (author)Nickwj132013-08-01

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.

Lakes57 (author)2013-07-28

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)Lakes572013-07-29

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 23 (author)2013-07-29

Lakes57 (author)2013-07-28

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)Lakes572013-07-28

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).

llopez-garcia (author)2013-07-28

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-garcia2013-07-28

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.

veeguy (author)2013-07-28

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)

theknexlord (author)2013-07-28


Ugifer (author)2013-07-26

This looks like a really great project.

spyder2021 (author)2013-07-24

pretty cool. wanted to make something like this. Great job.

EngineeringShock (author)2013-07-24


About This Instructable




More by samchoy88:How we made PCBA in FactoryDecoupage a 3D print objectLaser Shooting Game
Add instructable to: