Night Vision Helmet With Pi 0 and OV5647 Camera

by hotcup_97 in Circuits > Raspberry Pi

773 Views, 9 Favorites, 0 Comments

Night Vision Helmet With Pi 0 and OV5647 Camera

1.png

I run an Etsy store selling 3D printed products. A large majority of my inventory is cosplay/prop items. I have always enjoyed making helmets, so I thought it would be fun (and also a unique challenge) to create a DIY nightvision helmet. The Death Trooper helmet seemed like a perfect fit for this type of thing. This is not a step-by-step tutorial as a large portion of the process was experimenting with variables that will likely be hard to totally replicate (lens focal lengths, etc). To replicate will require tinkering and work on your end, but the goal of this instructible is to provide the reader with the process I took along with tons of material to reference along the way. This "tutorial" assumes the reader is competent and familiar with 3D modeling/printing and general microcontroller electronics. Fusion 360 was used to both create the 3D renders seen here as well as create the 3D models for the camera module

Supplies

Acquire Your VR Headset and Disassemble

Acquire a VR headset. All you really need is a single lens, so don't worry about getting anything overly expensive. I found a perfectly usable headset at our local Goodwill for $2. Find a headset, disassemble it, and set aside a lens.

Find the Focal Length of Your Lens

You'll need to find the proper focal length of your lens. The easiest way I have found to do this is the following process.

  • On a table, spread out a tape measure.
  • Place your lens at the beginning of the tape measure.
  • Take a small object and place near the lens in its view path. Slowly move the object further away from the lens until it comes in focus. Mark this location on the tape measure. This is how far you will need your screen to be mounted away from the lens.

Write this number down and remember it for the following step.

Model a Lens/screen Mount

housing.PNG
Camera_exploded.png
Camera_exploded2.png
Camera_exploded3.PNG

Unless the focal length of your lens is the same as mine (pretty unlikely), you will need to model a new mount. The .stl's of my mount are included above and are free to use, and the Fusion 360 file is included here for ease of modification. If you decide to make your own design, keep in mind that you will need to mount the screen, Pi 0, and the OV5647 camera on the end of the mount. Model in holes for the threaded inserts (as seen in my files) that will allow you to screw in and mount the electronics. I used a modified version of this thingiverse design to house the camera itself.

Included here is my Fusion 360 file of my camera module creation as well as exploded views of the complete camera module. I did delete the helmet from the Fusion file as it was obtained from a separate seller linked to above :)

Open a Spot in the Helmet for the Lens/camera Module to Fit

cameramodule.PNG
cameramodule1.PNG

We will need to modify your original helmet file in such a way that allows the camera/lens module to fit. I like to use Windows 3D Builder for jobs such as this. First import your helmet into 3D Builder. Then import your camera module files. Position your camera module in a location that lines up with your eye in the helmet. Once your module is properly placed, select all camera module parts, and click "Edit" and then "Merge". This will make your camera module one single body. Now that your camera module is a single piece, ensure that it is selected and click "Subtract". This will erase all portions of the helmet that the camera module touches. Your finished product should have a large void where the module was. Export your modified helmet as an .stl.

Print the Helmet!

This was a 40 hr print for me, and it used 1.3kg of material. I used a highly modified Tronxy X5SA 400 pro running Klipper. I post processed this with multiple rounds of 80 grit, followed by 120 grit, followed by filler primer, followed by more 120 grit, and then finally satin black/gloss clear coat to finish it off.

Electronics

cameramodule2.PNG
381287739_620015153642010_5794801873337206742_n.jpg

Setup a Raspberry Pi 0 with Raspbian Lite OS. Raspberry Pi imager is an amazing tool that makes this quite easy. Plug in the OV5647 camera into your Pi 0's camera ribbon cable port. Plug the 1.3 inch LCD screen hat into the Pi's GPIO pins. Follow these instructions to get the screen working with your Pi. Attached is my python code. I made this a service in order for it to run on boot by following the top answer on this forum post.

Assemble the electronics. Attached are photos of the built module.

Downloads

Assemble Everything

381302909_176223568848959_1021294208907258626_n.jpg

With the camera module fully assembled and functional, insert it in the helmet.

Test It Out!

Test out your helmet! Attached is a quick test video I tried to record... Couldn't quite get my phone camera lined up with the lens fully, but you get the idea.

Be Proud of Your Work

381343917_297545356349628_3065280068648110844_n.jpg
381315800_1388914371972855_2688748615211523256_n.jpg

Post it all over social media; show it off to your friends; scare your friends and family by watching them in the dark - the possibilities are endless.