Originally Published on ActiveWirehead.com
March 5, 2015
Putting it all together
This is the third article in my DIY Wearables series. Given the small size and large power of today’s devices, you don’t need to wait on the big tech companies to make a wearable computer you can afford. These creations may be a bit kludgy, but if you want to experiment with your own wearable computer ideas there is nothing to stop you. Here I will cover what sort of CPU to base your rig around and what kind of peripherals you are going to need. There are a lot of different combinations you can use, and you can tailor your rig quite a bit to match your needs and abilities. My experience is with Raspberry Pi and Android based wearables, so that’s what I’ll be talking about. I’m will not go into the history of wearble computers or why you might want one. If you’ve decided to build a wearble computer I’m sure you have your own reasons and have done some reading on the history.
Any wearable computer is going to need two things: a display and one or more input devices. Displays can vary quite a bit depending on your platform, but I’ve found that the cheapest devices are composite displays. One cheap and easy route is to just stick a tiny monitor on it. My first wearable had a small screen and keyboard/track pad attached to an arm guard. It was certainly wearable, but the screen added a lot of bulk and seemed like a kludgy solution at best.
The preferred method of viewing your interface on a wearble rig is a Head Mounted Display(HMD). In my previous article I covered some cheap ways to make a composite HMD. The ones I’ve made aren’t very high res, but they work well enough. When you use a monocle type HMD like mine it gives the appearance of having a semi-transparent screen that just sort of floats in front of you and slightly to one side. It’s a little disconcerting at first but you get used to it quick.
Once you’ve decided on a display you are going to need one or more input devices. Generally you are going to need a mouse and a keyboard. You can get by without the keyboard by using an onscreen keyboard. On an Android based device this isn’t too bad, they generally have big easy to read onscreen keyboards, but I don’t know if I’d advise trying this trick with a Raspberry Pi, you’d have to install a 3rd party virtual keyboard and you might not be able to use it if you are doing command line work. The simplest way to manage input is to use a mini-keyboard/track-pad. There are a lot of these on the market, and most of them use a combination of Bluetooth and USB dongles that will allow them to work on either a Pi or Android. I personally wanted a hands free mouse (sort of), so I build a data-glove to handle my mouse input. I’d like to try a one-handed chorded keyboard like the Twiddler, but even used ones go for $200 on ebay and it’s just not in my current project budget.
You need some way to carry this stuff around. If you are a high tech firm, you build everything into one slick little package you can wear in your pocket, but I am not a high tech firm. I built my wearables by sticking unrelated components together and it can get bulky. My current rig has a Raspberry Pi, a battery to run the Pi, a battery/driver for the HMD, as well as the HMD, keyboard and glove. Also, remember that each of these devices is connected with cables that are NEVER the right size. So unless you want to make custom cables and connectors you will needs to leave space for those as well.
One way to carry it all is with a sash. You take a long strap from a bag or something, attach your CPU and batteries to it and wear it over your shoulder. Another method is to just throw everything in shoulder bag. This is easy, and hides your gear. With a wireless keyboard/mouse you will only have the HMD cable coming out of the bag. The fanciest way is to build everything into a garment like a vest, jacket or hoodie with custom pockets for everything. I started with the sash, but now I just use the bag method.
Raspberry Pi CPU
Now we need to talk about the computer part of the wearable computer. There are lots of possible machines, from custom coded micro controllers, to mini computers like the Raspberry Pi, to smart phones. I’ve used both Android phones and Raspberry Pi’s and they each have advantages and disadvantages so I’ll go over both.
The Raspberry Pi seems like a good choice from the start. It’s small, very flexible and has low power consumption. Also, it has native composite video support, which makes using a cheap HMD easy. One nice thing about composite video is that you can send any size image you want to it. You will only ever get the max resolution of your tiny display, but when you send a bigger image it will just down-sample it. The advantage of down-sampling your image is that by sending a bigger image to it you can scale your UI by changing the overall resolution size. This helps you deal with scroll bars that are gigantic and windows that won’t fit on screen. It’ll take a bit of adjustment to make the UI readable on a low res HMD. The method that’s worked best for me is to lower the resolution a bit and raise the font size for the OS. Try to find a balance between readable text and UI elements being a manageable size.
With those issues in mind you might consider using a smart phone. They are fairly fast, readily available, and the interface is already optimized for a small display. There are a few downsides here as well, first among them being the video signal. Most smart phones have a way for you to display the screen on another device, like a TV, but getting that signal out of the phone can be tricky. Often this requires you to use a proprietary cable from the manufacturer, and once you get the right cable and configure your phone to output the signal you run into video problem number two. Cell phones, when they do output a video signal, use a digital signal, usually HDMI. So now you need a way to convert the digital video signal to an analog signal that your HMD can use. You can get a digital to analog converter, but that just adds one more device to your rig, and it also requires some USB power to operate so figure that into your power needs.
The last issue with using a cell phone is that unless you can develop apps for that phone OS you are locked into whatever apps are available. The Pi is a bit kludgy, but at least it’s a general purpose computer, so you can easily write whatever software you want for it.
You can probably hack a fairly basic wearable together without too much trouble. The hardest parts for me were building the HMD and configuring the CPU to work well with it. Don’t be afraid to build a simple rig just to get a feel for it, and later upgrade it with fancier parts. There is no one right solution, and tailoring your rig to your vision is part of the fun.
I hope some of this might help others try to build their own rigs. If you’d like to see more of my wearable rigs please check out my Project Gallery. Happy Hacking!
copyright 2015 Jason Benson