Introduction: Subzero Face Mask Cooling System

About: Big fan of making things out of bits of electronics, and stuff laying around.

This post walks you through creating a Mortal Kombat Sub Zero cardboard face mask housing with built in cooling fans and voice activated LED display for visualising speech (can also be used for Cosplay).

I've seen a lot of people making face masks of their own as a result of the current Corona virus pandemic. There are many complaints about the poor usage of masks due to discomfort created by heat and humidity generated through breathing. The current situation also reminded me of a lot of apocalyptic imagery from films, comics, and games featuring toxic waste lands with the last remnants of humanity donning advanced breathing apparatus to keep them alive.

I had an idea to strap some fans to my face for cooling as a proof of concept. I imagined it would look a lot like the half face mask worn by many of the Mortal Kombat characters, so I settled on Sub Zero, which seemed appropriate given the cooling aspect to the project. ;-)

I also wanted to experiment with cardboard since Eva foam is a bit involved, and cardboard skills are necessary if you have bored kids at the moment.

Cost: approx £50.00. (Cost me £12.00 as I had most of the materials, or could scavenge from previous projects).


Mask build:

- 1 X Mask template provided by Dali-Lomo.

- 1 X PowerBoost 1000 Charger - Rechargeable 5V Lipo USB Boost @ 1A - 1000C. (£18.90)

- 2 X Miniature 5V Cooling Fan for Raspberry Pi. (£3 each)

- 1 X NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers (£5.70)

- 1 X LiPo Battery Pack – 500mAh (£6.90)

- 1 X Arduino Nano V3.0 (£3.65)

- 1 X Grove - Loudness Sensor.

- 1 X Power Switch.

- Male and female pins.

- Wire (red, black).

- Solder.

- Cardboard (beer box - as it was not corrugated, and it's fairly large).

Priming and painting:

- Sand paper.

- Polyfiller (for smoothing and as a filler).

- PVA glue (for priming).

- Masking tape.

- Montana Black matte spray paint (£8.00)

- Montana Blue matte spray paint (£8.00)


- Lollipop sticks (to secure the head strap).

- Black Elastic: (£3 for the head strap).

- Opaque plastic sheet (for diffusing the LED lights).

- Metal mesh sheet (for side cheeks).

Step 1: Assemble and Paint the Mask Body

The mask is based on the Mortal Kombat Saibot/Sub Zero characters and constructed from cardboard using the template provided by Dali-Lomo.

I recommend assembling the mask as per the video in the above link to the template, using masking tape to secure the parts and hot glue to fix them together.

I used a metal mesh material, and some opaque plastic to cover the grill of the front part of the mask to diffuse the Neopixel strip.

Use some polyfiller to smooth any dents, or gaps in the joins, and sand paper to smooth out any jagged polyfiller or untidy edges.

Glue lollipop sticks, as per the tutorial video, to the inside of the mask where we will later attach the elastic strap.

Use PVA glue to prime and strengthen the finished cardboard mask.

Next spray paint it black inside and out. Mask off the front grill plate and any other parts you want to leave black, and spray the rest of the mask body in a colour of your choice (I changed my mind half way through the making as you'll see from the photos).

Step 2: Electronics

To attach the fans, make four holes in the metal mesh cheek area with a screw driver, make sure they are aligned with the small bolt holes present in the fans. These are then screwed in on the inside of the mask.

Next, glue the opaque plastic to the mask grill, and glue the Neopixel strip on top with the Neopixels aligned to the spaces between the grills.

Mount the PowerBoost on top of the Neopixel strip with a dab of hot glue.

Solder wires from the 5V positive and ground outputs of the PowerBoost, see this tutorial to help you out. Two sets of positive and negative wires provide power to the fans, and a third set are soldered to the VIN and an available GND pin of the Arduino, which will be responsible for reading the loudness sensor and controlling the Neopixels.

Attach two pins of your chosen switch to the PowerBoost to enable the device to be turned on and off. Next, we hook everything up to the Arduino. The Neopixel strip has three wires:


V+ --> 5V


DIN --> D6

The Grove Loudness Sensor has four pins, of which we only need three since one is marked 'NC'.

Loudness sensor:Arduino:

V+ --> 5V

A0 --> A0

The battery pack is glued on one side of the mask (the left), on top of the lollipop stick used for the strap. This is then plugged into the JST connection on the PowerBoost.

Step 3: Code

The code is fairly straightforward and uses the Adafruit Neopixel library. If I'm honest, it's a touch sloppy, but it gets the job done. Naturally you can amend it for your own needs.

The code monitors the sound level on the Loudness Sensor and lights up the Neopixel strip in the style of a VU meter. You can set your own thresholds based on how loud you expect to be shouting to others over the incredible volume of the CPU fans. ;-)

Step 4: Conclusion

This was a fun proof of concept project. Not sure if I'd actually wear it, particularly due to the potential safety issues.

Hypothetically the side cheek fans might offer some small protection against droplets containing the virus, but there is definitely no proof of that. ;-) In fact, if you catch the virus, you would become a super spreader of epic proportions. In any case, the idea is that if you wear a face mask of some sort, the Sub Zero mask provides a minty-fresh-like feeling around your jowls.

I have to say that when it powers up, the fans sound awesome, like jet engines spinning up, so in reality you'd be doing a lot of shouting, but the bonus is you'd look great when combined with the voice activated LED dance show, even if no-one can hear you.

Arduino Contest 2020

Participated in the
Arduino Contest 2020