Introduction: Ultimate GREEN DIY Trackball Mouse From Junk

About: Arduino and Robotics Nerd, and alumni of FIRST Robotics Team 5683 (Go R.A.V.E.!). Blinking LEDs with Arduino is still one of my favorite pastimes even after years of doing it.

Hello everyone! Today we will be building a Green DIY Trackball mouse from old junk we have lying around.

This project is green for 3 reasons:

  • It is made out of junk, so it is environmentally friendly
  • I incorporated green LEDs into the design (why not?)
  • I painted it green

Why did I build it? Well, let's see...

Trackball mice are growing in popularity, but they are still really expensive to buy, especially the ones that incorporate all the features of a normal mouse. While my trusty Zelotes T-90 is a nice mouse that I like and will continue to use until it dies, it lacks the versatility afforded by a trackball, i.e. you need desk space to use it. So, since I have a box full of about 30 old, partially functional mice from back in the days of Windows XP, I decided to hack a few open to see what I could do with them. And that spawned my idea to use the optical sensing system in one of these old mice to read input from a trackball, essentially creating a trackball mouse.

Read on to build your own, and please, please don't forget to leave a vote in the Colors of the Rainbow contest if you like this project. Your voting/favorite-ing/following helps me be successful as a maker, and motivates me to build more awesome projects more often. I really appreciate all of you that have decided to follow along so far, and I hope to continue to be able to make awesome stuff with your wonderful input, advice, and support.

Step 1: Gathering Materials

This is what, the 15th time I've written this? Always have the stuff you need on hand, because there is nothing more annoying (well, almost nothing) than having to shelf a half-done project because you can't find a part.

You will need:

  • An old optical mouse (that works)
  • Assorted bits of plastic from the recycle (bottle caps and rings)
  • Ping-Pong ball or similar round object
  • wood, clay, or some other suitable material for a base (I used wood)
  • electrical wire (I used 24 AWG stranded core)
  • Paracord or a bootlace
  • 8 Green LEDs, 6x 3mm and 2x 5mm
  • 10k trimmer potentiometer
  • SPDT switch
  • Green and black gloss spray paints


  • Hot Glue Gun
  • screwdriver
  • Snips/wire cutters
  • X-acto knife
  • Soldering Iron
  • Power drill
  • Sharpie
  • paintbrush
  • Patience (some steps are frustrating and will take a while)

Step 2: Disassembling the Old Mouse

I actually used 2 different mice in this project, because I was stupid and forgot to check if the first one worked. I suppose that was for the better anyway, because I ended up using the microswitches, paneling, and scroll wheel from the 1st, as I preferred them to the ones in the 2nd mouse.

First we have to find all of the screws on the bottom of the mouse/mice. Usually there are a few obvious ones, and if the mouse was made by any typical company, there's a good chance of there being a couple screws hidden either under the label or under the feet.

While disassembling, keep all of the parts, you will need many of them later.

After all the paneling is removed, you will want to identify and remove the circuit board. Then, fully disassemble the outer shell of the mouse, so that the clicker pads are separate from the grip/palm rest.

Now, you should have several assorted plastic bits. Right now we want to focus on the base. I used an X-acto knife and my snips to cut off all of the curvy edges, with the end goal of obtaining both the optical port (the hole in the base) and the scroll wheel axle guide as separate pieces. The scroll wheel axle guide is best left with a 1/2 centimeter square skirt of plastic around the edges, as seen in the photos.

After that, I decided to cut apart the upper section of the mouse. I ended up with 3 pieces: the left and right finger rests, and the guide for the clicker pads.

From there, I cut the clicker pad part as well as the corresponding guide neatly in half. Using some Cyanoacrylate glue from BSI (one of the better brands, in my opinion) I then glued each clicker pad to its respective guide so that it actuates exactly as it would were it still attached to a mouse. I then set these aside for later.

Now that we have some parts, we'll move on to do some soldering.

Step 3: Rearranging the Electronics

Unfortunately I don't have any good pictures for this step, but the principle is simple enough.

Basically all I did here was desolder the microswitches and the scroll wheel encoder, and then resolder them with wires so that I can reposition them however I like. I also mounted the scroll wheel encoder and "middle click" switch to the axle guide.

While hot gluing the encoder and switch to the axle guide, you will want to glue the encoder first, with the wheel slotted correctly in place, and then solder the switch accordingly to ensure proper alignment.

It was at this point I decided to test my original mouse to make sure everything worked. After a few hours of trying to figure out if I had a software driver issue, I discovered that the USB interface chip on the board was dead. So, I went and got another mouse, and checked to see if that one worked.

After confirming that it worked, I disassembled it, but not to the same extent as the last mouse. For this one, I only removed the circuit and cut the base plate to harvest the optical port covering. Everything else I set aside.

Then, I desoldered the same components from this mouse as I did the last one. However, instead of resoldering these with wires, I put them in my spare parts bin, and soldered on the corresponding components from the original mouse, which was of higher quality.

Additionally, I identified an open space on the board for a resistor and LED. Perfect! I soldered a jumper across the resistor port, and then soldered two long wires to the LED port. I decided against adding LEDs at this stage because they will only get in the way of the rest of the stuff we are going to do to get this mouse functional.

After everything is soldered to the board, I put some hot glue on all of the connections I made to reduce the risk of shorting as well as reinforce the joints.

Now, the next step is to align the clear lens piece and screw on the optical port piece we cut from the base plate.

After that, I decided I wanted a longer cord. So, I took an old Apple charging cable that had broken off at the end with the funky adaptor bit (y'know, one of the crazy ports that Apple specializes in) and stripped the ends of each of the wires. I did continuity checks to see which wire went where, and did the same with the original mouse cord as well. Before I did any soldering, I took some purple paracord (I didn't have green, but purple complements green so it'll be fine) and pulled out the strings from the middle. I threaded the Apple cable into the paracord, scrunching the cord up until the cable was all the way though, and gluing the end to the USB port. I then cut the USB port off of the original mouse cable, stripped the end, and soldered the wires to the corresponding ones on the Apple cable. I insulated the joints with electrical tape and hot glue, then pulled the paracord sheathing up and over the joint, all the way back to the control board, where I glued it down.

This resulted in a 2.5 meter long cable, which is more than enough to use with any computer setup. Now that we have this done, we can build the trackball guide.

Step 4: Making a Trackball Guide

Now, this is the part where patience is required. Most people use a bottle cap or a toilet paper tube of some sort for their DIY trackball mice, but I wanted better aesthetics than that sort of solution will allow, and I also wanted to lock the ball in place in the mouse, allowing for travel.

So what do I do? Well, I picked that original mouse for a good reason. It has a large, aesthetically and ergonomically sound palm rest piece. And I can cut a hole in it. So guess what what I did? I cut a hole in it. By hand. For two hours, I toiled with my trusty snips and a dangerously sharp X-acto knife, whittling away to create the perfect hole. And the results really paid off. My ball seems to roll smoother than a baby's buttcheek, if that saying is to be trusted any more than my dog when a squirrel is nearby...

The trick is to shave off small amounts very slowly. That, and to be able to draw a good guide circle. I did this with the aid of a toilet paper tube (which I checked to ensure the diameter was smaller than my ball). You want to get an orthographic layover, so really you are cutting out an oval rather than a circle, due to the curved surface of the palm rest. I also used a drill to cut out a smaller starter hole in the center, but I didn't use it to cut the full sized hole because it would result in a rougher edge, and also would have been very difficult to align properly. I didn't have the right sized bit for the hole I wanted anyway, and I definitely don't need or want to go out and buy one.

After I finished whittling, I took a bit of sandpaper to polish out the interior rim, aiding the ball in rolling smoothly.

Now that we have a trackball guide, we can move on to begin assembling things.

Step 5: Assembling the Interface (i.e. Fun With Glue)

So, now we are essentially gluing our clicker pads, trackball guide, and control board together. Oh, and I also colored my ball in with a Sharpie so that the red optics light wouldn't make the ball glow like Rudolph's nose every time I use the mouse. Also, it hides the annoying label that the manufacturers decided to print on it.

It seems as though I forgot to take a picture of it, but I found a round ring of plastic that fits perfectly around the optical port, and when the trackball is sitting on top of it the bottom of the ball is right where the surface of the desk would be were I to use the sensor as intended. After gluing this down, I placed the trackball on top and then fitted the trackball guide on top of this, gluing it down as well, while avoiding pinching the trackball or gluing it in place. My trackball now rolls smoothly between the two surfaces, and upon testing works fine.

Something to note: To get the left/right 'X' axis correct, the rear of the control board must become the front of the mouse. That is, we rotate it so that the original mount points for the clickers are facing backwards, towards you.

After gluing the trackball guide in place, I focused on the clicker pads. Since this is meant to be a finger operated trackball, I decided to have the clicker pads on either side of the trackball, with the scroll wheel on the left for operation by the thumb. Of course, you can rearrange yours depending on your preferred hand position and such. I actually reversed the left and right pads (not the microswitches, just the pads) to give my mouse a sleeker, more futuristic and angled look. I also glued the up/down selector buttons just under the left pad, where they are out of the way but still accessible.

After the clicker pads were mounted, I used hot glue to mount the corresponding microswitches in the proper places to allow for smooth clicking. I used plenty of glue, applying a few layers at a time, to build up a suitable support structure for each switch.

Then I glued in the scroll wheel, which I had pretested to ensure I had the up/down scrolling direction oriented correctly. I used hot glue to build up supports for this as well.

Now that we have our interface configured, let's add some LEDs!

Step 6: Adding LEDs

So here, I added 3x 3mm LEDs under each clicker pad, and 2x 5mm LEDs behind each pad. I used a flat pack variable resistor and a switch to create a physical control circuit that allows me to activate and deactivate the lights as well as adjust brightness on the fly without any software (not that this mouse would support that anyway).

So first, I made a "tree" with each of the sets of 3mm LEDs, soldering the legs together in parallel and adding wires to the last LED in each row. I also soldered wires onto the 5mm LEDs.

All the LEDs are then wired in parallel, with the anode (positive long pin) soldered to the side pin of my switch, which has the middle pin wired to the wiper on the pot. The pot and LEDs have a common Ground (goes to the Negative wire we soldered previously), and the final pin on the pot is wired to the Positive output wire we previously soldered on the control board.

I ran a test to ensure everything worked before gluing, and I really liked the results. So I proceeded to glue the LEDs in place, and then glued the switch and potentiometer right under/in front of the up/down buttons I have under the left clicker. I ran a second test, and I loved the results. I then took one of the grip pad pieces I cut from the original mouse and glued it under the right clicker to protect the control board, as we do not have any buttons on that side.

Now that we have LEDs, let's move on to build the base for our mouse!

Step 7: Making a Base... and Failing

So my first attempt to make a base was a total flop. And I'm writing about it so that you don't make the same mistake I did.

So I figured, if I want to make an aesthetically pleasing base relatively fast and easy while retaining decent curves and form-fitting my parts, what better a substance than clay?

So I went out and got some cheap clay. The first (literal) red flag was that they didn't have green, just red. Oh, well, I'm gonna paint it later anyway.

I got the clay (just €1.25 for the whole brick... what a bargain!) and proceeded to mold myself a nice piece of sculpture that fits my mouse quite nicely.

The clay didn't come with any baking instructions (second red flag) so I looked at the package to see what it was made out of and proceeded to Google "How to bake plasticine modeling clay" what came up first were two results on how to bake polymer clay. Well, polymer and plastic are the same thing, and Plasticine sounds like plastic, so why not? 'Bake for 30 mins at 135 degrees Celsius per half inch' it said. Being cautious, I took some extra clay I had and make a little model of a lightning bolt hitting a boulder, and tried it. Half an hour later, a puddle came out of the oven.


Turns out Plasticine is one of the few clays that is un-bake-able. Oh well. I proceeded to try making Salt Dough.

That failed as well.

So what do I do? I went down to my basement to look for clues, and found an old 3" by 3" post of Pine wood from a desk I made a while back. Hmmmm.... I got it!

Step 8: Making a Base... More Painstaking, But Now It Works!

So of course I could go out and find real clay. And you are perfectly well off doing that if you like. But here in front of me is a nice bit of wood...

So I drew me up a template, and went down to get my hacksaw and drill ('cuz I don't actually have any other real tools for woodworking right now)...

Two days and three hours later, and dead tired of cutting, whittling and sanding, and I finally have a base.

It has a hollow center to allow for the wires to have breathing room, includes an integrated palm rest, and most importantly, it fits the mouse. It don't look that pretty, but that's what the next step is for...

Step 9: Spray Paint, Sunshine, and Glue

Now we get to paint things! Yay!

It was sunny out, so I decided to move my operations outdoors.

The first thing I did was spray my base with 3 layers of black paint. I laid the first two on very thick to cover some of the surface imperfections, let it dry, sanded down all the bumps and drips, added a third layer, let dry, and sanded again to get that perfect smooth finish. This took about 2 hours to complete. Then, I used my gloss green and "dusted" it on in a couple light layers to allow the black to lend some character to the model, resulting in a fantastic deep green weathered-looking finish that is absolutely as smooth as injection molded plastic, save for on the ends where the curved shape combined with the grain made it very hard to sand.

I let it dry, and tested to make sure the mouse still fits (because wood can expand and warp slightly with the added paint). Yup, all good, moving on.

Now, here's the tricky part. If I was thinking straight, I woulda painted the trackball guide and clicker pads before gluing. My logic for not doing so is that the paint would a.) get scratched and b.) interfere with my hot glue joints.

So whaddaya do? Well, I took a plastic container from some berries I got the other day, and sprayed the green paint in a puddle in that. I then used a brush to carefully apply the paint to all the desired parts. Again, I did 3 layers for an optimum smooth green finish.

After that dried and I cleaned out my brush using some rubbing alcohol (water won't work with spray paint), I refit the mouse on the base, and made sure I had it in a comfortable position. After I did that, I firmly glued it in place.

And viola! Trackball mouse, almost just as good as if I bought one from the store! And with more buttons and a scroll wheel!! (You can't get that on anything under €30 last I checked, and I spent a total of €5 on mine if you count the paint!)

Step 10: The Grand Finale

So now we have a fantastic futuristic green trackball mouse!

The only issue I found is that the vertical 'Y' axis is inverted, something that I fixed for my Mac using a great free software called USB Overdrive. On Windows, you can find and use similar software, but it may not work across all applications. I believe there is also a fix using the command line for Linux systems. Some people prefer an inverted axis anyway, it's more like a flight simulator (push forward to go down, pull back to go up).

The LEDs are great, and the feel is amazing. I have previously used a Trackman Marble, and I have to say that while that one rolled smoother, I much prefer the matte, slightly tacky feel of mine, and the scroll wheel is a huge bonus.

So what are you waiting for? Build yours today! It doesn't even have to be that green! Because it is a build from junk, you have complete flexibility in how you want to build yours, and mine should just serve as a guideline for whatever awesomeness you guys can all come up with. So get creative!

As always, these are the projects of Dangerously Explosive, his lifelong mission, "to boldly build what you want to build, and more!"

You can find the rest of my projects here.

Happy making, everyone!

Colors of the Rainbow Contest

Participated in the
Colors of the Rainbow Contest