Russ Hoffman's OS-9 based wearable computer
Below is a brief outline description of the OS-9 based wearable computer
being developed by Russ Hoffman (reh@fore.com).
Concept
My idea is to design a wearble OS-9 machine
that is, in effect, a general purpose computer. This allows you to run
local Un*x apps without requiring remote login. (most Un*x apps have
been ported to OS-9, and those that haven't arent difficult). I want a
wearable machine which can run any FSF tools and
editors, along with other standard applications.
Some secondary goals include low cost and ready availability of parts.
I'd like to be able to construct the entire wearable with no "exotic"
components, so that virtually anyone can reproduce the work without
having difficulty in finding or affording the necessary components.
The choice of OS-9 as it's operating system is for the following reasons:
- OS-9 is small. The complete kernal, device drivers, device
descriptors, and file managers total less than 64 kilobytes.
- OS-9 applications are small. The entire OS, including all
standard utilities, requires less than 1.5 MB of disk space.
- OS-9, and all of the applications running under it, is completely
ROMable. This calls for fewer disk accesses, and lower power consumption.
- OS-9 is very memory efficient. Programs are re-entrant, and most
utility programs are coded in assembler, making them small. Lower
memory requirements translate into lower power requirements and lower
hardware costs.
- OS-9 is real-time and multitasking. This allows easy development
of daemon processes and background tasks (such as a Remembrance Agent,
calendar reminder, etc.)
- OS-9 is multiuser, which allows user
authentication with no extra effort. It also affords the owner to loan
his wearable to another user, who has a separate account on the machine.
The system consists of two or three subsystems: The wearable CPU, the
wearable ASCII terminal, and the optional RF modem.
My primary use for the machine is the office/college campus
environment. The system will be primarily used for note-taking and
code development. (GCC is available for OS-9).
I have some interesting ideas on ways to connect the wearable to the outside world.
Hardware Description
- I. CPU unit
- A. 10 x 15 cm cards, based on 68k bus
- 1. CPU card (Click here for PCB layouts)
- a. 16.67 MHz 68306 (68EC000 core + 2
serial +DRAM controller + timer + bus logic)
- b. 512K EPROM (could put all of OS-9 in ROM for fewer disk accesses -- less power!)
- c. 2 RS-232 serial ports
- d. Stackable (cards are parallel to each
other) Expansion bus
- e. Will run OS9 v2.4
- 2. DRAM card - 2 to 16 MB DRAM (uses SIPs)
- 3. I/O card
- a. Parallel I/O
- b. WD SCSI controller
- c. Floppy controller (I believe)
- 4. About 3 watts for this stack
- B. Hard disk - 125 MB Quantum Go Drive
- 1. 2.5" x 0.5" thick form factor
- 2. 2.5 watts
- 3. Quick start/stop times (can power down spindle
motor to save energy, but spins up & down quickly
so as not to be annoying to do so.)
- C. Case & batteries. Should be 12cm x 17cm x 6cm
- D. Hardware is low power by design, from the ground up.
- II. Wearable ASCII terminal
- A. Chording keyboard
- 1. Homebrewed, constructed similar to Twiddler, except
uses three rows of four conductive rubber tactile
keys (similar to those on HP 'scopes), plus thumb
modifiers (CTRL, SHIFT, MACRO)
- 2. Mounted to arm-mounted clamp, with ratcheting pivot
mechanism that allows keypad to be folded back flat
against back side of forearm when not in use.
- B. 68HC11 (or similar) microcontroller.
- 1. Scans keypad and debounces. Translates chords into
ASCII codes or macro sequences.
- 2. Battery backed-up CMOS SRAM stores config info and
macro set. Escape sequences used to download macros
from host computer.
- 3. Receives incoming serial data and writes character
data into video ram. Performs terminal emulation of
some yet undetermined terminal type, likely custom,
supporting at least cursor movement, normal/inverse
video, and line/character insert/delete (to be able
to run Emacs)
- C. Video driver.
- 1. Displays character data from video RAM that HC11
draws.
- 2. Supports bitmapped graphics, for downloadable
fonts, and crude graphics-terminal capability.
- 3. Allows multiple width fonts for dealing with
varying display quality (depending on type of
viewfinder)
- 4. Outputs composite video (to
interface to camcorder viewfinder.)
- D. Head-Mounted Display
- Camcorder viewfinder
- Inexpensive
- Somewhat readily available
- Can develop on larger composite monitor
first; need not use HMD to develop on.
- Accepts NTSC monochrome compositve video
- Up to 80 columns
- E. RS-232 serial port
- 1. Standard interface to many computer systems, makes
the wearable ASCII terminal portable across CPU
platforms.
- 2. Allows the ASCII terminal to be used with standard
modem equipment independant of a host (wearable) computer.
- III. Wearable RF/cellular modem (optional)
- A. Could be simple RF
- 1. Ups:
- a. Low cost
- i. cheap parts
- ii. no subscriber service
- b. No license required (unless amateur band)
- c. Simple design - use 49MHz or 75 MHz radio
control freq stuff. (off the shelf)
- 2. Downs:
- a. limited range
- b. susceptible to interference
- c. can generate interference (crashes R/C
airplanes, etc.)
- d. Secure data must be encrypted
- 1. Not allowed to encrypt on Ham bands
- 2. Requires CPU for encryption (see C
below)
- B. Could be cellular
- 1. Ups:
- a. Reliable service, with greater coverage
- b. Can use existing telephone modem technology
- c. Encryption is legal (not a Ham band!)
- d. Some cell phones scramble automatically
anyway
- e. User might already own a cell phone
- 2. Downs:
- a. Subscriber fee
- b. Requires a cell phone (bulky/awkward)
- C. Interfaces directly to EITHER wearable CPU's serial port OR
wearable ASCII terminal's serial port.
- 1. More flexible design
- 2. Allows less power consumption when not using local
(wearable) CPU resources.
The wearable ASCII terminal plugs into the console serial port on the
wearable 68306 CPU. This allows the display device and the 68306 CPU
unit to be developed separately.
Return to Wearables main page
Last modified Wed Nov 22 12:45:01 EST 1995