Getting Started

Introduction to the WISP

The WISP 5 is the latest revision of the Wireless Identification and Sensing Platform, a project started at Intel Labs Seattle in 2006. Read the original papers about the WISP here. Main development of WISP hardware and firmware now takes place in the Sensor Systems laboratory at the University of Washington, but design files and firmware are open source, and anyone can contribute to the project!

The WISP is a battery-free platform with a software-defined implementation of a UHF RFID tag, and conforms to a subset of the EPC Class 1 Generation 2 (EPC C1G2) standard for UHF RFID tags. The WISP can communicate with commercial-off-the-shelf RFID readers, and is powered by the carrier signal emitted by the reader. The operating range of the WISP 5 in free space is at least 8 meters away from a reader emitting 30dBm (maximum power allowed by the FCC) into a 9dBic circularly polarized antenna (a typical antenna type used in RFID systems).

The WISP is built entirely from commercial-off-the-shelf components; there is no custom silicon on the WISP. This allows low cost, and also allows WISP users to fabricate their own WISPs or WISP-based platforms if desired.

The WISP consumes more power during operation than is typically available from the reader's carrier signal, and therefore must duty-cycle (toggle between sleeping and active modes). Therefore, unlike a normal RFID tag, unless the WISP is very close to the reader it will often miss reader commands, and will not always respond as expected based on the protocol specification. Luckily, the EPC C1G2 protocol is robust to transiently-powered tags such as the WISP, and still performs very well!

Required Tools

To be able to use the WISP5, you'll need the following tools:

Cloning the Firmware Repository

To develop your WISP5 application, you'll need access to the WISP5 firmware. We use the git distributed version control system to manage firmware revisions and branches, and the github.com hosting service for collaboration among WISP5 developers.


git clone https://github.com/username/wisp5

For users who did not fork the repository in step 1, type: 

git clone https://github.com/wisp/wisp5

cd wisp5

If you're using an Impinj Speedway R420, please checkout the 640kHz branch of the repository:

git checkout 640kHz

If you're using an Impinj Speedway R1000, you can use either the master branch (the branch you're on by default) or the 640kHz branch.

Programming the WISP


After you have imported the projects in the CCS, you will see 4 different projects in the CCS.



wisp-base project is the black box of the firmware. This project is the main core of RFID C1G2 protocol control and handling. It is necessary for all the developers to dig into this project, although we highly recommend to go ahead and make your changes in this project if you are interested.

First step is to go ahead and right click on “wisp-base” project and press “Build Project”. After the build is done without error, it is highly recommended that you program your WISP5 with “run-once” project and run this project on your WISP5 just once (as the name indicate that!). Below is how to do this step:


WISP5 connected to programmer cable using adapter board. 

Debug icon in Code Composer Studio 

Reader Hardware and Network Setup

 To get started with your WISP you will need to setup a compatible RFID reader. 

Reader hardware setup

To get started with the reader it needs to be connected. Exact instructions may be found in the device's manual.

Below we show a minimal setup for the Impinj Speedway R1000:


You can do a simple read test of your WISP5s using the Impinj Multireader application. See the discussion post here for more detail: https://wisp5.wikispaces.com/share/view/74066824

Basic hardware setup for an Impinj R1000 reader. 

Reader software setup

We recommend using the SLLURP library which can be found at github.com/ransford/sllurp.


git clone https://github.com/username/sllurp

For users who did not fork the repository in step 1, type:

git clone https://github.com/ransford/sllurp

cd sllurp

python ./setup.py install

You are now ready to run the demo applications which can be found in the “bin” folder! For instance, to communicate with a WISP5 which has been programmed with the code in the 640kHz branch of the firmware repository, use the following command:

sllurp inventory -n 1 -T 7140 -M WISP5 –mode-identifier 0 [ipaddr]

Using the WISP with the Reader

We recommend you use sllurp as described in the previous section. If you don't need/want to go through the trouble of setting it up, or if you're having problems with sllurp, you can also do a simple read test of your WISP5s using the Impinj Multireader application. See the discussion post here for more detail:

https://wisp5.wikispaces.com/share/view/74066824