Impinj Radio Interface Toolkit for C (ITK-C)


The Impinj Radio Interface Toolkit in C (ITK-C) provides a C library that may be used to develop host software and firmware to interface with Indy Modules. This library implements the platform independent aspects of communicating with the Indy Modules over the UART interface, including configuring Indy Modules for performing RAIN RFID tag reads, and performing other tasks like bootloading new application images into Indy Modules. Platform specific aspects must be implemented separately in the platform_*.c file, examples of which are provided for Windows, Linux, and OSX PCs in the Example Programs. For more details on the process of implementing a system around the Indy Modules, see the Quick Start Guide.


The API guide describes the topics listed below in detail.

IRI Overview

The IRI Overview provides an overview of the Impinj Radio Interface (IRI) API.

Example Programs

The Code Examples provide full example programs that demonstrate using the IRI host libraries to implement specific RFID configurations using the Indy Modules. They also demonstrate certain host implementations of the platform-specific elements of the IRI host libraries.

Configuration Examples

The Configuration Examples provide compact code snippets demonstrating how to use the IRI Host Libraries to configure the Indy Modules in specific ways.


The API Functions section describes the IRI host library API functions used to implement an IRI host and communicate with the Indy Modules.


The Structures section describes the structures used by the IRI host library APIs.

Data Types and Defines

The Data Types and Defines section describes the data types and constant defines used by the IRI host library APIs.

Key Codes

The Key Code Listing describes the Key Codes used to communicate with the Indy Modules.

Error Codes

The Error Codes section describes error codes returned from IRI host library API function calls that indicate erroneous operating conditions on an Indy Module or IRI host itself.

Platform and Report Handlers

The Platform and Report Handlers section describes the platform and report handler interfaces used by the library to implement an IRI host and communication with the Indy Modules.

Stored Settings

The Stored Settings section describes both the stored settings feature and the stored settings file format, which allow modules to retain some aspects of their configuration across resets or power cycles.

Regulatory Regions

The Regulatory Regions section describes the regulatory regions currently supported by the Indy reader modules, and how to use them.

ITK-C Memory Usage

The Memory Usage section describes the host device resources used by the ITK-C library in various configurations, such as flash and volatile memory. See also the ITK-LT-C Memory Usage section of the documentation.