[This post was part of a CrashSpace mailing list discussion on a “proximity t-shirt”: a shirt that would light up or similar when other similar t-shirts were nearby. People were wondering how good RFID was at localized detection of tags.]

Okay so I’m a big RFID nerd, did a lot of consulting work using it. So here’s a quick brain dump.

Regular passive RFID is designed for identification not localization. The RFID tags can be reliably read only to within a few centimeters. But the readers are cheap. You can get 128kHz (LF) and 13.56MHz (HF) RFID readers for $20-40 and the reader chips themselves for under $2. RFID tags that work with these systems are around $1. These systems typically cannot handle multiple tags in the reader’s field at a time.

UHF (900MHz-2.4GHz) passive RFID readers can read up to a few meters, and the tags can be a $0.05 in large quantities. The readers can get pretty expensive though: >$1000. These are the systems used by Walmart et al to read a palette of Mach3 razors as they transit the warehouse. And by the marathon race timers. The standard is called EPC, if you’re interested. These systems can handle a few hundred tags in the reader’s field, but read time goes down exponentially with tag count.

“Active RFID” has ranges up to hundreds of meters. The term “active RFID” is a bit loose, since one can describe a WiFi laptop or a cellphone as active RFID tag. Really it just means an RF radio system that transmits a unique ID using its own power source. There are active RFID versions of all the above technologies. Eric’s suggested use of the RF Link boards is essentially an active RFID beacon. One of my favorite active RFID designs is OpenBeacon (http://www.openbeacon.org/ ). It uses the ubiquitous Nordic RF chips (used in almost every wireless keyboard & mouse) Sparkfun has a ton of Nordic boards to play with.

“Localization” of RFID tags can mean two things. For normal passive RFID, the tag is “located” when a reader sees it. It’s a boolean: sees it / doesn’t see it. This is often called “proximity detecton”. So one way to approach localization is to just have a lot of readers. True localization (knowing where in a reader’s field-of-view a tag is) is pretty tricky. The main issue is just finding how far away an RF source is. The simplest is signal-strength (”the louder you are the closer you are”), but that falls prey to the non-homogeneity of the environment: in free space it would work; in a room full of RF-absorbing humans, it fails. If you’re really savvy, you can do time-of-flight calculation. The reader sends out a ping and measures the time it takes to receive the tag’s echo ping. This requires nanosecond-accurate clocks on the reader (speed of light is very fast) and falls prey to multipath distortion (reflections off the environment). And then you need multiple antennae for a single region to do triangulation. It’s hard, but RFID vendors are starting to release stuff.

It’s a truism that the technology we need is “just around the corner”. This “proximal future” described in the paper is comforting because it means we don’t have to focus on the actual implementation issues. Just wait for Moore’s Law and everything’ll be alright. But this is a cop-out. I’ve been guilty of thinking this way and it bugs me. I don’t want promises of a future ubicomp world, I want that world right now.

At ThingM we’re focussing on what’s just possible. A tagline of ours is only half-jokingly “ThingM brings you one minute (+/- 20 seconds) from THE FUTURE!” We’re not about the Ubicomp of Tomorrow but rather the Ubicomp After The Next Commercial Break. Our two most recent technology sketches, LoveM and WineM can be built with today’s technology at a cost of 10x over the equivalent dumb version.

An order of magnitude cost increase for a smart version of a dumb object may seem like a lot, but isn’t when put in the context of product variations. Our most pervasive computing device, the cell phone, already exhibits over a factor of ten in price variation, from the $20 unlocked Nokias from yesteryear on Ebay to the tony $700 Sony Ericcson P990 uberphone. Another ubiquitous piece of technology, the TV, ranges from the $20 B&W portable CRT to the mammoth $10k Plasma HDTV.

The markets most allied with ubicomp, electronic gadgets, exhibit enormous price sensitivity, expanding upward in features and price from a minimally-priced base. Most of us buy in the middle to try to hit the sweet spot of the most features with the highest economy of scale. Those of us with special requirements or desires aim at the high-end. This is one reason, as Gibson puts it, the future is already here, just unevenly distributed.

As technology suffuses more into everyday objects, those objects will exhibit the same price elasticity of gadgets. Many domestic objects already do because of luxury and designer brands. The difference in comfort between a no-name leather easy chair from Target and an Eames lounger from Design Within Reach does not track the 10x difference in cost. The cost of adding intelligence to the DWR chair is the same as the sales tax on it. The objects at the high end of the price scale are the ones likely to first incorporate ubicomp technology, making them a better value compared to their non-intelligent siblings. As economies of scale kick in, these new features will become cost-effective for the entire price range.

Exploring what will be possible in a decade’s time is a useful and inspiring task. But until we have nanoassemblers, if we want to impact the lives of people today, we must discover and utilize the technologies available today that are on the verge of having high economies of scale.

I gave a talk at the Sketching in Hardware 1 conference. It was a great conference, full of amazing people and hosted at an astounding location. I’ll write more on the conference later.

My talk was “USB on Rails”. The USB HID standard enables the sending and receiving of arbitrary data-structures (“objects”) between a host PC and a device. All without any additional device drivers, since the HID driver is built in to all OSs. Many sketching tools or demos use USB, but introducing them to the unintiated means lots of reboots for driver installs. The title is a silly, but half-serious, take of applying the philosophy of Rails to hardware-to-computer interfacing: solve the common case simply, but allow deviations. More on this later, for now, here’s my talk’s slides:

So I’ve written a tool that can turn any parametric equation into a series of Roomba movement commands. Mostly, anyway. The parametric equations I’m predominately focusing on are the hypotrochoid series of equations used in a Spirograph.

To explore the space of hypotrochoid curves I created SpiroExplorer, a simple Processing applet that lets you to adjust the equation parameters in real-time. You can do the following things while it’s drawing:

Pages

blink(1) USB RGB LED!

blink(1)is a super status light. It fits into any USB port on almost every type of computer: Mac, Linux, Windows, Raspberry Pi, Beaglebone, WRT router, etc. No drivers needed and APIs in about every language you could want. And it's all open source.