In this instructable, I will show you how to modify a Nerf Vulcan to automatically aim and fire at targets.  As an added bonus, this gun won't fire at anyone wearing a shirt with the instructables robot on it. I had this project in mind for a long time and finally managed to find the time to bring it to life.

If you've been browsing through my other instructables, you might have noticed that I am obsessed with Nerf guns. So far, I’ve managed to infect just about everyone around me with the Nerf virus. It is really fun to see how these plastic toys turn grown men into small boys!

My main aim was for it to look awesome; which was difficult to achieve without removing the front part of the gun. But, I managed to accomplish this without removing the barrel, and I’m really happy with how it turned out!

A big thanks goes to Bob who authored an awesome write up on how to build a sentry gun.

Please do not attempt this mod unless you are convinced that you will be able to do it; otherwise you might destroy your gun.

Remove these adsRemove these ads by Signing Up

Step 1: Stuff you need

Picture of Stuff you need
Stuff you need

To build the base:
  • Wood: 5 mm, 9 mm, 15 mm plywood
  • 20 x 40 x 45 mm and 20 x 40 x 128 mm rectangular block of wood (you can also use the 1.5 mm plywood)
  • Junior drum throne
  • 2 x ball-bearing (12 x 28 x 8 mm)
  • Axial ball bearing (80 x 105 x 19 mm)
  • 12 mm wooden pole
  • Wood glue
  • Sand paper
  • Wood filler
  • Paint/paint brush
  • 15 x spax/wood screws M4 x 40 mm; 4 x screws M4 x 16 mm
  • 4 x wing nuts: M5
  • 4 x machine screws: M5 x 16 mm
  • 4 x brackets
  • Two component glue

  • Servo for the turn axis: BMS-660DMG+HS
  • Servo for the tilt axis: Hitec HS-805BB
  • Wire
  • Arduino Uno
  • TIP120 transistor
  • 1N4004 diode
  • 1k resistor
  • Pin header

  • Nerf Vulcan (e.g. here)
  • 6 Volt battery pack
  • 5 kg replacement spring for the Vulcan (e.g. here)
  • Optional: Paint and plastic primer for the gun
  • 3 mm lead pearls or something similar as a counter weight
  • 6V 3700mAh battery pack
  • 9.6V 2000mAh battery pack
  • Webcam
  • Laptop 

  • Drill (3, 5, 12, 28 (to fit the bearing) mm drill bits)
  • Sander
  • Scroll saw
  • Soldering iron
  • Claw hammer
  • Phillips Head screw driver
  • Hot glue gun

Things like a scroll saw and a powerful drill are useful, but not a 100% necessary. I finished the whole tilt axis with just a fret saw and a cordless drill which was far too weak to drill the 28mm hole (I used the fret saw instead).

Step 2: Take the Vulcan apart

Picture of Take the Vulcan apart
Taking the Vulcan apart is certainly not an easy task, so be careful and try not to snap any plastic pieces.

  • Start by taking the handle off. You won't have to loosen any screws. Just hold the gun down and pull it to the side, as shown in the first picture.
  • Remove the screws from the belt retainer and take out the plastic inserts. Afterwards you can just pull it off.

Step 3: Take the Vulcan apart

  • Use a claw hammer, to pry off the bolt head.
  • Remove the battery tray cover, as well as the battery tray.
    • Depending on the age of your Vulcan, there might be a sticker.
    • If there is a sticker, you will then have to cut it in half.
  • Now remove all the screws from the main part of the blaster.
    • You don’t need to take the screws off which hold the barrel together unless you plan on painting the blaster.
  • Carefully pry the pieces apart.
  • Be careful that you don’t damage the wires.

Step 4: Optional: Replace the spring

Picture of Optional: Replace the spring
I recommend changing the spring at this point, but that decision is up to you. When you use battery packs with higher voltage, it will increase the firing rate, but not the strength of the shot.
In my opinion, a 5 kg spring works best (the original one is a two kilo spring). I tried a 7 kilo spring in one, and although it was strong, it resulted in a lot of mis-firing.

To replace the spring, follow these steps:
  • Start by removing the orange plastic piece on the plunger.
  • Remove the 10 screws marked in the first picture of this step.
    • Then take off the casing.
    • Unhook the spring.
  • Remove the collar and spring from the plunger (as shown in the third picture).
  • Carefully remove the plunger.
  • Pull the plunger out of its casing.
  • After unscrewing the screw which is holding the plunger head you will be able to change the spring.
In the last picture you can see how the firing speed improved. To give you an idea of the gun’s speed after the replacement - it is about as fast as an unmodified Nerf Maverick (so it is more fun, but not dangerous).

I tried to remove the air restrictor, too but noticed no difference in the firing speed, so I just left it where it was originally

Step 5: Rewiring

Picture of Rewiring
A big advantage of the Nerf Vulcan is that no extra servo is needed to fire it. The Arduino can directly be wired to the motor of the gun.

To wire the Arduino to the Motor:
  • First solder one wire to the positive side of the motor - as shown in the first picture.
  • Then solder a second wire to the switch - as shown in the second picture.

Either unscrew the mechanism, or use pliers to place the wire underneath it, as shown in the third picture. Now all that is left to do is to secure the wires with hot glue, as shown in the fourth picture of this step. I simply connected the two wires; But you can also add a switch, to also enable firing by pulling the trigger.

If you are planning on painting the gun, be sure to avoid painting the plunger head and the internal parts. The paint will only disturb the function and be scraped off after a time.

I've uploaded a picture to help you reassemble the Nerf gun. Be cautious so you don’t snap or break any pieces.

Step 6: Turn axis

Picture of Turn axis
I originally wanted to use the base plate of the chair, but noticed that it was quite shabby. So after cutting off the cushion I replaced it with a 20x20x1.5 cm plywood plate, as shown in the pictures.

Cut a slot into the other 20x20x1.5 cm plywood plate, to fit the servo. Make sure that the axis is perfectly centered!

Now you will have to cut a hole into each of the 0.5 cm plywood or MDF plates, in order to fit the axial ball bearing (take a look at step 1 for the measurements). Glue one to plate holding the servo and the other one to the third plate. Drill a hole into the center of the third plat, which has to be big enough to allow you to screw the servo arm to the servo.

Step 7: Turn axis

Picture of Turn axis
Glue the sides to the bottom plate of the box, as shown in the first picture. The piece in the front was supposed to hold the webcam. But after using the gun for the first time, I noticed that even though the base is really sturdy it moves a bit when the gun stops, which results in false detections. So I just decided to place the camera on the floor in front of the gun until I'll be able to find the time to build a tripod for the camera.

Before you paint the pieces, you should fill the holes and prime them. Next. , make sure that everything fits and screw the servo in place. In my experience the best way to position the servo arm is to screw it to the servo and to use two component glue to attach it to the top piece. Before you do so, make sure that the angle the servo can turn in both directions is the same. After the glue is set, unscrew the arm from the servo and take the plate off. Now you can screw the servo arm to the plate, to give the connection better strength.

Step 8: Tilt axis

Picture of Tilt axis
Before attaching the pole as shown in this step, I wanted build a platform. The platform should make attaching and removing the Vulcan as easy as possible; but I noticed that it didn't work. The main reason for this was that even though the center of gravity of the back and the front was pretty well balanced, the top and bottom really wasn't. So the servo didn’t have enough power to move the gun.

I decided that the best way to attach the wooden pole would be through an existing screw hole. Since the gun should be attached in its center of gravity, I had to use counterweights later on (I didn't want to take the front of the gun off, since I thought it looked good). Otherwise the center of gravity interferes with the ammo belt.

Drill a hole to fit the wooden pole through the screw hole marked in the first picture. Cut a disc with a 6 cm diameter from the 1.5 cm plywood and drill a 12 mm hole into its center. Paint the disc and place the pole through the hole. Secure it with a screw, as shown in the pictures. I suggest that you paint the pole after you've placed it in the bearings, otherwise it might not fit. Place the pole through the Nerf gun and glue the wooden disc to the plastic. Use two more screws to secure it.

Step 9: Tilt axis

Cut a wooden disc to fit the arm of the Hitec HS805BB servo. Secure it with the provided screws and screw it to the servo. Cut all the pieces from the 9 mm plywood that are shown in the second step. Be sure to round the top edges of one side, as shown in the last picture. If you don’t, your ammo belt might get stuck. Place the two ball bearings into the two identical side pieces and paint them after filling and priming. Cut a hole into the third piece to fit the servo. It’s very important that the axis is perfectly centered. You should really spend some time on this step, since it will greatly affect how well your gun will work.

Place the wooden pole holding the Nerf Vulcan between the two pieces with the bearings. Now use the 128 mm rectangular block of wood as a spacer (the lower end of the plates has to face the back of the gun). At first I tried to secure the spacer with glue, but the connection was just not strong enough. So I used M4 x 40mm wood screws, to secure it in place. It also makes it easier to take the gun apart later should it be necessary.

Glue the 45 mm rectangular block of wood to the bottom of one of the panels and cut the wooden pole to the correct length in order for it to perfectly fit into the wooden disc which you've build before. Attach the servo and screw the wooden disc to the pole, as well as the servo plate to the spacer.

Then use the brackets, screws and wing nuts to attach the base, as shown in the pictures. Using the wing nuts allows an easy disassembly of the gun and therefore assures easy transportation.

Use the lead pearls or something similar as a counter weight, until the gun is perfectly in balance. Hot glue works great to hold the pearls in place.

Step 10: Electronics

Picture of Electronics
Connecting the two servos and the electronic trigger to the Arduino is relatively simple. The wiring is shown in the first picture. The 1k resistor protects the Ardunio from electric shorts and the diode prevents stray electricity and sparks. You can of course leave your circuit on the breadboard, but I decided to use a perfboard.
The voltage of the battery pack connected to your gun motor controls the firing rate. If you want your gun to shoot faster feel free to use a second battery pack, or one with a higher voltage rate.

Thanks a lot lo Bob Rudolph for writing the awesome code for the sentry gun (you can also download it here). Just upload the files to your Arduino. Make sure to adjust the servo positions to your gun!

PSG Arduino code:



Step 11: Processing IDE

Picture of Processing IDE
In order to run the sentry gun processing code, you will need to install the 32 bit version of the Processing ID environment first. You can download it here.

Create a folder named "Processing" and copy the files provided with this step into it. Furthermore you will have to copy the files in the "copy these into processing root or system32" folder to your root system.

You can find a detailed description on how the software works on the project sentry gun page here. The only major new thing is the surf classifier to detect the instructables robot. It can be controlled with these lines:
<pre>public boolean use_surf = true;
public int surf_sensivity = 3; 
public String surfRefFile = "D:/Sentry/robot_live2.jpg"; 
1-40 of 198Next »

I'm considering starting this awesome instructible, but is replacing the spring a must? Would I be able to build the sentry gun while keeping the fire rate normal?

The stonger spring will allow the darts to fly far-er and faster, but no it is not a must. I have seen some people add a few coins and the like behind the spring so as to have the spring be more compressed.

olcraft1 month ago

i can't find m4 40mm and 16 mm screws. It might be better if the screw were m6 instead. Is it ok to replace m4s wtih m6 screws?

jwgottabass2 months ago

I have taken on teaching myself and completing some extremely involved and complicated projects, but this one, whew! I can't wait until I get up to speed on the electronics, then the arduino. The complexity alone isn't the only fantastic characteristic, the instructions seem extremely comprehensive. Once I am, this will be my first project. Amazing!

whitewolf5783 months ago

Is there another place I can get the turn axis servo or maybe a different one would work too? Is there a reason it's a digital servo?

vlre10 months ago

Hello. Could you please give some instructions for using and installing the software?

The thing is that link you provided is not working anymore, and I am stuck on this step... everything is ready, all parts altogether...but there's a problem with this software.

Please help. Thank you.

whitewolf578 vlre3 months ago

Vire, were you able to get the software to work. We're about to start this project but want to make sure we don't get stuck at the end. Thanks!

vlre whitewolf5783 months ago

Yes, I did got it up and running

BrittLiv (author)  vlre10 months ago

Where are you stuck? It has been some time since I build it, so I hope that I am still able to help you. You can still find the page I was referring to, here:

vlre BrittLiv10 months ago


I am stuck with the part where you upload the code to Arduino.

Step 10.

When I try to upload the code, it says

backup as not declared in this scope

sketch_feb07a.ino: In function 'void loop()':
sketch_feb07a:222: error: 'backup' was not declared in this scope
sketch_feb07a:227: error: 'restore' was not declared in this scope

You also have a part of the code named "Backup" but there's no mention where to put that piece...

Tnank you

BrittLiv (author)  vlre9 months ago

Hi, I am sorry I totally missed your comment. You will have to open all three files in the Arduino software in order for it to work (hit ctrl+shift+n to open a new tab).

chris13994 months ago
can u make the Nerf Vulcan a CO2less paintball sniper rifle

Excellent, you should make a few of these and sell them online, i'd definitely buy one.

jelimoore5 months ago

Ok, so I am running this code on a 32-bit Processing, with native Raspberry Pi java libraries, and tells me "NullPointerException" on the "camInput.start" line. Nothing pops up inthe debug window, other than "Successfully loaded settings from "settings.txt" Any help appreciated

tymoskov5 months ago

Where do we place backup?

Legomiser15 months ago
Is there any where i can get one?
Legomiser15 months ago

I want to make this but the link for the spring doesn't work please answer. Thank u

BrittLiv (author)  Legomiser15 months ago

I am sorry, it seems like they are not selling it anymore

Legomiser15 months ago

I want to make this but the link for the spring doesn't work please answer. Thank u

jelimoore6 months ago

Does this only work on PC? I have a mac, and when I compile, it throws me this error: Cannot parse error text in:invalid Class-Path header in manifest of jar file: /Users/jmoore/Documents/Processing/Libraries/GenerativeDesign/library/jpen-2.jar

blakelittle6 months ago
Hey can you sell me one I understand how to make it but I don't have the resources

I so want to do this.

ajay50007 months ago

Im having some trouble with the wiring... can someone or @BrittLiv send me some pictures of the breadboard wiring...

BrittLiv (author)  ajay50007 months ago

The first image at step 10 doesn't help?

ajay5000 BrittLiv7 months ago

i cant properly see the connection. when i hooked it up it only fired.. the programs and stuff are working fine. Could you possibly email me a better pic or post one? PLease.. THANKS!

ramsbury8 months ago
Can you make a paintball version or just for nerf
racataca8 months ago

What is the working frequency?

JupiterAvenue8 months ago

Hey! I'm creating this for my last year in university but I'm having some trouble understanding some of the pictures in your guide, I bought my vulcan in the UK and im afraid the internals might be slightly different. I can't figure out where exactly to solder the two wires (the one to the gun servo, and the one to the trigger circuit) because they just look different and the glue in the pics is kinda covering part of the circuit. Could I maybe send you a pic or two of what I did for you to double check? I just don't want it to start puffing smoke when i turn it on lol Any help would be appreciated! And congrats for the guide, and for your painting skills! A warhammer fan maybe?

FWACATA1 year ago
Super impressed.
jlester4 FWACATA8 months ago

she modified this from an existing paintball project

Squidyman9 months ago

I am curious about the tracking abilities given the webcams very close view range and low resolution as well as poor light/dark contrasting abilities. What is the effective range and ability? About 5 years ago or so I used to play with those guns with my friends and they only reached about 30 feet with a lot of gun arching. Do you have any way to compensate for distance using ultrasonic and gun elevation? I have read about squirt guns that shoot squirrels trying to bird food. Same principles apply here I imagine? Looks like even with all its complexities it is just an arduino, a couple servos, a camera, and a laptop. I might just have to give this a try once I find my guns!

And very cool project btw!

(I used to replace the cap of the nerf bullet with a thumb tack so that is stuck into whatever it landed on (including people) (don't try this XD)).

I've seen other builds of this platform track people at over 30 ft. The important thing is that the webcam doesn't have to focus on an object as much as needed for humans. The software that this platform uses only registers blobs of basic colors (red, green, blue) and does so at a very low resolution to reduce processing (it must process every pixel per frame it processes, usually 10+ frames per second. a single meg pixel would is 1,000,000 pixels). This platform isn't designed to calculate trajectory but can using the same webcam and a cheap laser pointer. Google 'webcam laser range finder'. There good for the 30 ft range, but not much beyond. Check out

Hey! Your project was in a article today. Congratulations. Rock on!
BrittLiv (author)  incorrigible packrat8 months ago

Thanks for telling me! It is a really nice write-up.

cr8smthng8 months ago
this is the coolest instructable on the site. I'm definitely making one for "my kids" ;)
jgreat8 months ago

Great tutorial. I'm working on making my own based on your tutorial and others. I have a question about the wiring for the motor. It looks like you are just bypassing the trigger switch with the transistor. So you would still have to use the Nerf battery pack, or wire a battery pack to the existing terminals. Is this correct or am I missing something?

vlre9 months ago

Thanks for all your support Britt! I have put firing base signal from pin 7 and it works marvelously! I am having 5 v out of Pin 7. Pin 10 though does not give me 5V, only 0.43V, so, no result.

As for any other problems...when I put it on the auto movement tracking, and there's nothing moving in front of it, anyway, the program comes up with some square and it goes red out of a sudden, and firing starts! Nothing is moving though!

Tried settings...none...did you have any problems with it?

BrittLiv (author)  vlre8 months ago

Hi, sorry no I didn't. I am not sure what could have gone wrong.

hunter9999 months ago

WOW! 4 medallions at the top! This is such an awesome, detailed 'Ible. Congratz on your win Britt. Thanks for sharing!

vlre9 months ago

Everything works no problems!

BUT the gun does not fire.

I checked transistior and the gun itself - no problems.

There's a problem with the code.

Did you change the code from what Bob Rudolph developed?

1-40 of 198Next »