Inducing visual hallucinations with the Ganzfeld effect
As a life-long Star Trek fan (and enlisted Starfleet Officer) I have always been fascinated by sensors. Of particular interest are the sensors used by the human brain (eyes, ears, skin, nose, mouth). Messing with these inputs is a common human past-time, but one form is particularly interesting due to the difficulty in inducing it: sensory deprivation.
The Ganzfeld effect is a phenomenon where feeding a uniform visual input to our eyes causes the brain to “fill in” the missing input with hallucinated visuals. It has been proven possible to induce this effect with a pair of goggles designed to diffuse a uniform light source:
What if I built a self-contained pair of Ganzfeld goggles which offered full control over the color(s) and intensity?
As usual, I surveyed similar projects to guide my design. The objective was simple: completely fill a human’s field of view with a uniform color of light. The user should be able to control the color of the light, and to control the intensity.
My process was:
Red light was used in every existing project I could find. The reasoning appears to be that human rods and cones are less sensitive to red light than other wavelengths, which helps the visual system “tune out” the uniform stimulus, inducing the Ganzfeld effect. Other monochromatic wavelengths should work, and it would be nice to be able to experiment in this way. To achieve this, I used diffused RGB LEDs, which allows experimentation with red, green, and blue in any combination.
Every successful Ganzfeld effect project I found utilized ping-pong balls to diffuse the light, so I did the same. To maximize the field-of-view, I used oversized ping-pong balls:
After cutting out a slice of the ping-pong ball and inverting it, I used the inner chamber to contain the RGB LED. This diffused the light and spread it out over as large a teardrop-shaped area as possible:
The sharp edge of the ping-pong ball cutouts were made more comfortable with gaskets cut from a pair of swimming goggles:
I superglued straps of elastic webbing to hold everything in place on the user’s head.
For displaying information to the user, I used the ubiquitous backlit 1602 (16 characters, 2 lines) LCD display:
For user input, I used a rotary encoder knob with push-button:
For a microcontroller, I went with the smallest Arduino clone - the Pro Micro (based on the ATmega32U4):
The circuit for the device is quite simple:
I threw together a quick protoboard using DIYLC:
After some soldering I had the electronics assembled in a reasonably small volume:
I designed and printed a 3D-printable enclosure to bring a professional feel to the device. I began by modeling the electronics:
I then designed an enclosure for a perfect fit:
The model was easily printed on an Ender 3:
I then moved on to the software driving the goggles.
The interface presents the user with three modes of operation. A single press of the rotary encoder knob changes the current parameter. A long press changes to the next mode.
The three modes are:
The Ganzfeld effect only requires monochromatic light, but the addition of controllable strobing allows exploration of the related Ganzflicker effect.
The goggles are capable of everything required for achieving both the Ganzfeld and Ganzflicker effects.
Photos:
Video:
TODO: test Ganzfeld effect
TODO: test Ganzflicker effect
TODO: compare to commercial device (Kasina DeepVision Ganzframes)