Freescale MC56F8006 digital signal controller
( www.freescale.com/webapp/sps/site/prod_summary.jsp
?code=MC56F800x) which combines the processing
power of a digital signal processor with the functionality
and peripherals of a microcontroller.
The MC56F8006 is part of the 16-bit 56800/E family
and is very powerful. It features (among other things)
16 KB of Flash, 2 KB of RAM, a six-channel PWM module,
18-channel 12-bit analog-to-digital converter, two
programmable gain amplifiers, three analog comparators,
programmable interval timer, serial communication
interface/UART, real time counter, I2C and SPI ports, and
up to 22 general-purpose I/O lines — all crammed into a
32-pin LQFP with a 7 mm x 7 mm footprint. Other
package types support differing numbers of peripherals
and features. The part supports 1.8V to 3.6V operation
and clock speeds up to 32 MHz. For the DEFCON 18
badge, it is configured to use the on-chip oscillator at
8 MHz.
Source code was developed in C using Freescale’s
Code Warrior for 56800/E Digital Signal Controllers Special
Edition ( www.freescale.com/webapp/sps/site/prod_
summary.jsp?code=CW-56800E-DSC) which is free for
code sizes up for 64 KB.
LCD
The pièce de résistance is a 128 pixel by 32 pixel
reflective cholesteric LCD (ChLCD) by Kent Displays
( www.kentdisplays.com). Known as the Reflex Graphic
Display Module, this bi-stable display was originally
designed for use in Verbatim InSight USB portable hard
drives and has since been made available to other
customers.
I had wanted to use some sort of LCD on the
DEFCON badge for the past few years, but the price point
just wasn’t right and I had concerns about reliability and
fragility of the devices as they bounced around on
people’s necks. I had seen a demonstration of Kent
Hidden Features
Since badge development normally happens behind
closed doors and the badge’s functionality is only revealed
once the conference begins, I thought it would be fun to
involve the hacker community in some fashion before they
get to DEFCON.
During the firmware development phase of the
project, I released a public “Call for Integration” and
invited people and groups to hide functionality or chunks
of data within the badge that could be used (if discovered)
by attendees as part of a contest or giveaway. I received a
few dozen responses and chose seven of the best to
include in the badge. The folks whose submissions were
selected were given just enough badge detail to enable
them to create their desired data or graphic. Data ranged
from a short string of text included in the badge’s source
code to puzzles for a particular DEFCON contest displayed
on the LCD to a 1600 byte program stored in an unused
area of Flash ROM within the MC56F8006.
I will leave the discovery of the hidden features as an
exercise for badge owners or those who want to peruse
the source code, but I at least wanted to mention that they
exist!
46
September 2011
Displays’ ChLCD technology at the Embedded Systems
Conference in 2009 and thought it deserved a closer look.
A key feature of the display is that it requires no
power or refresh to retain the image on the screen,
making it ideal for battery life-challenged applications like
the badge. I wanted to show off this feature to conference
attendees in a way that all could appreciate, even if they
didn’t understand the underlying technology. As the final
step in the test procedure used during badge
manufacturing, I had the DEFCON logo displayed on the
LCD. So, when the badges were handed out to attendees
during conference registration, they’d see the logo even
though no battery was in place yet.
The device has a viewing size of approximately 1.3”
long by 0.47” wide by 0.06” thick and has a resolution of
118 DPI (dots per inch). The LCD is controlled via an SPI-like slave serial interface and only a handful of external
capacitors are needed to set up the drive voltages.
Pseudocode to drive the display is provided in the LCD
datasheet ( www.kentdisplays.com/services/resources/
datasheets/25138B_128x32COG.pdf) and was easily
ported to my C environment.
This display requires that the entire screen is updated
if any contents on the screen need to change, even if it is
just a single pixel or line. A full screen update takes
approximately 1.7 seconds at room temperature. This
obviously precludes any sort of continually-updated
animations, but the many advantages of this technology
for our design far outweighed what I found to be the few
disadvantages.
DEFCON was the first customer to use the display in
an exposed “naked” fashion by affixing the LCD module
directly to a PCB. For most products using an LCD, some
sort of housing or bezel is designed around the display to
hold it in place, protect it, and hide its unsightly parts. I felt
that showing off the entire device was more interesting
and made for a nice look. I evaluated a number of
different adhesives intended for use on glass and
aluminum, and ultimately selected the 3M 468MP
adhesive transfer tape due to its adhesion and shear
properties, thickness, and common use in and around
electronic devices. The adhesive is sold in a large panel, so
I had GM Nameplates die-cut the panel into thousands of
1” by 1/2” strips which were then applied to each LCD
during the badge assembly process. With the LCD
mounted on the front side of the badge, its 0.87” wide flat
flex cable slid through a small slit and was hand soldered
to its mating footprint on the backside of the badge.
Seamless Power Switching
One of my favorite aspects of the DEFCON 18 badge
design is the seamless power switching between the
CR2032 coin cell battery and USB power. This allows the
badge to operate continuously if it is connected to a
computer, regardless if a battery is in place or not.
The theory of operation for this feature is as follows:
The P-channel MOSFET, Q1, is ON by default via the R4
pulldown resistor, connecting VBATT to VCC. D5 prevents
VBATT from back-powering U2 via 3V3OUT. When the