The Imatest Hardware Control package is a set of APIs and graphical user interfaces for controlling Imatest hardware devices. The APIs provide a consistent interface for sending and receiving commands from the devices, typically over USB or another computer connection. The included ControlStudio program provides visual and interactive access to the devices.
To begin, download and run the installer for your operating system from the Hardware Control download page.
Various tools, SDKs and bindings are provided inside the installed SDK directory, to help control Imatest hardware devices with a consistent API and GUI.
Supported devices
- Imatest Light Boxes
- KinoFlo lighting with EntTec controller
- Motorized Benchtop Test Stand
- Spectral Sensor
- Low Light Sensor
- Motorized Lifting Column
- Thouslite LED Cubes
Setting the license code
When running the SDK, a license code needs to be specified at least once in the terminal session you are using. After a successful validation the license code is saved for future use. To set one, set the environment variable in your terminal session:
HC_API_LICENSECODE="<IMATEST_LICENSECODE>"
This can be added to your Windows user environment variable list for persistent use, or used in a terminal on a session-by-session basis. All Hardware Control scripts reference this environment variable to verify your Imatest license.
For example, in a bash terminal run export HC_API_LICENSECODE="123456…5432" before running a
script or executable from the SDK, in the same terminal.
PowerShell
$env:HC_API_LICENSECODE="12345678987654321"
Bash
export HC_API_LICENSECODE="12345678987654321"
CMD (Windows Terminal)
set HC_API_LICENSECODE=12345678987654321
MATLAB
setenv("HC_API_LICENSECODE","12345678987654321");
When running code, the Hardware Control API deposits log files in the application data
directory: C:\ProgramData\imatest-hardware-control.
Using the Hardware Control GUI
Navigate to the bin directory of the SDK (Imatest Hardware Control/bin/x86_64/Release on
Windows) and run the HC_API_ControlStudio program. ControlStudio controls the supported
devices through a graphical interface; add a device by selecting the controller you want from
the Devices dropdown in the window header.

Using the SDK
The SDK provides bindings for the languages and toolkits the API supports. By default it
installs to C:\Program Files\Imatest\Hardware_Control\v1.X on Windows. Python, C++, C# and
MATLAB are provided as language bindings.
The API reference is generated from the SDK sources and is also contained within the SDK itself:
- C++ API reference — the Doxygen documentation for the Imatest Control Library.
- Python API reference — the documentation for the
controlAPIwheel package.
New to the Python bindings? Start with the Python setup guide.