Introduction: Desktop Scroll Wheel and Volume Control!

Make Magazine's weekend project, 3/4/09

Some Background

Recently, I've been reading a lot of different blogs. Each day I'll read the latest posts on engadget, lifehacker, hackaday, BBG and the MAKE: blog. The problem for me came when I realised that only some of the posts were interesting to me, and to get to the interesting ones took a lot of scrolling.

For this, there are several solutions. I could have set my RSS reader up with each of the blogs that I read and go through the titles daily, or I could have set up a Yahoo! Pipe to filter by words in the title. I didn't much fancy this though, so I set about looking for easier ways to scroll long distances. In my searching, I came across this: http://www.griffintechnology.com/products/powermate - The Griffin PowerMate. The PowerMate is an assignable controller that you can set up for many things, browsing Google Earth, scrolling, Controlling volume etc..

I took a look at some YouTube videos of it in use and thought it was literally a scroll mouse on it's side with a fancy knob and some software. A few googles later, and I found a post on the bit-tech forums about a guy who made his own from a VCR spindle and an old mouse. I fancied a bit of that, so away I went and this is what I came up with. I call it the Griffin PowerFake.

It's made from an old PS/2 Mouse, a project box and, yep you guessed it, an old R/C car.

Step 1: What You Will Need

To build your own, you'll need the following (note that some of the parts are interchangable, say the R/C car wheel, while some are very specific, like the type of mouse you use):

  • An old PS/2 Mouse, preferably one that has a ball rather than an optical one, and one that uses a Rotary encoder as a scroll wheel, not one that uses an IR Transmitter/Detector. If you don't know what a rotary encoder looks like, see the last image of this step.
  • An old R/C car/ Other circular object you can use for rotating that fits in your hand easily. Other suggestions are the spindles from an old VCR or maybe even an old CD-ROM drive, spinning the CD like a record on a turntable.
  • A project box of your choosing, I used an old one I had lying around.
  • A metal rod of suitable length to go through your R/C car wheel, project box side and the rotary encoder.
  • Solder
  • Soldering Iron
  • Solder Wick/ Desoldering pump
  • Tape/Glue/Double sided foam pads/ Pressure sensitive tape to mount the encoder.
  • Superglue
  • Drill
  • Screwdriver
  • Small piece of strip board (Optional)

Step 2: Gut the Mouse

Time to rip apart your beloved mouse. Usually these just come apart with one screw, but maybe your manufacturer has decided to be a bit sneaky and put screws under stickers as a way of telling if the warranty should be void.

Now is where you'll find out if you have a rotary encoder or an ir transmitter as a scroller. If you have a rotary encoder, well done and carry on. If you have an IR Transmitter (As is the case with cheapo mice) then it's no good for this. Go directly to jail, do not pass Go, do not collect £200. OK, bail yourself out and try with a different mouse.

I don't have any pictures of this step because it's a bit obvious (and I forgot to take some), but I do have a picture of my board after the rotary encoder has been removed, and one of the rotary encoder soldered to the piece of protoboard I used to mount it.

Step 3: Desolder the Encoder

Right, now it's time to pull out the mouse wheel from the hole that it sits in and bin it. Now flip over the board and find the holes where the encoder is soldered in (there should be 3 of them in a row). Make a note of which way the encoder points, or you'll solder it backwards and it won't work properly. Heat the solder points with your iron and use either solder wick or a desoldering pump to pull off the solder from the board, releasing the encoder.

Now in each of the holes that the encoder was sat in, solder a different colour of wire. These will need to be about 3-6 inches long depending on your project box size. Now you have a choice. You can either solder the wires directly onto the corresponding pins of the encoder or you can go into the magic cave and look for the chest of mystery (Page 132). No seriously, your second option is to use a piece of stripboard to connect the pins to the wires, as I did. This is a bit more durable than directly soldering the wires. In my picture I have bent the tabs on the encoder at right angles to the actual component and have already glued in my metal rod.

Step 4: Glue the Rod In

Now you'll need to find a metal rod that will fit through the middle of your encoder (I used a piece that I had lying around, you could maybe use a thin nail or some thick and quite stiff wire, maybe from one of those massove paperclips).

Once you have your rod, cut it to about 3 inches long or shorter. It needs to be long enough to fit through the encoder, one side of the project box and a good way into the wheel of your R/C car.

Glue it in to the rotary encoder by putting a small dab of superglue onto the rod and sliding it in to the hole in the encoder's centre. Let it dry, and if the metal rod can turn the encoder, you're in business. Otherwise, use a knife to scrape away where you've stuck the rod to the edge of the component and try again. You'll find it turns very easily with the rod stuck in it.

Step 5: Mount the Encoder

On my encoder it is worth noting that there were 2 tabs on the sides that were also soldered to the curcuit board for stability. I desoldered these and used them to mount the encoder to the project box lid. YMMV.

First off, drill a hole in your project box that's the same diameter as your metal rod, and stick your rod through it. Now you need to mount your encoder to the inside of your project box. For this, I used pressure sensitive tape, which is double sided and very sticky. I then went over this with a little tape just to be certain.

Step 6: Stick the Wheel on and Mount the Board.

Time to rip the wheel from your R/C car. If it comes with a gear in it as mine did, then you might want to keep it in to act as a spacer/ washer for your wheel.

I used a little superglue again to mount my wheel, the same way as I did the encoder. You may have a different diameter hole in your wheel to your rod, so I reccommend you roll up some paper to pad out the hole, or gum it up with some Blu-tac. I don't have any pictures of ripping the wheel out, partly because they're all different and partly because mine was found at the bottom of my parts bin.

Now all you need to do is stick the board to the bottom of the project box (pressure sensitive tape again) and drill a hole in the side of the case for the cable to escape from. Then clip/screw the two halves of the box together and test it!

Step 7: Test It

Plug it into your computer and give it a whirl. Please note that I use a USB mouse with my PC, so the PS/2 port was free. If you used a PS/2 mouse like I did, you'll have to reboot your PC after plugging it in for the BIOS to recognise it.

Fire up something scrollable, be it your Winamp library, your browser or a massive Ebook and give it a test. If you find it's too sensitive or not sensitive enough, then go into your Control Panel and adjust your mouse properties, more specifically, how many lines you scroll with one turn of the wheel.

As an added bonus, see if your wheel has enough momentum to scroll under it's own weight with a flick of the wrist, like mine does.

Step 8: Take It a Step Further

I wanted to emulate the PowerMate as far as I could, so a little googling later turned up this awesome piece of software called Volumouse: http://www.nirsoft.net/utils/volumouse.html

Basically it lets you adjust the Volume of your PC by holding a keyboard button and scrolling up/down. As well as this, it will show a little slider that shows the percentage volume that your PC is at. It will also resize windows using the wheel and change brightness, all according to the conditions you give it.

Here's a demo video of the wheel with Volumouse installed and running, with the Window Resize plugin installed.



And that's it! If it looks like I've missed anything out, or if you have a question, feel free to comment and rate!