Computer Scroll Wheel, Bearings Version

40K12943

Intro: Computer Scroll Wheel, Bearings Version

A heavy-weight scroll wheel to do the job of the conventional mouse wheel. Useful for scrolling through long lists, video editing and zooming in programs such as Google Earth.

The larger diameter and weight means that faster scrolling can be achived, with greater accuracy than the conventional mouse wheel affords.

This is based on this Instructable by 'whatsisface'. I just wanted something a little smoother and refined. Plus, I wanted a reason to use my lathe for something other than making candle sticks.

I'd recommend reading at least the first few steps from the earlier instructable, as mine starts off after the soldering is completed.

Anyway, enjoy.

STEP 1: Mouse Dissection and Box Construction

As I only decided to document this project after completing this step, I can only offer photos of the project from this point onwards.

I'd recommend reading the first few steps of earlier Instructable for the details of mouse dissection and soldering, as you can see from the picture below I've already (messily) glued everything in place.

The important thing is to find a mouse that uses a solid state rotary encoder for the scroll wheel, rather than an optical encoder. Desolder this from the board and use extension wires so it can be positioned where we want it.

They are rarer than optical encoders, I went through a pile of 10 'faulty' mice before I found mine. If it helps, the model code is: MUSD(B)-B-2, there's no other identifying information on it.

The box will depend on the size of the circuit board you have to enclose, my mouse had a large circuit board, so rather than chopping it up and soldering onto the traces I opted for a mouse sized box.

As I intend to cover my box with leather, the appearance of the box doesn't really matter, so I chose just to use 3mm chipboard and wood glue. Along with liberal amounts of hot glue to secure the circuit board and components in place.

Please excuse the red tape, it was to cover up the sensitive parts of the circuit while it was laying around on my workbench. I didn't see any reason to remove it again once it was in place.

STEP 2: Bearing and Shaft

The bearing is one of many salvaged from a scrap photocopier (The aluminuim for the big wheel is from the same machine, it was a former foot.) I forgot to include any indication of scale in the photos, but the internal diameter of the bearing is about 5mm.

Make sure the bearing is fairly secure, as you push the rod through later it could be pushed out of it's holder. Also, now would be a good point to make sure the bearing is spinning freely and well lubricated.

The first two photos are of the box lid, again, this will all be hidden so I'm not bothered about how it looks.

If possible choose a bearing that neatly fits the shaft, or you'll end up wrapping tape around the shaft to widen it. It'll all be hidden, but may throw the whole thing off centre. Use thick tape to get an approximate fit, then thin tape to get it just right.

The shaft needs to be attatched to the wheel in the dead centre, I did all this on a lathe, but it could be done with careful mesurements, drilling and file work.

Cut the shaft to length, test fit it with the assembled box, and then file the tip of the shaft to a square point. This should slot neatly into the hole of the rotary encoder.

STEP 3: Wheel

The big wheel is the most obvious feature of this project, so you may want to spend some time getting it just right.

Again, a lathe really helps here, getting everything perfectly central and giving a nice finely grooved surface. I decided to go for a set of concentric grooves, intended to be for aesthetic purposes, but they do feel like natural finger grooves when turning the wheel.

To fit the wheel onto the shaft, drill out a hole a little smaller than the shaft, and gradually narrow down the shaft until it fits tightly. Keep a slight taper on the shaft so it can be hammered in to be secured. Threading would be a more elegant solution to this little problem.

Now is the time to align the rotary encoder with the shaft to ensure the wheel is level. I did this using blue tac to hold the rotary encoder in place, assembling everything and then moving it around by hand to get it in the right place. Then taking it all apart and gluing the encoder securely in place.

STEP 4: Covering the Box With Fabric.

If your case isn't fit to be seen on a respectful desk, then you may want to consider covering it with some fabric, or sanding/painting/sanding/painting it.

I found a piece of imitation leather that was just about the right size, and looked rather good with the aluminium wheel.

Basically cut out the net of a box, with flaps to fold over the corners. It helps to draw around the box onto the fabric. Also, if the fabric isn't a uniform colour, colour any edges that will be showing once the box is all wrapped up.

The bottom of the box can either be covered by the same method, or use a 'furry' fabric like felt for a nice base.

STEP 5: Finished, Future Improvements.

All done, try it out, I find it particually useful when navigating in a 3d enviroment such as CAD programs or Google Earth.

It's also pretty good for programming, scrolling through long files quickly and accuratly, or just giving it a spin to get to the top/bottom of the file.

Future improvements:

A shaped case
Though it's not as uncomfortable as it looks, curved edges would improve it.

Buttons
If I encounter a program that requires a mouse click and scoll for a frequantly used function, I may wire one of the buttons to the side of the case
A more complex improvement would be to have a button click when the wheel is pressed down.

Smaller footprint
The reason for the big case is the size of the circuit board, if I did this again I'd choose a mouse with a smaller board, or chop the board up and solder directly to the copper traces by the chip.

Optical encoder
It'd be possible to use an optical rather than a rotary encoder, it'd be smoother (The rotary encoder has clicks, or notches) and give much less friction, so would spin for longer.
The downside would be the additional complexity oh the build. (And trying to attatch that perferoated disc to the wheel shaft, could be awkward..)

Any more suggestions for improvements?

43 Comments

Nice thought with the SS rotary encoder. Much easier and more robust in this application. Next step is simply to dispense with the rest of the mouse guts entirely though. Much nicer Solid State encoders are available to substitute from as low as $1 or $2 brand new, and they can be scavenged from most newer car stereos or whatever (if it spins forever and doesn't hit a fixed stop, its likely an encoder). Other nice thing is that those usually have detent steps which is a very nice, almost necessary feature for this application. An encoder will have the two signal pins for the quadrature, and one for power in. Its that simple. No entire mouse board and other guts are even actually required unless you are looking to use them simply for the USB translation. There are other ways to do that too, or just run the signal pins directly to an actual serial port and skip the middleman entirely. Then your parts count is literally down to one shaft encoder, three wires, and one box to put it in.
http://www.mcmanis.com/chuck/robotics/projects/lab-x3/quadratrak.html

here is a good link with schematic that will simplify things for you (i hope!!)

would you mind to throw together a schematic? i would greatly appreciate it.

your idea sounds so much simpler; no point in having all the mouse hardware if you wont be doing actual clicking with it. although a click option (im imagining something similar to clicking a joystick on a xbox controller) would be very nice too. that would be a lot more scalable (maybe a few of these on a USB hub in a larger case for multiple wheels?) though im not sure what i would use them all for, it would stil be badass looking if done right (a bank of scroll wheels???)
I don't really have a schematic per se - I simply ran the three wires directly to a parallel port (two signal pins and one tapping the ports power pin to drive it). I took care of actually parsing the two channels changing states - and interpreting that into direction - in software. You can write that into custom code yourself or just use any one of a number of programs to do it, many free. Its pretty common to find to control things like jog wheels on CNC machines. Actually any machine control software that queries a parallel port can be configured to do it.

Look for anything meant to interpret "gray encoding" or "quadrature encoding". If you just google "gray encoding" you will get how it works really fast! Its really simple.
Before anyone gripes parallel ports are old and slow, two things;
1) They were never meant to be a data transfer method, that was hacked on later and badly. The initial reason for them to exist was to interface with and control physical machinery in real-time. At this they excel, as that MUST be parallel in nature. Things like USB meant for fast data transfer are serial, and therefore there are timing and sequence errors.
2) Parallel cards are available to this day, for those machines that don't have it, for like $10.
Any equipment hacker who wishes to interface directly with hardware needs one. Even if its an ancient design, the fact is it was designed for just this exact purpose - and any new port designed for this would have to do the exact same damn thing inteface directly and avoid virtualization layers. Just get one already. There is a reason they are still standard in the CNC industry.
I'm having a rather difficult time finding a mouse w/ a solid state encoder, and google isn't really helping. You mentioned a place where you can get rotary encoders, could you point me and anyone else having trouble in the right direction? Also, how would you connect the encoder to the computer? Would you have to use a serial port or could you solder the new encoder in the place of the old one? I'm a novice in DIY electronics, so any advice would be appreciated.
Mouser Electronics has a lot of them, try searching their site or starting around page 1500 of their catalog. The rest of the electronic supply places should carry them too. You could just substitute a better quality, encoder for the original mouse one, just solder it to the same connections and use the mouse board as-is for its interface chipset. Probably the easiest if you are a novice. I use an interface that expects to be speaking to a number of quad encoders directly, (I use four) so I can just run them into a serial or parallel. Gives me a ton more control over their behavior, what they each control, and aspects like defining step resolution, etc. but it is more difficult in that it requires coding your own (if pretty simple) driver, or only using software that already understands quadrature input.
Let's just say programing isn't my forte, so that route is out for me... If I were to buy an encoder and wanted to attach it to the existing board, would I need a mouse that had a SS encoder to start with, or could I throw it on where the optical encoder's terminals were? Also, what kind of encoder do the mice use? (ie. binary 2-bit greyscale or greycode or quadrature, do the number of channels matter, do I need it in absolute or incremental) Well anyways, thanks for the helpful reply.
Thanks for the advice. i did however find a mouse that worked for me, so I'm happy now.

I have pictures of it, and a link on the original version of this ible.
Really excellent Instructable and kind of humbling to see how makers can play with the PowerMate concept. Love the over-sized-ness of the knob.

I work at Griffin and PowerMate in one of our best-known products. We've come up with all sorts of cool ways to use it. I'm actually working on hacking a couple for use as foot-pedalled ubercontrol. While PowerMate uses drivers and/or a freeware app called Proxi to allow configuration, I have to believe that you could use any mouse control and remapping software (http://www.oatsoft.org/Software/by-category/Repository/Need/Mouse) to get a lot of additional functionality out of the controller.

Nice work.
check out GlovePIE mentioned in a post somewhere around here, you can very intuitively make the left click of mouse #12 = "f" is you want to. or you could set it equal to a volume control of something like that
how did you connect the mouse and external scroll wheel to the computer at the same time
The wheel is on a ps2 connection (the old round connector). And my usual mouse/trackball has a USB connector. My computer seems to accept both at the same time, I suspect most will.
 I know my vaio will even take multiple USB mice, we had to run things from 2 both ends of our sound booth so I had 2 wireless mice plugged in and well, my friend on the other side decided to make my life hell and play around with the cursor at the same time I did
 I seem to remember the actual powermate as having glowing LED's I think If I were to make this I would add the LED's, this could be achieved by using a USB mouse and if you find where the cord to the USB is you can use the Red and Black wires and a resistor, of which I cannot remember the resistance to run the generic 3VDC LED's, I used this technique to make a Small aluminum can christmas tree light up for a friend of mine, she loves it and i'm pretty sure it stays plugged into her computer 24/7
ALPS! WHERE ARE YOU LIVING I WANNA VISIT U! XD

joke ;)
I just finished mine. It also has a bearing and i used half a duncan yoyo (ive got tons of yoyos as i had a brief obsession, and this is the cheapest one i own) for the wheel. Thanks for the 'ible, it was useful.
i made this automatic one it work by a motor a joy stick to make the motor spin in both directions ran by a twelve volt battery
Couldn't you also put the scroll wheel button under the axle? Then it would be even more useful!
Oh, sorry I did not read the "Future Improvements" section of your Instructable - I guess you said that it'd be difficult, not impossible, to use an IR encoder. PS - The red optical LED in my wheel's case (which happens to be transparent) looks awesome!
More Comments