A Universal USB To Quadrature Encoder

Computer mice existed long before the Mac, and most of the old 8-bit computers had some software that could use a mouse. These mice had balls and quadrature encoders. While converters to turn these old mice into USB devices exist, going the other way isn’t so common. [Simon] has developed the answer to that problem in the form of SmallyMouse2. It turns a USB mouse into something that can be used with the BBC Micro, Acorn Master, Acorn Archimedes, Amiga, Atari ST and more.

The design of the SmallyMouse2 uses an AT90USB microcontroller that supports USB device and host mode, and allows for a few GPIOs. This microcontroller effectively converts a USB mouse into a BBC Micro user port AMX mouse, generic quadrature mouse, and a 10-pin expansion header. The firmware uses the LUFA USB stack, a common choice for these weird USB to retrocomputer projects.

The project is completely Open Source, and all the files to replicate this project from the KiCad project to the firmware are available on [Simon]’s GitHub. If you have one of these classic retrocomputers sitting in your attic, it might be a good time to check if you still have the mouse. If not, this is the perfect project to delve into to the classic GUIs of yesteryear.

9 thoughts on “A Universal USB To Quadrature Encoder

  1. What about C64 and 128? 2 different mouse styles existed and depending on the software used like GEOS. One style is like joystick where the mouse sends pulses for up, down, left, and right and were used where joystick were used for controlling cursor like early drawing program and a few games. Other style is the the proportional mode and requires program to correctly use this one like GEOS.

    1. The firmware is open-source and the board supports a USB device mode bootloader. So you can easily modify the firmware and reflash the device without even using a programmer. The ‘pulse’ mode would be easy to implement (since the hardware can support it as-is). For the proportional mode, there you would need a dual-channel DAC – but that’s what the expansion header is for… pop a DAC on a bit of strip-board and add it in. SmallyMouse2 was designed to be very universal; so if you have an ‘unusual’ mouse need; it is a great platform on which to develop it :)

    1. USB-to-PS/2 keyboard/mouse has been on my todo project pile for ages. There are some older machines I keep around that I’d like to get on a KVM, but I don’t want to switch to all-PS/2 peripherals just to fit them into my desktop setup.

  2. “Computer mice existed long before the Mac, and most of the old 8-bit computers had some software that could use a mouse. These mice had balls and quadrature encoders. While converters to turn these old mice into USB devices exist, going the other way isn’t so common.”

    What the heck? I can buy a $2 (even less if you search) mouse locally (I’m in S.E. Asia) that has a ball and two quadrature encoders already in it. Of-course it has a chip to convert the quad-encoders to USB. So what’s stopping you from just bypassing the 2xQuadradure to USB chip (cut traces and break-out) and outputting the four quadrature signals directly?

    Or maybe I’m missing something here…

    1. Because maybe some people would rather buy a little PCB that allows them to use any mouse they feel like and is a permanent one-time solution, rather than having to open up, analyze, cut, and modify, a mouse that is hard to source?

      I’m not sure what your time is worth, but that sounds like a solid hour+ of work for an inferior solution (mechanical mice sucked… there’s a reason we went optical).

      And in terms of sourcing, a quick search on Amazon for instance doesn’t turn up an mechanical mice, and the cheapest mice are all ~$2-$3 optical mice.

Leave a Reply to DroneCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.