Jump to content

ADVICE NEEDED: USB Rotary Interface to I-PAC 2 Interface


Recommended Posts

I'm putting together a project for a customer that puts an original SNK Rotary Joystick (for reference) into a custom USB/MAME stick, using an Ultimarc I-PAC 2. For the rotary, I have one of these--an old Ultimarc USB Rotary Interface.


Doing the research, I learned that an OPTICAL rotary can be connected to a different rotary interface, which in turn connects to the SPINNER/EXP pins on the I-PAC 2. But this is a MECHANICAL rotary.


I'd rather not make my customer plug in two separate USB cables in order to use one stick, so I'm trying to get the input commands from the rotary interface to the I-PAC, with no success so far. 


  1. The rotary interface connects directly to PC via USB-Mini B. GND, 5V, Data+, Data-, ID. That sends keyboard press inputs of... [ and ], I believe? Or maybe it's /  and \ ? Can't remember off the top of my head.
  2. There are two input terminals for GND on the I-PAC 2, and I can choose whichever two terminals I want for button inputs (except GND of course), but...
  3. Where to make the 5V handshake happen between the two interfaces? And...
  4. How to differentiate the two rotary keypresses and get them to the I-PAC?
  5. Obviously, connecting GND, 5V, Data+ and Data- to the four optical SPINNER pins on the IPAC doesn't work. ...Right?
Link to comment
Share on other sites

I am not entirely clear on what you are trying to do and I cannot find any clear data on those rotary switches but as the image of the happ here has only 4 wires I presume that as with most rotary it outputs a 2-bit grey code with the other two wires being GND and Vcc (i.e. +5V).

Nor can I find any clear data on the USB interface board, a datasheet for the device can be found here which will help you identify its input pins, you will need to identify which input pins are connected to which header pins either using a multi-meter to check the continuity or visually tracing the PCB tracks.


The pin headers for the USB interface board has 13 pins for each controller, with no data sheet to consult I would guess 4 for the rotary (GND, +5, A & B), 8 for the 4 direction switches (I would guess GND & contact) and possibly a spare that may be blank and separates the direction switch connections from the 4 for the the rotary.

It is likely the header connection for the direction switches will be either 4 consecutive grounds followed by 4 inputs or alternating GND and Input pins.


Given the PCB layout I would expect the input pins to have their weak internal pull-up resistors activated and so the header pins connected to the inputs will measure +5V when the device is powered and nothing connect to the controller header pins. 

Whether you are using an optical or mechanical encoder I would expect the encoder to output either +5V and 0V or tri-state (open circuit) and 0V either way I would expect the USB interface board inputs to be pulled down to 0V by the controller outputs as required.


However, without any data that definitively indicates which header pins do what it may come down to trial and error to for the correct inputs for the rotary.

I am not sure what you mean by 5V handshake between the interfaces, but if you mean how do you get 5V from the USB interface board to the rotary I would expect that to be found on one of the controller header pins. 

However, if you mean getting it from the I-PAC to the USB interface board I don't know, in theory you could get power from the I-PAC via the pin header 5V and GND connection for the track ball and connect it to the power pins of the device on the USB Interface board but there are two problems with that...

a) The I-PAC as all USB device request a certain amount of current from the PC, piggybacking power for the rotary USB Interface board off that could exceed the power limit and cause problems

b) Without a USB connection to the rotary USB interface board how would you get the rotary data from it?


If you want to use a rotary with the I-PAC I would think connecting it to the I-PAC pin header pins marked for a spinner would be the way to do it, you can connect the direction switches to the switch inputs daisy chaining the GND connection as shown here on the installation tab.


Not sure if that is of any use

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...