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.
- Raspberry Pi Zero W - Adafruit
- DLP LightCrafter Display 2000 - Digikey
- Custom PCB - PCBWay
- Anker 10AH Battery Pack - Amazon (Affiliate)
- USB A to Barrel Jack 5.5mm x 2.1mm - Amazon(Affiliate)
- 40mm Fan - Amazon(Affiliate)
- PCB Electronics Parts BOM - FindChips.com
- M3 x 8mm Hex Socket Cap - McMasterCarr
- M3 x 6mm Hex Socket Cap - McMasterCarr
- M3 Plastic Heat Set Threaded Inserts - McMasterCarr
- #10 Wood Screw 3/4" - McMasterCarr
- M2.5 x 6mm Machine Screw - McMasterCarr
- Welder Head Mount - Amazon (Affiliate)
- Binding Barrel Screws - McMasterCarr
- 1/2" Square Wooden Dowel - Local Hardware Store
- Black Matte Paint for wood and plastic.
- Black Hoodie
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Watch the Video!
Step 2: Start With 3D Printing
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.
Step 3: Install Heat Set Screws in 3D Prints
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.
Step 4: Cut Wooden Dowel
The wooden dowel needs to be cut to 420mm ish. Not a super critical dimension.
Step 5: Assemble and Paint
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.
Step 6: Setting Up Head Mount
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.
Step 7: Solder the PCB, Assemble.
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.
Step 8: Setting Up the Pi
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.
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.
Step 9: Designing Videos for the Pi
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.
Step 10: Aligning the Projector
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.
Step 11: Playing Videos Easily on the Pi
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.
Step 12: Complete the Costume
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.
Step 13: Now for the Secret
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.
Step 14: Support These Open Source Projects.
Finalist in the
Halloween Contest 2019