WinIPAC V2 Configuration Utility for I-PAC



  • Configures each pin of the board as the correct device type, ie keyboard, gamepad, analog, mouse, volume/power.
  • Displays a pictorial representation of the board
  • Fully real-time interactive. Reads and write board configuration "on the fly"
  • Can be run in command-line mode or GUI
  • Read/Save configuration to a file

Explanation of "GAMEPAD ENABLED" indicator

This was added because the boards are now shipped with firmware which enables keyboard and mouse support, which is the default for almost all host software. There is alternative firmware available which adds gamepad support, so that all pins can be configured as game controller buttons in addition to keyboard keys or mouse buttons. This is available on our download page if this feature is required.


GENERAL tab (main window)

PIN drop down

This displays the selected pin you are configuring. You can select pins from here or from the main graphic.


You can type text in here which will remind you of which device this pin is connected to. The test is saved with the configuration (on the PC only) and is not sent to the board.


Here you configure the selected pin as the required device type and assign values to it.
You can select one of the radio buttons to define the pin as the following:
  • Switch (which includes keyboard key, gamepad button and mouse buttons)
  • Trackball/Spinner (includes optical steering wheels etc). This is only relevant to certain pins on the Ultimate I/O board.

    NOTE: Trackball/Spinner uses 2 pins per axis. The partner pin will also automatically be assigned. You can select X, Y or Z (wheel) axis.Trackballs use two axes (4 pins).
    Only the appropriate pins on the top two smaller connectors on the I-PAC Ultimate I/O can be assigned as trackball and spinner. It is recommended that you assign trackball on the left connector and spinner on the right otherwise you cannot use the special connectors for the U-Trak or Spintrak devices. The connectors for these devices are not unique. They use two or 4 of the total 48 input pins available.
    The I-PAC 2 and Mini-PAC also support trackball and spinner but these use dedicated pins.

Detail Configuration Example (Switch)

The switch is connected with one terminal to the required pin and other terminal to GND.
Select the pin by clicking on require pin in the graphic area.
Select "switch" radio button in the function area.
You now can select the control type eg whether keyboard key, mouse button or gamepad button.
In the primary drop-down all possible keys are available plus macros defined separately (see later). Note that the I-PAC sends key scan codes just like a keyboard. It does not send characters so has no concept of upper/lower case. An upper-case key is a macro consisting of the Shift key plus the required character.
If required, you can select a secondary keycode. This is sent instead of the standard code when the I-PAC shift button is held. (This is by default the Start1 button but can be changed).
There is no need a secondary code unless wish to use shift feature.


To assign a macro proceed as follows:
  • Click on the MACRO tab
  • Click NEW In the drop-down box, select the first character of the macro
  • Click "Add Entry"
  • In the drop-down box, select the second character of the macro
  • Click "Add Entry"
  • Repeat above 2 steps to add further characters
  • Click "Add Macro".
  • Return to the main tab. Select the macro in the drop-down when configuring the required pin.

Variable De-Bounce Delay

This feature was added following user request.  In the "Config" tab, the setting can be changed to 4 values as required. The default is the "standard" setting.
This value affects the rate at which the SAME input can be re-activated. Setting a low value will allow faster repeat of presses of the same button, but may also cause unwanted key repeat caused by switch bounce.
This is a specialized setting and should only be changed following testing with the specific switches being used. It does not affect overall performance because it only affects repeated action of the same input.

Upgrading Firmware

The firmware upgrade is a two-stage process.
First, the board is placed in firmware upgrade mode. Also a driver is installed on-the-fly if this is the first time an upgrade has been done on the PC.
Then, a program called UUPLOAD performs the upload of the firmware to the board. This program will not detect the board unless it has been placed into upgrade mode from within WinIPAC.
The following steps need to be followed:
  • Run WinIPAC as administrator (right click and select "run as administrator")
  • Ensure the board is detected and click "File, Firmware Upgrade".
  • OK the prompts. The board should reset and change to "Firmware Upgrade Device" (If you have Device Manager open you will see the new device appear under the USB Controllers entry.
  • A program called UUPLOAD.EXE should automatically start. If the process fails you can manually run this program if you have a "Firmware Upgrade Device showing in Device Manager
  • Select the firmware file
  • Uploading to the board should take approx 2-3 minutes. After that, the board should reset again and re-appear as a keyboard, mouse and game controller and be ready for use.

    Note: If the process will not work, you can try manually pre-installing the firmware upgrade driver by downloading the installer from this page which also contains additional information on the process and how to recover from failures.

USB keyboard encoder