Adventures in Sleeping


Sleep Data Acquisition

Since fall 2011 I own a Zeo Sleep Manager. Every night I put on a headband that has a sensor resting against my forehead. Three pads of silverized conductive fabric pick up electronic waves given off by my brain, my eye- and facial muscles. These signals lie in the range of 5-100 minivolts, are collected at a sample frequency of 128 Hz and sent wirelessly to the Zeo Bedside device. Every 2 seconds the collected samples are run through a Fast Fourier Transform to look for synchronized behavior at specific frequencies. Those 2-second answers are then smoothed over into 30-second answers, averaging your state into one of 4 categories: wakefulness, REM, deep or light sleep.

Categorizing your Sleep States

  • 11-14 Hz, with spikes … LIGHT sleep
  • 2-4 Hz, Delta waves … DEEP sleep
  • 30 Hz, heightened eye movements, fewer muscle contractions … REM sleep

On the bedside display (and on the website) those 30-second segments are further averaged into 5-minute segments. Of course these algorithms have to deal with noise and human diversity, and are therefore not always right. Zeo states that in experiment the devices proof to correlate with the opinion of sleep researchers using a polysomnograph about 75% of the time.

Information taken from How-the-Zeo-Sleep-Device-Works and 5-Steps-to-Phasing-Sleep.

Sleep Cycle

A sleep cycle is the stretch from one REM segment to the next. Typically people have 3 to 6 sleep cycles each night and an average cycle is generally between 90-110 minutes long. Of course
everyone has different sleep cycles.

Smart Waking

Besides recording your brainwaves, the Zeo Sleep Manager also functions as your morning alarm. A special Smart Wake feature tries to help you avoid morning grogginess by waking you at a transition between REM and Light sleep. (I do use the feature, though I neither agree nor disagree on if it makes getting up easier or not.)


Sleep graph on the Zeo website showing the different sleep states over the course of one night. (This is a good night of sleep, in case you are wondering!)

Sleep Diary and Analysis

In addition to the sleep-state recordings, Zeo makes you rank your sleep experience according to several more subjective categories. You specify your stresslevel, environmental conditions, disruptions, caffeine and alcohol consumption, sleepiness, level of activity before sleep, etc.

Together those two sets of data open up many opportunities for analytical dissection. The Zeo website provides a range of analysis tools that make looking at your sleep data a lot of fun. You have different graphical visualizations for each night, and statistical tools that let you map different sleep data parameters against each other. (Drinking equals more deep sleep! Sunday night sleeps are the shortest of the week!) You get to compare your data to the average of your sex-and-age group (Zeo does have the largest home-collected sleep database in the world!) and see the development of your sleep numbers over the course of weeks or months. Data-nerds couldn’t be happier.

Zeo is even friendly enough to let you export all your sleep data (brainwave readings, personal sleep diary) in a nifty csv file (Thumbs up!). I started to play with my data in processing (see visualizations below), and am still thinking about possible ways to visualize and analyse the dataset further.


My REM sleep mapped against the day of the week.
My deep sleep mapped against my alcohol consumption.


Graph showing my hours of sleep per night, measured over the last 255 days.

255 days later

I’ve been using my Zeo for three quarters of a year now, trying to collect data every single night. There are occasional interruptions from nights when i forget to put the headband on, nights the headband slips off my forehead or stretches of time when I don’t bring the device on trips.

I am convinced my sleep has become healthier since i started tracking it. The simple fact of owning a sleep tracker, the repetitive pattern of putting the headband on at night and taking it off in the morning, the curiosity of looking at the sleep data right after waking up – all these factors have influenced me and made me much more conscious of my sleep behaviour. Of course in addition I also tried harder to improve my sleep, by giving myself a wind-down hour just before going to sleep and by allowing for almost 8 hours of sleep.

And all this effort and sleep excitement obviously let to better sleep. One of the surprising results of the tracking has been the realization that it doesn’t take me nearly as long to fall asleep as I thought it does. My average falling-asleep-time ranges now between 5 to 15 minutes. Yet instead of not being able to estimate time durations, I think this might be more due to the fact that I now avoid drinking tea later in the day and try not to stare into screens right before bedtime (and i use f.lux that adjusts my screen color temperature according to the daytime).

Live-Data and Lucid Dream communication

Besides using it for what it is meant to do, you can also explore and hack your Zeo Sleep Sensor further. And of course people have done so. You can use it as a live-data input sensor (ZeoScope), try to trigger lucid dreams at the right moment (also ZeoScope) or share your current sleep state online (Sleep Stream Online).

More Sleep Adventures

I don’t know yet where I’ll be going next with this, but I am for sure not done yet with my sleep explorations!

More sleep graphs based on my data can be found here.

The longer I sleep, the more likely it is I’ll remember a dream on wakeup. RED = dream memory, GREY = no dream memory


Graph showing my sleep data from the last 255 days. Nights positioned according to time.

Hack the Data

    • Zeo Data Display
      allows you to load your exported data (.csv) and display it in two chart modes
    • Zeo Raw Data Library
      allows you to have your Zeo device export data in a raw data format, that can more easily by read by third-party programs
    • Zeo Decoder Viewer
      allows offline browsing of your sleep data (.csv) and also saving of shorter sleep patches
    • ZeoScope
      ZeoScope is a biofeedback application based on Zeo Raw Data Library. It allows you to record full sleep sessions, to display frequency / EEG information, and even has a Lucid Dream Sound Alarm feature (requires Bluetooth speakers/headsets).
    • Sleep Stream Online
      stream all of your EEG waveform, frequency bins, sleepstages, events, and eye movements from your Zeo to the internet. Communicate to other users from your lucid dream!
    • Zeo Web API
Posted in Research and tagged , , , , , , , .

2 Responses to Adventures in Sleeping

  1. Pingback: More Sleep Graphs | evsc

  2. Pingback: Frequency bins | evsc