Lightstone hack

The main background introduction for this project, along with some test data can be found in my earlier post about the Wild Divine Lightstone here.

Mini-DIN plug with photoresistor mounted in cap

Mini-DIN plug with photoresistor mounted in cap


Previously I tested the photocell receiver initially (shown above) by using a remote control handset by pressing one of the buttons in order to send the pulses across a short distance.

Graph showing 3 Infrared remote control pulses


It was a case of working out and using the supply from the connector to power the led itself.

Wild Divine Lightstone with Infrared LED connected

Wild Divine Lightstone with IR LED connected


After testing it was simply a case of using a suitable dropping resistor after measuring the various voltages on the pinouts to confirm polarity, etc.

Schematic of final sensor pair

Schematic of final sensor pair

An old PS/2 mouse lead worked perfectly as the wiring corresponded exactly to the actual pinouts used without having to rewire the connector plug which was rather convenient.

The only exception is the blue wire which I left unconnected as it wasn’t needed.

A PS/2 keyboard lead terminated with a 6 pin mini-DIN connector would also be suitable for wiring up the sensors.

6-pin mini-DIN plug showing connections

A terminal block was fitted and glued inside the blue cap along with the two angled sensors, namely the photoresistor and the infrared LED.

Lightstone photo-sensor

Lightstone photo sensor cap arrangement

The blue cap could then be screwed and fitted on the eye mask itself.



Firstly I conducted an ‘off air’ test using the latest Lightstone IOM plugin from Lucidcode, which can interpret the changes in reflected IR signal picked up by my sensor whilst I’m wearing the mask over my (closed) right eye.

LucidScribe screenshot of 3 short eye blinks

LucidScribe screenshot of 3 short eye blinks


Post-WBTB testing

Lucid Scribe ended up ‘hanging’ during one sleep test session that I conducted recently with the Lightstone plugin. Underclocking the program to 200 however seemed to cause no problems with no adverse effects noted with the readings.

Further tests with the mask were encouraging as the sensor picked up movement from reflected light. It was then a case to see if the threshold was sensitive enough, plus the small matter of actually getting to sleep!

The latter proved a problem for me, although I did record a session or two composed of wakefulness, light sleep and hypnagogia.

However once I did eventually manage to fall asleep during a post-WBTB session which resulted in the recording of some probable REM during an actual (non-lucid) dream which was quite vivid.

A 60 second epoch is shown here.

Lucid Scribe screenshot of recorded dream data

Lightstone response graph courtesy of Lucid Scribe, showing eye-movement (during, or near the end of a dream) triggering at 7.57 am on November 16th 2014

Note the ‘IOM Heart’ trace (blue) is the actual signal variance from reflected IR light picked up by the photosensor itself.



I would like to try more testing for more consistent results, although this project does look very promising.

In fact Michael has kindly offered to take a look at my uploaded results so far, basically to see if he can improve the triggering threshold for the plugin itself.



In theory I basically just hooked my DIY LED motion sensor up to what I had lying around, namely an OCZ NIA after first testing it with a Sky satellite IR patch lead and an ordinary remote control.

OCZ NIA IR remote control test setup

OCZ NIA prior to testing

A normal remote control will emit pre-programmed pulses of infrared light commonly using a 40 kHz carrier when a corresponding button is pressed.

These radiated pulses can also been seen on most web cams in the form of a bluish or purple light, and they can also be heard on AM radios that are in very close proximity to a handset which is a handy way of testing a remote control should you need to.

NIA trace of IR pulses

NIA output after initial calibration

In practice on testing, simply passing my finger in close proximity across the sensor caused a reflection of the red light which was picked up by the corresponding LED, thus causing an output change.

LED TRX sensor

Homebrew motion sensor prototype

Upon wearing the cup with the sensor fitted I did get it to trigger by consciously moving my closed eyelids, although I have not tested it during a REM episode.

Furthermore the OCZ NIA (which incidentally has a Lucid Scribe plug-in available here) is obviously not designed for this where I found it did pick up erratic spurious signals (possibly from the power supply?) which would cause problems along with calibration issues.

Therefore I do not advocate that someone hacks their OCZ NIA or any other neurological device as you could seriously damage it and invalidate the warranty.

On that point I do not recommend that you substitute the LEDs for IR type ones (if you intend to try and detect eye motion that is) unless you fully know what you are doing and do thorough research on the subject.

IEC International Standard 62471 covers the photobiological safety of lamps and lamp systems, including light emitting diodes used in proximity sensing.

I did hook up the sensor via the OCZ NIA and Lucid Scribe but I found the specific algorithm is not quite compatible with the output due to the initial expected signal which should be from a headband normally and not an improvised hack like mine.

However even when using the prescribed headband in normal use I found the OCZ NIA to be a bit temperamental where I would have to calibrate every so often, more so at the start.

I’m hoping to try to obtain or make a set of electrodes in the near distant future which could be worn more comfortably when resting, unlike the current headband which has the tendency to trigger the EOG channels when moved.

The actual rubber headband works great whilst in a sitting position as the OCZ NIA is designed for gameplay rather than what I need it for, namely sleep monitoring.

I have intended to only use or measure the one EOG channel above one of the eyes, relative to the reference point at the centre of the forehead. I may have to use all three contact points as a comparison to see if the transient noise and calibration issues improve, or somehow isolate the other reference channel properly from the one I want to take the readings off.

To do this I may try using a high value resistor on the channel I don’t intend to use and not leave it ‘open’ (as in unconnected,) in the hope that this might make the signal more stable.


Mouse FIELD – REMote switching

The theory behind this idea is that you will relax your fingers either at or near the point of sleep onset, therefore releasing your grip of the switch or button.

This idea is useful for the student who wishes to observe the hypnagogic state and maybe also learn the delicate balance between sleep and wakefulness which is a useful trainer to help attain a near-WILD state, depending on the time used.

Schematic for mouse switch mod

Left button mouse switch mod

A standard spring contact switch has been used via 1 metre of twin cord, terminated by a 3.5 mm mono jack plug.

This emulates the operation of the left mouse button which is a feature of the FIELD program.

Simply releasing or opening this remote switch is enough to activate a music track in Lucid Scribe which you will either (consciously) hear or incorporate in your dream.

Hacking a mouse in this way is a case of connecting your wires from the remote switch across the terminals of the contact switch mounted on the pcb under the actual left button via a suitable mono jack socket.

Remote switch

I did try a length of RG-58 coaxial cable initially for the lead, but the choice was impractical due to the weight and pull on the mask.

I found the choice of the actual switch important due to the pressure of holding or pressing the button.

I did experience a fair degree of numbness in the fingers which proved to be a distraction when I first tried the idea out.

A case of trial and error when testing.


Project ‘DreamCaptcha’

I did intend to name this hack after the famous diminutive cartoon mouse character named Jerry from the MGM television series I saw in my childhood.

Jerry was always being chased by a large grey and white pussycat affectionately named ‘Tom,’ who in turn often got chased by a big irate landlady; or worse still a big bulldog named ‘Spike.’

However I thought of a play on the word ‘Dreamcatcher’ was more in keeping with my project.

Mask and optical mouse assembly

Cup and mouse main component assembly

Michael from Lucidcode had suggested to me on his blog earlier about maybe using a mouse and incorporating it with my cup project.

So in the name of science I did think of hijacking the optical mouse currently on my computer, but alas there would be no blog!

I therefore obtained a cheap mouse from my local store on the high street basically to experiment with as I didn’t have a suitable one spare.

I do in fact have a ‘wireless’ mouse (see note below) but I have no dongle for it.

However my AM shortwave receiver maybe could be utilised as it can pick up the raspy pulses emitted by the mouse at close proximity, as I accidentally found out the mouse operated on 27MHz, the original Citizens Band or CB frequency.

On that note I wouldn’t personally advocate using a standard Bluetooth wireless model or the 2.4GHz types as microwave frequencies are commonly used, albeit at lower power levels.

Any engineer though will tell you that microwaves and eyes do not mix.

This is a project for another day however.



With my new mouse on initial inspection out of the packaging, I found the outer casing and construction to be quite basic with cheap looking plastic.

Actual operation of the mouse was on the poor side due to a creeping pointer issue on screen, although the buttons and the scroll functions all performed well.

Internally there are the minimum of components. The main P7516 camera IC is mounted on the PCB along with the usual bright red emitting LED, the scroll encoder and the obligatory button switches.

The thin cable is terminated with a USB 2.0 plug as standard.

I therefore replaced the LED with a similar looking IR one and after being careful to observe the correct polarity, I decided to add an extra electrolytic capacitor on the +5 volt rail to try to help with filtering and reduce the pointer creep issue.


Optical mouse schematic featuring the p7516 IC

Incidentally I could not find any datasheet on the P7516 itself, although I did come across one for the Avago ADNS-2610 device.

Initially I did intend to angle the LED relative to the sensor, and do away with the mouse-base assembly altogether and just mount the PCB in the cup itself.

However this idea is more akin to photocell operation, whereas with this method technically a camera-type sensor (although somewhat crude) is being used here.

From what I have learned is that an optical mouse relies on a shallow reflection method whilst the camera measures relative changes in surface patterns to depict overall movement.

This would be quite important, where it might be a good idea later on to be able to ‘see’ what the camera sensor is picking up on the eyelid surface, and whether the camera is sensitive enough to pick up the tiny movements and/or the correct light reflections and patterns with an acceptable contrast.

A good example of surface contrasting is seen when comparing pictures of a full moon against when it is waxing or waning, and looking at the crater details, etc.



After making a note of the connections and the circuit itself, I proceeded to cut the PCB board down to size as I didn’t need the encoder or button switch functions.

(I did however fit a small temporary cover over the sensor hole on the IC underneath to stop any likelihood of any fine dust getting in the component itself before any cutting and sanding took place as a precaution.)

The plastic lens assembly was handled carefully too and stored away from dust during initial construction. It was remounted later on the newly fashioned base and tacked on with two small bits of glue after wiping a careless fingerprint off the one lens face.

Mouse PCB assembly

PCB assembly on original base

I did miscalculate the position of the base initially, which meant I cut off more plastic than I needed to resulting in more work and a cosmetically poorer looking fit on some of the inner cup edges.

Cup and mouse assembly showing guide marks

Cup showing positioning guide marks

After threading the lead through I positioned and held the base assembly in using blue tack which is very Heath Robinson.

The lens slot itself corresponds to being over my right eyelid centre, although I can alter the position (or angle) of the base relative to the cup in the hope of finding the optimum result before fixing it permanently with glue.


Initial testing

I began testing the cup assembly in relative darkness mainly to avoid interference from ambient light sources, including the computer screen, especially as the cup is made of semi-translucent thin plastic material.

A future idea would be to prime and paint the plastic cup surface so the device could be used for late morning WBTB sessions, or daytime napping perhaps if ambient light does prove to be an issue.

This design overall is after all intended for post-WBTB mainly for less hassle and hopefully better results when comparing with all night use.

After initially trying the device ‘off air’ with the latest Lucid Scribe FIELD plugin, I did get a promising strong blink response which was confirmed by a mouse pointer swing on the desktop screen of over 1 inch in a roughly sloped horizontal direction.

However the initial sensor sensitivity response seemed subdued regarding subtle eyelid movement made, although as a proximity sensor it had a good response when putting your finger nearby and across the immediate pick-up field of view.

I did initially think the mask needed further testing to resolve any sensitivity and ‘pick up’ issues which would have resulted in either slight repositioning of the base, an axis change, or even a complete overhaul, including maybe even trying the angled sensor/LED pair method that is commonly seen in lucid dream mask designs reliant on traditional phototransistors or photocell technology, like the early NovaDreamer for example.

However I found that I had to trim a little more plastic off the edges of the cup to make the base of the mouse assembly fit very close to the eyelid itself.

The sensitivity seemed to be in acceptable limits on Lucid Scribe with not too much background creep, noise or ambient light issues.


Post-WBTB testing

Lucid Scribe did trigger due to random eye movements whilst I was in the midst of settling down to sleep which is to be expected, although I did get a soundtrack trigger response in the middle of a dream the second time I tried it where the soundtrack woke me up just after.

(Incidentally the first test I found it hard to get back to sleep.)

Lucid Scribe graph showing FIELD mouse response post-WBTB

Post-WBTB mouse response graph courtesy of Lucid Scribe showing possible dream eye-movement triggering at 7.40 am on August 13th 2014



I think more testing may be needed to try and rule out any possible false triggering due to ambient light, pointer creep (stability,) or even bodily movement and artifacts.

It is quite a challenge as the eye is never as still as you are led to believe, hence the need for the correct sensitivity to discriminate against low level movements and noise of any description.

Captcha box - lucid dream art



This project is presented as a prototype for possible post-WBTB use. The article is presented here as a guide only.

Under NO circumstances should a mouse that uses a laser or laser-type diode be used, or substituted with one as serious eye damage will result, even blindness.

The majority of mouse circuits tend to use flickering or strobing LED lighting in their design.

Therefore this project should be avoided by anybody who is photo-epileptic or photosensitive.

Seek medical advice if you are unsure, before undertaking a project.

The author, Lucid Dream Art does not assume responsibility or any liability whatsoever for personal injury, including damage to computer equipment whilst making, testing, or using the project itself.

Article and photos © 2014 Lucid Dream Art. All rights reserved.


Lucid Scribe FIELD is a plugin developed by Michael Paul Coder at

Captcha, (the Completely Automated Public Turing test to tell Computers and Humans Apart) is a trademark of Carnegie Mellon University at


Project ‘DreamJacker’

So after having a Blue Peter moment I thought of making a mask from an old plastic milk carton where I could change the caps or ‘lenses’ as I call them and interchange with caps fitted with suitable LEDs for lighting or eye-movement sensing.

Milk carton mask and partslayout

Various parts and tools used (table optional)

After marking and cutting the carton top off carefully then it took a couple of guesses to work out the shape to fit round the contour of my face with minimal gaps.

You had to decide beforehand whether to make a left or right sided cup depending on your eye preference as this was not interchangeable.

The blue threaded cap could be removed for later use with LEDs and sensors of your choice, including clip-on bike lights.

A couple of holes were made either side in the plastic using a hot soldering iron in order to fit the two laces.

As this is quite bespoke regarding sizes which involve a UK product then I have decided not to add any dimensions as these would change elsewhere.

However one of the mask cups I made did fit the contours of my rather bemused girlfriend’s face when tried.


Halovision hack

Halovision is a plugin devised by Michael Paul Coder for his Lucid Scribe program. It has been designed primarily for use with built in laptop cams to monitor and detect eye motion and REM in subjects.

A clever algorithm detects the eye movement and motion picked up by the camera from distance over time. A short soundtrack of your choice will then play on your computer after a pre-determined amount and level has been recorded.

For my WBTB only project I was able to gouge out and increase the internal diameter of the hole at the top without weakening or ruining the threading on the neck.

Thus I could accommodate an old standard web cam which was lying about the house unused and unloved.

To reduce and improve the weight issue the stand was removed after, whilst in a later design a lighter sleeker web cam was simply fitted and glued in the cap. You did have to work out the axis and the focusing beforehand as you had to screw the cap on; otherwise your image would be either blurred, tilted, at an angle or at worst upside down as I found out.

i-cup with cam and illumination

My i-cup showing diffuse illumination

A standard games adapter powered a triangular array consisting of 3 white LEDs in series with a dropping resistor were arranged behind the translucent plastic to provide enough illumination for the camera sensitivity; with the diffuse quality hopefully not being too much of a distraction for the person intending to sleep after wake back to bed.


Project ‘Roxanne’ using Halovision

I basically mounted a lighter smaller web cam in the plastic cup itself which was then worn over the one eye.

Using red LEDs mounted directly gave a trade off between camera sensitivity and light issues providing a more smoothing red glow that was easier on the eye.

i-cup cam with red LEDs

Later design incorporating a lighter cam with red LED illumination


Halovision screenshot

Actual Halovision camera feed and movement data test

After feedback and a useful tip from Michael himself I carefully added a black mark on my upper eyelid using a water based ink marker pen to try and improve the contrast and discrimination.

Halovision eye-blink screenshot

Eye blink pick-up response showing ink mark


Halovision stairway screenshot

Stairway to heaven


Post-WBTB testing

The mask is basically tied around the back of your head using a couple of shoelaces. You wear the mask like an eye patch, preferably on your back in the supine position to minimize discomfort caused by weight.

With most masks comes the dreaded red ‘mark of Zorro’ outline on the face if you are not careful. Hence the necessity to sand any sharp plastic edges down to minimise any marks, pain and discomfort.

You must not be allergic to the plastics used including if you fit any rubber skirting round the edges of the mask to reduce pressure.

I mainly had the big problem of trying to basically trying to stay still and fall asleep whilst lying on my back as it is not normally natural for me to do so.

Even today I still have this issue which I shall work on hopefully in the near future.

I did also snatch one of the USB and power wires during one test as they were ungainly as they were like an umbilical cord. I could live with this impracticality post-WBTB, but certainly not at the start of normal bedtime, as even commercial dream masks have been known to be ripped off unsuspectingly by accident during the night unknowingly by the sleeper.

You did also have some ambient light issues including where I had an occasional power supply glitch which caused the lights to change brightness level.

I guess battery operation could be used for the lighting, although regarding USB then I don’t really personally like the idea of using wireless Bluetooth transmission so close to the eyes.

A further weight improvement would be to just use only the essential guts of the camera perhaps.


Ganzfeld idea

This was based on using an artificial light source to try and create hypnagogic imagery when the subject is sufficiently relaxed with their eyes closed.

I did not use white noise however although it might be an idea later on.

Tri colour led in operation

I basically fitted a single tri-colour LED that I managed to salvage from some scrap Christmas lights that were simply ripped up and dumped in the street.

Along with the led a suitable dropping resistor and a 3.5 mm jack socket are all mounted inside one of the caps which simply screws on the cup.

Power again was provided by a standard games adapter. The mains being sufficiently isolated due to the plastic parts used in my design so safety would not be an issue.

I found the (closed) eye responded best to certain colours only plus it was a bit disconcerting after the experiment due to one eye receiving light whilst the other didn’t, raising the chance of headaches, etc.

Normally I would refrain from using a direct blue-light source with red being my preference. The LED is intended to be used in a closed-eye situation only, to minimise discomfort and for any safety reasons.

I noticed that I had the added bonus of being able to lie and rest on my side with a pillow without too much disruption or loss of comfort when compared with the camera-mask set up.

I did intend to use an external timer to activate the device post-WBTB as a future experiment but the light output has to be right.

Too little output and you will sleep through it. Too much however will cause you to awaken. Simples!

A dropping resistor was needed to reduce the intensity of the light, even on a lower voltage setting.


DIY LED motion sensor

I used another interchangeable blue cap to mount a couple of LEDs as transmitter and receiver fixed at an angle facing opposite each other with covers fitted to reduce stray lighting, etc.

A suitable dc voltage and dropping resistor was used on the transmitting diode as before.

They are both normal LED types. A standard LED when exposed will react to a (certain wavelength) light source and show an output.

You would proceed to hook up the output of the receiver in the ideal world up to some suitably designed op-amp stages to amplify and process the signal.

Generally an Arduino is also used by designers where it can be programmed to their specific requirements and specifications.

LED sensor in darkness

LED sensor in darkness

If I get chance I will try and follow on from this by building a basic op-amp circuit, etc. with some filtering to start off with or maybe even an Arduino board later on, who knows?



Become the ‘Lanterne Rouge’ of your own thoughts and dreams.

Firstly I don’t claim credit for originality in regard of using a rear bike light as a DIY brainwave entrainment device, although I won’t be the last to either.

I did see an article on the Internet somewhere where somebody basically strapped a flashing cycle light over their eye for about 10 minutes whilst resting in the hope of inducing a trance.

He may have ended up with a headache perhaps, but at least he didn’t end up with a ticket from the traffic police or Boris Johnson for that matter.

Basically I found two old sets of integral clip on bicycle lights, of which the one had to be repaired. I then modified a couple of my spare blue caps by putting cable ties through them.

In this way I didn’t even have to destroy or modify the lights in any way. I can screw them off the goggles and remove them completely when I need to change the batteries, etc.

I could have used one only as in my previous projects but I didn’t like the idea of flashing lights in the one eye only, hence the reason I made a pair of plastic goggles out of a left and right carton top.

The light source is diffused via the blue cap and the outer casing of the bike light and the goggles themselves.

Due to the angle of the caps the light is not directly placed over the eyes although it is not a problem. In fact it helps as the light is distributed reasonably well and you see a pleasant red pulsing with the eyelids closed which is the general practice with all such devices.

The closing of the eyes usually signifies the start of relaxation as this is when the brain generates Alpha waves.

A pair of hypno goggles

The last shall be first

The red LED lights can be set to flash continuous which might be useful for Ganzfeld – type experiments or they can be set to flash slow or fast at around 1 or 3 to 4 times a second.

This corresponds roughly to the Theta range of the brain which is about 4 Hz, or in old money, 4 cycles per second more or less. This is believed to be when the brain is in a creative-type state.

I managed to knock this pair up in an afternoon without cutting the ends of my fingers off with a sharp knife or burning a hole in my trousers with the soldering iron, although I did have to go out and buy some elastic.

I guess the woman in the shop thought I was making a pair of knickers rather than attempting to change my consciousness.



I intend to try them whilst resting in the hope that I will relax and maybe generate some hypnagogic imagery if I’m lucky.



I would like to try and further improve on these hacks; time permitting that is although I’m a bit mindful of trying to re-invent the wheel, etc. so I present this in order that it might inspire or motivate others with their ideas.

Full article, photographs and images © 2014 Lucid Dream Art. All rights reserved.

Not to be used without prior permission.

Lucid Scribe courtesy of Michael Paul Coder at

3 responses

22 08 2014
Matt Terndrup

Hey Rob! I write for Michael Paul Coder just told us about your project, and we would love to write up a featured post on it. Do you mind if we use the milk carton photo at the top of this page for it?

22 08 2014
Lucid Dream Art

Hi Matt.
That would be brilliant! After all I hope that my project will inspire others to explore their own ideas and creativity whether it is in the field of software, electronics, or even art.
I know Michael has featured on Hackaday with Lucid Scribe and I thank him for putting forward the suggestion to you.
Feel free to use the photo if you wish and if you need anything further then don’t hesitate in contacting me.

P.S: I have since adapted a mouse for use in the cup for use with the Lucid Scribe REM FIELD-mouse plugin developed by Michael Paul Coder.
I have just updated my projects page to reflect this, although I have only done a few ‘on air’ tests post-WBTB as I currently have trouble sleeping.

24 08 2014
Lucid Dreaming with Plastic Milk Cartons

As featured on

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: