Frequently Asked Questions (FAQ)

Introduction

The document provides general frequently asked questions and answers about the Indy ITK Release and the Indy SiPs. For more information about the Indy SiPs, see their Datasheets and Hardware User’s Guides, which are included in the Release package under .\Documentation\ , or on the web here (for RS500).

General IRI and Indy SiP Questions

What are the differences between ITK-C and ITK-LT-C?

The primary differences between ITK-C and ITK-LT-C are that the ITK-C implements more of the Indy SiP’s functionality, at the cost of more program memory (ROM/FLASH) and RAM consumption. The ITK-LT-C may allow implementation of the Indy SiP interface on microcontrollers and microprocessors with memory. ITK-C’s library implements the full capabilities of the Indy SiP’s built in firmware, including operations like bulk set and get, and bootloading. ITK-LT-C’s library only implements a limited subset of Indy SiP’s built in firmware. ITK-C consumes between 9 and 16 kB of ROM, and ITK-LT-C consumes between 1 and 3 kB of ROM. For more details on the code consumption of each of the libraries, see ITK-C Memory Usage and ITK-LT-C Memory Usage. For more details on the limitations of ITK-LT-C, see the Limitations section of the ITK-LT-C API guide.

ITK-LT-C should only be used if the the standard ITK-C can not be used due to host memory constraints. The ITK-C is extensible, has broader capabilities, and enables future advanced features.

What is the persistence of setting a key value?

Setting a key value will persist until the value is changed again or the device is reset.

Caution should be used when setting one of the various ENABLE keys. This is particularly important when using keys which control the RFID protocol enabling (eg. Select and Tag Access). If one of these modes are enabled (eg. via E_IPJ_KEY_SELECT_ENABLE or E_IPJ_KEY_TAG_OPERATION_ENABLE), they must be set to disabled if they are not desired on next command.

Stored settings can be used to configure the power on default values of writeable key. So for persistent values across reset, please see Stored Settings.

Do the Indy SiPs have a Recovery Mode?

When installing the image updates for the Application for the first time or when attempting to recover a Indy SiP, it is sometimes necessary to force the Indy SiP into recovery mode manually. This can be done by jumpering the WKUP pin high and resetting the board.

  • Using a jumper, connect the WKUP pin to 3.3V (see jumper J4 on the development kit)
  • Press the Reset Button once
  • The board should now be in recovery mode with the Health and Status LEDs blinking
  • You can now attempt to re-flash the application image
  • Once the image has been successfully flashed, remove the jumper, the device should automatically jump to the new application

What is the behavior of the HEALTH pin?

The HEALTH pin indicates whether the Indy SiP is operating in its normal mode, or if some other condition exists. The pin is cycled high and low in specific patterns to indicate the state of the Indy SiP. Those patterns are as follows:

Boot:

  • High

Idle:

  • 1 second high, 1 second low

Active:

  • 250ms high, 750 second low

Watchdog reset has occurred:

  • Low

Recovery mode:

  • Alternate pattern with STATUS pin

What is the behaviour of the STATUS pin?

The STATUS pin indicates whether the Indy SiP is operating in its active mode, or if some other condition exists. The pin is cycled high and low in specific patterns to indicate the state of the Indy SiP. Those patterns are as follows:

Boot:

  • Toggle Once

Idle:

  • Off

Active:

  • During inventory, the high time is between 150ms and 750ms based on the number of tags in the field. The high time is 1000ms minus the high time. If there are no tags in the field the pin remains low.

Watchdog reset has occurred:

  • Alternate high and low

Recovery mode:

  • Alternate pattern with HEALTH pin

What power management modes are available?

The software power management modes available are standard idle, low latency idle, standby and sleep. For more information please see the Power Management example program.

The RS2000 SiP also has a “shutdown” mode, which is a hardware power mode that can be entered by applying 0 V to the Enable pin. In this mode, the regulators in the RS2000 SiP are disabled.

How can the Indy SiPs be woken up from Sleep Mode?

Set WKUP pin high to wake up the Indy SiP. Set WKUP low to continue with normal operation. Customers can leave WKUP disconnected if they do not intend on using sleep mode. The WKUP pin can also be used to wake from from standby.

Can the baud rate be changed to 1200?

Yes the Baud Rate can be changed. Please see the IRI_Change_Baudrate Example.

What does the RSSI field in the Tag Report mean?

The reader measures the backscatter power from the tag. The measured power is referenced to the reader RF port. The units are in centi-dB-mW (cdBm), and the value is signed.

What are the default RF Profile operating parameters?

The default RF Parameters are described in the following table.

RF Parameters
Parameter Value
Tari 25.0 us
RTCal 62.5 us
TRCal 85.3 us
Tari 25.0 us
Divide Ratio 64/3
M Miller 4
BLF 250 kHz
Tpri 4 us
BLF 250 kHz

Note

RF Profile subject to change

Please see RF Mode for all available modes.

What are the host processor recommendations?

When selecting a host processor, we recommend the following set of guidelines:

  • 32 bit microcontroller running at at least 8MHz
  • 32k bytes of NVM
  • 10k bytes RAM
  • A USART capable of 115200 baud
  • Ability to address 8 bit bytes i.e.: sizeof(uint8_t) == 1, sizeof(uint32_t) == 4. (Other word/byte widths are possible, but not fully supported).

Please note that these are not minimums, but will ensure your ability to exercise 100% of the Indy SiPs’ capabilities.

Please contact us at support.impinj.com for assistance if you have a host processor with capabilities lower than the recommended guidelines.

How can I uniquely identify each individual Indy SiP device?

The identifier printed on the label of the device is a combination of the SKU, Lot Date Code, and Serial Number from a lot.

SERIAL #: XXZZWWYYAAAA

  • XX is the SKU (1 = GX, 2 = EU)
  • ZZ is the Lot Number
  • WW is the Work Week produced
  • YY is the Year Produced
  • AAAA is the Serial number within the lot

Each individual value can be retrieved via the following keys:

Alternatively, the combined unique identifier can be retrieved via the following key (which has 2 32-bit values):

For example, with a SERIAL #: 010151130247

  • SKU = 1
  • LOT_DATE_CODE = 15113
  • SERIAL_NUMBER = 247
  • UNIQUE_ID[0] = 0x5D0DF487
  • UNIQUE_ID[1] = 0x00000002

Which version of Linux has the ITK-C been tested with?

The ITK-C is compatible with a wide variety of linux distributions. It has been tested with Ubuntu 14.04 and Centos 6. Any distribution with support for the termios serial port API should be compatible.

RS500 Specific Questions

What is the typical current consumption for the RS500?

The table below is provided for reference. For detailed electical specs, see the Indy RS500 Datasheet, which is included in the RS500 Release package under .\Documentation\ , or on the web here.

Current Consumption
Mode Current (+/- 10%)
Active 510 mA (GX), 580 mA (EU)
Low Latency Idle 50 mA
Standard Idle 15 mA
Standby 1 mA
Sleep 100 uA

How should the pins of the RS500 be connected?

The details below are provided for reference. For more details on RS500 pin recommendations, see the Indy RS500 Hardware User’s Guide, which is included in the Release package under .\Documentation\ , or on the web here (for RS500).

Required connections:

  • VDC_IN and GND are required to power the RS500.
  • RF is required to connect to the UHF RFID antenna.
  • UART1 Tx and Rx are required to communicate with the system host.

Recommended connections:

  • nRST is used to reset the RS500 if UART communication is not available. This connection is highly recommended. This pin is sometimes internally driven strong low, so it should be driven by an open drain signal. It must not be driven strong high.
  • UART2 Tx and Rx may be used to examine debug information.
  • HEALTH indicates successful operation of the RS500. Connection to an LED provides a visual indication of whether or not an error condition exists.
  • STATUS provides an indication when the RS500 is in active mode (for example, inventorying tags). Connection to an LED provides a visual indicator of the device’s activity.

Optional connections:

  • GPIOs allow interaction with the RS500 as both digital inputs and outputs. They may be used to trigger inventory, generate events based on inventory activity, or provide general-purpose user-controlled digital I/O.
  • WKUP provides a mechanism to wake up the RS500 from the low power Sleep mode on a rising edge. The pin must go low for the device to fully wakeup. WKUP is also used to force entry into the Impinj firmware bootstrap. If unused, this pin should be tied to logic low.
  • UC_ADC allows use of an ADC to convert an analog input voltage into a digital value.
  • UC_DAC allows use of a DAC to generate an analog output voltage from a digital value.
  • BOOT0 provides access to the built-in bootloader in case the Impinj firmware bootstrap is corrupted. For more details on the built-in bootloader, please contact Impinj support.

No connect:

  • SWCLK and SWD connections are reserved for Impinj use only.

What is the drive strength of the RS500 GPIO pins?

The GPIO pins can sink and source 8 mA at 3.3V.

For detailed electrical specs and GPIO behaviour, see the Indy RS500 Datasheet and Indy RS500 Hardware User’s Guide, which are included in the Release package under .\Documentation\ , or on the web here (for RS500).

How can RS500 devices with firmware older than v0.8.1.0 be upgraded?

If an RS500 has firmware from a release older than v0.8.1.0, it cannot be upgraded using this release. To get help updating an RS500 with firmware from a release older than v0.8.1.0, please submit a support ticket at support.impinj.com.

What are the typical latency times to enter the Idle state for the RS500?

Time To Idle Latency
Mode Latency Time
Hard Reset 200 ms
Soft Reset 200 ms
Standby 50 ms
Sleep 200 ms

How long must nRST be held low to reset the RS500?

The nRST pin must be held low for a minimum of 25 us to reset the device.

What are the inventory rates of the RS500?

The following are estimates of typical RS500 inventory rates given certain population estimates and tags present. Actual inventory rates will vary depending on a number of factors.

Inventory Rates
Tags in Field Initial Population Estimate Inventory Rate (tags/sec)
1 1 130
1 16 35
16 16 50

What is the behavior of the RS500 NRST pin?

Customers must not apply a strong high voltage source to the NRST pin. The RS500 must be able to pull NRST low in order to reset itself. Customers can connect an open-drain source and drive the pin strong low in order to reset the RS500. Customers can leave the NRST pin disconnected if they do not need to reset the RS500.

RS2000 Specific Questions

How are the antennas of the RS2000 switched?

RS2000’s antenna switching is configured using the E_IPJ_KEY_ANTENNA_SEQUENCE key.

For more details, see the configuration example Antenna Switching.

How is RS2000’s temperature monitored and controlled?

RS2000, with its 31.5 dBm maximum power output, can easily self-heat above its maximum operating temperature under certain thermal conditions. It may be necessary to monitor and control operating parameters to ensure reliable operation.

There is an example on how to read RS2000’s internal temperatures in the configuration example Get Temperature.

RS2000’s firmware monitors the power amplifier (PA) temperature, and automatically stops RFID operations if it exceeds 85 degrees Celsius. When this occurs, a stop report is sent with error code E_IPJ_ERROR_LIMIT_PA_TEMPERATURE_MAX which indicates that the PA has exceeded this temperature. Start commands may be sent again immediately, but may be stopped automatically by subsequent over-temperature conditions. It is advisable to monitor for over-temperature events, and add some activity hold-off or decrease in self-heating via transmit power reduction.

Future versions of RS2000 firmware will include an on-board control system that will automatically keep the device operating at decreased activity or power levels.