WIRELESS 555 Timer Mouse Modification




Introduction: WIRELESS 555 Timer Mouse Modification

These instructables are mostly about electronics. I hope you find them helpful!
First of all, my blog/the original.

Second of all, I would like to mention how easy Instructables is to use. It's just so much easier to give instructions when you can label your pictures and answer comments.

Lets get to business...

A couple years ago I followed this instructable: Add a rapid-fire button to your mouse using a 555 timer

It was easy to follow, the schematics were a bit confusing. It only works on wired mice (mice that run at 5 volts), but in the end I accomplished it.

Today is 2013 and my desk is a little more cluttered than before. I found a cheap wireless mouse in Hong Kong and I loved it. It extremely portable and compact. It wasn't glitchy and it was easy to use.

The sad part was that I had to give up my rapid fire button, which meant giving up the ease of firing pistols at lightning speed in Counter-Strike.
I looked all over the internet to try to find how I could add a rapid-fire button to a wireless (1.5 volt) mouse, and the only thing that could help me was this.

It seems like no one has gotten it working yet, so I decided to try.

Here is a video of it working:

Step 1: Schematic, Parts

For all you people out there who just want the schematic and parts, here you go. Ignore the rest of this instructables.


LMC555 timer (LMCMOS)
1k resistor
10k resistor
3.3 uf capacitor
NPN transistor (depends on what type of mouse you have)

Step 2: You Kept Reading!

So, now that you have everything, test it out on a breadboard before you start screwing around with your possibly expensive mouse.

I used an Arduino as an oscilloscope. I didn't write the Processing code, I just use it.
Just plug in pin 3 of the 555 timer to an analog pin to read the square wave. If it's working, your square wave should look pretty nice!

Now, I promised that I would explain the transistor.
First, take apart your mouse. You might find screws underneath the pads of the mouse.
After that, flip the circuit board upside down. Look at the two pins of your left mouse button. One of those pins goes to the processor and another one goes to a signal.

Now, on the wired mouse 555 timer modification, the processor on those mice usually pick up a HIGH (5v) when the button is clicked.
For this wireless mouse, the processor picks up a LOW (0v) when I clicked the button.

To determine this, I read the voltage of both the pins when I clicked the button. Both were 0v when I clicked, so obviously the processor pin picks up a click as LOW.
I'm not sure if this applies to every wireless mouse, but it might be common.

Step 3: How Transistor?

Transistor comes from the words "Current-Transferring Resistor"
It's like a relay. When a voltage is applied to Base it lets current flow from Collector to Emitter.

In this case, we want to connect the mouse processor pin to LOW/GND. So, connect the collector of the transistor to the processor pin (on the button), and the emitter of the transistor to GND.

Connect the base of the transistor to one end of the button. The other end of the button will later be connected to pin 3 of the 555 timer.

Now, the hardest part of this project is not the circuit but the mouse. Make sure your button fits your mouse. Bend the leads, cut away plastic, or whatever to fit it inside your mouse.


The circuit might work without a transistor. Instead of connecting pin 3 output to the base of the NPN transistor, try connecting the pin 3 output directly to the processor pin.

I just realized this because 555 timers oscillate HIGH (5v) and LOW(grounded).

I'm pretty sure this is true; if anyone tries this and find otherwise, please do share!

Step 4: Doing the Circuit, Finishing Up

So now that your button is in place, make your 555 timer circuit.
You are working with a wireless mouse, which has a battery, and must fit your button, 555 circuit, and possibly other junk, so make sure you WORK SMALL

I bent the pins so that I can solder nicely.

After the circuits are done,
Connect pin 3 of the 555 timer to one end of the button
Connect 555 timer to Vcc and GND

Wrap all circuits in electric tape.

After that, shove all the circuitry into the empty spaces of the mouse (without obstructing any mechanical parts), and screw the mouse back together.

LMC555 is guaranteed to run at 1.5v but not anything lower. Your button might be glitchy, as mine is, but it works most of the time.

Other than that, I hope I helped some people make a WIRELESS  555 timer mouse modification. Ask any questions in the comments.

Added pictures of the insides. the 555 circuit WILL WORK at really low voltages. I tried, it worked until 0.5 volts, which is when the mouse died. My button was broken which is why it was glitching.



    • Metalworking Contest

      Metalworking Contest
    • Fix It! Contest

      Fix It! Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    30 Discussions

    Ok I'm incredibly slow when it comes to circuits. When I tried to do this with my mouse that had three pins (a b c, as you described) I messed up and had to find a new mouse it still has three pins (a b c) but its older than the last mouse (no scroll wheel, imagine that...). It's a Mitsumi circuit board and the cord that connects the computer and circuit board has these words next to the wires

    Large black - Shield
    Small black - G
    Brown - Data
    Orange - +B
    Red - Clk

    Which of these would be ground and which is Vcc (that means power right?) if you can help it'll be much appreciated.

    1 reply

    Oh wow that is a pretty old mouse.

    In that case it is probably a PS/2 mouse (please tell me if it is not). Make sure you can use it with your computer first before you modify it! Not many computers use serial or ps/2 or parallel or....

    Anyways here is the information on PS/2


    I'm guessing small black is GND... It doesn't look like the circuit board listed Vcc...

    To check if the small black wire is GND and to find Vcc connect a voltmeter - to the black wire and the + to any other wire. the wire that gives a steady 5v is most likely Vcc.

    I'm pretty sure G is ground, so make sure that is right :P

    Tell us how you did!

    Ok now I have another issue my mouse button has three possible connections THREE of them. So how do I test which one of them to use? Would I solder everything besides the left button then switch which of the pins I'm connected too to see what's what. Or can you just tell me which to use

    13, 3:54 PM.jpg13, 3:54 PM.jpg
    1 reply

    Ah those
    So those toggle switches have three pins. Pin A, B, C.
    When the button is not pressed, for example, pin A and B are connected. B is in the center.
    when the button is pressed, B is connected to C and disconnected from A.
    So what I would do is look for which two pins are connected when you do not press them. When you find those pins (they should be directly next to each other) the middle pin is probably the source of signal. The pin farthest out is probably useless, so you can ignore that pin.

    Now you are left with two pins. In my example, pin B and C.
    I'm pretty sure, but I might be wrong, that the middle pin is to signal (B). That means that pin C is to the processor. Now you have to determine if your click is sensed when that pin goes LOW or HIGH. I think for wired mice it's usually HIGH. Check the voltage while the button is pressed to determine whether it's HIGH or LOW.
    If it's HIGH, you don't need a transistor.

    Hope that helps!

    Hey Audrey,

    So basically you have the Arduino reading an analog pin and sending those numbers to the serial port.
    The processing sketch (which I did not write, only changed a bit) takes those numbers and represents them graphically, like Excel. It displays the voltage over time.
    It's not exactly an oscilloscope, more like a graphical voltmeter, but it serves it's purpose well. The download is in step 2. Thanks!

    Tried it on a new model mouse and the microprocessor didn't accept the circuit. Tried a simple dell mouse and worked great. Thanks. I did find that your circuit diagram was easier to follow. Mainly because you had the pins in the right order.

    If you cant get it to work like me try connecting pin 4 and pin 8

    The circuit works on any mouse
    The only concern is probably about how you would fit the button and circuit into the mouse.
    That's probably the most difficult part; fitting the circuit in.

    Nice! Ages ago (With PS/2 mice and no USB even known) i made one like this but with adjustable frequency. It rocked with the first counterstrike and its pistols. Empty a mag in 0.5secs? Deadly firepower if you are on target! ;)

    1 reply

    Yea :P

    The current CS GO puts a limit on how fast it can fire, and also they made the recoil a bit more difficult.

    It's still a useful button though; it makes me a bit more comfortable using pistol.

    Ok so what pins are together connected and with what it's hard to see in the pictures

    1 reply

    I just realized I never replied to this, sorry.

    Could you be more specific? It's connected just the way it is in the schematic.

    Ok this sounds like a stupid question but what voltage do I set my multimeter to? And how do I test my tactile switch leads for GND and Vcc

    1 reply

    lol its okay any questions.

    To test voltage you turn your multimeter counter clockwise 3 clicks (the V== (20))

    to test continuity, turn your multimeter to the third red thing when turning clockwise (the thing that looks like a diode).

    Connect black to the small black wire (the thing that is possibly ground) and the red one to other wires to test for a steady 5v reading).

    This is my multimeter

    14, 3:12 PM.jpg

    Hi guys,
    Quick update:
    So my button broke because I was a bit rough on it. I replaced it.
    It turns out this circuit CAN work at lower voltages than 1.5v, for example, 1.1 volt, which is about when your mouse should start dying.

    So, it was just a button glitch, everything works even nicer.

    Does this method also work on wired mice?