Replicating the Princeton PEAR Lab Plant RNG Experiment

Plant RNG

Can plants affect the ordering of random numbers? Can they bend probability to give them an edge in their growth and evolution?

My favorite experiments are the ones that are conceptually simple but have astounding implications. I learned about this one while watching Close Encounters of the 5th Kind, the newest documentary by ufologist Dr. Steven Greer. The film is about a protocol for contacting alien intelligence. As intriguing as that might be, what really sparked my interest was a short clip about 50 minutes in.

Here we cut to Adam Michael Curry, inventor and tech entrepreneur who discusses an unpublished “Plant RNG” study that he participated in at the infamous Princeton Engineering Anomalies Research (PEAR) Lab.

Here’s how he described the study:

“You have a room with no windows and you have a house plant that needs light to grow. You have a single light up on the roof. The growing light can turn in one of four quadrants, and which quadrant that light is showing is controlled by a random number generator.”

“So you put the plant in one corner of the room. The light has an equal chance of shining in all four quadrants, but if you give it enough time, what you find is that the light actually shines far more often on the plant than on the other coordinates.”

Close Encounters of the Fifth Kind – 1091 Pictures
Depiction of Princeton PEAR Lab Plant Experiment

He concludes with:

“It’s as though life itself – even life or consciousness in something as simple as a house plant, bends probability in the physical world in the direction of what it needs, in the direction of its growth and evolution”.

Wow. That is quite the claim. My immediate thought was that perhaps there’s a reason why this study wasn’t published.

My very next thought was that this was something I had to try out for myself! I already had a hardware-based random number generator, so I just needed some grow lights, a way to programmatically turn them on and off, somewhere to log the results, and a plant of course.

TL;DR: The results were puzzling. Go here if you would rather cut to the chase and see what happened. Otherwise, read on to learn about how I set up the experiment and how you can too.

Here’s what I used for the build:

The original experiment used a windowless room with a single rotating light. I decided to go with a more portable design – essentially a cabinet with 4 partitions and a dedicated LED strip for each.

Kasa Smart Plugs
Kasa HS103 Smart Plugs
Sondiko Grow Lights
Sondiko LED Grow Lights – see note about the built-in controllers.

The image below shows the design.

Design for Plant RNG Experiment

The partitions serve to block light from any of the LED strips other than the one directly in front of the plant.

For the experiment, I placed the rig in a room with darkening shades to ensure there was no light. Then I randomly placed a small house plant in one of the partitions so that it was directly in front of one of the LED grow strips.

To run the experiment, I wrote a Python script that repeatedly selects a number (from a hardware RNG device) which would then correspond to one of the four partitions.

Important: For any of these “mind-matter interaction” type experiments, research shows it’s critical to use a device that employs a stochastic process for randomness. Random numbers generated by operating systems are in fact pseudo-random and will not cut it. I used an OneRNG device.

Once a number is chosen, the script supplies power to the LED strip via a smart plug. When the next number is selected, the original LED strip is powered off and another one lit. This repeats indefinitely until the experiment is stopped. Data is logged at every step.

The hypothesis is that the partition that contains the plant will be selected to be lit more often than the other three – bending probability in favor of the plants’ growth.

OneRNG Hardware Number Generator
OneRNG Hardware Number Generator
Plant in position

Did it work? Well, I was surprised after running several experiments and I’m not entirely sure what to make of the results.

If you would like to try this out yourself, here’s the nuts and bolts on exactly what to do:

First cut the plywood (I used sub-flooring I had on hand) into 4 15″ x 22″ panels along with a 26″ square top.

The dimensions aren’t that important, the panels just need to be large enough to block light coming from neighboring partitions. My dimensions were based on the scrap wood I had on hand.

Screw each set of panels together at a 90-degree angle and nail or screw the square panel on top. Once affixed, drill four 1″ holes through the top panel to accommodate the LED wiring for each partition.

The next step is to mount each LED strip in the corner of each partition and then route the wiring out through the holes on top.

Important: I chose the Sondiko grow lights because they’re inexpensive. The downside is that you’ll need to remove the built-in controllers on each and then splice the wiring back together (in the name of science of course). The controllers need to be removed because they default to “off” even when power is applied, defeating the purpose of the smart plugs.

Next step is to connect the LED strips to the smart plugs and a power strip mounted on top of the unit. See the image.

Smart plugs and power strips mounted on top of cabinet
Removed Sondiko controller

Next, configure the smart plugs so that they’re connected to your wi-fi. Just follow the steps using the Kasa mobile app. As part of the setup process, you’ll need to give each plug a name. I used P1, P2, P3, and P4 and then label each partition on the cabinet to match the corresponding plug.

Your rig should resemble the below when completed. Here the LED for one partition is lit, showing where the plant should ideally be located.

You’ll need somewhere to host both the OneRNG device and the python script that controls the smart plugs. I used a Raspberry Pi. See this post on how to set up a Pi as a random number server – you’ll need this for the randLight script to work as is.

The Kasa smart plugs are controlled using the Kasa python library. Install on your Pi following the documentation on GitHub. Once done, you should be able to remotely enable/disable each plug from the command line on your Pi. Here’s an example of how to turn plug #1 on and off:

$kasa --plug --alias P1 on
$kasa --plug --alias P1 off

The next step is to install and run the and python scripts.

The randLight script is responsible for getting a random number from the OneRNG device. It lights the appropriate LED strip by turning on the corresponding Kasa plug and then writes the status to a log file.

The randControl script acts as the experiment control. It selects a random number in the same way and then just writes the time and number to another log file (no interaction with the lights or smart plugs.)

There are a number of variables in the script that adjust settings such as the lighting times and file output file destination. You can find the settings documented on Github here and here.

So what did the experiment reveal? Read on to find out.

Experiment Results

In a perfect world, there should be a 25% chance of each of the 4 LED strips being selected at any particular time. The idea is to see if there’s a variance from the expected 25% based on where a plant is located.

The proof would be that the partition with the plant should light far more often than the others.

Did I see this happen?

Probably not. The screenshot below shows the data for a 48-hour experiment where my plant was in partition “2”. During this time the lights were randomly selected 54,522 times. As you can see, partition “3” was selected most frequently at 25.3%. In this case, random selection was NOT favoring the plant.

Experiment Subject – Plant “D”
RNG Plant Experiment #9 – 50 Hours

But what if I scaled back the timeframe and just looked at just the first four hours?

Well, with only 4,337 random numbers selected, the partition with the plant (#2) does appear to be favored at 26.6%.

This would appear to support the experiment. But unfortunately, with only 4300 data points it wouldn’t be surprising to see a skew in any direction, so I wouldn’t claim this as a hit.

It was puzzling that after more than a dozen experiments I didn’t see a consistent trend to support Mr. Curry’s claim that the “light actually shines far more often on the plant than on the other coordinates.”

To be fair though, I’m not sure I had enough detail about the original experiment to give it a fair shot. There are some things I’d like to know – like the duration of the original study – i.e. how many data points were collected in a single run. Also, the technique used for the random selection: Was a single random bit used for the light selection (how I did it) or was there an averaging of multiple random numbers.

So I’m not giving up yet. There are additional levers that can be pulled and dials turned to try to make this experiment a success. Here are a few that I can think of:

  • Does the type of plant matter? (Are some plants better RNG “influencers”?)
  • Does the age of the plant matter? (Does nature favor burgoening life?)
  • What if there are multiple plants? (Is there a “coherence” effect?)
  • What if I change the light duration?
  • Does changing the criteria for the random number selection make a difference? (Perhaps instead of simply selecting a number from 1-4, I could light the preferred partition based on an observed “ordering” effect. i.e. the closer the random numbers skew toward 0, the more often the preferred partition is lit.)

If I have any success I’ll be sure to update this post. In the meanwhile, if you try out this experiment drop me an email and let me know how it went.