Introduction: The Point Shooter Cyborg Mouse

Control cyborg technology and revolutionize your PowerPoint presentations - build a wearable mouse!

So you converted some video glasses to a heads-up display glass. You built a wearable Raspberry Pi, pcDuino, or BeagleBone Black. Now, how do you control your cybernetic augmentations? You make a wearable mouse, of course!

The Point Shooter turns your hand into a mouse. Draw your gun gesture to activate, aim your hand to move the cursor, and pull the trigger to click. BANG!

The Point Shooter doesn't need drivers, is easy to build, and uses about $40 worth of common hardware-hacker staples you might already have. It's seriously badass and surprisingly usable.

Step 1: Equip Yourself!

Parts and Supplies:
- 1 Teensy 3.0
- 1 Wii Nunchuk
- 1 strip Swiss machined headers (female)
- 1 strip Swiss machined pins (male)
- 1 phenolic Veroboard, at least 4"x6"
- 1 Altoids Tiny Tin, any flavor
- 2 4.7kΩ resistors
- 2 ordinary tactile switches (pushbuttons)
- 1 12mm tactile switch.
- 2 Velcro cable ties, plus more to fit
- 2" of 0.5"-diameter heatshrink
- 2" of 1.5"-diameter heatshrink
- 10ft 26 AWG wire. Stranded is better, but solid works fine.
- 1 Micro-USB cable, 5' or longer
- Hot glue gun with sticks
- Soldering iron with solder
- Optional: Primer, paint

Substitutions:
- You could try a knockoff Wii Nunchuk, but size is important here and it may not fit.
- You can substitute an ordinary button for the 12mm button, but your mouse will be harder to use.
- Don't substitute standard headers for the Swiss machined ones. The board won't fit in the case!
- If you can't find 1.5" heatshrink, electrical tape will work but the finished project will be sloppier. Harbor Freight sells it as part of a set.

Special Tools:
- Tri-wing screwdriver
- Flush-cut pliers
- Dremel with drills, cutoff wheel, flapwheel, sanding drum
- Heat gun
- Needle file set

Preparation:
If the Altoids tin still contains Altoids, this would be a perfect time to eat them.

Step 2: Hack the Nunchuk

The motion sensor is a Wii Nunchuk. We're going to rip out its guts and slice the board in half, which happens to be just the right size to cram into the Altoids tin.

Open up the Wii Nunchuk. Those screws are tri-wing, not Phillips, and need a special screwdriver. You can bodge it with a slim precision flathead and a lot of patience.

Remove the board. Cut the Nunchuk's PCB just above the mounting holes. A Dremel works best, but you can also deeply score the board with a utility knife and break it against a table. Toss the joystick half in your parts bin.

Cut the cable as close to the metal crimp as possible, leaving about 2" of wires. Cut off the white wire, strip the ends of the rest, and tin them. I had to extend the wires because I cut them shorter than 2". Oops!

You'll end up with an adorable little circuit board. Test-fit it in the Altoids tin, filing down the edges if necessary.

Step 3: Build the Board

With the Nunchuk board ready, we can assemble the electronics! The board is quite simple and laid out on the diagram. Note that in the diagram, the Veroboard is translucent - in real life, you put components on the no-copper side.

Cut or grind down the corners of the Veroboard until it fits loosely into the Altoids tin. Turn the board over and cut all the strips down the middle.

Solder the female headers and resistors first. The headers are 14 pins long, and the resistors are 4.7kΩ.

Snap off two strips of 14 male headers and insert them into the female headers. These male pins have a conical side and a flat side - make sure you insert the conical side into the female headers.

Drop the Teensy onto the headers upside-down, so the reset button points towards the board. Solder it in place. Trim off the protruding headers as close as possible, then remove the Teensy.

Solder in the Nunchuk as shown and make sure it fits in the blank part of the PCB.

Cut five foot-long fine-gauge wires and solder in as shown. Strip the ends of the wires.

Step 4: Burn and Test Code

The Teensy will be extremely difficult to program after we close it up, so now's the time to burn that code and test it all out.

Download the attached code and upload it. You will need the i2c_t3 library.

The Teensy 3.0 requires a special Arduino add-on and programming method. Visit the Getting Started with Teensy page for step-by-step instructions.

When the code's up, touch the Pin 5 wire to a GND wire and tilt the Nunchuk board. Your mouse cursor should move. Touching the Pin 6 wire to GND should cause a click, and touching the Pin 7 wire to GND should cause a right-click.

If something's not working right, check your board against the schematic, look for shorts, and make sure you cut all the traces all the way through.

Step 5: Protect That Circuit

Awesome, circuit works, now to make it stand up to the punishment of everyday wear. I know you're cool enough to wear this bad boy every day - come out of the cyborg closet!

Stick the Nunchuk to the Veroboard with a drop of hot glue. Make sure the square accelerometer is pointing upwards, and that the Nunchuk PCB is as level with the Veroboard as possible.

Tack down the wires with hot glue, making sure to keep the Nunchuk wires within the bounds of the Veroboard. The wires should point away from the USB port.

Test-fit the entire assembly into the Altoids tin. Sand things down and nudge 'em around until it fits. There should be a lot of space on all sides.

Cut the 1.5" heatshrink to the length of the circuit assembly. Slide it over the board stack and shrink it down.

Step 6: Build the Case

Let's move this shrink-wrapped stack of magic into its new home.

Mark out the ring button hole on the Altoids tin. The hinge should be at its left. Drill it out, use the Dremel and a grinding attachment to remove pointy bits, and file off sharp edges.

Cut out the USB hole, ensuring the hinge is on its right. Cut out the palm button hole opposite the hinges.

If you want to prime and paint your tin, now is the time to do so.

Flip the tin over and sand the indicated areas all the way to the metal. Use the flapwheel to remove paint, and a coarse sanding drum to leave a rough surface.

Fire up your hot glue gun and stick a Velcro strip to the tin. The hook side should be glued to the tin, and the loop side should face away from it. It doesn't need to be pretty, since this part is concealed under the tin. DO NOT APPLY HOT GLUE TO SOMETHING YOU ARE CURRENTLY WEARING. YOU'LL GET A NASTY BURN AND FEEL STUPID.

Test-fit the tin to the back of your hand. You may need to extend the Velcro by gluing another strip end-to-end.

Put the electronics package inside the tin. Guide the Pin 6, Pin 7, and one GND wire through the ring button hole. Guide the other GND and the Pin 5 wire out of the palm button hole.

Modification:
If you want a glove instead of rings, sand the entire bottom surface of the tin. Instead of gluing on a Velcro strap, glue the entire tin to the back of a stretch glove.

Step 7: Add Buttons

The final step is buttons. The Point Shooter has three buttons - one on the palm activates the mouse, and two on a ring cause clicks.

Strap the Point Shooter back on. 

Loosely guide the palm button wires over the back of your hand and up your palm. Cut them as shown, right when they touch your middle finger. Strip the ends.

Make a fist and loosely guide the ring button wires across the back of your hand and over your knuckle. Cut them as shown, right when they go over the first joint of your pointer finger. Strip the ends.

Take the Point Shooter back off.

Cut two pieces of Veroboard 9 holes by 5 holes. The strips should be parallel with the long side.

Snap the big tactile switch into one Veroboard as shown and solder it in place, then solder in the palm button wires. Reinforce the point where the wires touch the Veroboard with hot glue.

Snap in the tactile switches to the other Veroboard as shown and solder in place. Solder the GND wire to the center, the Pin 6 wire so it connects to the closest button, and the Pin 7 wire so it connects to the other button. Reinforce the point where they touch the Veroboard with hot glue.

Put the Point Shooter back on and find a position for the palm button. When you make a pointing gesture, you should intuitively click the button. Mark that location, take off the Point Shooter, and secure the button in place with hot glue. Tack down the wires with another drop.

Slip a piece of 1/2" heatshrink over the Velcro so it covers the palm button board. Shrink it down and cut a hole for the button.

Slip another piece of 1/2" heatshrink over the ring button board. Shrink it down and cut holes for the buttons. Hot-glue it to a piece of Velcro, leaving about a 1/2" tab.

Put the Point Shooter back on, wrap the ring around your index finger, and trim off the excess. The buttons should rest on the side of your finger and be easy to click with your thumb.

Congratulations! Your Point Shooter is complete! You are now a cyborg!

Modifications:
If you're using a glove, simply glue the buttons to the appropriate places on the glove. Again, do not apply hot glue to something you're wearing.

Step 8: Ascend to Transhumanity

Congratulations, intrepid hacker! Your Point Shooter Cyborg Mouse is complete, and you have augmented your body to interact with computers anywhere and any time. Strap on your wearable Raspberry Pi, fire up a belt-mounted battery, don your heads-up glass, and jack in. You are now an augmented transhuman. Bravo.

If you don't have a wearable computer, the Point Shooter will still work with a regular computer. It's just not as cool. Grab a really long USB cable and don't walk away from your desk.

Normally, your Point Shooter is on standby. Make a gun gesture (point... shooter... get it?) to hold the palm button and enable cursor movement.

To move right, tilt your hand clockwise with respect to your pointer finger. Tilt counterclockwise to move left. Point upwards to move up, point downwards to move down.

When you first hold the button, your current hand position becomes the zero point, and the further you tilt from there, the faster the cursor moves. Release the button and click again to re-zero the Point Shooter. This is great for more precise movement.

"Drop the hammer" and hit a ring button with your thumb for a left- or right-click. Bang bang! You don't need to hold the palm button to click.

The Wii Nunchuk's accelerometer has a known problem where its measurements go crazy when it's flipped over. You may have better results starting with your hand held sideways, gangsta style. You'll look cooler, too.

Go forth and spread ubiquitous open-source hardware throughout the world!

Somewhere on Earth, Ray Kurzweil is giving you a thumbs-up.

Comments

author
BannOffZyklop (author)2013-08-10

Thats so crazy that a man can build this :-D It's the best tutorial ever!!!! But i cant build that mouse, because I'm 14 :(

author
lushi042 (author)BannOffZyklop2014-09-24

your age shouldn't hold you back unless your parents don't trust you with a soldering iron or you din't have the money/resources.

author
BrockL (author)lushi0422015-03-22

Money and resources.The reason I have yet to make anything. D;

author

A woman can build this too!

author
finton (author)zackfreedman2013-09-02

*finton imagines zack and himself in a room full of women just after zack says this*
*finton backs slowly out of the room then runs for the ambulance*
*finton is too late and zack is now not the man he used to be*
:]

author

¨his is a little complicated for a first project. Try just connecting the Nunchuck to the Teensy, then getting it to move the mouse. The project cost just $35 or so, not bad for your allowance.

author
emdarcher (author)BannOffZyklop2013-08-11

your age doesn't limit what you can make, I would totally make this when I was 14 and just starting out with arduino.

author
guds777 (author)BannOffZyklop2013-08-11

if you say "i can't,, then you can't...

author
AlphaWolf105 (author)2016-09-06

KNOWLEDGE

author
b3pO (author)2014-09-03

could I rework this with a teensy 2.0 and the wire.h library

Or is that a whole not her thing

author
zackfreedman (author)b3pO2014-09-03

No. The Wire library lets you use the I2C protocol, but this trackpad uses the PS/2 protocol.

author
b3pO (author)2014-09-02

Hey I really enjoy this guide! The beginning could not have described what I was looking for any better. I was wondering though if I had a teensy 2.0 how would the change the pin connections for the wiichuck piece? would I have to change anything in the code? I would add that I am still very new to this stuff :P

author
TheNotoriousHoppington (author)2014-08-08

if I swapped in a wireless transmitter, to go to a computer through a connected flash drive, I'd have to write different code correct?

author
PranavB (author)2014-07-30

I am really confused on how to make it so if you could please help me.

I couldn't arrange for a Teensy 3.0 since it is not available around here. I bought a Nano 3.0

But I have no idea which wire goes where and even the circuit diagram on your page was not clear enough for a first timer :|

Thirdly the program you wrote in Mac OS and my computer is not reading it :s nor do I know where to place the code

author
zazu_247 (author)2014-03-08

Has anyone ever told you how much you look like Robert Downey Jr?

author
zackfreedman (author)zazu_2472014-03-08

I get told I look like Sergey Brin pretty often, but you're the first Tony Stark.

author
AndyBratton (author)2013-12-29

I maybe missing something small, but I'm having problems with the code. An error message keeps coming up when I compile stating that "Mouse" is only supported in the Arduino Leonardo, even after I've installed the Teensy software. Any ideas as to what I'm doing wrong? Thanks much!

author
zackfreedman (author)AndyBratton2013-12-29

I'd like you to try changing the Board and USB Type, then replying back here to let me know what happened.

First, in Arduino's menu, click Tools --> Board --> Teensy 3.0 (or 3.1 if you're using that instead).

Then, in Arduino's menu, hit Tools --> USB Type --> Serial + Keyboard + Mouse + Joystick.

Try uploading again and comment whether it works or fails.

author
ayus_29 (author)2013-09-17

can you state the function about this point shooter cyborg mouse easily? i can't understand well..

author
nerd7473 (author)2013-08-21

wow very creative!

author
angryrobot17 (author)2013-08-19

nnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccceeeeeeeeeeeeeeeeeeeeee

author

You may have spilled something on your keyboard, you repeated a letter or two

author
JMRaphael (author)2013-08-07

Oh, how cool! Awesome project, and a very well-written procedure.

author
zackfreedman (author)JMRaphael2013-08-14

Thanks man! Congratulations for being my first comment EVER!

author
stricnin (author)2013-08-11

Video please!!!!!

author
zackfreedman (author)stricnin2013-08-14

Use your imaaaaaagination!

author
Ixxiiz (author)2013-08-07

Just amazing. epic tutorial. But... I'm a newbie at things like this, I mean electronic construction and programing. How do you upload a code to a microscheme (or something like that..)? Please reply to my mail: kveseliux@gmail.com . Thank you very much. Amazing tutorial! :D

author
zackfreedman (author)Ixxiiz2013-08-14

I spent half an hour Googling, and I can't figure out what a Microscheme is. Care to describe?

Also, putting your email address on the Internet is a bad idea, you'll get spammed a lot.

author
agis68 (author)2013-08-12

its crazy and clever thancs for the presentattion
just a silly question. Can be used like any mouse also in gaming?

author
zackfreedman (author)agis682013-08-14

Your computer thinks this is just another mouse. You could definitely use it in gaming. It's a lot of fun for first-person shooters!

author
mid_life_crisis (author)2013-08-12

Kudos. This is pretty cool but the next obvious step is to add a battery and bluetooth communication.

author

You'll find it straightforward to do that. Build my design, except add in a HID-compatible Bluetooth chip like the Bluegiga WT32 and a LiPo-compatible boost converter. Let me know how it goes!

author
MicroKID (author)2013-08-12

There are lots of FINGER MICE already out there:

http://www.acckomputer.com/155-347-thickbox/usb-finger-mouse.jpg

Search eBay/Google for "Finger Mouse".

Not sure about their "range" though.

author
zackfreedman (author)MicroKID2013-08-14

Mine's cooler.

author
CptTangerine (author)2013-08-14

I was thinking about a device for when Google Glass comes out that would allow you text by writing the letters in the air using tilt meters and accelerometers to recognise the characters being written. Do you think this could be modified for that?

author

When I first designed the Point Shooter, I intended to do that. I'd recommend adding a gyroscope and trying to crunch the raw motion data directly into gestures, without first trying to calculate displacements (motions). The first is just intensely difficult, the second is virtually impossible.