Impinj Support Portal/Community Forums/Speedway Reader Forum


Faster RFID Application Development with the Octane SDK

Mike Lenehan
asked this on December 03, 2013 09:46

Here's a "hello world" example showing how to use the Octane SDK to read RFID tags.



User photo
Mike Lenehan
Check Answer


The Octane SDK is a software API from Impinj that significantly reduces the amount of time it takes to write RFID applications. It's an extension of the LLRP Toolkit (LTK) that simplifies development by handling many of the details for you.  Here are some of the details:

Supported Language

C# for PC application development on Microsoft Windows

  • A Speedway Revolution reader with firmware version 4.8 or higher. You can download the latest firmware from the Impinj Support Portal. The installation procedure is covered here.
  • Visual Studio 2008 or newer
  • Windows XP or newer
  • 400 MHz Pentium processor (Minimum); 1GHz Pentium processor (Recommended)
  • 96 MB RAM (Minimum); 256 MB RAM (Recommended)
  • 50 MB hard drive space.
Before you give the SDK programming a try, you need to take care of a few things first:

1. Download the Octane SDK from the Impinj Support Portal.
2. Create a new Visual Studio console project.
3. Create a new sub-directory under your project called 'lib'.
4. Extract the SDK files (.DLL) to the lib directory.
5. Add references to these libraries by selecting Project->Add Reference from the menu.

C# Sample Code:

using System;
using Impinj.OctaneSdk;

namespace OctaneSdkExamples
    class Program
        // Create an instance of the ImpinjReader class.
        static ImpinjReader reader = new ImpinjReader();

        static void Main(string[] args)
                // This example show the minimum program required to read tags.
                // If you require more control over the reader settings,
                // take a look at the ReadTags example.

                // Connect to the reader.
                // Change the ReaderHostname constant in SolutionConstants.cs 
                // to the IP address or hostname of your reader.

                // Assign the TagsReported event handler.
                // This specifies which method to call
                // when tags reports are available.
                reader.TagsReported += OnTagsReported;

                // Apply the default settings.

                // Start reading.

                // Wait for the user to press enter.
                Console.WriteLine("Press enter to exit.");

                // Stop reading.

                // Disconnect from the reader.
            catch (OctaneSdkException e)
                // Handle Octane SDK errors.
                Console.WriteLine("Octane SDK exception: {0}", e.Message);
            catch (Exception e)
                // Handle other .NET errors.
                Console.WriteLine("Exception : {0}", e.Message);

        static void OnTagsReported(ImpinjReader sender, TagReport report)
            // This event handler is called asynchronously 
            // when tag reports are available.
            // Loop through each tag in the report 
            // and print the data.
            foreach (Tag tag in report)
                Console.WriteLine("EPC : {0} ", tag.Epc);


December 03, 2013 09:48
User photo
Raj Arora Raj Arora

Thanks for your wonderful code. Can you please suggest how can we control read range of rfid antenna. I am using Impinj 2 port readers. All readers all installed at 2ft far from each other. Now when ever I bring my product on the floor, all readers read and starts processing against single tag. Please suggest

January 18, 2014 08:17
Topic is closed for comments