The HackMan 0.4 wearable computer.

[Up: Rehmi's Home Page] [Back: Wearable Computing Page] [Next: The Experts Speak]

This is a Linux box that you can carry in a fanny pack.

[HackMan0.4 in my hand]

You can watch it disassemble itself in the silent classic, Wearable Waltz, a 1.2MB MPEG movie which works best with viewers which understand P and B frames.


System Specifications

  • OpSys: Linux and DOS
  • Engine: 25 MHz Intel 486SL Super Chipset with FPU
  • Memory: 8kB cache, 256kB flash ROM, 8MB RAM
  • Storage: 1.0GB, 14 ms avg seek, 2.5'' mini Winchester
  • Interface: One-handed keyboard, heads-up display
  • Power: 10W/4W/3W max/typ/min (measured at 5V)
  • Dimensions: 35 x 140 x 180 mm (1.5 x 5.5 x 7.0 inches)
  • Weight: 615 g (1.35 lbs) without battery (in a steel case!)
  • Total Cost: <$3000 (in over-the-counter parts)

  • How fast is it?

    If you're a Linux weenie, you may appreciate the figure of 12.52 BogoMips. If you're calibrated in dhrystones, here are the numbers Thad got.

            BTW, for all of your information, I recently tested Rehmi's
    system over the net and got 12096 dhrystones/second and 5 million
    whetstones/sec which puts it about the speed of a SGI 4D/20 (12 Mhz
    R3000) or an early Sparc 4/110.
    

    These are the figures for a 25MHz card. There are now 50, 66, and 75 MHz versions of the card ``available'', with a 100MHz 16MB card in the near future (be sure to check the announcement date in the press release).

    What's inside it?

    The heart of the machine is the SMOS CARDIO-486 which contains all the standard subsystems: VGA, COM ports, PARallel ports, floppy and IDE interfaces and so on.

    I tore my card open to get better coupling for conductive heat extraction, so you can see what it looks like inside (if your browser supports inline JPEG images). Inside the SMOS package there is a motherboard with the CPU, ROM, VGA controller and memory, and all the glue logic, and a daughterboard with (in my case) 8 MB of non-parity memory.

    Here are two views of the motherboard and one of the daughterboard. On a 100-dpi display they're actual size (86mm x 54mm).

    A painful shortcoming of the CARDIO is that it incorporates 16450 UARTs for both COM ports, meaning that there are no usable receive/transmit FIFOs. If instead it used the 16550A or equivalent macrocell, these ports would allow robust 115,200 baud SLIP connections. Nonetheless, tweaking of the MTU yields a good connection over one of these lines (up to 7.3 kB/sec using ftp).

    The on-line storage is a Quantum Europa 1080 AT 2.5" ATA-IDE hard drive. An IDE-to-PCMCIA interface is in the mill (supporting only PCMCIA/ATA hard drives to keep down the complexity).

    How do you interact with it?

    The heads-up display is the Phoenix Group's Private Eye, controlled in this case by their ISA bus card. You can build a little PC/104-to-ISA adapter to mount the Private Eye controller board onto Intelec's PC/104i motherboard for the CARDIO. This is the hardest part to shrink down, so I'm looking at other displays which will take advantage of the built in VGA adapter (and probably also have smaller controller cards).

    An interesting possibility lies in the development of a different adapter board for the Private Eye, because all that's needed to drive the display is a 20MHz TTL video signal (in essence). The crucial differences are that the video signal describes a vertical (rather than horizontal) raster, and frame synchronization is driven by the mechanics of the display. Those willing to live without full CGA compatibility but rather with a more driver-intensive approach (under Linux, for example) might be able to shave away the CGA emulator/adapter board in favor of a simplified hardware interface.

    The one-handed keyboard is the Twiddler. The only mod here was to chop off the bulky connectors which come with the Twiddler and replace them with one mini-DIN plug which also accepts an AT style keyboard. There's a notion that all connectors are evil, but this connector is worth keeping just to be able to plug in a real keyboard.

    Power and support strata

    The Intelec PC/104i motherboard includes a 3.3V linear regulator, all the requisite pull-up and pull-down resistors to keep the CARDIO happy, connectors bringing out all of the ports, and buffers for the ATA-IDE interface. Revision A of this board is sturdy and well-designed: for example, there are current-sensing resistors on the power connections which fry if something downstream causes a short across the power rails.

    I've made three major modifications to the board to adapt it to use in a wearable computer.

  • Added a battery backup for the CARDIO's CMOS RAM. Actually, it's a 1F super capacitor with a diode added for charging from the rails. According to Intelec's web site, rev B of the board has a connector for a backup lithium cell.
  • Replaced the linear 3.3V regulator (which always runs warm -- it has to drop at least 2.7V x 1A = 2.7W as heat, n'est ce pas?) with a 3.3V/3A PT6305N switching regulator from Power Trends. Its wide input voltage range allows it to run at about 85% efficiency in this case.
  • Added some SMT PNP transistors to switch power to the disk and the ISA bus. These are driven by a 74HC04 attached to the power management lines from the CARDIO, which has the power management software in flash ROM BIOS.
  • The power supply is an ordinary 6-volt sealed lead-acid battery (gel cell) and a Power Trends PT6200 5V/2A compact switching regulator. These little regulators are trivial to design with. You can browse the data and request a free sample from their home page. Also, be sure to check out Maxim's pages if you're willing to do a little more work.

    I've also found that the system seems to work just fine directly from the gel cell, which nominally runs at 5.5V when loaded (just within TTL's 10% margin). You could call this sleazy, but it works just fine. I'm looking into a better power control system with reasonable efficiency. If you know of anybody who's implemented a switching power supply with a PIC, let me know -- they're my favorite jellybean these days.

    A short note on some of the ``clothing'' that makes this computer wearable: The particular pack I use is made by Eagle Creek; it provides good support and can convert into a mid-size backpack. I chose this one because it's easy to put on and take off, even when loaded, and the fanny compartment is well-padded. As a backpack it keeps a low profile, so it doesn't affect my balance or throw my back out of whack. I've been hauling heavy loads in this particular pack for some time, and its construction has also proven to be excellent. When the backpack is unfolded, the cables run through a little hole cut in the inter-compartment divider, so the display and keyboard can just be dumped into the large compartment when you're ready to dismount.

    What's next?

    The next HackMan is in the works: it includes a PCMCIA disk interface, and a miniature "geek port" which uses a PIC microcontroller to do generic digital and analog I/O.

    The PC/104 standard is a bit too bulky for this sort of application, so I'm looking at doing without it. This means manually wiring up a bus between devices and (eventually) getting rid of connectors, but that's a good way to quickly reduce the size.

    More pictures

    Below, you see the Private Eye controller on the left, and the rest of the unit on the right. The steel case used to contain a print server from Milan Networks. As you can see, there's also a lot of wasted space.

    I'll include a picture of myself wearing this thing as soon as I can find somebody who'll snap a good shot for me.



    rehmi@media.mit.edu
    13-Jun-96