Jun 062011

SlateV had a feature on 3D printing and Makerbots entitled “How to Print a Bicycle”. Bre of course was the spokesman. About halfway through it though, my friend Jon saw my face. Whoop, I’m famous! Okay, so maybe not famous exactly. But they did feature one of my creations.

While I think it’s cool they used my laser-cut iPhone stand as the representative of what Thingiverse is about, they probably should have used something 3d printed instead of laser cut. :)

 Posted by at 6:39 pm
Nov 192009

[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.

 Posted by at 10:11 am
Feb 282007

In my periodic perusal of Warren Ellis’s blog, I see he’s linked to Nicolas Nova’s post about “The Ubiquitous Computing of Today”. Nicolas discusses a great LIFT07 paper, “Yesterday’s tomorrows: notes on ubiquitous computing’s dominant vision” by Genevieve Bell and Paul Dourish (Personal and Ubiquitous Computing, 2006). He and the paper highlight a persistent problem with ubicomp research: the ever-receding horizon of technology.

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.

 Posted by at 11:47 am
Jun 262006

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:


 Posted by at 8:58 pm
Jun 032006

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:

– left/right arrows change “r”, the radius of the inner moving circle
– up/down arrows change “d”, the pen’s distance from center of the moving circle
– ,/. changes “R”, the radius of the big fixed outer circle
– +/- changes scale
– [/] changes “dtheta”, the increment size (resolution, essentially)
– space bar randomizes parameters
– return key clears the screen

Click the below to play with SpiroExplorer:


 Posted by at 10:31 pm
Jun 012006

I’ve been playing around with Processing in order to visualize complex Roomba movements but instead have been having making little graphics programs that amuse me.

Thus the below. Click on each on to start it going.

drunk spiro



I guess this is generative art, but mostly it feels like wanking to me. Lots of fun, but still.

 Posted by at 1:57 pm