Hallucination Goggles

Inducing visual hallucinations with the Ganzfeld effect

The Idea

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 we built a self-contained pair of Ganzfeld goggles which offered full control over the color(s) and intensity?

The Tools

The Process

As usual, we survey similar projects to guide our own design. Our objective is simple: we want to be able to completely fill a human’s field of view with a uniform color of light. We would like to be able to control the color the of the light, and to control the intensity. This should all be possible with off-the-shelf components.

Our process will be:

  1. Choose a suitable light source
  2. Figure out a way to diffuse the light across a wide field-of-view
  3. Design the electronics to control the light

1. Light Source

Red lighting is used in every project I can 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, we can use diffused RGB LEDs, which allow us to experiment with red, green, and blue in any combination we like.

2. Light Diffusion

It seems that every successful attempt at inducing the Ganzfeld effect utilizes ping-pong balls to diffuse the light, so we will do the same. To maximize the field-of-view, we will use oversized ping-pong balls:

By cutting out a slice of the ping-pong ball and inverting it, we can use the inner chamber to contain the RGB LED, and have the diffused light spread-out over as large a tear-shaped cross-section as possible:

The sharp edge of the ping-pong ball cutouts can be painful after extended use, but this can be eliminated by cutting the ends off a pair of swimming goggles:

The straps holding things together are strips of elastic webbing superglued in place.

3. Electronics

For displaying information to the user, we will use the ubiquitous backlit 1602 (16 characters, 2 lines) LCD display:

For user input, we will use a rotary encoder knob with push-button:

For a microcontroller, we’ll go with the smallest Arduino clone - the Pro Micro (based on the ATmega32U4):

The circuit for our device is quite simple:

We throw together a quick protoboard using DIYLC:

After some soldering we have our electronics together in a reasonably small volume:

3.1 Enclosure

A 3D-printed enclosure brings a professional feel to the device. We begin by modelling the electronics:

We can then design an enclosure for a perfect fit:

The model is easily printed on an Ender 3:

We can now work on the software driving our goggles.

3.2 Interface

We will present 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 Result