Photon is intended to work outdoors as well as indoors. While the aluminum enclosure prevents sunlight incursion (which disrupts normal operation), the enclosure also needs to seal against moisture.
This post describes the strategies used to seal each of Photon's seven openings.
LED Hole
Photon's LEDs are mounted to the PCB and output light to the front of the enclosure through a light pipe. Epoxy adhesive is applied to the interior of the enclosure to seal the hole from moisture and keep the light pipe in place:
Lens Socket
Photon's lens screws into a M12-threaded socket:
I tested several kinds of adhesive to secure and seal the lens to the lens socket:
Cyanoacrylate wasn't viscous enough and tended to seep into the backside of the lens (via capillary action), risking lens damage. Cyanoacrylate also doesn't withstand water very well, so it wasn't a great option anyway.
Epoxy also wasn't viscous enough and tended to seep into the backside of the lens. I probably could've used a thicker epoxy to solve this, however epoxy also requires mixing and hardens fairly quickly so it's a bit of a pain to use.
Construction adhesive worked quite well. It's water-proof, viscous, doesn't require mixing, and cures slowly so there's plenty of time to focus the lens.
The adhesives that were tested for securing and sealing the lens to its socket
Construction adhesive was the clear winner. It's applied to the threads of the aluminum enclosure (using a syringe with a 2mm Luer-lock needle):
Applying the construction adhesive to the socket with a syringe
After the adhesive is applied to the threads, the lens is screwed into the socket while streaming images from the device to focus the lens. Once focused, the device is left undisturbed for ~24 hours while the adhesive sets.
Lens Seam
The hardest aspect of rain-proofing Photon was due to the construction of the lens itself, as water can ingress into the seam between the front glass and its surrounding plastic:
Photon lens under a microscope
Without sealing, moisture can enter the seam and significantly degrade the image quality.
This image actually depicts a seam that's been sealed with injected epoxy, described below. The shininess of the seam is the dried epoxy; without the epoxy the seam appears dull.
Once it enters the lens, the water condenses onto the interior optical components and introduces artifacts onto the produced image. Since the water never evaporates, this condensation effectively ruins the lens.
I tried several different techniques to seal this glass-plastic seam, described below.
Apply Adhesive Directly
The simplest option was to apply adhesive directly to the seam of the lens:
Applying adhesive directly to the seam works to keep the moisture out, but it sure is ugly
This option worked but I couldn't figure out a way to make it aesthetically satisfactory, so I abandoned it.
Powdered Adhesive
Another option was to seal the seam using a powdered adhesive that congeals with heat. The powdered adhesive would be scattered atop the face of the lens, and then vibration would be applied to allow the powder to settle into the seam. Finally the lens would be heated to cause the powder to liquify and fill the voids within the seam, and then harden once heat was removed.
To implement this process, I made a custom apparatus out of aluminum to accommodate 25 lenses, along with a laser-cut powder mask from 300µm cardstock:
The process to seal 25 lenses with powdered adhesive, using a custom aluminum apparatus
For the adhesive powder, I first tried direct-to-film (DTF) powder, which is typically used for printing onto textiles. Unfortunately I found that when applying heat to it, DTF powder merely softens instead of liquifying, so it wouldn't properly fill the voids and create a seal.
Since DTF powder failed, I looked at other powdered adhesives that would liquify when heated. There are many ethylene-vinyl acetate (EVA) powders (essentially hot glue that's been pulverized [cryogenically?] into a powder) available from China. I ordered some samples but never got around to testing them, as the epoxy-injection approach (described below) looked more promising.
Epoxy Injection
The final option was to inject epoxy into the seam of the lens using a custom-made hydraulic system:
The components of the epoxy-injection apparatus
The liquid epoxy is pressurized and forced into the seam of the lens to fill the voids. The full process looks like this:
The epoxy-injection process
This epoxy-injection solution worked quite well and resulted in lenses that are sealed from moisture and look great!
Button Hole
Photon has a single button, which is sealed using a 3.5mm nitrile o-ring in a "piston seal" configuration. Two grooves are cut into the button to allow for two o-rings, but only one o-ring is actually used. (I found that a single o-ring seals fine, and two o-rings causes too much button friction.)
Photon's button
Two o-rings are depicted, but only one o-ring is actually used
Motion Sensor Hole
The motion sensor hole is sealed using an 11mm silicone o-ring that sits atop a ridge of the motion sensor plastic:
Motion sensor and its o-ring
When the PCB is screwed into the enclosure, it presses the motion sensor into the opening in the enclosure and compresses the o-ring.
USB-C Receptacle Hole
The USB-C receptacle hole is sealed by yet another o-ring attached to the USB-C receptacle:
USB-C receptacle and its o-ring
The PCB is inserted into the enclosure at an angle in order to get the USB-C receptacle into its opening. However it wasn't clear whether there was enough clearance for the receptacle to maneuver into place when being inserted at an angle. I spent a lot of time doing CAD simulations of the PCB-insertion process, but there were no strong guarantees that things would fit in practice. In the end it required actually ordering the enclosure and testing it, but luckily everything fit!
Backplate Seam
Photon's backplate is sealed with RTV sealant that's typically used for gasketing automotive parts:
Backplate RTV sealant
Backplate Removal
The RTV sealant makes the backplate fairly hard to remove, so I made a tool out of two acrylic plates glued to a piece of wood to allow the backplate to be removed without damaging the aluminum enclosure:
Removing the backplate
Testing
To test Photon's seals, I submerged prototype devices in UV dye for extended periods of time:
Left: Photon submerged in UV dye
Right: Photon's perspective while submerged in UV dye
UV-dye is used so that leaks can be localized to a specific enclosure opening when illuminated with UV light.
After working out the kinks, Photon successfully endures being submerged in a cup of water for 7 days without any water incursion. In more strenuous testing, the USB-C receptacle was found to be the most prone to leaking, and therefore Photon likely can't withstand being submerged to significant depths. For that reason, and since I haven't performed rigorous testing for any particular ingress protection (IP) specification, I think it's fair to call Photon "rain-proof".