There’s much talk lately about “wearable computing,” an off-shoot of the Internet of Things (IoT). Rather than pontificating about how the technology should work, I decided that actually building something useful would be a worthwhile journey towards enlightenment. I’m also a huge fan of steampunk, and figured what better way to capture the essence of the aesthetic than through a Victorian-era style, combined with a modern microcontroller and material tech?
Hence, one of my forays into wearable computing: the “Electro-matic Conference Personality Identification Device.” Most people simply call it a name badge.
I chose a name badge because I attend and speak at quite a few tech conferences and events. Breaking the conversational ice with 8,000 strangers can be a bit daunting. A one-off “badge” might grab people’s curiosity and show off some practical wearable computing vibes at the same time. Also, almost everybody likes steampunk.
As fate would have it, I received a tiny color LCD display for Christmas. The project combines the LCD with an Arduino Pro Mini, a Dallas digital temperature sensor, a battery pack and a handmade brass frame to hold it all together. It displays 160 x 128 pixel color bitmaps with my Dr. Torq logo, and is easily programmable from a Linux notebook through the Arduino IDE. The programmable/microcontroller approach lends itself to exploring “networked” wearable computing in upcoming version 2.0 and beyond versions.
Feel free share any thoughts or modifications in the comment section.
Construction and Embellishments
The badge consists of a 1.8 inch color thin-film transistor (TFT) display and an Arduino Pro Mini microcontroller. Take a look at the reverse side of the badge to see how I simply soldered together the Pro Mini (on the left) and the LCD breakout board (on the right) using the header pins.
I used 22-gauge wire from a CAT 5 cable to connect discrete components, such as the Dallas DS20B18 temperature sensor and resistors. All electronic-component soldering was done with a small 25-watt soldering iron.
In the graphic above, you can also see how I constructed the frame using 3/16 inch brass thin wall tubing, some brass flat-stock and regular old rosin-core solder. I sourced the brass from a local hobby store. It’s very easy to solder with a 100-watt soldering gun. Future frames will use a jig to hold the pieces in place during construction. The surface tension of the hot solder tended to move the tubing and tabs around, and it was challenging to keep parts lined up properly.
At the extreme bottom right you can also see the 5-volt regulator assembly that I made with a 7805 linear voltage regulator and a couple of electrolytic capacitors. Although both the display and Pro Mini have onboard regulators, I included the external module so I can later add some small servos. Input voltage from the battery pack is 6 volts.
The Pro Mini and display board are suspended in the frame by 22-gauge copper wire. I thought about soldering in some mounting tabs, and will probably do that in the next version so I can swap the display into other projects simply by unbolting the board. I also plan to use a 10-pin female header connector on the Pro Mini side to plug into the male header on the LCD display. That way I can separate the two without unsoldering everything.
You might also notice the 6-pin male header at the bottom of the Pro Mini (see below), where you can attach a TTL serial-to-USB adapter cable.
Make sure the black wire plugs into the header pin marked “black.” Above the header you can see the coil of wire and red LED I used to light up the Pro Mini. Of course, the coil isn’t functional — it’s what’s known as an “embellishment” in steampunk jargon.
Programming was straightforward, regular old Arduino code. I used example code from the Adafruit_GFX and Adafruit_ST7735 libraries, then added lines that cycled through a couple of bitmaps, occasionally lit the red LED and read/displayed the ambient temperature.
The graphic above shows the breadboard layout of the display, Pro Mini and other components. The Fritzing graphics program makes quick work of designing breadboards, schematics and PCB layouts. It’s freely available on the Web and has a bunch of library parts, so you don’t have to draw everything by hand.
Fritzing lets you simply insert the part, connect the wires and rearrange for clarity. The USB-to-TTL serial header is not shown in this drawing.
Succeeding versions will have a number of improvements to enhance the steampunk look and make it easier to modify the badge:
- I need to swap out the cheap AAA cells with some Eveready copper top batteries. The copper and black colors compliment the brass frame much more than the existing white and red.
- I’ll change out the fake leather duffle bag handle, used to cover the back of the badge, with a piece of real leather, a hinge and some kind of clasp at the top. It’s a pain to work on the back side of the badge when you have to undo the three pieces of wire used to attach the badge to the backing. I just want to be able to flip a little clasp and have the backing swing down out of the way so I can solder in new features or take the display out temporarily for use in another project.
- I’m going to use 10-pin female headers on the microcontroller side to connect to the 10-pin male headers on the LCD breakout board.
- Version 2.0 will certainly have either a Spark Core or Arduino Yún microcontroller. How cool would it be to connect to the badge through my Galaxy 5S Active super phone? Imagine doing wireless firmware updates or streaming information from some cloud service that displays on the badge as I walk around an event. Many feature improvement opportunities here.
There you have it. A real-world “wearable computing” project that actually does something useful. Well, at least I think so. Here are a few basic tenets of a successful physical prototype:
- Start with a solid idea — perhaps sketching it out and then letting it simmer for a while in your brain — before you touch your soldering iron to a printed circuit board.
- Don’t wait too long, though, to get building. Trying to work out every single design challenge and issue before you build anything is a fool’s game. This leads to the next recommendation:
- Get a “minimum viable product” working, then add in various whiz-bang features.
- Once version 1.0 is operational and possibly reliable, make a list of improvements and then go implement your new vision. Your first iteration may have uncovered a mountain of inadequacies. Make a better version in 2.0. You may also choose to start over from scratch.
The only way to know which way to go is to actually make the first pass through the design.