Since completing my GB A1000 build and playing around in Workbench with my Amiga Tank Mouse, I remembered how awful the old ball mice were to use. They really need a mouse pad (who has one of those now?) and they’re horribly inaccurate. What I really wanted was an optical mouse. However, I wanted to keep the Amiga looking standard, which meant keeping the Tank Mouse. What I really needed was the two combined..
So, off to Google to do some research. I found a project on Aminet for a PIC-based PS/2 mouse controller. It was designed to take a regular PS/2 mouse and convert it to serial protocol to plug straight into the Amiga. Taking a look at the project details, in it’s most basic form using a PIC16F628 there were almost no external components other than a decoupling capacitor. I figured there was a good chance of this fitting inside the Tank Mouse case, thereby keeping everything else looking original.
So here is the original Tank Mouse with its internals:
and here’s the donor PS/2 mouse I chose, because the microswitches for the mouse buttons lined up with the Tank Mouse buttons (but more on that later)
I needed to hack the internals of the Tank Mouse about a little bit to get the PS/2 board to fit
and trial-fitted the PS/2 board to make sure the optical lens and mouse buttons would line up ok.
Looks to line up ok
I programmed and socketed the PIC and fitted it to some Veroboard along with the wiring from the PS/2 controller and the Amiga serial lead. (Hot Glue may have been premature..)
At this point I though I’d cracked it.. however, the mouse hardly tracked at all. It seemed that the optical lens was mounted too high in the Tank Mouse case for it to “see” the surface underneath it cleanly. A redesign was needed. I had to chop the plastic lens piece right down to embed it into the Amiga mouse as close to the base as possible.
This seemed to work well. However, now I’d lowered the height of the microswitches too, so the mouse buttons weren’t actuating properly. My solution was to steal the button assembly from the original Tank Mouse and connect this into the PS/2 mouse controller instead of using its onboard microswitches.
Another quick test (I’m glad I kept the connectors on the wiring harnesses..) and all was looking good. Time to fix the new board into place (again!) using a hot glue gun.
And finally a completed Optical Tank Mouse using the original connector cable and right-angled Amiga 1000 DB9 connector.
It tracks really well, I’m really pleased with it. I’m considering adding some weight inside the mouse as it feels quite light compared to the original Tank Mouse but I’ll see how I get on with it.
Thanks to Denis Sotchenko for his PS/2 mouse controller PIC firmware which I used in this project.