This page contains details of software available for all products for controlling output devices, reading inputs programatically and other usage.

Ultimarc Software Development Kit


These files contain the following code:

Output control:

  • PacLED64
  • PacDrive
  • U-HID PC Controlled LEDs
  • I-PAC Ultimarc I/O Controlled LEDs
  • NanoLED
  • USBButton
  • Servostik 4-8 way switching


  • USBButton Read State

Demo Code:

  • PACDriveDEMO with source. Covers all products above and includes a GUI control panel

Ultrastik 360 SDK


Contains a DLL for sending pre-configured maps to the ultrastik 360 and changing its ID. Includes demo GUI program.

Linux Utilities

These cover several of our products and are being added-to. Please note we are not able to provide direct support for these utilities:

Linux Library and command line utilities developed by Katie Snow

SharpDX Input Device Coding

This is a project which was produced by a customer (Thanks Marcel!) and simplifies programmatic recognition of input data. It was written/tested for our Ultrastik360 but would be useful for all input devices. Although we are unable to offer support we would like to hear from anyone who finds these utilities useful for any products.

The Ultrastik360 is accessible via DirectX/DirectInput, an unmanaged C/C++ programming interface. Using this interface in .NET requires knowledge of C++ by writing managed wrappers. The open source library from  http://sharpdx.org/ did exactly that, so using the stick in .NET is now done in a few lines of code.

This Example shows a simple example in C#.  The minimum needed parts of the SharpDx library (2 dll’s, 700kb) are automatically downloaded and managed via NuGet when you compile first time.

  • SetupTestSharpDx.exe  file is a full automatic inno-setup which places the required binaries in ‘program files’ (exe with some dlls)
  • The binaries file contains the same files, but without setup. Unzip them anywhere
  • The source file contains a readme, the visual studio 2013 C# project with all necessary source files  (Framework 4.5.1).
In the project there is a readme file with more technical info

Ultimarc Firmware Updates: Additional Information

All our firmware-upgradeable USB products use the same method for upgrade.
This is how it should work:
  • Firmware upgrade requested from the appropriate utility (WinIPAC, Ultramap, U-Config etc) The utility must be right-clicked and "run as administrator".
  • A driver is pre-installed automatically. This is the only time any of our products require a custom driver.
  • The device is shut down by the utility and then resets as a different device, which is known as a "Firmware Upgrade Device".
  • This new device should appear in Device Manager, if the "USB Controllers" entry is expanded.
  • A program called "uupload.exe" is started automatically by the utility. The utility is then closed down.
  • The "uupload.exe" window should appear and a "device detected" message should appear.
  • The firmware file is selected from this window and upgrade should proceed. Do not be concerned if the progress bar does not show.
  • The upgrade should take max 5 minutes. After that, the device is reset back into normal operation mode, and at this point the uupload program can no longer see it, and should display "No device detected or upgrade complete".
What can go wrong:

Uupload.exe cant find the upgrade device
The most common reason for this is the custom driver install has failed. This can be checked by starting device manager and expanding the "USB Controller" entry. The device might be showing with an error, or there might ne a new device somewhere else in Device Manager which has failed to install.
The fix for this is as follows:
  • Download the manually-installed driver from the link in the section below and run "setup" located in the setup folder. NOTE: Must be right-clicked and "run as administrator".
  • Right click on the failed device and "uninstall"
  • Click "Scan for new hardware". The driver should install.
  • Re-run the "uupload.exe" program which is located in the install folder of WinIPAC, UltraMap, U-Config etc, and re-try the upgrade.

Firmware upgrade locks up or fails to finish, resulting in stuck in upgrade mode
Simply re-run the "uupload.exe" program which is located in the install folder of WinIPAC, UltraMap, U-Config etc, and re-try the upgrade.

Ultimarc Firmware Update Driver

The various utility programs for our devices incorporate a firmware upgrade feature. This requires a driver (the only time a driver is required). The driver installs on the fly but should a manual install be required, this installer does this. Run the Setup program in the Setup folder.