Create a glowing, animated Halloween mask with NeoPixels and Hallowing.  No soldering required!  Use a vinyl cutter (or a utility knife and some elbow grease) to create a beautiful mask -- we've included designs for a butterfly and a dragon.  Add a one-way mirror and some holographic vinyl, and you have a stunning mirror mask that will be sure to light up the streets on Halloween night or make you truly stand out at the masquerade.  

This technique can be used with a wide variety of shapes and vinyl colors, so come up with your own customizations.  


Video of a blinking eye on a Adafruit HalloWing M0 Express.
This is Hallowing..this is Hallowing... Hallowing! Hallowing! Are you the kind of person who doesn't...
In Stock
Adafruit NeoPixel LED Strip with 3-pin JST PH Connector lit up rainbow
Plug in and glow, this Adafruit NeoPixel LED Strip with JST PH Connector has 30 total LEDs in a "60 LED per meter" spacing,...
In Stock
Top view shot of JST 2-pin Extension Cable with On/Off Switch.
By popular request - we now have a way you can turn on-and-off Lithium Polymer batteries without unplugging them.This PH2 Female/Male JST 2-pin Extension...
In Stock


Lithium Ion Polymer Battery 3.7v 2000mAh with JST 2-PH connector
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This...
In Stock


Front angled shot of 3 x AAA battery holder with on-off switch and 2-pin JST PH connector.
This battery holder connects 3 AAA batteries together in series for powering all kinds of projects. We spec'd these out because the box is slim, and 3 AAA's add up to about...
In Stock

Tools & Materials

  • Vinyl cutting machine --OR-- a utility knife and some patience
  • One-way mirror film --OR-- Transparency film and mirror spray paint
  • Reflective Holographic vinyl
  • Colored vinyl or faux-leather
  • Craft felt
  • Elastic
  • Needle & thread
  • Silicone Glue

A foam wig head is also helpful to have.

The secret to making this mask shine is the flexible one-way mirror inside.  You can buy one-way mirror film online with a sticky back -- this stuff is made for adding to your windows as privacy film.  It's perfect for this project, but a little pricey.

Another alternative is to create your own one-way mirror film.  I used printer transparency film (the kind you'd use on an overhead projector) and 2-3 coats of Mirror Effect spray paint from Rustoleum.  This made a beautiful, semi-transparent mirror which diffuses the light perfectly.

The holographic vinyl can be found at almost any craft store that sells vinyl cutter machines, and there are a lot of choices available online too.


Plug the NeoPixels into the Neopixel port on your Hallowing. 

Plug the battery into switch, and the switch into the LiPoly battery port.  

That's all there is!

Vinyl Layers

The mask will be built in two sections: the bit in front of the lights, and the bit behind the lights.

In front of the lights: The intricate front piece of the mask goes in the very front, stuck to the one-way mirror film.

Behind the lights: The inside of the mask will be made of holographic vinyl.  The very back, which will go against your face, is made of soft craft felt.

The NeoPixels will be secured around the edge, facing inwards. The holographic vinyl will reflect the lights, and the one-way mirror will both reflect and let the light through, creating an infinity-mirror effect.

The Hallowing will be mounted between the front and back layers so the TFT screen shows through the window.

Before You Start

This guide uses Arduino code and the FastLED library to run an animation on the TFT screen and a color palette animation on your NeoPixel strip.

First you'll need to get your Hallowing set up.  Follow the instructions from the Hallowing guide here.

You'll only need to do all this once, so be a little patient if it seems like a lot!  Once you can successfully upload code to your Hallowing, come back here and continue.

FastLED Library

You'll also need to be sure the FastLED Arduino library is installed.  In Arduino, choose Sketch  > Include Library > Manage Libraries and search for FastLED.  Be sure the latest version is installed, then restart Arduino.

Upload Code

Once you've got everything installed, it's time to upload the code.

Download all 3 files and place them in the same folder on your hard drive.

Plug your Hallowing into your computer and select the Hallowing under Tools > Boards.  Then select your Hallowing as the Port.

Open Glowing_Mirror_Mask.ino 

Code Modifications

This code by Phil Burgess includes two different animations for the TFT screen: a rainbow butterfly and a burning flame.  Find this code near the beginning of the sketch and uncomment ONE of the two animations.

// Enable ONE of these lines to select an animation,
// others MUST be commented out!

//#include "fire.h"
#include "butterfly.h"

You can also select from several color palettes for your NeoPixel strip.  Look a little further down in the code and find this section, then uncomment the color palette you want to use.

currentPalette = RainbowColors_p;    //Uncomment ONE of these lines to choose your Neopixel color palette
  //currentPalette = HeatColors_p;
  //currentPalette = PartyColors_p;
  //currentPalette = CloudColors_p;
  //currentPalette = RainbowStripeColors_p;
  //currentPalette = ForestColors_p;
  //currentPalette = OceanColors_p;

Once you have the correct TFT image and color palette selected, upload the code to your Hallowing.


If your code won't upload to your Hallowing, here are a couple things to try:

  1. With your Hallowing plugged into your computer, double click the reset button, then try uploading again
  2. Be sure the Hallowing board is selected from your list of boards in Arduino.  If you don't see it there, head back to this guide and be sure it's installed.
  3. Double check you have the latest version of FastLED installed.  Here's a direct link to the library we tested with -- earlier versions won't work with Hallowing
  4. If your computer doesn't see the Hallowing board, restart your computer or try using a different USB port.

I used a Cricut Explore Air vinyl cutter.  If you've got one of these, you can go directly to my project on the Cricut Design Center and cut your own.

Otherwise, you can download the individual .png files here for cutting on a different brand of vinyl cutter, or cutting by hand with a utility knife.  

You may need to resize them so they fit nicely on your face.

For the vinyl layers (front and back) I set my machine to Vinyl +

For the one-way mirror, I used the Light Cardstock setting.

For the felt layer -- I did successfully cut this using the custom Felt setting, but it got fuzz all over my cutting mat that proved impossible to remove.  This is a simple shape, so I'd recommend sticking the "back" layer to a full sized piece of felt and cutting this part out by hand.

Stick the Front layer to the one-way mirror, with the shiniest side of the mirror facing inwards / towards your face.

Stick the Back layer to the felt layer.

Plug your NeoPixels into the NeoPixel port on the back of the Hallowing.


Then, plug your extension cable / switch into the 2-pin power port on the Hallowing.  Plug the battery into the other end of the switch cable. 

You'll get slighlty better results if you assemble the mask while it's curved into its final shape against your face.  I used a foam wig head to hold the vinyl in place while I added the LEDs.


Place the Hallowing on the mask so the TFT screen will show through the window.  Secure it in place with hot glue.

Find the center of your pixel strip and place that right at the top of your Hallowing, centering the pixel strip on the mask.  Use a needle and thread to stitch the NeoPixels around the outer edge of the mask so the lights are facing inwards.

Use your needle and thread to secure the wires from the Hallowing to the NeoPixels, so they're hidden as much as possible.

Use silicone glue to glue the front of the mask to the NeoPixel strip.  The silicone sleeve on the NeoPixels protects them very well, but only silicone glue will stick to it! Hot glue or E6000 will not work here. Silicone is slippery stuff.

For the Dragon mask, mount the Hallowing upside-down at the bottom of the mask so the flame image looks as though your dragon mask is breathing fire.


Poke a hole next to the eyes of the mask and thread through an elastic band to tie it to your head.  Add a rubber band to the battery and use a hair clip to hide the battery and switch in your hair or on your collar.

Optional: add a 1"-1.5" cabochon over the TFT screen to give the animation some dimension and shape.  Glue on ribbons, jewels, edging, or anything else you'd like to make your mask special.

This guide was first published on Sep 11, 2018. It was last updated on Sep 11, 2018.