Neopixel Facemask With Embedded Media & Phone

Neoprene mask with Neopixel display driven by a Nano, integrated headphone and mic, and a hardware Bluetooth stack.

Similar projects worth following
At the beginning of the UK Lockdown I began shielding my daughter who has profound disabilities. Stuck in the house all day most days, I got bored and returned to hacking...

I spent a while designing and using disposable masks, then decided to make a permanent one from Neoprene. I hit on the bright idea of adding a display to show emoticons and found some really cool Neopixel 'buttons', small round circuit boards each with a pixel, a cap, a resistor, and linear contacts on the back.

I wrote some code for animated smiles and mouth when talking, and expanded that to include a few iconic 8-bit style anims like Pong and Snake as well as a vu-meter to go with my habitual headphones...

It wasnt long before the mask got tiresome, as they do. Pulling it down to use the phone was a nuisance, so I integrated the headphones and mic from a Bluetooth headset inside and powered it all from a pair of 18650s in parallel to last all day and more.

Neoprene Mask shell, with the first display attempt...

The mask was the easy bit, I templated it in Inkscape and printed it onto an Avery label, stuck that to the Neoprene sheet and cut around it.

Once I had the shape right all I had to do was stitch the inside cloth layer together, then run latex glue into the channel and pop it inside-out while it dried. The resulting seam was nice and flat, and the glue sealed it to make it airtight.

Neoprene is a layer of rubber faced with stretch fabric on both sides, and is completely impermeable to air and water.

The first attempt at making a flexible display didnt work out so well. These buttons are great, really easy to wire but my technique of making flex circuits using sellotape and copper tapes didnt seem to like the big circuit boards soldered to it, and the sellotape tore around the edges, followed by the copper tape.

Much subdued cussing ensued as I stripped the circuit back off and cleaned up the buttons...

I wiped the buttons off with a large tinned soldering bit which melted off the solder and tape residue and left them all tinned up properly, my only complaint with them was they they werent tinned and it took a bit of scrubbing to get the pads to take the solder even with flux added.

Attempt one worked, but not for long.

After a bit of thought, I decided to rebuild the display as a solid piece and deadbugged it using thicker copper wire in a grid.

Nice and sturdy, plus I also rewired the rows to be in parallel lines from left to right, rather than a zig-zag like before. It proved to be a nuisance to program anyway, needing a formula to calculate the pixel positions between X&Y, and a linear string with two backwards sections inline...


Here I was using 3 alkaline cells to provide 4.5V, the Neopixels were nice and bright and there was enough grunt to power the Nano to begin with.

Unfortunately Neopixels draw a lot of current. Even at the 1/5 brightness recommended by the sample sketch I examined, those batteries only lasted half an hour before they couldnt sustain the amps, and the Nano started browning out with more than a few pixels lit.

I moved to a 18650 LiPo, and despite the lower voltage it worked like a champ. No more power issues :-)

After a while the mask got annoying having to pull it down to use my phone, and as I habitually wear headphones anyway, I decided to integrate a pair with the mask and programmed a vu-meter display to go with the music.

Aaargh, cables everywhere, so I found up an old Bluetooth headset, chopped out the lousy little 210mAh LiPo and ran it off the 18650 instead so it lasted all day instead of 2-3 hours, the reason I stopped using it.

Once I had that in there it was a simple matter to rewire the microphone and put it inside.

The phone had no trouble linking to it. :-D

Media display...

Playing Pong against itself...

I'm waiting for an integrated mic and preamp from eBay that hooks to an ADC port and provides level-based audio sampling. It doesnt actually sample, waaaay too slow, but it does enough to animate a speaking mouth while I'm talking by periodically checking the level of sound inside the mask.

The same applies with the music display, tapped into the Bluetooth via an ADC with periodical level checking.

Here it is operated by switches, but the microphone will trigger the speaking as soon as it turns up...

  • Hack It

    Morning.Star07/13/2020 at 23:47 2 comments

    Well, that was stupid and annoying. The LM386 based sound level board arrived, duly tested and I started installing it. First mistake was buying a module, the second was trying to take the pin-header off it so it fit nicely...

    One of the pins came out smoothly gripped in a pair of pliers and heated well. Great!

    The other two ripped the pads and some track off the top layer. Not so great. I tried to repair them and got it working again, the LED lit when there was enough sound but the ADC output read high the entire time.

    Hack it...

    I found a common circuit floating around internet land holding a trusty C2N3904 I always seem to have laying around.

    Seems easy enough. The rest of the components I have tucked away in labelled bags in strips of ten, caps and resistors. OK then.

    Now here's where it gets arty lol. Yep, thats a train ticket lol. Normally stations arent very well manned and I wouldnt have that, the ticket barrier snarfs it to let me out. But under the current circumstances, with masks being mandatory on trains and shortly in shops, finally lol, these things are going to be fashionable. The staff enforce it pretty well, but little village stations are what they are and I just walked out with it while the ticket attendant was busy disinfecting the signage.

    I see Dior are making noises about making their own brand. :-)

    I laid down some Kapton, and dropped the copper tape on by eye using the plan as a reference. Close enough, then I put a bit of sellotape on top just to make sure they didnt slide about when the glue got warm.

    That didnt take long, but I did start it at midnight lol, so I'll test it tomorrow...

View project log

Enjoy this project?



RoGeorge wrote 07/30/2020 at 10:46 point

Great proj!  I miss facial expressions, too.

The main pic for your project appears with the photo of a black mask, hard to tell it's more than just a piece of black cloth.  Therefore, less visitors, I guess.  My 2 cents is to try to make the main photo of the project to appear with some lighten LEDs on (no idea how to change the main photo of a project).

Great project, and next time put some fokin' cloths on you, man!

  Are you sure? yes | no

Dr. Cockroach wrote 07/30/2020 at 13:57 point

Yeah, white skin alert :-D

  Are you sure? yes | no

salec wrote 07/12/2020 at 19:05 point

Hey, man, good to see you come back to save the world again! ;-) 

  Are you sure? yes | no

Morning.Star wrote 07/14/2020 at 21:48 point

Heh, thanks dude. :-)

'It aint gonna save itself' XD

  Are you sure? yes | no

Dr. Cockroach wrote 07/10/2020 at 10:17 point

So glad to see this as a project dude :-D

  Are you sure? yes | no

Morning.Star wrote 07/10/2020 at 22:58 point

Heh, thanks my friend :-D

How could I not? AFAIK a phone embedded in a mask is another world first. I'm not sure about a pixelmask lol, I'm pretty sure that goes back a ways. ;-)

Weird how puns sometimes turn out to be brilliant ideas after a fashion as language evolves, but the older I get the funnier that becomes...

'Muahahaaa!' XD

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates