In this blog post, I will show you a simple hardware hack to make your mouse capable of rapid firing (or automatic continuous clicking). Of course you can always resort to software mods to achieve the same goal, but admittedly doing so in hardware is nevertheless more fun and as a bonus you also get an extra button. A video demonstrating this hack can be found towards the end.
For a typical mouse, whenever a button is clicked the output voltage level from the button changes between high (e.g. Vcc) and low (e.g. Ground) and this voltage level is in turn translated into the clicks. So the idea behind this hack is simple, if we could connect a circuit in parallel to the mouse button and automatically change the output voltage level we would essentially achieve the same effect as physically clicking the button.
After we understand the basics, the actual circuit to achieve this becomes trivial. Here I used a 555 timer to form an astable oscillator to generate the mouse clicks. The output waveform has a frequency determined by the following equation:
Using the component values illustrated below, you get an output square wave of roughly 13 Hz (13 clicks per second) and because R2 is significantly larger than R1, the output waveform has a roughly 50% duty cycle. In practice, you can substitute R2 using a resistor connected in series with a potentiometer so you can fine tune the output frequency as desired.
The entire circuit can be soldered onto a small protoboard and can be placed into an existing standard-sized mouse. This design should work with most wired mice as the Vcc can be taken directly from the USB power connector. For wireless mice, it will depend on how they are powered as some mice operate on a single cell and use DC-DC converters for the on-board electronics. In most case though, you can use a 7555 timer chip (the CMOS variant of the 555) as they can operate all the way down to 2V.
Here is a picture showing the completed circuit.
Most standard mice have plenty of empty space inside and the added button and the circuit board can be mounted to the side or any other empty spots you desire.