The Software: The Full OpenLD Analysis Program

A project log for OpenLD: Lucid Dreaming Research Platform

An open source platform to help induce and explore the realm of Lucid Dreaming for Research and Personal Well-being

Jae ChoiJae Choi 10/01/2016 at 20:381 Comment

In this post, I will now talk about the complete OpenLD analysis software. I will demonstrate what it does and how to use the software. All the source code for the software is located in the Github repo here! (Also located on the left Project sidebar). A pre-alpha windows build will be available very soon in the Github repository.

OpenLD Software Overview

Here is a GIF File demonstrating the program in use:

We enter information such as the number of channels that we are going to use, the channel labels, the EEG channel number, and the delay for alarm (in hours). Afterwards, it connects to the OpenLD and initiates a terminal over the Bluetooth SPP. In this terminal prompt, appropriate channels can be activated (C#) along with impedance checking (I#). Commands such as P and S displays the ADS1299 internal registers, while the command E exits the terminal and starts the analysis procedure.

The next display shows the impedance values, which shows signal connection quality, and the current status and time. The program continuously displays the above information until the user manually quits the program using Control-C.

This is where all the REM analysis takes place. A sound file, that is in the same directory as the executable, with a name rem_alert.wav is played when an appropriate REM stage is detected. Then, it will wait at minimum 7 minutes before another trigger to give the dreamer a chance to induce Lucid Dreams.

When the program is running, it logs the received bio-signals into a BDF file called data_###.bdf, where ### contains the date and time information. Also, it logs the analysis information, which contains values for SEFd, AP, RP, Eye Movement counter, and REM stage status, into a file called analysis_###.txt, where ### is again the date/time.

The BDF file (data_###.bdf) can be opened with an open-source browser called EDFBrowser by Teuniz:

The above shows the Fp1-A2 forehead EEG channel along with two EOG channel electrodes. You can see the prominent alpha rhythm (10hz), which is induced when a subject has his/her eyes closed and relaxed. (Benbadis et al.)

More information about the program will be presented as it is developed. Currently, the program is in a pre-alpha state, hence there are many improvements that will be made. However, it is fully functional to induce lucid dreams! In the next project post, I will demonstrate what different type of sleep stages look like and evaluate the performance of the software.


Benbadis, S. R., & Lutsep, H. L. (2015, October 12). Normal Awake EEG. Retrieved October 02, 2016, from


Philip wrote 09/18/2017 at 04:39 point

I just purchased the ADS1299 EVM board. The software example was written for Xp. I am using Windows 7. Is there any code in C to get my SDK up and working? I have been using Cypress CPU boards. Thank you.


  Are you sure? yes | no