Optical Encoders

From BYOAC New Wiki
Jump to navigation Jump to search

Optical encoders (or Mouse encoders) allow the use of a trackball, spinner, or 360 degree steering wheel and offer the functionality of a mouse hack in an easy-to-use form. They offer several benefits including ease in connecting controls and time savings.


KADE miniArcade. Photo © kadevice.com, Used with permission.
KADE microArcade. Photo © kadevice.com, Used with permission.

The KADE series of Open Source/Open Hardware encoders allow you to load your choice of various gamepad, keyboard, rotary joystick, or game-console specific firmwares.

Some firmwares like "Trackball/Spinner (Quadrature) to USBHID Gamepad Encoder" and "Trackball/Spinner (Quadrature) to USB Mouse and Keyboard Encoder" can process raw optical inputs.

The easy-to-use KADE Loader software programs the desired firmware into the AVR microcontroller.

The miniArcade and microArcade encoders have 20 player inputs and allow "shifted functions" using the HWB input.

Because it is Open Hardware, you can get the AVR (atmega32u2 for the miniArcade) from various vendors to build a custom version.



The ME4 is designed to interface a Trackball and/or Spinner to your computer's PS2 mouse port. Signals from the Trackball and Spinner are merged and converted into PS2 mouse protocol. Since the response from both devices is merged at the ME4, activity from either device will report mouse movement to the PS2 mouse port. This arrangement allows both the Trackball and Spinner to be used simultaneously, or independently.

Relevant Link: Hagstrom's ME4 Page


A very versatile keyboard/trackball/spinner encoder. (gamepad outputs added to 2015 version)

It has a shift function for adding secondary functions to connected buttons.

It has default MAME-style input mapping that can be reprogrammed with Ultimarc's WinIPAC utility. (DOS, Windows, OSX, Linux, and MAC versions available)

Optional harnesses are available to easily connect the Mini-PAC to the button/joystick switches and up to 3 optical axes.

The Mini-PAC can be configured for use with either "active-low" or "active-high" optical devices.

Original version Mini-PAC

Connects via either USB or PS/2. (PS/2 only works for buttons)

The interface does not suffer from ghosting and matrix side-effects common to regular USB keyboards. The board is actually a small-size I-PAC2 with 3 optical interfaces added.

It interfaces 28 buttons and 3 optical axes for a trackball and a spinner.

2015 version Mini-PAC

Connects via USB. PS/2 connection is possible with an optional adaptor.

Interfaces 32 buttons and 3 optical axes for a trackball and a spinner.

Inputs can also be programmed as gamepad button outputs.

Relevant Link: Ultimarc's Mini-PAC Page

Mouse Hack

It's possible to perform a simple hack on a ball-mouse that allows it to connect to a standard arcade trackball (and perhaps spinners?). This is done by removing the mouse's optical receivers and wiring the trackball's encoders to them. Additionally, a mouse can be hacked to create a spinner with a few extra parts.

Relevant Link: How to turn a Mouse into an Arcade Trackball Interface (PDF)

Relevant Link: Build you own Spinner Wiki Entry


Older-style Opti-PAC Photo © Ultimarc.com, Used with permission.

The Opti-PAC allows for easily connecting optical-type arcade control devices including trackballs and spinners to a PC.

The current version handles up to two trackballs and 4 spinners.

The Opti-PAC can be configured for use with either "active-low" or "active-high" optical devices.

Relevant Link: Ultimarc's Opti-PAC Page


Older-style Opti-Wiz Photo © IDVT Inc. / GroovyGameGear.com, Used with permission.

High-Performance 3-Axis, 3-button Mouse Emulation.

USB and PS/2 compatible. Available with either connector, but is compatible with both using an adapter.

Connections provided for 3 buttons, 3 axes, +5v and Ground.

With the addition of a resistor and 2 opto-interrupters, can be used as a full optical board for home-made controls with X, Y or Z Axis selectability.

Small Footprint

USB or PS/2 cable included, depending on version ordered.

Compatible with virtually any device utilizing "Active Low" opto-electronics.

Relevant Link: GroovyGameGear's Opti-Wiz Page


Ultimarc's U-HID allows users to assign a variety of input and output functions to desired pins.

Input devices/types:

  • Microswitch buttons/joysticks
  • Optical (spinner/trackball/mouse/360 degree steering wheel)
  • Analog (potentiometer joystick/pedal/270 degree steering wheel)


  • Keyboard
  • Gamepad (including analog and digital controls)
  • Mouse and mouse buttons
  • LED outputs

Total 50 connection pins:

  • Max 8 analog axes on 50 possible pins (Windows limitation)
  • Max 32 Gamepad buttons on 50 possible pins (Windows limitation)
  • Max 8 Quadrature mouse devices on 16 possible pins out of the 50.
  • Max 3 Quadrature mouse axes (X, Y and Z, Windows limitation)
  • Max 50 keyboard keys on 50 possible pins.
  • Max 16 LEDs in any combination of PC or U-HID controlled. (USB 500 mA current limitation).
  • Max 50 low-current output drivers.


The U-HID-G is similar to the U-HID, but with only 8 input pins and a three-axis accelerometer for sensing gravity and motion acceleration.

U-HID Nano

The U-HID Nano is similar to the U-HID, but with only 8 input pins.

See Also