I prototype, write, speak, and consult on physical computing gadgets and wanted a one-off attention-grabbing conference badge that would break the conversational ice when I walked around trade shows. That quest started a few years ago, with the first generation Arduino Pro-Mini and a 1.8” color TFT screen conference badge.
The Gen-5 Steampunk Conference Personality Identification Apparatus.
The latest Generation 5.0 model uses a Raspberry Pi 3, a 480 x 320 color TFT touchscreen display, an ultrasonic sensor, a DS18B20 thermometer, a leather and brass-tubing framework, and an antique-looking 'Dr Torq' name plate. There's also an auxiliary Arduino Pro-Mini, to handle near-real time input/output jobs. The badge is Internet-enabled via WiFi and plays full-motion, promotional mp4 videos on the display. A USB 2400 mAh power bank supplies power for about four hours of show-floor attendee interaction. I can use the Chrome browser and LibreOffice on the display with a wireless Logitech keyboard or remotely log into the badge over SSH. Think of it as a full-function, Linux wearable.
The badge also promotes my eclectic, slightly quirky engineer/inventor/geek 'Dr Torq' persona. The good Doctor wears a top-hat, pin-striped vest, tweed jacket, tie and pleat-less/cuff-less trousers during tech talks and appearances. It's fun and makes my Steampunk character readily approachable.
Of course, encouraging audiences to build their own wearables and nano-Linux physical computing devices is also part of my schtick, as is soft-selling my consulting expertise. Making it fun, through over-the-top exaggeration and the Steampunk theme helps accomplish those things. While they may not be able to always define it, everybody recognizes and enjoys the Steampunk aesthetic.
Let's look at the Gen-5 badge in more detail.
Raspberry Pi 3
I chose the Raspberry Pi 3 model B because it's a powerful Linux-based nano-computer, featuring a quad-core Broadcom BCM2837 64-bit ARMv8 processor, with 1 GB of RAM and onboard Bluetooth and WiFi. A customized version of Raspbian Linux, burned onto the micro-SD card, made using the 320x480 TFT color touchscreen display a plug-and-play operation.
The touchscreen is a PiTFT Plus 480 x 320 3.5" TFT+Touchscreen plate for Raspberry Pi. It normally plugs directly into the Pi using the 2 x 20 header. Doing it that way made the badge too thick, so I built a cable to mount the screen above the Pi. The display is also upside down, with the connector at the top because it was easy to keep the wiring straight. I corrected the display orientation with a parameter change at boot up. Touchscreen operation is still upside down, so I may turn the display right-side-up and reconfigure the cable, in the future.
Let's next look at the parts list, before continuing on with other details of the badge.
32 GB micro-USB card with TFT-capable Raspbian image
Samsung 32 EVO+
10-32 brass thumbscrews
10-32 x 1/2” brass screws
10-32 brass nuts
10 gauge wireless
3/16” thin-wall brass tubing
2 - 36" lengths (use as needed)
1/4” x 1/16” thick brass flat stock
1 - 36" length (use as needed)
26 gauge flexible wire
salvage from old serial mouse cable
22 gauge solid core wire
salvage from solid-core CAT 5 cable
USB-mini USB cable
2 x 20 female header
connector salvaged from old IDE hard drive cable
2200 to 10000 mAh 5 volt power bank battery
SPST Toggle Switch
Header Push Pins
1K resistor (brn/bblk/red)
Through-Hole Resistor – 4.7K ohm 5% 1/4W (yellow/purple/red)
Logitech K400 keyboard/mouse-pad
Weller 100/140 Watt soldering gun
Plumber's copper pipe cutter
3rd arm jig
Image burned on the Raspberry Pi 3 micro-SD card
Electrical diagram design program
runs on Linux notebook
Arduino programming interactive development environment
runs on Linux notebook
Video editing software used for promo clips
runs on Linux notebook
Here's the Fritzing layout of the electrical components. I wasn't able to find a library part file for the 3.5" 480 x 320 PiTFT module, so I simply broke out the cable connections, from the Raspberry Pi to the display with labels.
Pi-to-TFT Screen Cable
The Pi-to-TFT screen cable was fabbed-up by salvaging a 2 x 20 connector from an old IDE hard-drive cable. Take the cable retainer clip off the back and peel away the ribbon cable, being careful not to pull the pins out of the connector. You can then solder solid core 22-gauge wire to the connector pins and route the wires to male push pins that plug into the display's 2 x 20 header. I think the exposed soldered connector, on the front of the Pi, enhances the “engineering” look of the badge.
Exposed Raspberry Pi Connector Detail
PiTFT Display Push Pins Detail (back side)
The Auxiliary Arduino Pro-Mini, Ultrasonic Range Finder, and DS18B20 Digital Thermometer
An auxiliary Arduino Pro-Mini (5V,16 MHz model), connects serially to the Pi through a level-shifter board, to get near-real time readings from the ultrasonic range finder. There's also analog input pins available for as-yet undefined new badge features. The rangefinder will eventually pulse an tri-color LED, in response to how close a person gets to the front of the badge.
|Badge Reverse Side - Arduino Pro-Mini And Level Shifter Board At Lower Left|
It made sense to connect the Dallas One-Wire DS18B20 thermometer to a Pi digital pin, instead of the Arduino. The DS18B20 requires about 750 ms to take a temperature reading and makes accurate distance measurements with the rangefinder (connected to the Arduino) impossible. The code would have to wait for a temperature, then echo/read the rangefinder, during each program loop. Reading an ambient temperature about once a second is fine using a Python script on the Pi.
Here's some sample Python code to read the DS18B20 digital thermometer, connected to the Raspberry Pi 3.
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')
device_file = device_folder + '/w1_slave'
f = open(device_file, 'r')
lines = f.readlines()
lines = read_temp_raw()
while lines.strip()[-3:] != 'YES':
lines = read_temp_raw()
equals_pos = lines.find('t=')
if equals_pos != -1:
temp_string = lines[equals_pos+2:]
temp_c = float(temp_string) / 1000.0
temp_f = temp_c * 9.0 / 5.0 + 32.0
return temp_c, temp_f
Fabbed Brass Tubing Frame/Leather Backing
Some 3/16” thin-wall brass tubing, from a local hobby story, was used to build the frame. Lengths were cut with a standard plumber's copper pipe cutter, available at any home improvement store. Soldering the parts were a challenge. I used “3rd-arm” jigs, alligator clips, wire, tape, and, occasionally, hot glue to hold the parts in alignment while soldering. For thumbscrew attachments points I simply screwed the 1/4” long sections of tubing vertically to a piece of wood, placing them in the desired locations around the frame. Square frame sections were aligned with weights and binder clips, during soldering. Brackets for attaching the auxiliary Arduino, rangefinder, Raspberry Pi, and PiTFT display to the frame were made from 1/4” x 1/16” brass flat stock. Ten-gauge solid copper wire was bent and soldered to the top of the frame for lanyard attachment points.
|Brass Tubing Frame And Lanyard Hook Details|
An old tried-and-true Weller 100/140 watt soldering gun and 1/16” rosin-cored solder handled constructing the frame without any issues. Fine adjustments in tubing length and corner rounding of the flat-stock brackets is easy with a small abrasive drum, in a Dremel tool. You can also use a medium grit sanding sponge, to knock off sharp edges and smooth out solder joints.
I like the hand-crafted, antique Steampunk look of the brass frame and thumbscrews. You have to be able to take the leather backing off of the frame for modifications and the thumbscrews make that very easy.
Antique Name Plate
A Steampunk conference badge certainly needs a cool looking name plate. After considerable searching I found an appropriate Victorian font and printed the 'Dr Torq' characters on standard laser printer paper. Next, I carefully ripped the paper to the appropriate size and soaked it in a mild instant iced-tea solution for a few minutes. The antique look came from wadding up the paper while wet and then flattening it out on a paper towel and drying it with an electric hair drier. I then used clear nail polish to glue the paper to the small leather name plate. After the “glue” dried, I painted the front of the stained paper with a coat of nail polish to give it a slight sheen. Don't worry about the paper tearing, here and there, because that only enhances the old-timey look of the badge. The leather and paper name plate was then hot-glued to the leather badge backing. I thought the aged effect turned out very well.
|Dr. Torq Name Plate Detail|
The badge was a huge hit at a recent conference in Santa Clara, CA. I'd like to use photocells for input, instead of push-buttons, so that might be a possible new feature. It would also be cool to wear the badge around the conference show floor, then simply plug it into a projector to give one of my tech talks. Switching between the 3.5” TFT and the HDMI video output, isn't quite there yet.
I'm happy with the Gen-5 badge and not sure when Dr Torq will be motivated to go to version 6.0. He's a bit eccentric, you know.
Dr. Torq (aka: Rob Reilly) explains the latest, bleeding-edge technology and trends to audiences worldwide, through his widely published articles and in-person tech talks. The trademark Steampunk-themed gadgets, he builds, are insanely popular online, at conferences and at tech events. Visit his website at DrTorq.com. Always interested in new clients, you can contact him via email at [email protected].