Welcome To Our Support Portal

Browse Impinj resources for help with FAQ, downloads, quick links, and more.

Submit a request

Raspberry Pi IRI Host


We've heard plenty of customers asking if the IRI toolkit can be used on Raspberry Pi, so we decided to put together a blog post about it. The answer is, of course, "Yes it can!" The IRI toolkit has already been ported to the Linux operating system, and this Linux port also works on the Raspberry Pi hardware, with no modifications.

This writeup describes using the RS500 and its development kit, but this would work just as easily on any other Indy reader that uses the IRI host library.

Example Overview

The following figure shows the overall hardware arrangement. Not shown is the power supply for the Indy SiP dev board. For more complex diagrams, see below.

Figure 1: Example Simple Block Diagram

Example Hardware Setup

There are two ways to connect communication between the RS500 and the Raspberry Pi: USB and 3.3V UART. They are shown below.

Using the USB connection utilizes the USB-UART IC on the RS500 development kit.

Note: In both configurations, power must be supplied externally, as the Raspberry Pi cannot provide enough power from its USB ports.

Make sure to swap the power jumper(J12 on the RS500 Dev Board) to the appropriate position for your power supply.

Figure 2: Hardware Block Diagram - USB-UART

Figure 3: Hardware Block Diagram - 3.3 volt UART

Example Software Setup

The Raspberry Pi should be configured with the standard Raspbian image. You can find simple instructions here. Setting up an FTP server and remote SSH access can make some of these steps a lot easier, especially if you are running it headless.

The ITK software should be run as follows:

Download the ITK release(here) and unzip it on your Raspberry Pi. You can do this easily using an FTP server, VNC remote desktop, or operating the Pi locally.

Make the ITK release examples by opening a shell, navigating to the folder containing the examples(by default this is /ITK_C/Examples/), and running the "make" command:

$ make

After successfully making the examples, run the IRI_Intro example with the appropriate communication device in /dev/. Below, see examples for using the built in Pi UART 0, and USB port 0:

$ output/IRI_Intro /dev/ttyAMA0

$ output/IRI_Intro /dev/ttyUSB0

At this point, the Pi should communicate with the Indy reader SiP, and print EPCs of seen tags in the console for 1 second.

Was this article helpful?
3 out of 3 found this helpful


Impinj (NASDAQ: PI) wirelessly connects billions of everyday items such as apparel, medical supplies, and automobile parts to consumer and business applications such as inventory management, patient safety, and asset tracking. The Impinj platform uses RAIN RFID, delivering information about items to the digital world and enabling the Internet of Things.