Image 1

Ultimarc I-PAC-2 2 Player USB Pushbutton and Joystick Interface PCB

$38.95 (USD)
1.64 Ounces
Usually ships within 1-2 business days
Calculated at checkout
Max Qty
4 unit(s)

Need more than max quantity of this product or color? We're open to discounted volume inquiries for large project buyers and resellers. Learn more. new-window-icon.png

Current Stock
Other Details
  • Product Description

    For anyone desiring to build their own MAME compatible arcade cabinet, properly connecting the joysticks and pushbuttons to your dedicated MAME PC can be an exercise in doing the impossible.  While joystick and pushbutton to keyboard encoders exist to simplify much of that effort, the Ultimarc I-PAC 2-Player PC interface has proven itself amongst many in the MAME community as one of the best currently available.

    The I-PAC, or Interface for Pc to Arcade Controls facilitates the connection between arcade controls to a PS/2 and USB port on a computer.

    MAME Emulator Compatibility, Programmable Inputs, Helpful MAME Code Table

    The I-PAC's robust feature set includes default controls specifically designed for MAME - one of the most popular arcade emulators currently available.  Additionally, many other emulator solutions are compatible.  The I-PAC assigns shift function buttons, which often minimize the necessity of a keyboard to simply configuring the emulator and loading titles.  

    I-PAC-2 features 32 fully programmable inputs - enough for a 2 player configuration.  These inputs are designated as 2 joysticks, 8 buttons per player, coin 1, coin 2, start 1, start 2, and MAME control keys.  A special input is assigned as a shift ket for access to alternate code sets.

    Most notable is the IPAC's ability to save those programmed inputs into its memory even when the unit is powered down.  Not all keyboard encoders have this ability.

    The MAME control keys are by default assigned to the "A" and "B" inputs. To understand the default button to keyboard encoding structure, Ultimarc provides a helpful code table on their website (opens new window).  

    Use WinIPAC Panel Designer Software 

    The WinIPAC software provides a graphical interface to assist you in programming your IPAC. You can position the button and joystick interface to match your unique 2 or 4-player layout, assign colors to button inputs for easy identification, and assign new keys for the buttons if you are using a different emulator.  

    Additional Information 

    To ease installation, plus help you make the most of your I-PAC, Ultimarc provides helpful documentation on their website (links open a new window):

    Key Codes | Programming | I-Pac F.A.Q


    • Fully programmable key code set that is stored after power-off.
    • Controls can be assigned to any keycode, plus mouse buttons, power, sleep or wake.
    • Optional pre-assembled LED harness with 3 panel mounting LEDs which emulate the keyboard Caps/Num/Scroll
    • All joystick/button connections easily made via screw tag strip. Connections marked on the board.
    • Chunky 5mm screw connectors.
    • All button inputs referenced to ground - no need to re-wire separate grounds to each button.
    • Lead plugs into keyboard socket on PC or USB port.
    • Can be programmed using special utilities (for DOS, Windows, Linux, MAC) or without special software, using an interactive method.
    • Using host software, an unlimited number of keycode configurations can be stored and downloaded on-the-fly. Retained on power off.
    • No separate power needed.
    • Does not use a matrix - no ghost keys.
    • Does not use a scanning method which causes a variable delay. Each input has it's own dedicated connection into the on-board CPU .
    • Fast running interrupt-driven software gives much better response than a standard keyboard controller. 
    • Key debounce uses a state method for each key. No delays between keys depressed at the same time. (essential for fighting games).
    • 2 operation modes. Either uses standard MAME keys or you can program your own character set.
    • Shift functions. Holding "Start1" and pressing other buttons sends a range of codes for MAME functions such as "escape", "Coin 1", "tab", "enter". This means no extra buttons are needed on the cabinet. In programmable mode any input can be the shift key and all keys can be programmed with a shifted code.
    • Special note for Windows MAME users! Shift key functions mean you can select and start games from the
    • Windows interface without using the keyboard or mouse.
    • Connector for ordinary keyboard which can be used together with the controls if required. No switch-over delays mean you could even play a game using the control panel and keyboard at the same time.
    • Supports selective up/down key repeat in PS/2 mode (all keys repeat in USB mode) to give easy scrolling through lists with minimal CPU overhead and interface "clutter".
    • No special drivers needed. USB drivers are generic Windows. On many motherboards USB will work in DOS.
    • Fully compatible with all Apple Macs which have USB ports.
    • Supports the Apple Mac "command" key and the Windows "GUI" keys.
    • I-PAC4 and I-PAC2 boards and J-PAC can be paired in any combination to increase the total number of inputs.
    • Keycode programming is integrated directly into many popular front ends for seamless launch of emulator or other applications which require different codesets.

    (Feature list provided by Ultimarc


    • Supports USB keyboard interface.
    • Up to 32 inputs each with it's own dedicated microprocessor pin.
    • No interaction or delays, vital for multi-button games such as fighting games.
    • Emulates a USB keyboard and yet breaks through the USB simultaneously-pressed-switch limit of 6 switches (plus ctrl,alt,shift) which afflicts all USB keyboard devices. With inbuilt full native USB support, it does not rely on an add-on adaptor.
    • Fully multi-processed interrupt-driven pass-through connector so that an attached keyboard (or a second encoder) is handled in PS/2 mode with full byte interleaving rather than being switched on/off.
    • Can be programmed either with or without host software.
    • Posesses a shift function which allows any input to be assigned to a shifted secondary keycode. The shift button can have its own function , a dedicated extra control panel button is not necessary.
    • Self-test LED; display assists with confirming installation and detecting connection issues
    • Supports Volume up/down, MOUSE left/right buttons, power, sleep and wake functions.
    • Retains it's programming after power off, a unique feature that is not present in all keyboard encoders.

    (Benefits list provided by Ultimarc


    • The I-PAC uses a high-performance microcontroller chip. No matrix or diodes are used hence absolutely no ghosting, blocking or delays.
    • De-bounce. This uses a state counter method. Each input has it's own counter. This means simultaneous keypresses are never locked out.
    • Key code Flash ROM storage. Retains custom settings after power off/on (excluding I-PAC VE)
    • Dual Interface. Auto-detects which type of connection is being used and switches accordingly between USB and PS/2 (PC keyboard interface).
    • Full Speed USB 2.0 compatible.
    • Keyboard pass-through driver consists of a bit level and byte level state machine. Driven by interrupts so no wasted CPU power when not being used.
    • Shift key logic including protection against stuck keys.

    (Technical list provided by Ultimarc)

  • Product Reviews


    Write A Review

    1. The gold standard for arcade control interfaces

      Whatever project you are working on, whether it be a high-performance PC to run the best arcade fighters at full speed, or a a simpler Retropie build that just needs to run Pac-man and Frogger, this is as close to plug-and-play functionality as you can get when wiring up arcade controls. Documentation can be easily found for all types of setups, and I have had no problems whatsoever in five years of using this for a virtual pinball machine. on Oct 15th 2015

    2. Awesome

      This is great if you're building a MAME cab or control panel. Wire everything up and it's pretty much plug and play. Everything is clearly labeled on the board, and there's an abundance of documentation online. on Aug 5th 2015

  • Product Videos

    • "I-Pac And Microswitches" - How They Work
    • Testing IPAC2 Controls and MAME
    • Arcade Control Panel (almost finished) Raspberry Pi + IPac2
    • I-Pac/J-Pac configuration - A GNU/LINUX ARCADE DISTRIBUTION 0.92b
    • Tutorial Winipac

    "I-Pac And Microswitches" - How They Work

  • Warranty Information

    ​Before purchasing, please read our Electronic PCB Defect Return store policy