For an amateur production of Snow White we needed both a lighting effect in the witch's wand when she did a spell, and a flashing ambulance light in the safety helmet of one of the dwarfs. The witch had four different effects depending on the type of spell. The safety helmet flashed as the dwarfs tried to help Snow White after she bit the poisoned apple.

All of these were done with a common controller that drove Neopixel strips. The controller was built using through hole components on a 50mm square board, and an AdaFruit PowerBoost was fitted as a daughter board to control power. Using through hole meant that the boards could be built with the limited workshop facilities available.

The board is built around a  PIC18F14K22 microcontroller. An ICSP header is provided on the board to allow it to be reprogrammed in-situ. Power at anything between 2V and 5V is supplied through a 2 pin header. The 6-pin header can either be used as five contact closures to ground to trigger effect sequences, or to connect to an FTDI serial cable to run the board remotely. The final 3-pin header is power and data to the neopixel strip.

On standby the microcontroller goes into a low power sleep, and commands the PowerBoost to shut down. The microcontroller is powered through a diode off the battery in this mode. It waits for a contact closure, wakes up, restarts its clock and switches the PowerBoost on. This now supplies 5V to drive the neopixels, and through another diode pulls Vdd up to 5V.

A program written in C now generates the animated lighting sequence, which is written to the neopixels by some very tight assembler code driving a GPIO pin.

Mechanically the board is mounted in a small instrument case with a battery compartment holding 2xAA. For the wand a polycarbonate tube is screwed to the case, and this protects the neopixel strip. For the helmet the same box is used, but the neopixel strip is wrapped around the brim of the helmet.

The units performed reliably through both rehearsals and eight live performances.