Mardi Gras Costume
My partner and I are the minor co-hosts
of a Mardi Gras fundraiser party every February. As befits
the theme, it's a pretty wild party. For 2008 I made a
"Mardi King" costume with 16 BlinkM LED lights controlled by a
Lilypad Arduino-clone over an I2C bus. The Lilypad
and power-supply were worn in a belt under the costume.
Since this was a costume I didn't do a lot of testing
before hand. Otherwise I might have known the battery
pack, right above my groin, would become extremely hot
with the current draw of 48 LEDs and 17 microprocessors.
That was a pretty interesting design mistake to say the
least. At least there is a lot of alcohol at this party
which helped me deal with the burning sensations... I
had grand ideas about the programming but it ended up to
be very simple. The BlinkMs contain several canned
secquences and the user can load their own custom
sequence. I loaded a series of color changes relating to
Mardi Gras colors. The BlinkM's use a built-in
oscillator which is pretty inaccurate. After a few
minutes of running the same program the BlinkMs are
completely out of sync which makes for a nice light
show. The Arduino board just sampled a push-button
switch and selected between the different programs in
the BlinkMs. My favorite is the Thunderstorm program
which causes rippling flashes of lighting across my
costume and body.
Touchscreen Widget Set
In 2006 as I began to work on the project
that would eventually become the solid-state lighting
control project I decided it would be a good idea to write
my own low-resource GUI library for an embedded Linux
platform in C++. I wanted to be able to make low-cost
touchscreen control panels. I looked around quite a bit and
settled on writing a library on top of Greg Haerr's
Nano-X graphics library. I designed an
architecture and wrote a handful of widgets. It runs on
Linux, Mac OS X and embedded Linux distros (I had it
running on a Linux iPaq). Over time I was more and more
consumed with specific issues related to lighting
control and realized that building my own touchscreen
controls would be non-productive since there were so
many better devices out there that could be used (for
example Apple's iPhone and even the Chumby). However I
learned a lot about designing a widget toolkit and had a
wonderful platform to do quick-and-dirty prototypes
with. The image above is from the Remote Heart Rate
Telemetry system showing buttons, groups of
related buttons, pop-up selectors, text objects and
graphics objects.
Obsolete Display Digital Clock
The Obsolete Display Digital Clock was an
idea to make a digital clock (what nerd hasn't made at
least one in their life) using only obsolete digital
displays. This clock uses nixie tubes (60s), HP dot matrix
LED displays with built-in decoder (late 70s or early 80s)
and incandescent seven segment displays from the early 70s.
A PIC 16C57 drives it from a 32 kHz watch crystal. The
timekeeping loop takes exactly 8192 instructions, no more,
no less, per second. I have no idea why I just didn't use
one of the PIC timers. One kinda clever thing about this
clock is after driving out BCD signals for each digit I
only had one pin left over for time setting functions.
Pressing the button attached to that signal for less than a
second resets the seconds and increments the minutes.
Holding it down for more than a second starts incrementing
the hours making it easy to make daylight savings changes
without affecting the minutes or seconds. I belong to a
nixie group on yahoo and those guys build fantastically
complex clocks that set themselves from a variety of time
services and have a million other functions as well.
Lit Costume
A
costume using about 30 feet of flexible neon tubing woven
into a body suite, a plasma globe, miniature UV lights and
animated LEDs. There were 64 LEDs forming an electric bolt
controlled by a PIC.
Scrolling Birthday card
A (thick) birthday card built
in a small picture frame using a 5x7 LED array driven by a
PIC16C57 running at 1 MHz. I wrote a C program that took
the message and created a set of tables made with the
"retlw" instruction containing the bit-map data for the
message.
Tricorder
I found a toy tricorder at a
garage sale many years ago. It had a built-in sound chip
and a back-lit graphic. I added a bunch of LEDs controlled
by a PIC. Included were 4 very early blue LEDs. They were
not very bright but at the time they were amazing (and
incredibly expensive).
Elf II computers
$99 Quest "Elf" complete with 256 bytes of memory and a 32
byte monitor
My homebuilt Elf II (note the piezo-electric fan)
I got started in computers as
a freshmen in high school with the quirky RCA 1802 CMOS
microprocessor when my father bought me a $99 Quest
Electronics Elf computer. I soon wanted to do more than
could fit in the board's 256 bytes (!) of memory. I
couldn't afford the Quest Super Elf so started building my
own clone of the Netronics Elf II. Like most high school
nerds, I spent my hard earned money on computer parts for
this machine. I was always excited when I could buy a new
board for it. A 4 Kbyte memory board was a big deal ($89
for the kit form). My machine even ended up having a math
co-processor for Netronics incredibly slow 6 Kbyte Full
Basic. They essentially used a calculator chip that the
BASIC interpreter fed RPN-based op-codes to and read back
the results. My machine boasted 10 slots to Netronics' 5
slots. I didn't really know anything about digital design
and designed the machine by copying parts of various other
designs I found published in hobby magazines and in RCA's
application notes. It is amazing the machine worked at all.
It did and I had hours of fun and developed a lifelong love
of computers.

