Hardware toolkits for physical user interface prototyping
This list contains toolkits that allow researchers and designers to quickly create and explore new interaction techniques and device designs in hardware. It is probably missing some physical computing toolkits available. For more information, check out the Sketching In Hardware
conference series, for example. Camille Moussette from Umea University is also compiling a great list (under development) of hardware toolkits
The toolkits are all available commercially, as open source, or as advanced research projects. We have used many of them in our own projects and classes. The list is divided in what I consider the "top tools" and other tools, sorted roughly in order of preference, listing the toolkits I find most promising first.
If you are an undergraduate or graduate student, researcher or faculty in Human-Computer Interaction, product design or a related discipline, you can use these toolkits to get from an idea for a new interactive device to a working prototype for evalation more quickly.
The open-source iStuff Mobile
environment, developed by our PhD student Tico Ballagas
, helps integrating these various hardware toolkit into a software environment that lets you quickly prototype distributed interactive environment scenarios and phone-based interactions.
Presentation: Physical UI Toolkits & Arduino
, by Jan Borchers, for the Ubicomp / Campus of the Future Research Group, UCSD, January 23, 2008.
A hardware Arduino simulator for the Fritzing environment (open project).
These toolkits are currently (see last editing date of at the bottom of this page) available, actively maintained, and recommended for physical computing. Most recommended tools first. Of course, recommendations are my personal opinion.
Open-source board that lets you build standalone controllers with our without a PC connection, using an ATmega microcontroller. Different board designs are available, but no sensors come with the board; you have to hook up your own. If you're completely new to electronics, consider getting SparkFun's ProtoSnap
board instead - it has some sensors hooked up. First presented at CHI 2007. Amazingly affordable ($25 for their latest standard "Arduino Leonardo" USB board) and incredibly easy to program (no PROM burning), with software for Mac OS X, Linux and Windows. When I got my board, I had it plugged into USB, written a test app in the provided C-like Processing language IDE on my Mac, and a running standalone "Hello World" blinking LED within ten minutes. Currently, this system is my top recommendation. Get a Prototyping Shield
TinkerKit simplifies electronic prototyping through a wide variety of sensors and actuators, each mounted on a small printed circuit board with a 3-pin cable, to connect to an Arduino Sensor Shield or other boards. A signal amplifier stabilizes each sensor signal, for cable lengths of up to 5m. Originally designed by tinker.it
, a company founded by Arduino developer Massimo Banzi and Alexandra Deschamps-Sonsino, the kit is now available from the Arduino store
Graphical programming environment for kids, beginners, and non-programmers, to use with Arduino boards. Replaces the Arduino editor with a Scratch-like visual programming environment.
Hardware-only toolkit for wearable computing, with easy-to-sew three-connector textile ribbon. No microcontroller board, just batteries, LEDs, connectors.
Tiny breadboards with basic components and a clever magnetic snap-together mechanism that avoids switching polarities. Good for experiments.
These are tools I have come across that I have not found too useful for our physical computing research, e.g., because they are obsolete, Windows-only, not widely available, or otherwise unsuitable for our work. You may find them a perfect fit for your project, so they are listed here nevertheless.
Affordable wireless sensor network nodes for rapid physical UI and ubicomp prototyping, running in Java, from Sun. Haven't worked with them yet, but talked to the Sun folks at their booth at ETech 2008, and the system looks quite promising.
Gadgeteer on .NET (Open Source) (added 2011)
Toolkit effort headed by Nicolas Villar. Windows only. Code at http://gadgeteer.codeplex.com/
From their site: "Funnel is a toolkit to sketch your idea physically, and consists of software libraries and hardware. By using Funnel, the user can handle sensors and/or actuators with various programming languages such as ActionScript 3, Processing, and Ruby. In addition, the user can set filters to input or outputs ports: range division, filtering (e.g. LPF, HPF), scaling and oscillators." It now includes I2C device support (for BlinkM, HMC6325 etc) and sketches for Arduino, convenient tools (XBeeConfigTerminal and XBeeConfigTool) to configure XBee modems.
iCubeX by Infusion Systems
A comprehensive toolkit with options for MIDI or Bluetooth connectivity. The more than 50(!) sensors and actuators aren't cheap, but well-made, and the controller can be run in standalone mode after configuring it, allowing for mobile, PC-free scenarios. Windows and Mac OS X are supported.
MakingThings has stopped selling the Teleo toolkit, and moved to selling the new $150 Make Controller (15% student discount) which has open-source firmware, schematics, and accompanying software tools. Both are USB-based. Several ready-made sensors and actuators are available too.
Wiring (Open Source)
Another open-source toolkit similar to Arduino, around and in active use by several universities and art projects since 2005. The US$60 ATmega128 microcontroller board can run standalone or connected via USB. Software for Mac OS X, Linux and Windows. To quote Nils Beck, one of our former students who used it: "It's relatively cheap, very powerful, and incredibly easy to program, thanks to its Java-based language and easy to use IDE. 40 digital I/O pins, 8 analog inputs (can also be used for digital input), 6 PWM outputs, i2c, serial, USB,..."
The grandfather of hardware interface toolkits. Endless options to choose from, including many different versions and sizes of the controller board (some use PICs, others Ubicom processors). Also, lots of sensors and actuators (you'll even find some at Radio Shack), and Educator Kits. However, it's commercial, closed-source, and more expensive than, say, the Arduino ($50 vs. $4 for a replacement processor), and there is no official Mac OS X support (there's a hack
though). It's also showing its age: e.g., it talks to your computer via serial. The basic model is not interrupt-capable, the SX is (but requires burning hardware).
Eric Singer (of Cyclops fame) presented this at NIME 2007. It looks pretty much like a MakingThings device, but it has 20 terminals that can each be set as digital or analog (pwm), input or output. It is MIDI-based (as opposed to the Make Controller, which uses USB).
Phidgets by Phidgets, Inc.
Phidgets is another comprehensive kit, and one of the earliest physical prototyping toolkits, developing out of a research project in Saul Greenberg's lab at the University of Calgary. The more than 50 sensors and actuators are USB-based (i.e., always need a wired connection to a host PC to work). Support focuses on Windows, but other platforms are available too. They've been used successfully in various HCI classes, by Saul and others, for prototyping.
A hardware platform as part of a research project by the Stanford HCI group, similar in design to Arduino and Wiring, which their research software has now been extended to support as well. No ordering of boards or sensors, but the site contains PCB layout files, software, and useful pointers to manufacturers and part suppliers.
Small, wireless sensors, later evolving into even smaller "uPart" particle nodes. More of a research project, with limited commercial availability.
Another small wireless sensor module with networking capabilities, the Berkeley Motes are now manufactured by CrossBow Technology, Inc.