Exploring Altered States of Consciousness with the Brain Machine

I’ll take “Devices that I’ve built that I’m too afraid to use” for 200 please, Alex.

This is the Brain Machine. It’s a device created by inventor Mitch Altman that can induce altered states of consciousness through pulsing LEDs and binaural tones synchronized with different brain wave frequencies.

This was made available as a kit by Adafruit starting back in 2013 (now discontinued), but you can still build by scratch following this guide by Make magazine.

Is it an enigmatic device? Well, I’ve always been interested in consciousness studies and research on how meditation influences psi effects. This seemed like a great fit for future experimentation.

The device is reminiscent of earlier Ganzfeld telepathy experiments where participants were placed in a state of mild sensory deprivation by having a red light shown on them while listening to white noise.

The Brain Machine also involves red light and audio, but the difference is that LEDs flash and the audio tones change based on a set sequence that is meant to bring you to different mental states through brainwave entrainment.

What is it like wearing the device? An experience I can only describe as intense. I was truly surprised how strong the effect was.

My primary concern before wearing and while operating was the possibility of inducing a seizure. For about 3% of people with epilepsy, exposure to flashing lights between 5-30 Hz (which this device does), can trigger one. I do not have epilepsy, but my mother did, so I’m very aware of the danger of these types of triggers.

I started to hallucinate almost immediately after wearing it. It’s amazing how the mind can spontaneously create images and patterns based on a simple repeating stimulus. The two LEDs are just one color (red), but depending on the tone and flashing frequency I saw a spectrum of colors including yellow, blue, green, and purple.

I also saw intricate geometric patterns. Cross hatched and intersecting black lines along with repeating geometric shapes. Every time the frequency changed, so did the colors and patterns that I experienced.

The images on the right are the closest I could find to what I experienced. For the first one imagine a pairing of colors instead of black and white. For the second, imagine this type of pattern in the center of your vision field surrounded by colors on the periphery.

Particularly unnerving was when I turned off the device and the patterns and shapes continued to linger for a few moments.

Brain Machine
Brain Machine Circuit
The inventor, Mitch Altman explaining the Brain Machine
Ganzfeld subject. Image from Wikipedia
Geometric lines

Ultimately, I think I would think twice about using it on a regular basis. However, hacking the code could be useful for future projects (perhaps my own version of a Ganzfeld experiment.)

Drop me a line if you decide to build one of these. It would be great to know if your experiences were the same as mine!

Building the Symbolic Hieronymus Machine

The nice thing about a device without mechanical or electrical parts is the inherent simplicity in building one. And of all the rigs I’ve built, this one gets the prize for most enigmatic – at least so far.

Check out this post if you would like to learn about the backstory of this device and what people claim it does. The focus here is just building one.

Here I present designs for two different versions of the machine:

The first was inspired by the original concept as detailed by editor John Campbell in the February 1957 edition of Astounding Science Fiction.

In this issue, he penned an article entitled “Unprovable Speculation”, which included photos and specifics on the construction of a device which led him to ultimately conclude “whatever it is, it isn’t operating on physical science principles”.

The second and even simpler design was inspired by this post by researcher Mark Boccuzzi, from the Windbridge Institute.

This piece is a fascinating read as in addition to detailing how to build the device, Boccuzzi suggests ways to use it to predict the future. (He discusses his attempt to predict election results.)

Astounding Science Fiction – February 1957

Design #1

Here’s everything you need to build the first version. As you can imagine with a symbolic machine, you can take liberties with the specifics of the design.

As long as the relationships between symbolic components are maintained, the end result should be the same.

Here’s what I used:

  • A small wood project box with a lid
  • A laminated schematic of the device components. You can download my template here
  • A small picture frame
  • A small canvas and foam board for mounting the schematic
  • A control knob
  • A brass rod with a width that can fit the control knob. (I used 1/4 inch diameter)
  • A laminated template for a dial gauge. I used Blocklayer for the design
  • A small block of clear plastic to represent an “optical prism”
  • A length of thread to represent electrical wires
Symbolic Hieronymus Device – Design #1
Symbolic Schematic

The schematic template represents the various physical components that were part of the non-symbolic device originally invented by Dr. Hieronymus. Here’s what the symbols mean:

The “sensor pad” represents a tactile pad that’s used to determine the “rate” for a sample.

The “rate” is a numeric value associated with a particular sample. When analyzing a sample or object, the idea is to slowly turn the control knob while you move your finger back and forth across the sensor pad. When you feel a change, resistance, or something that just feels different, note the number associated with the control knob and that’s the “rate”.

The rate value acts as an identifier for a particular object that is being analyzed. Once you have a known rate for a particular object or material you can use that to help identify other unknown samples.

The “witness well” is the location where you place the sample to be analyzed.

The rest of the schematic represents the electronic components that made up the circuit of the actual (non-symbolic) Hieronymus device.

Here’s how to build it:

First step, paint the project box if it’s not already finished. I used Rust-Oleum for this and chose a semi-gloss black enamel.

Next, print out the schematic template and laminate the paper. Once laminated, cut the paper to separate the “sensor pad” from the rest of the schematic.

Make sure when cutting the template to include a section of the “wires” that are at the bottom of the “sensor pad”.

Mount the laminated sensor pad in the small picture frame while leaving the symbolic wires outside of the frame (see the image below).

Set aside the frame. At a later step, you will be gluing it to the outside of the project box.

As a next step, mount the remaining part of the schematic diagram to the inside of the project box.

Some planning is needed as to where to mount the schematic. The location will be dependent on the dimensions of your project box.

The control knob will be on the outside of the box and connected to a shaft that terminates at the center of the circle that represents the “rate” on the schematic inside.

The laminated schematic will need to be mounted in a secure way to the inside of the lid so that the box can be opened and positioned correctly to accommodate the control knob shaft.

I decided to use a small canvas purchased from an art store. I glued a foam board with the same dimensions as the laminated schematic to the top of the canvas and then glued the schematic to the foam board.

Painted Project Box
Laminated Schematic Diagram
Hieronymous schematic in picture frame
Sensor Pad in Picture Frame

I decided to screw the canvas to the lid of the box to make it extra secure. The image above shows where the shaft for the control knob should terminate.

After mounting the laminated schematic, drill two small holes through the box lid. One is to accommodate the control knob shaft and the other is for the sensor pad “wires”. The hole for the wires should be located under the picture frame.

I used J-B KwickWeld to glue the picture frame to the box lid. It is ideal for bonding metal to wood.

Next, print and laminate a dial gauge for the control knob. I recommend using Blocklayer for this. They have an online template generator that can create customized gauges that can match the dimensions of your project box.

Cut out the gauge template and glue it to the lid of the project box centered around the hole for the control knob shaft. I used rubber cement to glue the laminated paper to the wood box.

Cut the brass rod to a length so when connected to the knob will extend about 1/4 inch beyond the mounted schematic on the inside of the box.

I used a 1/4 diameter brass rod that I picked up at a hobby store. The diameter exactly fit the dimensions of a knob that I happened to have on hand. The knob I used was similar to what you might find on a guitar effects pedal. Use a hex key to attach to the rod.

Push the rod through the hole in the top of the box and on the other end glue a small piece of transparent plastic that represents an “optical prism” that was part of the non-symbolic Hieronymus device design.

Almost anything can be used for this. I attached the plastic to the rod using a little dab of the KwikWeld.

The next step is to connect the “wires” from the sensor pad on the top of the box to the schematic leads underneath.

What to use for the wires? Needle and thread of course, as these are “symbolic” wires!

For the last step, I added some flourish to the top of the box. A decorative metal gear to represent where the “witness well” is located. This is where you will place your sample when operating the device.

Picture Frame with Sensor Pad Glued to Box
Radial Gauge Designed using Blocklayer
Control Knob and Brass Rod
Thread for Symbolic Wires

That’s all there is to the first design. You can see my version of the device below.

Symbolic Hieronymus Machine – Design #1

Design #2

The second version of the symbolic Hieronymus device is a marvel in it’s simplicity.

Just four parts are needed:

  • An 8 1/2″ x 11″ wooden shadow box
  • A laminated schematic of the device components. You can download my template here
  • A control knob. For this version, I used an older style knob that you might find on a vintage guitar amp
  • A potentiometer. Almost any type can be used, just look for one with a diameter that will fit your control knob

After laminating the schematic, glue it to the top of the shadow box. I found that rubber cement works well for this.

Drill a hole through the center of the “rate” dial using a bit big enough for the shaft of the potentiometer.

Place the potentiometer on the underside of the shadow box, run the shaft through the hole, secure it with a locking nut and then attach the control knob.

That is it for this design!

Schematic Template Mounted on Shadow Box
Symbolic Hieronymus Machine – Design #2
Underside of Shadow Box

Make sure to reach out if you decide to build one of your own symbolic Hieronymus machines and would like to share your design!

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 randLight.py and randControl.py 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.

Building Your Own Randonaut Device

DIY Randonauting Device

Randonauting is an activity where random number generation is used as a tool for discovering and exploring nearby locations. The way it works is that random numbers are used to calculate the latitude and longitude coordinates of somewhere nearby and then you visit the real-world location.

There’s a metaphysical mind-matter aspect to this where your intentions are supposed to influence the randomly generated destination. The NY Times said it best – “Think: the Law of Attraction meets geocaching.”

Why would this work? Well, some believe that by using random numbers generated by quantum processes, e.g. a HWRNG device, it’s possible to mentally influence the chosen destinations. The result is the manifestation of some truly surprising, enlightening or even disturbing outcomes. Case in point, the alarming Tik Tok video where randonauting teens discover a suitcase with dead body parts.

Dujour Randonaut Device

This mind-over-matter premise might not be as far fetched as it sounds. There’s some surprising research that seems to demonstrate that it’s possible to mentally influence random numbers generated by quantum processes.

What happens if you focus on a specific intention precisely when the random coordinates are generated? That is what randonauting is all about.

There’s a few differences between my device and the other apps. First – I’ve added a feature: Time. In addition to calculating random geo coordinates I also calculate a random time for the trip. The idea being that it might be more meaningful to identify a point in both time AND space. Journey to a specific location at a specific time to maximize the experience!

The second difference is in the way that I determine the location. I use just two random numbers to calculate the geo coordinates. Other implementations include the concept of “voids” and attractors” which use statistical algorithms to determine the locations. Attractors are essentially a clustering of values that point to a geo coordinate while a void is the opposite (lack of points). In my opinion these techniques just introduce unneeded complexity.

Voids and Attractors
Source: https://itsandrom.medium.com/randonauting-for-dummies-how-to-hack-reality-with-your-phone-using-quantum-randomness-5ce82f66c10e

This is one of my more involved builds, so you’ll need to have some hardware and python expertise if you want to try this out. I call the device “Dujour” (in homage to The Matrix). To follow along you will need the following:

You might be wondering why use a hardware based RNG when a computer OS can natively create random numbers. Great question. Hardware random number generators use quantum physical processes to create truly random numbers while operating systems use an algorithm. Under the covers the OS based numbers are really pseudo-random. They’re random enough for most purposes, but numbers generated using a quantum process are truly unpredictable (at least in theory). Plus, if you buy into the underlying theory of Randonauting which involves mind-matter interaction, there’s that research seems to show that mental intention can only influence random numbers created by quantum processes.


Now you could build this device with a single Raspberry Pi by connecting the hardware RNG to a local USB port, but I prefer a separate device because I do a lot of experimenting with RNGs and it’s useful to have a remote RNG server that several devices can share.

The diagram below details the high-level Randonauting process flow. The primary script is called “rabbit.py” and is run on the first Pi, which I’ll call “Dujour1”. When you run it will make a REST call to the 2nd device “Dujour2” (the hardware RNG host), retrieve a few random float values, and then use those values to calculate the nearby location to explore along with the time to visit. The script then assembles a Google Maps URL and texts it to a phone via the Twilio service.

The video clip below shows the device in action.

Randonauts Device in Action

On the Dujour1 Pi, you’ll need to install and configure linux and connect your display. Follow these steps to connect a Matrix Orbital VK204-25. The image to the right shows the wiring for my display.

For my setup I housed both the Pi and the display in a bell jar and I connected a string of decorative LED lights to the 5V and ground pins on the Pi GPIO header. The jar was just a convenient way to hold it all together plus along with the LEDs I liked the aesthetic. 🙂

Dujour1 – Display Module Wiring

The rabbit.py script requires Python and the following libraries:

  • math
  • numpy
  • subprocess
  • sys
  • time
  • json
  • urllib2

If you get a dependency error when running the script you will need to install whatever module is missing.

There are several variables that need to be set prior to running. They’re all located in the script in the “User Defined Variables” section:

loghandle: path to a text file that logs all runs of the script

window_secs: Used to calculate the maximum seconds in the future to visit the location

meters_out: furthest distance possible for the geo coordinates in meters from your current location

latitude1, longitude1 = your current location (home base). This is used as the starting point

lcd_addr = hex address for LCD display if using I2C communications

HWRNG = IP address and port of remote HWRNG server. XXX.XXX.XXX.XXX:YYYY

There are a few dependencies on external scripts: sendSMS.py is used to send the text message with the map coordinates. orbitalWrite.py is used to drive the display. Place both scripts in the same directory as rabbit.py on Dujour1. Note: my script was developed to work with a specific Matrix Orbital display (VK204-25). If you decide to use a different one, you’ll need to change the code to work with yours. I’ve documented in the script where the interaction with the display takes place.

The sendSMS.py script requires two OS environment variables to be able to authenticate with the Twilio service: ‘TWILIO_ACCOUNT_SID’ and ‘TWILIO_AUTH_TOKEN’. Follow these steps to configure the variables. You will also need to install the Twilio Python helper library.

On the “Dujour2” Pi you’ll need to install and configure Linux as well. This is where you will be connecting your hardware RNG. I used a OneRNG USB device, you can find the setup documentation here. (You can see my server in the image to the right.) Once configured, install and run the rngrestserver.py script to start serving up random numbers to Dujour1. Check here for detail on how the REST server script works.

Raspberry Pi Hardware RNG Server using OneRNG

If you’ve followed along up until this point, you should have everything you need to experiment with Randonauting using your own device. Just run ./rabbit.py from a terminal and the result should be a text to your mobile phone with a map link (like the image to the right).

I’ve had some weird synchronicities when trying out my device. If nothing else, a random journey can open your eyes to nearby wonders that you’ve never noticed before.

In the future I might consider developing a custom Amazon Alexa skill. It would give me the ability to run my Randonauting server from my phone – wherever I might be.

Hey – drop me an email if you decide to build this. Let me know about your experience and any thoughts to improve the project!