Technically you could be done with the project now, however sometimes coming up with a housing for your project can be half the fun (or half the work - Ed.). As mentioned in the Overview portion of this guide, the inspiration for this project comes from the picture of Laura Palmer that is framed in a silver metal picture frame in the series. As a result, we're going to go thru how to modify a silver metal picture frame that fits the PyPortal perfectly.
If you don't want to modify a picture frame though, there are a few other options. The only requirement is that the light sensor has to be visible for it to work. There are a few 3D printed case options that have this or you could even utilize the acrylic case specially made for the PyPortal.
For those daring to modify a store frame, you'll need one that is 3.5" x 2.5". The one used in the project is from Amazon. It is very affordable and is often used (apparently) for weddings. The frame housing also utilizes the 3D printed bracket portion from the PyPortal case modeled by the Ruiz brothers and available on Thingiverse:
Once you have your frame, remove the backing and any inner packaging. Carefully remove and discard the glass as well; it won't be necessary going forward. Take the 3D printed bracket and use it to mark where the mounting holes for the PyPortal are located, making sure to center it in the frame. Then, glue some 2.5mm screws in those spots. E6000 glue works well for this.
After the screws have setup in the glue, measure on the PyPortal the distance that the light sensor is from each mounting hole. Then mark on the frame approximately where the light sensor will be located once the PyPortal is inserted in the frame.
Once the spot is marked, take a Dremel or similar tool and carefully drill out a hole for the light sensor to be exposed. You'll want to make it slightly bigger than the sensor so that you won't get any unnecessary shadows that will affect the code.
Now the PyPortal can be inserted into the frame, sliding the mounting holes onto the glued in screws. Then take a spacer stand-off and screw it onto the screw. This can be followed by the 3D printed bracket. First though, make sure that your PowerBoost board is mounted onto the bracket. This is followed by a regular stand-off, as shown below.
Take your almost completed PyPortal frame assembly and hold it against the back of the frame. Trace the stand-off's locations on the back of the frame and then using a Dremel or similar tool drill holes that will fit a 2.5mm screw.
After the holes are all set on the back of the frame, screw in 2.5mm screws to connect with the stand-offs on the 3D printed bracket. This completes the frame modification. Since there's so much space between the PyPortal and the back of the frame, you can tuck the speaker and power button behind the PyPortal without having to worry too much about wire management or space.
You now have a creepy, Twin Peaks-themed project. Agent Dale Cooper would be so proud. To reward yourself, why don't you have some coffee, doughnuts and a slice of cherry pie?