Hurray for Hollywood
One of my very best friends is a guy named Rick
Galinson. He’s one of the wizards of Hollywood special
effects, and his particular specialty happens to be bio-mechanical engineering (which is perfect for what he does
here). I’ve mentioned Rick many times because he’s like a
brother and we do a lot of work together. No matter the
tensions of the job, we always manage to have fun. If you
don’t know who I’m talking about, do a You Tube search
for “paintball mini-gun” and get ready to smile. Rick
designed and built that thing, and it’s controlled with a
Propeller. And, yes, it has appeared on TV!
About a week before Christmas last year, I got a call
from Rick asking for help. He’d been hired by a local FX
shop to upgrade some elements of a super-hero costume
for a new TV show. There had been some problems on
set with a lighting element in the apparel, and these
problems cost time which is very expensive in Hollywood.
There was so much to do that Rick asked the shop to call
me to handle the electronics end of things.
The first part of the job was a custom PCB (printed
circuit board). The original piece used off-the-shelf
APA102C strips that had been glued to a piece of craft
paper, soldered together, then cast in resin. Yeah, I know,
this sounds like popsicle sticks and rubber bands, and
sometimes we do that. The problem in this case is that the
show has a lot of action and fight scenes, and there were
problems with wires in the lighting element breaking.
Being cast in solid resin, it couldn’t be repaired.
Rick made a 3D model of the piece so that it could
be printed, then sent me a DXF of the desired PCB outline
and LED placement. I was able to convert the shape to a
Dip Trace outline, put the LEDs on, and lay out the board.
This was done over a weekend so that we could order
PCBs the following Monday.
We did, and using rush service through
GoldPhoenixPCB.com, had the boards back on Friday. Of
course, this is not what we’d do as hobbyists, but this was
for a professional TV production. There was very limited
time during the holiday shutdown to rebuild this piece.
Once the board arrived, I put solder paste
(Zephyrtronics is my favorite) on them, populated the
APA102Cs, then popped them into the toaster oven.
Don’t worry, Rick has one that is only used for soldering.
The boards fit perfectly into the printed case and
everybody was happy. But ... we weren’t done. The
original controller was an Arduino Mini reading a PWM
output from a wireless DMX receiver. To be fair, I never
saw the original code which wouldn’t have helped me
much anyway, as I’m not as comfortable with the Arduino
as I am with the Propeller.
My understanding is that the original device used a
single channel from the DMX receiver. The detected PWM
level would drive the number of LEDs that were lit which
could be from zero to eight. Rick reported that the
technicians on set (which is not actually located in
Hollywood) were having problems with the light level
from the piece, and that it sometimes fluttered at a given
Since the Propeller Mini and the Arduino Mini are
about the same size, Rick asked me if I could write
Propeller code to run the lighting element with improved
control. “Sure!” I told him, without really thinking about it.
When I downloaded the datasheet for the wireless
DMX receiver, I panicked a bit — it has a 20 kHz output
and I wasn’t sure I could read that reliably. Of course,
after taking a short walk, a breath, and having a cup of
coffee, I realized that I didn’t actually have to read each
cycle of the PWM output. All I had to do was set up a
fixed sample window, determine the “on” time during that
window, and then I could recreate a 0 to 255 DMX value
using the ratio of “on” time to the period of the sample
Programming in the Real World
It's a fair understatement to suggest that the Propeller is a different beast from other
popular microcontrollers. In lieu of specialty hardware modules like UARTs, etc., the
Propeller has eight processors (called cogs) that can be used to synthesize peripherals as
needed. That said, the Propeller isn't completely devoid of extra hardware; each
processor has two general-purpose counter/timers, as well as a shift-register intended to
facilitate video output (though clever coders have used it for myriad other things). My
focus this time is on the counters, and how their flexibility helped me knock out a critical
application in very little time.
■ BY JON MCPHALEN THE SPIN ZONE
ADVENTURES IN PROPELLER PROGRAMMING
80 May/June 2018