The Wearable Computer--A Synopsis

Having been obsessed with computers since middle school, I've always dreamed of the day I could bolt one to my face. In high school, I built what would become the prototype of all the wearable computing shenanigans I would build in college.

Iteration 0

You might remember those wild planet remote-controlled toy cars that had video cameras and glasses that could display the video transmission. Thanks to hackaday, I found an article on how to hack them and turn them into NTSC video HMDs. It generated video with an arduino, and used an LM386 chip to obtain and graph the ambient electrical field intensity oscilloscope-style. Everything was mounted around my neck in a pelican case that I mutilated for the purpose. Disregard the milk, I was in ihop.
  • CPU: 16Mhz arduino nano
  • battery: 2-cell 800 mAh LiPo
  • display: 300x240 monochrome monocle
  • comfortable wear period: 4 hours
  • mobility: jogging
  • peripherals: LM386 EMF detector

Iteration 1

Interestingly enough, a good portion of my inventions come from an unexplainable urge I get to have something weird to show off at parties. This was one such thing. My friends were having a costume party at their house. I had been gathering the parts for a wearable computer for a month or so at that point, so it was a pretty simple matter of making a nylon bandolier and wrapping it all in duct tape. Notice the wires dangling everywhere. The display I was using was an ebay special with 320x240 pixels rgb and a composite interface. I hadn't modified it at all at that point. After the party, I modified the display according to instructions I found on adafruit by 3-D printing a better enclosure. I also cut the wires so my bandolier was a little more portable. 
  • CPU: Pi 1
  • Battery: 1.2 Ah 7.4V LiPo
  • Display: 320x240 composite video glasses
  • Comfortable wear period: 2 hours
  • mobility: walking
  • Peripherals: bluetooth keyboard/trackpad
Added: Pi 1 CPU, 1.2 Ah 7.4V LiPo, 320x240 color video glasses
Removed: Everything but the bandolier

Iteration 2

By this point I had gotten the display to the point where I could snap it onto my glasses using a button I had hot-glued to them, and it was reasonably reliable and easy to adjust (thanks adafruit!). So I decided I needed to make the bandolier a little less bomb-like. To do that, I got some plate metal and designed a superhero-like backpack and asked the folks at the FSU machine shop to cut it out for me. A little bit of bending, soldering, drilling, and screwing later and I had something much nicer looking. I had a USB hub and a number of power switches in the front, and the backpack had cutout vents that glowed blue when the device was on. It was very swanky. It was, however, very uncomfortable and clanked when I walked. I could run in it somewhat though, which was nice. It was also around this point that I discovered that I could interface a lepton thermal sensor to the pi in the backpack. I shoved the sensor inside an altoids tin, stuck it on my head, and enjoyed having predator vision.
  • CPU: Pi 1/Pi 2
  • battery: 1.2 Ah 7.4V LiPo
  • Display 320x240 composite video monocle
  • comfortable wear period: 1 hour
  • mobility: jogging
  • peripherals: bluetooth keyboard/trackpad, thermal camera
Added: metal backpack carrier, blue accent LEDs, monocle-based display, thermal camera
Removed: bandolier electronics carrier, glasses-based display

Iteration 3

It was at this point that I had come into a Lulzbot, and could 3D print my own parts. So I decided it was time to do something a little more complex. The display was going to be hard, as I had gone to a hackathon recently and destroyed the last one after sending 12V to the video lines accidentally. In a stroke of luck, I obtained a Vufine 720p HDMI display from kickstarter for about $150. The resolution was fantastic, and the image was crystal clear in comparison to the old tech I was using. I also designed a servo-based system driven by an arduino, all mounted in the headpiece to raise and lower the display whenever I brought a magnet (mounted in a ring) nearby. It worked pretty well, but the servo would emit a buzzing noise that would get annoying after a while. as for the backpack, I decided to ditch it in favor of an elastic strap that wrapped around my body, to which I mounted all the electronics. It was all powered from a massive 2.4 Ah 3S lipo (the power box is the bottom one in the picture). At this point, the pi 2 had come out, and I slapped that on my chest. It was a lot more comfortable than the last iteration, and I could move a lot faster in it. The headpiece had no padding, however, and would give me a headache after a certain amount of time. It was also annoying to put on and take off, and had a large cable that came off the back of my head and wrapped around to the front. Later, I 3D printed a proper enclosure for the thermal camera and slapped it to the front of the strap with vecro tape. 
  • CPU: Pi 2
  • battery: 2.4 Ah 11.1V LiPo
  • Display: 720p HDMI motorized monocle
  • comfortable wear period: 1 hour (the headstrap being the limiting factor)
  • mobility: running
  • peripherals: bluetooth keyboard/trackpad, thermal camera, RGB LED front illuminator
Added: 720p display, high-capacity battery, high-capacity power supply, motorized HMD, arduino-controlled RGB LED front light, flexible electronics carrier, Pi 2 CPU
Removed: metal backpack carrier, 320x240 display

Iteration 4

After wearing backpacks and bandoliers for three years, I was pretty tired of them. I wanted something small, lightweight, and portable. Something that would be an everyday wear, and would be more of a "oh hey, that guy's wearing something really cool" and not a "holy crap, what is that guy WEARING?" The pi zero had also come out pretty recently, so I began working on something that was all contained in the headpiece. Iteration IV was the result, and it was the first wearable that I'd built that I was actually willing to wear places roughly every day. I switched out the pi 2 for a pi zero, used the thermoforming trick from Iteration III to form the headpiece, added a 1.3 Ah 2S lipo, and UBEC, and a couple of switches. I also discovered foam padding was something that could be obtained cheaply from ebay. The Vufine had been a wonderful display, but it had some shortcomings. It would run out of battery after a few hours of running, and if you didn't turn it on at just the right time, you'd have to fiddle with both it and the computer in order to get them to work again. I decided to try something a little different, and began working on a display that bounced an image from a screen off of a partially reflective plastic mirror using the display tech I'd been using from Iteration 2, except miniaturized. It actually worked surprisingly well, and I modeled an enclosure for the screen electronics and a mirror mount that pivoted between 35 and 85 degrees from it. Flipping the pi screen was simple enough, and I soon had a transflective display. Everything went smoothly after putting it on, although since everything was mounted to one side of my head, it had to be extremely tight in order to stay on. I would get headaches within the hour.

Added: 320x240 transflective display, head-mounted chassis, lower-power battery, Pi Zero
Removed: 720p Vufine display, body-mounted chassis, high-power battery box, Pi, 2, motorized mount, RGB LED illuminator

Iteration 4.1 -- The Helios

I was getting close to what I had been trying to do for years though. Modeling the next version after designs for night vision headsets, I created a support that wrapped around the back of the head, and created mounting points for the parts all around the head, to distribute the weight. I then had something that was comfortable enough to wear for hours at a time. Since it was the first wearable I had made that was something I was willing to wear every day, I decided to give it a name--Helios. It boasted the thermal vision I had added in It.2 and improved in It.3, a 5-hour battery life thanks to the 2 cell lipo, a 3-amp power supply capacity, and a bluetooth keyboard/trackpad that I'd had since the beginning.
  • CPU: Pi Zero
  • battery: 1.3 Ah 7.4V LiPo
  • display: 320x240 composite transflective monocle
  • comfortable wear period: 5 hours
  • mobility: sprinting
  • peripherals: bluetooth keyboard/trackpad, thermal camera, software defined radio receiver
Added: load-distributing headband chassis, SDR receiver and scanning software
Removed: Side-mounted headband chassis

Looking Forward

Where do I take things from here? After using a wearable computer for a number of years, I've determined a few things:

  1. Screen quality is paramount. The higher the resolution and sharper the display, the less eye strain you have after 3+ hours of wearing.
  2. Comfort is more important than power. If it's not comfortable, you're not going to wear it in the long run. The best tech is the tech you have with you. The best tech is comfortable. 
  3. The lower-res the screen, the more value sensors and interface hardware will add. Higher-res screens can benefit more from more powerful computers and GUIs, allowing more complex tasks. 
  4. SBC (single board computer) based wearables, for the most part, suffer from a common problem: lack of sleep mode, and long boot-up time. None of the raspberry pi variants have anything like a sleep mode, and neither do their competitors, from what I've been able to determine. This removes the instant-on checking you can do with your cell phone, and increases battery consumption. 

Iteration 5 will likely continue my move away from power and towards comfort. In order to do that, I will be attempting to build my own display like I did with the Helios, except using a more complex optics setup and a higher-resolution display. 
If I can get the higher resolution display to work, there's another hack I'm going to try, to cheat the power-comfort tradeoff. It will leave me with what will be a very impressive setup. 
If not, I will probably be scrapping the raspberry pi in favor of a smaller, faster, less power-hungry microcontroller. The resolution of the current display makes doing normal computer things awkward at best and painful at worst. That, coupled with the 2-minute boot up times and 300mA power consumption is subtracting from its potential for everyday wear. Switching it out for an arduino clone will increase the battery life by at least an order of magnitude, allow instant-on boot, decrease size, reduce weight, increase ease of waterproofing, and not subtract much from what I was already using it for: sensors and lights. 


Popular posts from this blog

UMPC Adventures: the Mix Yoga

Transformers and the ZVS driver