Introduction: Rapid Fire Mouse Button
Many computer video games involve a lot of rapid mouse clicking. But there are limits to how fast your finger can click and how long you can keep it up before your hand starts to ache. So I modified a mouse to add a rapid fire button to it. That way you can rapidly activate the clicking function by simply holding down one button.
To do this, I connected a 555 timer circuit to the terminals of the left mouse button. When the rapid fire button is pressed, the timer circuit sends a series of pulses to the controller that simulate the button being clicked. This circuit lets you click up to 800 times per minute. A similar circuit could even be used for console video game controllers.
Step 1: Materials
Here are the materials and tools that you will need for this project.
Materials:
Mouse
555 Timer IC
10 µF Capacitor
4.7 kohm Resistor
Diode
Jumper Wires
PC Board
Small Momentary Switch (not pictured)
Heat Shrink Tubing (optional)
Tools:
Soldering Iron
Wire Strippers
Knife
Rotary Cutting Tool (optional)
Multimeter (optional)
Step 2: The Timer Circuit
The circuit used in this project is based around the 555 timer IC. Power for this circuit is supplied by the 5V line from the computer that also powers the mouse. This is connected to pins 4 and 8 of the IC. The output of this circuit is a series of pulses that alternate between HIGH (5 volts) to LOW (0 volts). This is what will activate and deactivate the click function of the mouse. A small diode is added to the output to prevent the circuit from shorting out if the rapid fire button and the left mouse button where ever pressed at the same time. This circuit is connected to the mouse through a small momentary switch that acts as the rapid fire button.
The frequency of these pulses is determined by the value of the capacitor that is connected to pins 1 and 2 and the value of the resistor that is connected to pins 2 and 3. I used a 10 µF capacitor and a 4.7 kohm resistor. This produces a frequency of about 15 Hz (about 900 pulses per minute). By decreasing the value of the resistor and or the capacitor, it will increase the output frequency. By increasing these values, it will reduce the output frequency. If you would like to calculate the exact frequency you can use the following formula.
Frequency = 0.72 / (R x C)
"R" is in units of ohms and "C" is in units of Farads.
I first prototyped this circuit on a breadboard for testing and then I soldered it together onto a small printed circuit board.
Step 3: Prototype and Test the Timer Circuit on a Breadboard
First I prototyped the circuit on a breadboard to test it. I powered it with a 5 volt USB power supply. I also used a variety of meters to monitor the output. Once you are satisfied that the timer circuit is working properly, you can connect it to the mouse.
Step 4: Identify the Positive and Negative Terminals on the Mouse
Before you can connect the timer circuit to the mouse, you need to identify the positive and negative terminals on the mouse. The easiest way to locate these is to follow the connections from the USB connector. There should be quite a few terminals that are connected to each one. I have illustrated this by highlighting each set in the pictures above. If necessary you can use a multimeter to check which terminals are connected to each other.
Step 5: Connect the Breadboard Circuit to the Mouse
Now you can wire the breadboard circuit to the mouse by connecting the positive terminals of each one together and connecting the negative terminals of each one together. You also need to connect the output wire of the breadboard circuit to the terminal of the left mouse button that is not connected to positive. I made all these connections with alligator clips. Be careful to ensure that you only make contact with the terminals that you intend to connect with.
Once everything is connected, test it by plugging the mouse into a computer and pressing the rapid fire button. If everything is hooked up properly the computer should register a series of clicks from the mouse.
Step 6: Solder the Circuit Together
If the breadboard circuit works, then you are ready to solder it together on a printed circuit board. Because there is very little space inside a mouse, you want to make the circuit board as small as possible. There are several ways that you can do this. First you need to use the smallest components that are available. Lay the components flat on the board. You can also conserve space by putting multiple leads in each hole. You can even use the extra length of a lead as a jumper wire to connect to other pins.
The switch is the only part that isn't mounted to the board. It will be mounted to the outside of the mouse and connected to the board with a couple of small wires.
Once all the parts are mounted to the board, you should cut off any extra part of the board that sticks out past the components.
Step 7: Connect the Timer Circuit to the Mouse
Once your circuit board is soldered together, you can connect it to the mouse. The easiest thing to do is to just solder wires from the circuit board to the same terminals on the mouse that you connected the alligator clips to easier.
Step 8: Mount the Circuit Inside the Housing of the Mouse
Take a close look at the inside of the mouse's housing. Try to find a spot that has enough room for the circuit board. You may need to cut away some of the internal plastic parts to make it fit. If the circuit board of the mouse has any exposed metal near where the timer circuit will be mounted, you may want to wrap the timer circuit in tape to help avoid any possibility of a short.
To mount the switch, find a location on the outside of the mouse that would be easy to reach when using the mouse. I chose to locate the button on the left side of the mouse where my thumb rests. Fortunately there was already a hole in the side of the mouse at this point where I could run the wires. However, in most cases you will need to drill a hole for the wires.
Step 9: Use Your Rapid Fire Button
Now just plug the mouse into your computer and you are ready to kill zombies, aliens or whatever the target of your game is. To test it out I found a flash game that counts how fast you can click. You can check it out here: http://www.kongregate.com/games/wolfups/how-fast-can-you-click. Normally I was able to click at a rate of about 400 clicks per minute. But using the rapid fire button, I was able to get over 800 clicks per minute.
Step 10: Modify the Design to Work With Console Controllers
This circuit can easily be modified to work with a console video game controller. The only thing that you need to do is reverse the orientation of the diode. The buttons on a mouse normally connect to the positive supply voltage (5V) to activate each function. However a console controller typically connects to ground when the buttons are pressed. The output of the timer circuit is already a series of pulses that alternate between 5V and ground. So all you have to do is reverse the diode and the output of the timer circuit will connect the controller to ground.

Third Prize in the
123D Circuits Contest

Runner Up in the
Game.Life 4 Contest

Participated in the
Full Spectrum Laser Contest
125 Comments
5 years ago
TURN COMPUTER OFF REBOOT PROBLEM SOLVED
9 years ago on Introduction
I made one myself. The had a couple problems that almost stumped me until I got out my oscilloscope.
First, mice run on a carrier signal on a signal bus of some sort. The buttons do different things, the left will short the bus to the full 5V source. The right shorts the bus to 0V. The middle button, if any (sometimes the scroll wheel is also a button), attenuates the buss signal by about half. The bus signal has it's own frequency and shape. The frequency I was shooting for was apparently too high and registered as the button being held down steady.
Second, the low period was triggering a right click on the bus, making it a rapid right clicker. I tried blocking that with a diode on the output but it didn't work. It turned out the high output of the IC being only 2/3 of the 5V needed to trigger a left click on the click bus wasn't high enough and the diode's turn on voltage made matters worse. Using the high signal to trigger an NPN transistor between 5v and the bus didn't work, also
because the high output wasn't high enough to get full turn-on.
So to fix this I used a PNP transistor as a switch inverting the low out signals to allow the full 5V to be seen on the click bus. Works great now. I even added a switch to choose between two different capacitors to allow two different click speeds the higher being roughly 2X the lower speed. I tried 10X, but too high a frequency ended up registering as a button held down even if I fiddled with the duty cycle.
The biggest lesson I learned from this project is that the low side of the 555 output is the stronger and more duty cycle flexible part of it's output. If you need a signal at full Vcc or a duty cycle less than 51%, inverting the output with a PNP is your solution.
Reply 5 years ago
You used the same circuit, but you made a right clicker? I am trying to make right clicker myself, but it does not seem to work
Reply 5 years ago
The high output of the 555 was not enough voltage (3.33V) to register a left click because the bus is expecting a plain button switch to short the 5V directly to it. So I ran the 555 low out to the base of a PNP so the source and drain short 5V to the bus to indicate left clicks.
For a right clicker, connecting the low output of the 555 directly to the bus should do it. If that doesn't work right, try connecting the 555 low output to the base of a PNP so the source and drain short the bus to 0V (ground).
Reply 9 years ago on Introduction
Good job at trouble shooting.
6 years ago
does a bigger capacitator make you click faster?
6 years ago
Can't seem to get this to work. I've checked my circuits and everything is correct to me knowledge. The capacitor I used is a 10uf 25v, would that be the issue? Everything else is to the same spec as your instruction.
Reply 6 years ago
That shouldn't make a difference. Not all mice are wired the same way. Try testing it by using an external button to try to activate the mouse button.
6 years ago
Would this work with a wireless mouse setup using just 1 AA battery?
Reply 6 years ago
No, not without an addition battery. The 555 time IC needs at least 3.7 volts to operate.
6 years ago
How to make for up of 1500 clicks for minute?
6 years ago
Mouse
555 Timer IC
10 µF Capacitor -------------- ¿how much is in Voltio?
4.7 kohm Resistor
Diode ------------------ ¿what diode is [number, model]?
Jumper Wires
PC Board
Small Momentary Switch (not pictured)
Heat Shrink Tubing (optional)
Reply 6 years ago
The voltage of the capacitor can be anything over 5V. The diode can be any rectifier diode.
6 years ago
I have been playing video games since pong came out for the TV.
I am finding that as I get older, while I still enjoy playing games, I am getting much slower with clicking.
So this will come in super handy for sure :)
Thanks for this :)
7 years ago
I have carpel tunnel and am 71 years old and a looney tank gamer. Sdaly I am home bound so I would love something like this and althougfh I can solder and have the eqiupment here I can no longer solder. Would this help me with speeding up my tank fire, and can I buy something like this on line please? The youngsters are always beating me to the shot :-)
Reply 7 years ago
To be honest, the easiest thing to do is to just buy a mouse with programmable buttons. They sell mice that have a lot of extra buttons and they let you set the output functions.
8 years ago
Dude can you just make me one that will fit easily on a g400 mouse? I'll pay you!!!
Reply 8 years ago on Introduction
I could. But with the labor, materials and shipping cost it would honestly be cheaper to just buy a mouse that lets you program functions on the buttons.
Reply 8 years ago on Introduction
What kind of mice are there for that? I found one called the wolfking trooper mvp mouse but I can't buy it anywhere they went out of business. I can't find any other mouse that will let me with one click click 3-4 times on its own. You know of any? Thanks for replying so fast to a post that started a long time ago;)
8 years ago on Introduction
hi i was wondering if you could make a more detailed (easier for noobs like me to make) step by step tutorial. i was a little confused about certain steps