I was streaming images from a prototype while working in the living room of my childhood home. I picked up the prototype and the back side of the PCB caught a ray of sunlight shining through the windows. Immediately the imagery transformed — it showed not only the living room, but the living room with wiring traces superimposed:
At first I assumed these were the metal traces of Photon's PCB:
Right: the actual PCB under a microscope.
Left: PCB layout; zoomed and cropped to the bounds of the image sensor pixel array.
Right: mystery traces; captured while covering the lens so that the only light entering the image sensor is from its back side.
When I returned to San Jose, I was able to look at the back side of a spare image sensor under a microscope:
Left: back side of image sensor; desaturated and cropped to the bounds of the image sensor's pixel array.
Right: same mystery traces.
The phenomenon appears to be particularly sensitive to light in the UV spectrum. For example, the mere ambient UV from having an open window in my living room triggers it for a device without a backplate:
Note the distinct purple hue of the traces, suggesting the UV spectrum.
Fortunately Photon has an aluminum enclosure which prevents this phenomenon from occurring in the field; if Photon had a plastic enclosure, light shielding would be necessary.
Probably just a bug in my USB stack, I figured. I went back inside and got images streaming again, but the instant I stepped outside it happened again. As crazy as it seemed at the time, the consistency was undeniable: something about being outdoors was glitching the prototype.
A few more experiments confirmed it: the problem didn't occur when the prototype was outdoors but in the shade, and wrapping the board in electrical tape also prevented it. (This was before I had metal enclosures to test with.)
To narrow the problem down to specific components, I made an aluminum-foil mask and taped it to the side of my kitchen table, and configured my computer to beep when the glitch occurred. Now I could move the board around to direct the tiny sun beam:
Enable audio to hear when the glitches occur.
Photon is apparently an excellent sunlight detector!