I’ve looked at lucid dream induction devices before but there are also devices that can be used to aid meditation and elicit hallucinations, even to the extent people have compared these to psychedelic experiences from things like DMT. I think a lot of the claims are exaggerated but there is some science and data that validates user reports to show these tools may be quite useful.
From those that use light, there are primarily 2 types of mind machines available commercially: Ganzfeld Goggles and more ultra-bright stroboscopic lights that are mounted further away from the user. Ultimately, the science behind how both of these affect a user is based on the same principle and that is synchronicity. It is possible to synchronize brain frequencies to strobing lights or actually any other stimuli such as touch and sound. What is less understood is if this synchronisation corresponds directly to observations seen during meditation. I wanted to take a look at this in more detail myself. I am able to produce strong enough alpha signals in meditation that appear on the Muse EEG band I use sometimes so I wanted to see how a mind machine could compare to this in terms how I feel as well as some data comparisons to help validate.
Available Options
Lucid Dream gear has always been pricey but Light Machines are on a whole different level. Just to give you an idea, here are some guide prices and options:
Image with Link to website | Product | Price | Notes |
PandoraStar | >$5000 | 12 LEDs | |
Ajna Light | hard to find exact prices but well over $5K from what I could find | 5 LEDs | |
Lucia No3 | home system is around $6500, practicioner around $12000? | 8 LEDs plus a central hallogen bulb | |
Enkidu Light Machine | around $2000-$3000 | Higher number of LEDs than the above but not sure if they're as powerful |
The smaller ganzfeld goggle based products are much cheaper at usually between $250-$500, they don’t use as powerful LEDs as the above but they don’t need to be because the light is right in front your face in a pair of glasses.
The gap in actual hardware and software production cost does not account for the massively hiked prices of the light machines so I’m not sure what’s going on but there is a lot of money in using the larger machines in new-age type wellness coaching where “practitioners” or light therapists basically rent these for use at $1 a minute for example and you can use these on multiple people at one time. The goggle products actually have more features a lot of the time as they tend to include things like binaural beats or audio to accompany the lights; the point of Ganzfeld has always originally been external sensory deprivation in order to excite neural noise.
Likesaid, despite all the material and supposed science you will see on the higher end products’ websites, you will find no major difference of the main principle of how these all work, which is simply pulsing light various frequencies. Based on that simple fact, I figured it would be easier and cheaper to take a DIY approach, which can probably do the job at least as good as most of these for a fraction of the price.
This has already by done using Arduino several times, this is a great example of one:
Also another I found:
Nowadays it’s even easier than this with products like the Circuit Playground Express. I already used this board to show how it can be used for lucid dream induction with the onboard IR motion detector but it also makes for a great brain-machine with 12 color programmable onboard NeoPixel LEDs. I had the idea for this a while back because it’s obvious when you look at the board layout and LEDs – it’s perfect for this project.
Here's how the CircuitPlayground looks vs one of the light machines that costs over $2000:
This is a pretty straightforward project with no additional hardware needed aside from a battery if you want it to be more mobile and then maybe a stand of some kind. For the software:
1. I set up a few variables that relate to brainwave frequencies.
2. Put the Circuitplayground in a loop that strobes a random set of the LEDs to the relevant frequency, I also randomize the colours.
3. The left and right toggle buttons can be used to set the colour brightness of the LEDs, I actually prefer a dim brightness, these NeoPixels get super bright. You could try a pure white colour at the brightest settings to get an idea. I limit the brightness to 70 out of a max of 255 so my code limits the full brightness to around a quarter of what it can be!
4. The toggle switch on the board can be used to switch between alpha and delta
brainwaves just because those are the ones I’m most interested in for now – it’s easy to change these in the code to any other useful brain frequency you wanted.
#include <Adafruit_CircuitPlayground.h>
const float lowAlpha = 55; //around 9Hz
const float theta = 83.5;
const float delta = 225.3;
const float beta = 34.7;
float options[4] = {delta,theta,lowAlpha,beta};
float freq = lowAlpha;
uint8_t brightness = 70; //set max brightness to 70, otherwise I find these too bright
float currentMillis;
float deltaMillis;
long gap = 1;
long start;
bool checkBrightness = false;
void checkButton(){
if(checkBrightness == true){
if(CircuitPlayground.leftButton()){
//Serial.println("left button pressed"); button debugging
delay(200);
if(brightness == 10){
brightness = 70;
}
else{
brightness = brightness - 10;
}
CircuitPlayground.setBrightness(brightness);
}
}
if (CircuitPlayground.leftButton() || CircuitPlayground.rightButton() && checkBrightness == false) {
checkBrightness = true; //enter brightness setting mode
}
else if(CircuitPlayground.rightButton()){
checkBrightness = false; //save brightness setting and exit
}
}
void setup() {
Serial.begin(9600);
Serial.println("Mind Machine");
CircuitPlayground.begin();
CircuitPlayground.speaker.enable(false);
}
void loop() {
currentMillis = millis();
if (CircuitPlayground.slideSwitch()) {
freq = lowAlpha;
} else {
freq = delta;
}
if(checkBrightness == false){
gap = random(1,4); //gap between LEDs
start = random(3); //rotation offset so it randomizes the orientation
for (int i = start; i <= 11; i = i+gap) {
CircuitPlayground.setPixelColor(i, CircuitPlayground.colorWheel(random(0,255)));
}
delay(freq + random(-2,2)); //randomize the frequency very slightly to add a bit of noise - optional
checkButton(); //check if brightness change button was pressed
CircuitPlayground.clearPixels();
delay(freq);
checkButton();
}
else{
for (int i = 0; i <= 11; i++) {
CircuitPlayground.setPixelColor(i, CircuitPlayground.colorWheel(25 * i));
}
checkButton();
}
deltaMillis = millis() - currentMillis;
Serial.println(deltaMillis/2); //timer debugging, can use this to fine tune frequency settings and check the delay time is ok
}
Although for this project I was focussing on Alpha, or specifically low alpha/alpha1, brain frequencies related to meditation are not all the same because not all meditation is the same. I suggest looking at the work of Jeff Tarrant and NeuroMeditation for a better understanding of brainwaves and research on different states of consciousness. There are some great talks on YouTube on this.
I actually reached out to Jeff to see what he though of light machines and he said he believes that is has a place and merits further research. He is also working with a colleague to test light patterns.
I personally am more sceptical about how effective these things really are as something to use consistently. I do think just simple breathing techniques and a more stimulus deprivation approach is just as effective although this kind of tool might help on the odd occasion. Quiet rooms, those that have been padded in such a way to stop sound waves from reverberating have actually been shown to make people hallucinate as without external stimuli, the brain’s internal noise is apparently increased.
I've recently designed my own EEG module that is a complete end-to-end system that replaces what I was using the Muse band for because I needed more control over the hardware and more flexibility for the studies I do. I'll create a separate post to go through it in more detail but essentially the analog front-end is very similar to OpenEEG/ModularEEG but I use a dedicated ADC to record the data to an sd-card and a nordic NRF chip to extend connectivity with bluetooth and handle things on the MCU side. It's a single channel EEG module but records at a higher bit rate than the Muse and I can use better dry electrodes with this setup.
I used the new headband to test how my brainwaves change using the light machine using the Alpha1 frequency setting:
The graphs below show a spectrogram and a plot of alpha waves from a 15 minute session with the circuitplayground. You can see increased activity in alpha activity overall that peaks around halfway which is when I actually moved how I was sitting. This is consistant with how a more relaxed state would look and that's how I felt. The thing is, I could probably achieve this without the light machine so it's hard to say how much of additional boost it adds.
I also tested it at a different time of day and using the Muse S as a tracker instead. Mind Monitor has a great online tool for look at brainwaves in relative terms:
You can see in the below chart even just from a short 5 minute session that alpha activity fairly quickly increases, particularly with respect to other frequencies. Again, this is consistant with relaxation as above.
You have to do more in-depth analysis to compare with a light machine vs without and test different frequency patterns but at least from my experience it definitely didn't seem to have a negative impact and probably did help reach a more relaxed state quicker; even with that said, I probably wouldn't use this very often.
I've also had good use from white noise sound and sound machines for sleep that I think are more effective - although for a different purpose. I'll be looking into that next at some stage.
If you're interested in the EEG devices I've made, get in touch as I've got a few of these modules at hand with software available to use with them.
More Info:
Neuromeditation Institute: https://www.neuromeditationinstitute.com/about-nmi
Mind Monitor: https://mind-monitor.com/
Circuit Playground Express: https://learn.adafruit.com/adafruit-circuit-playground-express
Links to commercial light machines are in the first table/chart - you can click on the images.
A totally amazing project, thank you so much for sharing! I don't have any experience with programming and am a bit lost with information I see online on Circuit Playground and also will appreciate some help with your code. Could you please prompt how to load your code into the Circuit Playground and how to tweak it? I am particularly interested in trying to induce deep levels of meditation which according to the literature are associated with gamma activity, so I wonder which parameters I need to change in your code to, for example, get a constant white flickering with the frequency at around 40Hz? I tried Lucia No3 machine, and I have Muse S which showed lovely high alph…