A quick word regarding COVID-19, domestic USPS/FedEx Ground tracking issues plus international shipping precautions.

Image 1

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


Sorry but this item is currently unavailable.

Please check back at a later stage.

$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
We're sorry. This product is currently sold out.
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 connector is too finicky.

      The connector from the computer to the actual Ipac doesn't sit in there very well. If the cord gets bumped just a little it loses the connection. This is a huge issue for me because this is going into a bartop and room is tight, there are wires bumping the connector all the time. so it is constantly losing connection. I have to come up with a better solution. on Sep 6th 2019

    2. Easy Solution

      I had my pinball/fight controller setup with an Adafruit Bluetooth Keyboard board but I was not happy with the performance lag-wise. This is a simple and solderless solution for me. very easy to hook-up and I like the extra options on the board. My only wish is that it came with stand-offs but the included usb is a plus. on Jun 21st 2017

    3. Good USB keyboard Joystick encoder

      I used the iPac-2 to upgrade an old arcade dual joystick I picked up used. Because this uses screw terminals I had to cut the clips off the existing terminals and strip the wire so I could wire up all the stick and buttons. Everything on the board is clearly marked and also had room to add a track ball or spinner. There is also a Mac and Windows app which lets you assign the default keys to anything you like.

      I did run into 2 issues. One, I didn't realize how the hold shift key button press feature worked. So I initially thought my board was defective. What happened was the shift key was mapped to my 1 player button so when I pressed the button it only responded when I released the key. I finalized realized the issue when I loaded the mapping software and saw that the shift key mapping can be moved to any button you want.

      My other issue is in MAME4Android, while the joystick works fine, if you want to customize the buttons at a per game basis in Mame, button 7 and 8 are not mappable for some reason. However the button maps fine in a global setting so it might just be an issue with Mame on Android.
      on May 8th 2017

    4. great usb keyboard encoder!

      The encoder works as advertised. The software make it very easy to change the button configuration to any characters you want. No lag or character lock. Lots of buttons can be setup. on Jan 12th 2017

    5. Easy to setup encoder

      This is my third iPac encoder and they're always a safe bet. I actually replaced two AkiShop PS360+ that were in the cab when I bought it. Given that I'm primarily doing MAME and retro consoles, it work a lot better. on Jul 15th 2016

    6. The only keyboard encoder I use

      Great little unit. Does what it is supposed to do. Really dig the addition of tab, pause, enter, esc so we don't have to hold the player 1 start button for shift commands. on Jun 17th 2016

    7. 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

    8. 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
      Just a little tutorial by request...
    • Testing IPAC2 Controls and MAME
      First test with IPAC2 and MAME running TMNT. For more details ...
    • Arcade Control Panel (almost finished) Raspberry Pi + IPac2
      Arcade Control Panel (almost finished) Raspberry Pi + IPac2 S...
    • I-Pac/J-Pac configuration - A GNU/LINUX ARCADE DISTRIBUTION 0.92b
      This is the best solution on the arcade cabinet. The boards ar...
    • Tutorial Winipac
      Como programar tu I-Pac o J-Pac mediante el Winipac de una man...

    "I-Pac And Microswitches" - How They Work

    Just a little tutorial by request...
  • Warranty Information

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