<center>
# Lucid Dream Goggles
*Originally published 2012-04-22 on [InvalidPatent.WordPress.com](https://invalidpatent.wordpress.com/2012/04/22/lucid-dream-goggles/).*
Inspired by:
http://hackaday.com/2012/04/19/do-anything-with-the-help-of-lucid-dreaming-goggles/
http://www.gocs1.com/gocs1/Psionics/Lucid-Dream-Goggles.htm
</center>
I built these simple Lucid Dream goggles to achieve what I've been trying for months now, to have a solid dream that I am aware of, and able to control. I've been fascinated with the science of Lucid Dreaming, and being able to invent and explore infinite environments while sleeping. It finally makes those 8 hours of the night (more like 5) seem less of a waste to me.
Code for the goggles:
```arduino
/* Inception Sleep Goggles LEDs in the goggles blink an a timed pattern to
alert you when you are dreaming. The program waits outpin hours for you to
fall asleep before starting the blink sequence every 10 minutes. Credit goes
to the Hackaday post on Lucid Dream Goggles, and to Nick Sweeting for
modification. This code is in the public domain. */
int outpin = 11;
int fadeAmount = 3; // how many points to fade the LED by int count = 0;
void setup() {
// initialize the digital pin as an output.
pinMode(outpin, OUTPUT);
// blink LEDs once to signal power on
digitalWrite(outpin, HIGH);
delay(2000);
digitalWrite(outpin, LOW);
delay(7200000); // Wait 2 hours for sleep to start
}
void loop() {
digitalWrite(outpin, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(outpin, LOW); // set the LED off
delay(500); // wait for a second
digitalWrite(outpin, HIGH); delay(500); digitalWrite(outpin, LOW); delay(500);
digitalWrite(outpin, HIGH); delay(250); digitalWrite(outpin, LOW); delay(250);
digitalWrite(outpin, HIGH); delay(100); digitalWrite(outpin, LOW); delay(100);
digitalWrite(outpin, HIGH); delay(100); digitalWrite(outpin, LOW); delay(100);
digitalWrite(outpin, HIGH); delay(100); digitalWrite(outpin, LOW); delay(100);
digitalWrite(outpin, HIGH); delay(100); digitalWrite(outpin, LOW); delay(100);
digitalWrite(outpin, HIGH); delay(100); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW); delay(50);
digitalWrite(outpin, HIGH); delay(50); digitalWrite(outpin, LOW);
delay(600000); // Wait 10 minutes
}
```
<center>






</center>
---
## 2021 edit: made another RGB pair recently
