Thinkify, LLC has intellectual property rights relating to technology embodied in the products
described in this document, including without limitation certain patents or patent pending
applications in the U.S. or other countries.
This document and the products to which it pertains are distributed under licenses restricting
their use, copying, distribution and decompilation. No part of this product documentation may
be reproduced in any form or by any means without the prior written consent of Thinkify, LLC
and its licensors, if any. Third party software is copyrighted and licensed from Licensors.
Thinkify, the Thinkify logo, TR-65 and other graphics, logos, and service names used in this
document are trademarks of Thinkify, LLC in the U.S. and other countries. All other trademarks
are the property of their respective owners. U.S. Government approval required when
exporting the product described in this documentation.
Federal Acquisitions: Commercial Software -- Government Users Subject to Standard License
Terms and Conditions. U.S. Government: If this Software is being acquired by or on behalf of
the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier),
then the Government's rights in the Software and accompanying documentation shall be only
as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for
Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD
acquisitions).
Notices
DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARANTEES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR APARTICULAR PURPOSE OR NON-INFRINGMENT ARE
HEREBY DISCLAIMED, EXCEPT TO THE EXTENT THATSUCH DISCLAIMERS ARE HELD TO BE
LEGALLY INVALID.
Note Regarding RF Exposure
This equipment complies with FCC radiation exposure limits set forth for an uncontrolled
environment. This equipment should be installed and operated with minimum distance of
20cm between the radiator (antenna) and your body. This transmitter must not be co-located
or operating in conjunction with any other antenna or transmitter.
FCC Notice and Cautions
Any changes or modifications to this device not expressly approved by Thinkify, LLC could void
the user's authority to operate the equipment.
The TR-65 RFID READER
DCN-TF-010045-A
3
FCC Notice and Cautions
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two
conditions: (1) this device may not cause harmful interference, and (2) this device must accept
any interference received, including interference that may cause undesired operation.
This equipment has been tested and found to comply with the limits for a Class B digital
device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable
protection against harmful interference in a residential installation. This equipment generates,
uses and can radiate radio frequency energy and, if not installed and used in accordance with
the instructions, may cause harmful interference to radio communications. However, there is no
guarantee that interference will not occur in a particular installation. If this equipment does
cause harmful interference to radio or television reception, which can be determined by
turning the equipment off and on, the user is encouraged to try to correct the interference by
one or more of the following measures:
• Reorient or relocate the receiving antenna.
• Increase the separation between the equipment and receiver.
• Connect the equipment into an outlet on a circuit different from that to
which the receiver is connected.
• Consult the dealer or an experienced radio/TV technician for help.
Revision History
1 October 2014 – TR-65 User Guide Created
The TR-65 RFID READER
DCN-TF-010045-A
4
About Thinkify, LLC
Thinkify, LLC is a wireless technology company specializing in RFID hardware and software
products. With 30 years of combined experience in RFID and over 35 patents in the field, our
founding team is one of the technically strongest in the industry.
Our focus is embedded RFID. -- Applications where we use RFID to enable common objects,
devices and whole environments to become aware of the world around them. This capability
can transform the way people and objects interact, blurring the line between the physical world
and the virtual.
Thinkify is a privately held company, located in Morgan Hill, California.
We feel that partnerships should be healthy and that Engineering should be beautiful.
Thinkify, LLC
About Thinkify, LLC
18450 Technology Drive, Suite E1
Morgan Hill, CA 95037
TR-65 inside of a TR-200 Enclosure.......................................................................................................................... 2
FCC Notice and Cautions........................................................................................................................................ 3
About Thinkify, LLC........................................................................................................................................................ 5
What's in the box?.................................................................................................................................................... 8
Hooking up the hardware...................................................................................................................................... 8
Communicating with the Reader.......................................................................................................................... 9
Quick RFID Introduction............................................................................................................................................ 10
Class 1 Generation 2 (Gen2)................................................................................................................................ 10
Concepts (Performing an Inventory)................................................................................................................. 11
Concepts (Reading / Writing other data)......................................................................................................... 13
This document explains how to set up and communicate with a Thinkify, TR-65 desktop RFID
reader.
The Thinkify TR-65 is designed to work around people handling tagged items in a store or
office environment. Just like the Personal Computer changed computing, we think the Personal
Reader will change the nature of RFID.
The TR-65 is a highly capable and easy-to-use Gen2 reader designed for tag commissioning,
document tracking, point of sale and other use cases where people and tags come together.
Let's get started.
Introduction
The TR-65 RFID READER
DCN-TF-010045-A
7
Getting Started
TR-65
The TR-65 is a standalone RFID reader module that does not come with a power supply, USB
cable, or antenna. If you would like to purchase antennas, USB cables, GPIO cables, or coax
cable for your TR-65 please navigate to the Thinkify store (link below) or call us at (408) 782-
7111. http://thinkify.highwire.com/
TR-200
The TR-200 is USB powered desktop reader kit that comes with a USB cable, sample tag, and a
small Linear Antenna. The kit was designed to contain everything the user will need to begin
using an RFID reader in the shortest amount of time.
Getting Started
Hooking up the hardware
Attach the antenna to your reader – it just screws on.
Plug the USB cable into the reader and then into your laptop or PC.
The TR-65 does not require a special driver to be installed on the computer.
You should see the blue LEDs on the front of the reader cycle through a start up pattern and
then the one on the right should slowly blink to indicate that the unit has power and is waiting
for commands.
The TR-65 RFID READER
DCN-TF-010045-A
8
Communicating with the Reader
Communicating with the Reader
Windows
The following will work on Windows 7 and Windows 8 operating systems.
The TR-65 reader comes with free demonstration software that can be downloaded from
Thinkify's website.
http://thinkifyit.com/downloads.html
Once you have downloaded the TR-65 Getting stated Package unzip the files into a known
location. Then click on Thinkify Gateway (the one with the computer ICON).
The Thinkify Gateway installation program will walk you through the steps your need to get the
program installed on your system. If you have a previous version of the Demonstration
Software installed we recommend you uninstall the old version before preceding with the new
installation.
Terminal Program
Users can also use a terminal program to communicate with the TR-65 such as TeraTerm or
HyperTerminal.
TeraTerm is available for download at: http://ttssh2.sourceforge.jp/
The following are necessary Terminal Settings to communicate with the reader:
•115200 (Bits Per Second)
•8 (Data Bits)
•NONE (Parity)
•1 (Stop Bits)
•NONE (Flow Control)
The TR-65 RFID READER
DCN-TF-010045-A
9
Quick RFID Introduction
Class 1 Generation 2 (Gen2)
The RFID tags included in your reader kit conform to the UHF Class 1, Generation 2 (“Gen2”)
standard maintained by EPCglobal (http://www.epcglobalinc.org/). EPCglobal is a division of
UPC - the same standards organization that controls the barcode numbering system used on
retail packaging. This standard (with minor changes) is also maintained by ISO under ISO18000-6C.
Most Gen2 tags are passive RFID devices. That is, they do not require a battery and derive
their power for operation from the RF field sent out by the reader. This allows them to be small,
inexpensive, and operate virtually indefinitely.
Most Gen2 tags are also programmable devices. Users can put their own information into the
tags. The amount of data that can be stored depends on the type of tag but hundreds of bits
are typical. Data in the tag is organized into banks of memory that serve different functions
under the protocol:
Quick RFID Introduction
Bank 0:Reserved Memory: Kill and Access pass-codes
Bank 1:EPC Memory: The unique tag identifier, typically 128 bits, and user-
programmable. The Gen2 protocol is designed to extract this information quickly.
Bank 2:TID Memory: A factory-programmed area that includes a serial number and
fields that describe the tag's capabilities.
Bank 3:User Memory: A programmable extended memory area for holding additional
information that is not the EPC. Not all tags support User Memory.
Gen2 tag memory can be locked, such that it cannot be changed without a pass-code. These
locks can be reversible or permanent (permalocked).
Bank 0 is a special case for locking. Locking the other banks prevents them from being
changed. If Bank 0 is reversibly locked it cannot be read without a pass-code. If it is
permalocked it can never be read again. This secures the Kill and Access pass-codes from
unauthorized users.
Finally, Gen2 tags can be rendered non-functional with a “Kill” command. Tags that are killed
become nonfunctional and cannot be recovered.
The TR-65 RFID READER
DCN-TF-010045-A
10
Concepts (Performing an Inventory)
Concepts (Performing an Inventory)
Being an RFID reader trying to read multiple tags using the Gen2 protocol is sort of like being a
new teacher trying to take attendance in a kindergarten class... Sadly, the administration didn't
give you an attendance list on the first day of class so you have to work it out for yourself.
Kindergarten TeacherRFID Reader
You have to get a list of everyone's name.You have to get a list of all of the EPC codes from the tags.
Kids know their own names.Tags have unique IDs in EPC memory they can report.
You can only hear one child at a time.The reader can only process a signal from one tag at a time.
Kids want to all talk at once.Multiple tags can respond at the same time.
What both the teacher and the RFID reader need is an anti-collision protocol – a way to keep
their respective kids/tags from talking at the same time.
Most teachers adopt an adult-talks-first protocol with a persistent state flag for whether a child
has been inventoried. This flag is maintained in the child. Sometimes there's a bi-directional
exchange with an ACK/NAK option. Hey! that's sounds a lot like Gen2.
TeacherChildGen2 Protocol
“Ok everyone! Quiet down.
It's time to take
attendance.”
“Ok everyone! Hands up!”
“When I point to you, tell
me your first name.”
The teacher randomly picks
the first child, points to her
and says, “You!”
“Inga who?”
“Inga!”
“Svenson!”
Under Gen2 this is a Select command that establishes who's going
to participate in the inventory – in this case, everyone. By putting
their hands up, the child has set a flag that indicates he/she hasn't
Granted this is a little contrived, but it's a little like the Query
command in Gen2 that kicks off an inventory sequence.
In Gen2, a tag responds to a Query with a random number that is
used in the next command by the reader
This is like a Gen2 ACK (acknowledgment). It tells the tag/child that
the reader/teacher heard their response and is now asking them for
Reader-talks-first.
been inventoried, yet.
their data.
”You!”“Mikey!”
The TR-65 RFID READER
At this point, Inga assumes that the teacher got her name, since
DCN-TF-010045-A
11
Concepts (Performing an Inventory)
(Pointing to the next child.)she's moved on to the next child. She puts her hand down and sets
her state to “Inventoried”.
“Mikey who?”“Jones!”
“Pardon me.”
“Mikey who?”“Jones!”
“You!”
(On to the next child.)
If the reader doesn't understand the reply it can issue a NAK and
try again.
Mikey puts his hand down, too and sets his state to “Inventoried”.
And off they go...
When the teacher reaches the end of the round because she sees no more raised hands, she is
done.
This is clearly contrived and an oversimplification of both the teacher's real-life protocol and
Gen2, but it does captures some of the important features:
1. Inventories of the field need an anti-collision protocol to prevent multiple tags from
talking at the same time.
2. An inventory can begin with one or more Select commands that establish who will
participate in the inventory. (Teacher: “Ok, only the boys, put your hands up!”)
3. The state of whether or not a tag has been inventoried is maintained in the tag.
4. In the process of singulating a tag, the reader gets a handle (the child's first name in this
example) that it can use for additional operations with that tag (more on this below).
The analogy breaks down when you realize that unlike the teacher, the reader cannot see the
inventoried state of the tags (hands in the air). If the teacher tried to take attendance of the
class from behind a curtain, it would be a lot more difficult. Rather than pointing at a child and
saying, “You!” to keep them from talking at once, a different protocol would be needed.
In Gen2, this is accomplished with the Query command. When the reader issues a Query
command, it includes in the message a parameter called Q that the tags use to determine if
they will respond immediately, or after some number of subsequent QueryRep commands.
The number of Query or QueryRep commands the tag will wait to hear is determined
randomly and can vary from 1 to 2Q.
By adjusting the Q parameter used in its Query commands, the reader can prevent multiple
tags from responding simultaneously, most of the time. If there is a collision, the reader can
The TR-65 RFID READER
DCN-TF-010045-A
12
Concepts (Performing an Inventory)
adjust Q or just try again and let the tags roll a different random number. From your
perspective as a user of the reader, these details don't usually matter (we adjust Q for you
automatically) but they can be useful to know sometimes if you are trying to optimize
performance.
Concepts (Reading / Writing other data)
The Gen2 protocol is strongly oriented around the use case of rapidly reading the data in Bank
1 of Memory, the EPC. In supply chain applications there can be hundreds of tags moving past
a read point and the reader needs to read them all as they go by.
Reading data in other banks of memory or programming tag memory builds off of the
protocol we use for isolating tags and it extends it, allowing a “conversation” to take place with
a tag that has been isolated, or “singulated”.
To read User memory for example, the reader first isolates a tag with an inventory, and then
uses the handle from the tag as part of a sequence of commands to get the User data.
Programming is done in a similar manner.
In the Thinkify reader, we allow you to specify a number of “descriptors” that tell the reader
what additional actions, if any, to take when it reads a tag. Descriptors can be used to Read
additional memory areas, Write to memory, Lock and Unlock tag memory, and Kill tags.
This is a very powerful approach. By using Select commands (called “masking”) as part of the
inventory we can quickly specify that we are interested in performing an operation on just one,
some, or all of the tags presented to the reader.
The TR-65 RFID READER
DCN-TF-010045-A
13
Thinkify Reader Protocol Overview
Here we give an overview of the Thinkify Reader Protocol message structure and provide a
high-level summary of the major command groups available to the user.
The Thinkify Reader Protocol (TRP) is a human-readable ASCII protocol that allows users and
applications to set parameters for RF control, tag list acquisition, tag programming, and digital
I/O behavior. TRP may also be used to acquire data from the reader and be notified of tag read
events, I/O events, and reader status.
TRP is used across all Thinkify reader products and supported hardware interfaces including;
RS232, USB, and Ethernet.
Command Structure
The Thinkify Reader Protocol uses a Command-Response model. Communication is initiated by
the Host, and the Reader responds with an acknowledgment or data.
Thinkify Reader Protocol Overview
Users may interact with the reader from a terminal program or their own software using the
Thinkify APIs. All that is required is that they send strings to the device over an active
connection, and terminate messages correctly. Replies are sent back, often on multiple lines,
terminated by a “READY>” prompt.
Host Commands
Host commands to the Reader are ASCII strings terminated with a Carriage Return. Line feed
characters are ignored by the reader and may be sent without effect. The Reader does not
echo commands back to the Host.
Valid command messages are composed of numeric characters in the range of 0-9 (0x30 0x39), ASCII characters in the range of a..Z (0x41 - 0x7A), and the carriage return character
(0x0D).
The general format of a Host-to-Reader message is: