Here is a list of all the parts which make up my wearable including some (hopefully helpful) notes describing why I chose a piece and how I dealt with problems. Total weight of my vest: 10lbs. (This is mainly due to the weight of the batteries).


(Serial #)
and Specs

SaintSong Espresso (e-PC)
(S/N: 172000)

Pentium III Coppermine 700 MHz 128MB RAM Intel i810 chipset for video and audio. As of August 2000 these cost $1300 at iBuyPower.com.

Claimed to be the world's smallest PC [I doubt it, see the tiqit], this is a top of the line (for 2000) portable computer. Powerful enough to do voice recognition, small enough to pretend to be a wearable. Eats batteries like crazy and converts them to heat.

Without the docking station, the e-pc's expandability is limited to USB. There are no serial or parallel ports and no PC card (PCMCIA) slots

The gray rectangle at the bottom is the touchpad (mouse).

The i810 Chipset used in the Espresso is currently (August 2000) only supported well when using the latest Linux drivers.

Video: The i810 doesn't have any video memory. It uses main memory and thus needs some way to directly access it. Linux uses a module called agpgart.o (which can be downloaded from Intel's web-site). However I would recommend using the AGP support built-in to Linux 2.4. (Intel's agpgart module seems to only work with XFree86 3.3 even though XFree86 4.0 has been out for a while). Here is Shanker Balan's step-by-step i810 guide for Linux.

Another good reason to use Linux 2.4 is that it will see >64MB of the Espresso's memory without you having to tell it explicitly. (If you use Linux 2.2 put append="mem=128M" in your lilo.conf)

Audio: The i810 audio required purchasing the OSS sound drivers for Linux. Please see the software section below for more details.

The Espresso heats up a lot. It was designed to be used as a portable desktop machine. I had to add large rubber feet to allow air to circulate properly when in my vest's pocket. Also, my vest had to be modified with a mesh so that the grill (which is directly on top of the CPU's fan) can vent properly.

Modified Twiddler
(no serial number)

Chording Keyboard sold by HandyKey ($200) but modified for PS/2 using Josh Weaver's awesome YACK (Yet Another Chording Keyboard) hack.

Standard Twiddlers require a serial port (which the Espresso lacks). Josh Weaver is a student at MIT who figured out a way to replace the innards with a PIC board talking the standard PS/2 keyboard protocol. Using his YACK you can even reprogram the keymap over the PS/2 port. Josh was kind enough to let me alpha test his hardware when I desperately needed a keyboard.

MicroOptical Color QVGA ClipOn Display
(no serial number)

Quarter-VGA clip-on monitor. (320x240 16-bit color). Developed for the Department of Defense using MEMS (Micro- Electro Mechanical Systems). Rumored price is $2000.

What you don't see in the picture to the left is the big ugly black box that's needed to convert a VGA signal to something that can drive the display. It's 3" x 4.5" x 1.5" and requires its own power source. I've plugged an infoLITHIUM NP-F750 in to it which makes the box 4.5" x 4.5" x 1.5". (That's what's actually hidden in the pocket labelled "snacks" in the picture above).

The screen looks like a small (too small, actually) monitor floating a couple feet in front of me. The resolution (at a badly downsampled 320x240) is too low. But boy, when it comes to heads up displays there's nothing better out there. It's light-weight and easy to use. When you don't want it in your face, it flips up (looking somewhat like a prosthetic eyebrow).

I became happy with the MicroOptical once I gave up on squeezing 80 column text out of 320x240 pixels and just made my fonts big enough to read. The word on the street is that a full VGA (640x480) version with optics to make it appear to be a 13" monitor will be available in September of 2000.

Another trick I figured out was to run my X server at 1024x768 with large (though still barely readable) fonts. (My MicroOptical downsamples this to 320x240, BUT NOTE WELL that some MicroOpticals will not sync at anything but 640x480 and can be damaged by out of range frequencies).

I use the standard XFree86 Ctrl Alt + and Ctrl Alt - keys to change the resolution. Now, when I need to, I can zoom in to a 640x480 window on the 1024x768 virtual desktop. X uses the video hardware to pan the window quickly with the mouse. It feels very natural and is completely readable. I would have preferred to use a 320x240 window since some applications can't increase the font size (for example GIFs of text in a web-browser) but the i810 X server balks at double-scan modes.

A good font to try is lucidasanstypewriter bold. Since it's very thick the lousy downsampling of the MicroOptical is mitigated. My X server is set up to use 100 dpi fonts (instead of the standard 75 dpi). At 100dpi, I use 14pt when I need 80 columns and 18pt for easier readability. For example:

    xterm -fn lucidasanstypewriter-bold-18 -geometry 67x24

    emacs -fn lucidasanstypewriter-bold-14 -geometry 80x24

Another problem: My original eye glasses were wireframes that were too light for the MicroOptical; they'd skew to the side, giving me a headache. I got the heaviest frames Lens Crafters could sell me and those are much more stable. Unfortunately, the clamps for MicroOpticals are designed for only wireframes. I had to cut off and sanddown a piece of the bolt so I wouldn't have a metal thing jabbing me in the temple all day. The good news is that the metal is fairly soft: you can make this repair yourself with a pair of snippers and a dremel tool.

Lucent Technologies WaveLAN Gold
(S/N: 99UT11423866
MAC: 00:60:1D:F0:3E:5F)

"Turbo" (11Mbps) wireless networking (803.11) in a PC Card (née PCMCIA). In recent products, "WaveLAN Turbo" has been renamed to "ORiNOCO".

WaveLANs have a fairly short range unfortunately. I've only been able to connect when I'm within line of sight of the Media Lab.

Lucent Technologies WaveLAN/EC
(S/N: 00UT04400273)

WaveLAN PC-card to Ethernet Converter

A nifty device. Although the Espresso doesn't have a PC card slot I can still use a WaveLAN for wireless networking. You just stick the WaveLAN PC Card in one end of the WaveLAN/EC and plug Ethernet from your computer in the other end and you're in business.

To configure the WaveLAN you can telnet to the WaveLAN/EC over the direct ethernet connection. (The default password is "public", by the way).

DLink DSB-650TX USB Ethernet Converter
(S/N: UR02043166
MAC: 00:E0:98:7A:DF:6B)

A small doohickey for converting the 6Mbps USB protocol (which the Espresso talks) to the 10/100Mbps Ethernet protocol (that the WaveLAN/EC talks).

Linux's support for USB is so-so (as of August 2000). You have to be sure to buy a USB to Ethernet converter which is compatible. The DLink is a pretty good choice as it uses the "pegasus" chipset which seems to be commonly used with Linux.

Unfortunately, it is not without bugs. There are two different drivers available: Linux 2.4's built-in driver which causes a kernel panic when the USB cable is disconnected and the Scyld driver (which works with 2.2) that causes a kernel panic when there is a lot of demand on the network. My solution was to go with 2.4 and just tape the USB cables in place so they can't get jostled.

Modified PhoTogs Vest
(no serial number)

PhoTogs Functional Photographers Vest (Large) with 18 pockets. Available from Micro-Tools for $67.

I had it modified by the Media Lab Textile Engineers (that is, "seamstresses") so that it can hold the Espresso firmly while letting it vent.

This is a great way to get lots of pockets for holding things. (It's true, I look like I'm going fishing. That's not so bad. What I really wanted was a Michael Jackson zipper jacket.)

The Textile Engineers did a good job on my vest. In addition to adding the netting for the vent, they created holes between the various pockets so that I can snake cabling around my body without it sticking out and looking "weird". They also added snaps that hold the Espresso firmly in place.

VXI Parrott QD-35
(No serial number)

Over-the-ear with "VXI Parrott Translator"

A good quality microphone. I had to attach it to my glasses with garbage ties to make it comfortable, however.

The bulbous plastic thingamabob that is supposed to fit over one's ear to hold the mic in place is too fat to be comfortable for long even if one isn't wearing thick glasses. Garbage ties have the added benefits of keeping the microphone positioned correctly by my mouth and they lend that much sought after geek aesthetic.

Battery sleds (×2)


[I'll finish typing this in later]

Sony InfoLITHIUM NP-F950 (×2)

7.2V 32.4Wh. Used to power the Espresso PC.

Bloop bloop.

Sony InfoLITHIUM NP-F750 (×3)

7.2V 21.6Wh. Two to power WaveLAN/EC, one for MicroOptical display.


Maxim DC-DC power converter

5V DC output. Used to give correct voltage to WaveLAN/EC.


15V DC power supply

120V AC to 15V DC 3.0A. Used to power Espresso while swapping batteries and over night.



Debian GNU/Linux (code name "Potato")

IBM ViaVoice Transcription (version 3.0) Can use the SIMD instructions in the Pentium III

GNU Emacs framework, auto saving, this is the real OS


The i810 audio is not supported by OSS/Free (the default linux sound drivers). It is listed as being supported by ALSA (the Advanced Linux Sound Architecture), however there's a known but unfixed bug in alsa 0.5.8 where the driver will lock up and cause a device wait. As much as I'd prefer to support a GPL'd driver, I had to switch from ALSA to a proprietary system called OSS (Open Sound System). For $30.00 you can purchase a license for i810 audio which works.

Last modified: Sun Aug 27 21:30:30 EDT 2000