Survey of Physical Interaction Hardware Toolkits
NOTE: This article is a work in progress and will be updated as I find more time to work on it.
This list is an overview of currently available commercial tangible user interface (TUI) hardware toolkits. While one can distinguish these products along many dimensions, I have chosen the locus of the control code as my primary differentiating characteristic. A complete spreadsheet for feature-comparison is in the works. I see three different categories:
- tethered PC-only control where the user cannot or should not reprogram the microcontroller;
- hybrid PC+microcontroller systems where user code can run on both the PC and the microchip;
- standalone microcontrollers that are initially programmed through a PC but then run autonomously.
The categories often don't have hard boundaries - I have grouped products below by their path-of-least-resistance - the mode of operation that the system designers facilitate most.
Other possible categorization dimensions:
- sensors 1: plug-and-play or SIY (solder-it-yourself)?
- sensors 2: which kinds are shipped, which other supported/possible?
- actuators: feedback possible?
- programming models: for microcontroller, for pc. debugging available?
- form factor
- chip only, protoboard?
- networking/daisychaining - what if you run out of inputs?
The list:
- High-Level Plug'n'Play Architectures - you don't/can't program the microcontroller:
- Hybrid MC/PC systems: user program can reside on the microcontroller or on the PC, or on both - most flexible:
- Low-level MC only for autonomous, untethered systems (robotics):
- Others:
Phidgets
USB-Based physical interface kit; API support for Visual Studio-based programming - mainly Visual Basic and C# (via http://www.cpsc.ucalgary.ca/grouplab/phidgets/)
Teleo
High-level plug and play physical prototyping kit, aimed at interactive multimedia installation artists. Programming support for C++, MAX/MSP and Flash (via XML)
ActiveWire
16 digital I/O pins; USB Interface; Add-on boards to connect to analog sensors and motors, solenoids, Relays, LCD, etc...
NIQ EZIO
PIC-based, 10 digital in, 10 digital out, 10 A/D, 2PWM; Serial I/O to host; BYO sensors
BasicStamp
Microcontroller-based solutions; microcontrollers are programmed in some dialect of basic/c/java; communication usually through serial port (RS232); digital outs, analog+digital ins; runtime control on PC through any model that supports serial port I/O. Microcontroller board can run stand-alone or pipe messages to PC. The
Physical computing book by Igoe and O'Sullivan is a great resource for these systems.
CCRMA AVRMini Board
8bit RISC processor; board uses RS323/MIDI/OSC to communicate with PCs. add-on motor controller exists.
OOPic
description
Handyboard (and 6.270) from MIT -
description
Brainstem
description
iCube
description
Lego Mindstorms RCX
Plug'n'Play, Visual programming language, but only 3 sensors, can't control from PC in realtime.
MIT Programmable bricks
Each cricket has a unique dedicated functionality. Compare to Motes?
iStuff
"Can we speed up and simplify setting up experiments with different user interface hardware configurations in an augmented-reality environment such as the Stanford iRoom, by providing a toolkit of basic, generic physical input and output devices that are new in that they are completely mobile, untethered, and remotely accessible through the room software infrastructure (event heap), and that can therefore be combined on-the-fly to build or extend physical post-desktop user interfaces?"
(
alt. link)
None of the surveyed systems can drive a display or take in CV input. Communication/Networking is possible but a pain to do in microcontroller code. Thus it would be useful to have a toolkit that offers easy integration of these three parts: TUI, Vision/Projection (high-bandwidth graphics in/out), Networking.
Posted by Bjoern Hartmann at January 19, 2005 9:17 AM