Zeo shutting down: export your data!

2013-August update:

Zeo Inc has shut down and took all its data with it. They have sold their assets, and the website is dead. This thread will likely contain many dead links to Zeo’s site. Old versions can be found by pasting the link at http://web.archive.org.

The Zeo page on Wikipedia has a section that lists some alternatives and workarounds -

This post will be updated to reflect the current state of affairs. In the meantime, please see Dan’s post #4 below.

As a former Zeo user, you might be able to:

  1. Upgrade your Zeo with the new firmware if you have not already done so, so it will store unencrypted data which can be accessed without the Zeo website.
  2. Depending on how long you plan to use your Zeo, you may want to buy replacement headbands (~$15 each, I think you can get a year’s use out of them). Amazon still stocks the original bedside unit’s replacement headbands and the cellphone/mobile unit replacement headbands but who knows how many they still have?

I’m sad that they’re closing down. I’ve run so many experiments with my Zeo, and there doesn’t seem to be any successor devices on the horizon: all the other sleep devices I’ve read of are lame accelerometer-based gizmos.

Current state of affairs (October 2015)

In the meantime, ResMed bought the intellectual property of Zeo and makes another sleep monitor. See how the S+ compares to Zeo. However, the Zeo lives on!

Here are some sleep stats from Zeo’s former site.


Seconding that.

Gwern’s link ( http://developers.myzeo.com/raw-data-library/ ) is to a library that allows viewing data via the serial port on the back of the bedside unit. There’s also a library that allows decoding offline the “sleep data stored on the SD card” - http://developers.myzeo.com/data-decoder-library. It’s not clear to me yet how to access the data sent to smartphones via Bluetooth by the mobile version of the Zeo (the Sleep Manager Pro/Pro+).

NeuroVigil’s iBrain is the only EEG-based successor I know of, but they’re not selling their device to end users yet.

Thanks for the NeuroVigil link; I don’t think I’ve heard of them. We’ll see how they develop over the coming years.

(I don’t know how to handle the mobile Zeos either. I only have a bedside unit.)

Attached are the firmware and the data decoder library. I downloaded them right on March 12.

See also http://www.openyou.org/2013/06/11/zeo-firmware-and-raw-data-api-on-github/

For a Zeo data viewer, looks like the best post is Jay’s.

I’ve asked him to write a summary of the current state of affairs, and I’ll make that a top post for the thread.

The Android app has an open API with code at https://github.com/zeoeng/zeo-android-api. It provides sleep stage info (not raw EEG data).

A Zeo user said that you can get the .CSV file that the mobile app produces:

That said, those who are comfortable working with a spread sheet can get the same data provided by the Zeo Decoder Viewer right now, without having to buy a Zeo Bedside. I found that I could easily save my naps by just exporting the nap data to a .csv file and saving it on my computer before Zeo deleted the data to track my next night’s sleep.

Anyone who has a Zeo Mobile can track naps without the Decoder Viewer by saving the data to a .csv file before Zeo deletes it; however, for those who want charts automatically created for them, it would be great if Zeo added an “export as .dat” feature to allow mobile users to import data into the Decoder Viewer as well.[/quote]

ZeoDataDecoder.zip (164.0 KB)
ZEO-firmware-v2.6.3O.zip (161.1 KB)

1 Like

I’m very sad to hear about this. I haven’t been using my Zeo for the past 6 months because things have been busy and buying more sensor pads had been something on my to do that I kept forgetting to do. But I had intended to pick things up again.
I am certainly going to set things up to allow myself to use it without the web interface, but I am unsure about how to go forward without a source to buy new sensor pads.

I’m seeing on amazon the Zeo is selling an adhesive version. http://www.amazon.com/Zeo-Mobile-Adhesive-Replacement-Headbands/dp/B00C337XRU/ref=sr_1_3?s=hpc&ie=UTF8&qid=1367880135&sr=1-3 I gather this is something newer that I missed. It may be a route though that could allow for 3rd party sensor brands. I ordered some of the new sensors on Amazon (Not sure if they will get shipped though if Zeo is not operating) and am going to take a look at them. But the connector on the back looks like it is a fairly common type so I’m hoping that other electrodes might also work still (maybe http://www.biopac.com/disposable-electrode-100 for example). If anyone has other ideas I’d love to hear them.

Hi Dan,

I’m new to this forum and have some questions about Zeo. It’s a real shame they’ve shut down. Luckily, I was able to download and use the 2.6.3O firmware and I have a good supply of headbands. My next step is to export and back up this data. I’m not a programmer, so I wonder if you could point me to a step-by-step on how to get all this “open” data to a spreadsheet.

Some background on me: I’m currently on a four-month, NASA-funded simulated Mars mission called HI-SEAS (hi-seas.org). We’re mainly studying novel food systems for long-duration missions to Mars, the moon, etc. But we’re also conducting personal experiments. I’m looking at sleep with Zeo. I’m only vaguely familiar with the work the QS community has done with Zeo experiments. And so I’m hoping through this forum, I can firstly get a better handle on the Zeo data and back it up safely, and second, discuss ideas for slicing and dicing it. This simulated mission is a great opportunity for me to learn a thing or two about programming.

Thanks in advance to you and others who chime in.


Thanks for posting these Dan.

So, I happened to read the full post by the above user, and he is really talking about being able to use the mobile unit for napping. In order to do so, one would need to download the csv file from the website, before napping or sleeping again, in order to get the file before it is overwritten. This is not alluding to a method for exporting the data to a csv, without using the website. We are currently looking for, and working on developing our own, Android app that will allow data extraction from the Android device, without requiring upload to the website. let me know if anyone out there is working on or looking for the same. Thanks!

Hi Kate - we are working on the same process. Were you successfully able to view your decrypted .dat file using the Zeo Decoder Viewer yet?

Hi speters14,

Actually, the documentation in the data decoder library (attached) is quite good. My problem is that I didn’t understand some of the basics, but I’ve since figured it out.

The following explanation is intended for someone who uses a mac and hasn’t done much programming or worked in the mac terminal.

(Note that all steps in 2.1 of the Zeo Data Decoder Library Documentation.doc must be followed, including #5, “Tell Zeo to erase the Zeo Card.” I didn’t do this initially, but when I did, I was able to get at the data in the subsequently saved files.)

2.1.2 in the documentation sent me to Google to discover that the Java development kit (Java JDK) is already installed on macs.
I opened up the terminal program I did as suggested and typed javac -version to confirm that I did in fact have java installed on my machine. The version showed up in the next line. Then: which javac
This gave me the same thing as the person in the post.
Then: ls -la /System/Library/Frameworks/JavaVM.framework/Versions/ and everything looked okay. Alright! Good to go on the Java front. You don’t even need to do the second part of 2.1.2, “Run Ant to compile the source.”

Next I tried to run java -jar ZeoDataDecoder.jar [options] /directory/zeosleep.dat, but I wasn’t clear on which directories to use and even how to get to the one I wanted. So I looked up basic terminal commands.

And I made a new folder in my documents titled ZEO. I copied my ZEOSLEEP.DAT file and ZeoDataDecoder.jar and put them in the ZEO folder.

Then I changed the directory the terminal was looking at to this new folder by typing cd ZEO

To check and see if this is the right folder, I typed the command to check the directory path: pwd Then I checked to see if everything was in the folder I thought it was by typing ls It was! Good!

Then I typed java -jar ZeoDataDecoder.jar ZEOSLEEP.dat

At first, I hadn’t gone through the steps from 2.1 in the documentation all the way (I had loaded the firmware, but didn’t erase the SD Card), so I got this error:

"ERROR: File may be encrypted.Please update to firmware version 2.6.3O to disable SD card encryption.
WARNING: Invalid record identifier skipped after record 0.
WARNING: Valid records stopped before file ended."

But after I went back and did step #5, I was able to see data from subsequent night’s sleep data. (Not data from previous nights, unfortunately.) Java output the sleep data to the terminal screen. If you want to save the data to a text file in the same folder, just type: java -jar ZeoDataDecoder.jar ZEOSLEEP.dat zeosleep.txt
And if you want to save it as an xml file, type java -jar ZeoDataDecoder.jar ZEOSLEEP.dat zeosleep.xml

Hope this helps.


Zeo Data Decoder Library Documentation.doc (169.5 KB)


For anybody interested, I put up a data exporter at http://eric-blue.com/projects/freemyzeo . It does still rely on the actual ZEO API servers being up, but in the case of the myzeo.com website being down or throwing login errors (like it did all last week), this gives a way to still grab data while you can.

I have downloaded the new firmware into my MAC. And how do I get this into my iphone??

Hi Kate et al,

I took a slightly different route and I was able to get the decoder viewer working. I got version 0.2a2 compiled and working on my iMac with OS 10.6 at one time. Unfortunately I don’t remember the steps. Version 0.3a seems to want Java 7 which requires OS 10.7. I was able to use the viewer on my laptop, but the results don’t look as good as the web site was. I plan on using the decoder and then processing the results in Excel. At this point it is a manual process. I don’t have a good model to fit the data to. My best results were looking at the weekly patterns and then relating to external events. My longer term plan is to merge the data with a 3 axis accelerometer, to evaluate movement with brainwave activity.

As a side note, I am using the Toshiba WiFi card to pull the data from my ZEO so I don’t have to sneaker net it every day. If the ZEO site wasn’t down I was thinking about trying to push the data directly to their server. Unfortunately Toshiba is about as helpful as ZEO for getting information on the advanced features of their card.

I am also interested in the Heartmath process of looking at heart beat to beat variation as related to sleep states. I don’t have a sensor for that yet. I think my current HR monitor is 30 second averages. One of the sites talked about using the raw data output from the ZEO and looking at the signals when the headband was placed across the chest near the heart.

Good luck on your NASA study. Have you read “Packing for Mars”?

[quote=“Dan_Dascalescu, post:4, topic:561”]
Here are the firmware and the data decoder library. I downloaded them right on March 12.
[/quote] Hi Dan would you have a copy of the firmware updater. I have just been lucky enough to buy a new zeo mobile from someone on ebay but the app on Iphone is looking to update the headband firmware to 1.9. You were the only post I could find that had the files.

Few questions from a newbe (from Holland); is there a alternative to myzeo because it is shut down? The Eric Blue’s neurosky-brainwave-visualizer seem to me not work with existing data.
Another question I also think every wants to know, a good alternative for the headband when they do not work any more.

Oh, after searching the net I have found a link for a DIY replacement headband. I will post it here: http://www.instructables.com/id/DIY-Replacement-Zeo-Sleep-Monitor-Headband-Sensor/

Hi everyone I am new to this forum. Please can anyone help me. I have severe sleep problems which started a few months ago which have stopped me sleeping for several weeks.
My doctor has given me sleeping pills but I now have a fear of going to bed knowing I will be awake all night. I have managed to buy a Zeo Mobile new from Usa Ebay I paid nearly £160 for postage and import duties. I needed the zeo to give me some reassurance that I was having some sleep however little and give me something I could monitor.
But when I connected everything up synced my I phone and started the zeo program the program said my head band firmware needed updating. As Zeo no longer exists It has been impossible for me to get it going. Please could anyone help me to get the firmware in the headband. I think I need another program to get the firmware in.
Kind Regards.

I’ve thought alot about this today, in particular. I’ll save you the various efforts and leave you with my current best-bet. On the iPhone (I realize this may not help all smartphone users), click help->diagnostics->send diagnostic information, then delete customersupport@myzeo.com and type in your own email.

When you get your sqllite file, you can open it with (you guessed it) sql lite.

I have a variety of challenges down to how to convert the datetimes, and the data since the servers went down seems to be partly encoded in a blob.
There’s a file above in this thread for the zeo data decoder library, and the documentation inside has a lot of good info that I’m guessing as of now is more or less directly compatible with the above mentioned fields, I’ll check tonight but my guess is that the numbers I was thinking were seconds could be counts of 30 second epochs. I’ll clarify this more if and when I can correlate the various fields to the doucmentation.

I also don’t mean to imply that these files will ever work with the sd or web api utilities. My goal is more to be able to retrieve and use the data myself.

I have yet to determine if it’s easier to guestimate the missing fields (risetime for example), or try to parse the blob.

I will continue to look to see if someone else has already done this to avoid having to do it myself, but at least this seems to answer the question how to get the data off the smartphone.

I do find it nice that it provides the 5 minute state data.

zsleepgraph, and zbasehypnogram in particular.

zbasehynogram starts off 00000000000000000022211222221111…

I am a little bothered that I can’t quite correlate that to the image I see in the app. So if anyone can volunteer what the differerent numbers mean it’ll help.

Those two fields alone are probably what most people want. Those and the summary columns that deal with time in each mode of sleep.

I dabbled with select datetime(zbedtime ,‘unixepoch’,‘utc’) from zzosleeprecord and it gives me the best date time so far, so last night it says 1982-06-04 05:14:32

I’m assuming the year is just not specified, so I will add an offset to bring that up to 2013, and the 5:14am adjusted for PST sounds about right, again close enough for me.

The only other thing I’m leaning towards right now is timeinrem/60 gives me 3.65, but in the app it says 3:39, so I guess that’s 65 100ths, thats the same way the timeclock at work does it so I guess it’s not that uncommon, so I’ll have to adjust for that too

Not sure this helps anyone, but I thought I’d throw this into the ether.

There’s a link above to Zeo Data Decoder Library and the documentation in that file has a section 3.2 Sleep Information which I’m hopeful will help me make more sense of the data, and I will follow up to this after a day or two (I just found this thread today).
If I get sidetracked indefinitely it looks like there’s a lot of good data in there that may (or may not) be the same as what’s in the sql lite data.
I also don’t mean to imply that any of this will make your iphone bluetooth data compatible with the sd card utilities. My objective is more to get it into either excel or access where I can continue to ferret away my sleep data, and hopefully produce some kind of meaningful report of trends over time.

Guys, you have lost me. I just wanted to have access to my stored data/records, and make sure I have the software updated. This all exceeds my ability to keep up with you.

Thank you anyway.

I did not get my data downloaded. I am using Zeo per the request of my doctor, but now I can’t get to my data.

I have downloaded the library files. In the instructions, it says

2.1.2 Compiling from Source
The Java JDK must be installed in order to compile the source code.
Run Ant to compile the source.

I have installed JAVA but I don’t know what Run Ant means. (I am not a programmer):shy:

Can someone help me?

[quote=“wparish, post:15, topic:561”]
…zsleepgraph, and zbasehypnogram in particular.

zbasehynogram starts off 00000000000000000022211222221111…

I am a little bothered that I can’t quite correlate that to the image I see in the app. So if anyone can volunteer what the differerent numbers mean it’ll help.

I think I have the zsleepgraph worked out, from last night this pretty much matches my iphone graph:
2 rem
3 light
1 wake
3333 light
4 deep
333333 light
22222 rem
3333 light
44 deep
3 light
44444 deep
3 light
222222222222222 rem
3333 light
444 deep
3333333 light
222222222 rem
33333 light
222222222 rem
33 light
222 rem
1 wake

The longer version is just more granuar. I still have to work out how I want to visualize that. But honestly I may not put a whole lot of effort into it from here as I think I have the main thing I wanted.

The other numbers in the database, contrary the the document for the sd card, don’t appear to be epochs. I can pretty much divide the number by 60, then take the remainder, and multiply that by 60, and then mash the two together (rounded off) and get the same time I see on the iphone summary.

So I have all the data I need. It looks like the easiest thing to do for me is to work out java program to convert it into something I can just import into excel. But if anyone else comes up with a utility or way to visualze the output I would like to know.

I apologize to the people who are put off by this technical babble. I realize it’d be nice to have a simple process, but the app seems to be built around their domain, and without access to that there will always be a manual process to work around that (unless someone buys the company and restores the online services).

It also appears to me that there would be two separate processes based on whether you had the sd card version or the mobile version. Which further complicates things. I suppose the charitable explanation is that Zeo never expected to fail.

Hi all,

We used the Zeo’s for research last year, and now wanted to use them again and thus recently realized we have a serious problem with reading the data.
Can we still use the solution to upgrade the firmware? And if so, how do we do that? (sorry if that’s a silly question) If it’s via the website then I guess we’re screwed.


For all who are interested (the first step especially for @LiesN). I just bought the ZEO bedside and also facing the problem, how to export the data and read it and create usable charts of it. I am not ready but I am on the right path I assume so I will share my findings :slight_smile:

First udate firmware (ZEO-firmware-v2.6.3O.zip, read post #6 in this thread). That is easy, unzip file and place zeo.img on the SD card in the ZEO folder. Then klik Settings button, go to software, change it, et cetera.

Next, with the ZeoDataDecoder.zip (also read post #6) now you should be able to create a CSV file from the ZEOSLEEP.DAT file because with the new firmware you have an unencrypted ZEOSLEEP.DAT file. How excatly this is done I am busy to find out.

Then… with the programming language “Processing” ( http://www.processing.org/ ) and the zeo library ZeoLibrary-5.zip ( http://code.google.com/p/zeolibrary/) it should be possible to create from the CSV a nice graph. I am not sure how but I am busy trying :slight_smile:

To be continued…