Author Options:

Mouse wheel. How do I replace optical encoder with rotary encoder? Answered


I have a Belkin Nostromo N52 controller. It has a mousewheel that can be custom programmed independently from the wheel in your regular mouse. I want to use it as a jog dial so I want to remove it from the original place and replace the rubber wheel with a jog dial. Basically it is to rotate the wheel 90 degrees as they did here with a mouse:


The problem is the Nostromo wheel uses an optical encoder instead of a rotary encoder (the typical used by half of the mouse wheels in the world).

The mod I want to do would be a little complicated using the optical encoder (I would have to use a piece of PCB perpendiculary soldered to the main PCB and the height of the resulting device would be very tall for what I want) but it would be very easy if I could replace the optical encoder with a rotary encoder I salvaged from a mouse since it can be laid down on the PCB pretty well.

The problem is the signals of the optical encoder and the signals of the rotary encoder are different. The middle leg of the receiver in the optical encoder is connected to +5vcc while the outputs are connected to ground using 10KΩ resistors. In the rotary encoder, the first leg is connected to ground and the other two go directly to the mouse IC.

I tried to remove the optical encoder of the Nostromo and connect the two outputs of the rotary encoder to where the outputs of the IR detector go and the third leg to ground but all I get is a permanently actived scroll down (as if the wheel was scrolling down all the time). I didn't dare to connect the third leg to Vcc just in case I blow the thing.

I think there must be a way to replace the optical encoder with a rotary encoder and get the same signals and I think this involves using the Vcc line and resistors but since I'm not very good at the electronic side of things, I don't know how to do it.

I'm enclosing a diagram of the optical encoder circuit. The diagram on the right enclosed in question marks is what I guess would be the equivalent circuit for the rotary encoder but I'm not sure. Can anybody confirm it or point out the appropriate corrections?

Thank you.


The forums are retiring in 2021 and are now closed for new topics and comments.

6 years ago

The linked instructable just extends the scroll wheel away from the mouse while still using the electronics. Then with the right software you can set that mouses scroll wheel to do what you want. The same will work with your idea. Just gotta keep the encoder with the rest of the hardware and use the right software. Just do like they did in the instructable and solder wires to the encoder so you can place it anywhere you want. It doesn't have to stay close to the rest of the original hardware.

If your set on using the rotary encoder than get the encoder you want and use an Arduino Uno to read the encoder and act as the mouse.


Reply 6 years ago

Thank you, mpilchfamily, but the point is I have a very limited space between my motherboard and the cover of the device, just 7 millimetres, that's why I need to replace the optical encoder with something smaller and the rotary encoder is just of the right size. Also, as I said, I am modifying a Belkin Nostromo controller so I am using all its key connections (21), leds (3), USB hardware and driver software and I wanted to use also the wheel but transformed into a jog dial.