Face Changing Projection Mask - Be Anything

by seanhodgins in Circuits > Raspberry Pi

108716 Views, 647 Favorites, 0 Comments

Face Changing Projection Mask - Be Anything

Thumb.jpg

What do you do when you can't decide what you want to be for Halloween? Be everything. The projection mask is comprised of a white 3D printed mask, a raspberry pi, a tiny projector and a battery pack. It is capable of projecting anything and everything onto your face. I will demonstrate some of the cool effects in my video, but I encourage you to try and come up with some of your own.

Supplies

Electronics

Hardware

Watch the Video!

Face Changing Projection Mask - Be Anything!

Start With 3D Printing

Maskonprinter.jpg
Printbed.jpg

These prints will take a long time. Get a"head" start by printing them while you do other things.

The files are located on Thingiverse here: https://www.thingiverse.com/thing:3941007

You can print the 4 files in one go, then print the mask on its own. Print the mask in white, which will save you from having to paint it. You will have to paint the other parts black because of the 1/2" wooden square dowel.

If you're really fancy you could sand the front of the mask and add matte white paint. I didn't do this but it would smooth out the print lines.

Install Heat Set Screws in 3D Prints

2019-10-28_22-44-54.jpg
2019-10-28_22-43-56.jpg
2019-10-28_22-43-19.jpg
2019-10-28_22-44-36.jpg

There are two M3 threaded inserts in the chin mount, and 6 in the projector mount, see photos.

The ones in the chin will go in the side facing your chin, this will greatly increase they're strength. Make sure they are very straight as the screws will be going in from the other side through the printed part and into the threaded insert. This ensures they cannot be pulled out through the part.

Cut Wooden Dowel

IMG_9460.jpg

The wooden dowel needs to be cut to 420mm ish. Not a super critical dimension.

Assemble and Paint

distance.jpg
2019-10-28_22-41-13.jpg
2019-10-28_22-40-51.jpg
IMG_9436.jpg
IMG_9443.jpg

Test fit everything together and make sure everything is going to work. The front of the face mount and the front of the pi mount is ~360mm apart. Screw them down to the dowel in the screw location in the print. Then remove the mask and paint the other things all together with matte black paint. Paint the screws and all. You want it to be as invisible as possible.

Setting Up Head Mount

IMG_9463.jpg
IMG_9465.jpg

The welding helmet mount was a perfect solution to hold this mask. So much so that I will definitely be using more for future projects.

The 3D print for the mask already has holes for where it needs to mount, but the head band doesn't. While you hold the mask in the correct location on your face, have someone mark the spot on the headband. You will need to drill holes here to allow it to mount. I also cut off the small tabs to hold the soft fabric(that sits on your forehead) to give more clearance for the mask. I was able to use double sided tape to wrap it back on.

When you have the mask fully assembled, you may need to put some foam on the mask lower mount. Mine rests on my chin for support, and it can hurt after awhile.

Solder the PCB, Assemble.

IMG_9458.jpg
IMG_9458-Edit.jpg
IMG_9455.jpg
IMG_9452.jpg
2019-10-28_23-46-27.jpg

There isn't a lot to do on the circuit board. Two 46 Pin headers for the projector, 40 pin header for the pi, fan header, 2N7002 mosfet, and a the 10K resistor.

As I mentioned in the video. I didn't solder the components to monitor the 5V line to the pi. I just jumped from Projector 5V to the pi 5V line. See image.

Once everything is soldered together you can just plug in all of the headers together. *You need to bend pin 43 on the projector, it is mistakenly ground on the custom board* If not it tells the projector to remain off. Won't hurt anything if you accidentally don't. Just will not have any output from the projector.

The pcb and pi will mount to the projector, and be sandwiched between them with screws from the outside of the housing into the projector standoffs.

If using a fan, you will need to plug the right angle connector before you plug the fan in. I don't believe the fan is really necessary. The fan is also just friction fit, I used the wire from the fan to give a little more pressure, and to use less of the wire.

Setting Up the Pi

configfile.jpg

I found all of the information needed to get the projector working on the pi at this website. http://frederickvandenbosch.be/?p=2948 - It explains what needs to be done to the pi config file, and gives more information on the projector in general, worth a read if you're going to do this project.

As mentioned in the video, you will need to flip the resolutions for width and height since you will be using the pi in portrait mode. You will also need to add "display_rotate=1" to get the display to flip sideways.

See image.

In order to play videos you will need to have OMXPlayer installed.

For audio you can use a bluetooth speaker. I didn't have great results with mine, but I believe it was the speaker.

Designing Videos for the Pi

FaceMask_Smaller.png
Face.jpg

This is a little difficult to explain here, so be sure to refer to the video.

You will need to make videos that fit inside of the masked area to play them on the mask. I have included the files I used to make my own images. You can use them in your video production software to align faces, objects, colours, you name it.

If you're using images of faces, you need to change the perspective of them to be leaning back, the same way the projector is misaligned with the mask.

Aligning the Projector

IMG_9461.jpg

Now that you have made a few videos use one of them to align the face. I've included a video file that makes it easier to align. There are three screws that are used for mounting the projector to the stick mount. This allows you to swivel the projector in different directions to get it aligned. You make need to slip in a shim or two to get it to the proper height as well.

Pro tip, pause the playing video with the "p" key with OMXPlayer.

Playing Videos Easily on the Pi

IMG_9457.jpg

I will assume you have some knowledge in controlling a headless pi. Normally to run videos on the pi you would need to SSH in, and run a command for the OMX player. I found a solution that works much better for when you're wearing something you can barely see out of.

There is an app called "RaspController" for android. This free app lets you enter in commands you would normally enter into a terminal, but assign them to easily pressed buttons. You can explore the app as it is very intuitive.

The command you need to know to run a video is:

omxplayer path/to/video.mp4 --aspect-mode stretch

if you want to run the video with a bluetooth speaker then:

omxplayer path/to/video.mp4 -o alsa --aspect-mode stretch

The "--aspect-mode stretch" is important as it will make the video perfectly fit the pi projector.

So for example, if I wanted to play my intro video which is located in ~/Videos/intro.mp4 the command would be:

omxplayer ~/Videos/intro.mp4 --aspect-mode stretch

I had a whole bunch of different commands for different videos so I could play sequences while I was walking around the Halloween party I was at.

Complete the Costume

faces.gif

You will want to put on a dark hoodie of some sort. Make sure the hood is able to go over and around the mask. Plug in the Pi to the battery pack. Add strain relieve to the wire and wrap a zip tie around it. Put the battery pack down the collar of the sweater to just hang there.

Done!

Now for the Secret

Facespin.gif

I have setup a secret treasure hunt revolved around the mask. There are a couple of video puzzles that you need to complete and there is real buried treasure to be found.

The hunt starts at 13thkey.com - that is all of the details I will give so far.

Support These Open Source Projects.

downloads_logomark_color_on_white@2x.png
youtube.png

These projects are free and open source. If you like what I do and want to support me, consider becoming a patron on Patreon.

SeanHodgins on Patreon!

If you enjoy my videos, hit that SUBSCRIBE button! and ring that bell!

youtube.com/seanhodgins