The Linux Steampunk Conference Badge

Break the ice at your next tech conference by building a full function, Steampunk-themed Linux wearable.

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.

Touchscreen

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.

 

Part Description

Quantity

Supplier

Part Number

Raspberry Pi 3

1

DigiKey

1528-2347-ND

32 GB micro-USB card with TFT-capable Raspbian image

1

Best Buy

Samsung 32 EVO+

PiTFT 480x320 3.5" TFT+touchscreen for Raspberry Pi

1

DigiKey

1528-1348-ND
 

Arduino Pro Mini 328 5V/16 MHz

1

DigiKey

1568-1055-ND
 

SparkFun BOB-12009 Logic Level Converter, Bi-Directional

1

DigiKey

1568-1209-ND

HC-SR04 Ultrasonic Range Finder

1

DigiKey

1568-1421-ND

Maxim DS18B20 Digital Temperature Sensor

1

DigiKey

DS18B20-ND
 

10-32 brass thumbscrews

4

Hardware store

 

10-32 x 1/2” brass screws

12

Hardware store

 

10-32 brass nuts

12

Hardware store

 

10 gauge wireless

3 inches

Hardware store

 

3/16” thin-wall brass tubing

2 - 36" lengths (use as needed)

Hobby Store

 

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

1

 

 

2 x 20 female header

1

connector salvaged from old IDE hard drive cable

 

2200 to 10000 mAh 5 volt power bank battery

1

 

 

SPST Toggle Switch

1

Sparkfun

COM-09276

SPST Micro-Switch

1

Sparkfun

COM-00098

Header Push Pins

as needed

Sparkfun

PRT-12693

1K resistor (brn/bblk/red)

1

Sparkfun

COM-13760

Through-Hole Resistor – 4.7K ohm 5% 1/4W (yellow/purple/red)

1

Adafruit

2783

 

 

 

 

Optional:

 

 

 

Logitech K400 keyboard/mouse-pad

1

Office Depot

729357

 

 

 

 

Tools:

 

 

 

Weller 100/140 Watt soldering gun

 

 

 

Plumber's copper pipe cutter

 

 

 

Side cutters

 

 

 

Needle-nose pliers

 

 

 

Wire stripper

 

 

 

Flat screwdriver

 

 

 

3rd arm jig

 

 

 

Drill

 

 

 

Leather punch

 

 

 

 

 

 

 

Software

 

 

 

Adafruit/Raspbian Linux w/ PiTFT support

Image burned on the Raspberry Pi 3 micro-SD card

 

 

Fritzing

Electrical diagram design program

runs on Linux notebook

 

Arduino IDE

Arduino programming interactive development environment

runs on Linux notebook

 

kdenlive

Video editing software used for promo clips

runs on Linux notebook

 

 

BUILD INSTRUCTIONS

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.

------------------

import os

import glob

import time

 

os.system('modprobe w1-gpio')

os.system('modprobe w1-therm')

 

base_dir = '/sys/bus/w1/devices/'

device_folder = glob.glob(base_dir + '28*')[0]

device_file = device_folder + '/w1_slave'

 

def read_temp_raw():

f = open(device_file, 'r')

lines = f.readlines()

f.close()

return lines

 

def read_temp():

lines = read_temp_raw()

while lines[0].strip()[-3:] != 'YES':

time.sleep(0.2)

lines = read_temp_raw()

equals_pos = lines[1].find('t=')

if equals_pos != -1:

temp_string = lines[1][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

 

while True:

print(read_temp())

time.sleep(1)

-------------

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

Wrap Up

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 doc@drtorq.com.

Comments (0)

Please log in or register to post comments.
By submitting this form, you accept the Mollom privacy policy.
  • Oldest First
  • Newest First
Loading Comments...