Today, we’re pleased to announce the release of the Zeo Data Decoder Library!
On the Origin of the Feature
By default, your Zeo sleep data is encrypted on the SD card. The only way to view that data (except on the bedside display) is to upload it to your myZeo.com user account where the data is decrypted and displayed. Once there, you can export the data to a CSV file.
We received feedback from users asking for a way to interact with their sleep data without having to upload it to the site. There were a variety of reasons for this feature request – ranging from academic research to privacy concerns–but we’re now happy to say that you asked; we delivered.
What is the Data Decoder Library?
The Data Decoder Library is a special version of Zeo Bedside Display software that places decrypted data on the SD card, plus a Java decoder to further interpret that data and output a CSV file. The Data Decoder Library is an Alpha release for hackers and developers – it’s not meant for everyday consumer use. The source code for the decoder is released under an open source license and we hope that developers and hackers will take advantage of this library to build cool stuff (like a desktop sleep data viewer).
We didn’t go the final step of creating a mySleep.myZeo.com clone on your desktop because we’re focusing development efforts on creating awesome web and mobile experiences for interacting with your sleep data and improving your sleep. That’s also where the majority of our customers have told us they want to interact with their data. Since we don’t have immediate plans to develop this desktop software, we decided the best way to proceed would be to open up the platform for others to innovate on.
Why We Did This
- It’s your data. You get to take it with you – and you don’t have to upload it to our website if you don’t want to.
- We like openness – and this is another step in that direction.
- People will use this to do some cool things that will add value to the Zeo ecosystem.
We are also in pre-release for a Web API, and I have discussed in the forum the work we are doing on the Zeo Raw Data Library. The Zeo Raw Data Library will open up access to real-time sleep data and brainwave data… imagine the possibilities! The goal is to open things up as much as possible without damaging our core business and build an ecosystem around Zeo that adds value for everyone–Zeo customers, Zeo, developers, & other companies.
So, Where Do I Get It?
Software and documentation are available here. Once you’ve set it up and experimented a bit, join the discussion on the forum to get help, swap notes with other users, or just tell us about your project.
Thanks again for your feedback and keep it coming!
Ben (ZQ: 75) is one of the co-founders of Zeo and company CTO. He’s passionate about keeping Zeo at the forefront of wireless technology, and about giving users control over their data.

{ 9 trackbacks }
{ 13 comments… read them below or add one }
WoooHooo!
Thanks for opening up the product guys!
Firstly, many thanks for releasing this software under an open license! This makes it extremely easy to re-write the code into an Android of Linux based app that can be freely distributed.
One question though. After installing the updated 2.6.3O firmware, will I still be able to import information in the now unencrypted .dat file through the mysleep.myzeo web app?
Joel,
Data from 2.6.3O firmware will upload to mysleep,myzeo.com just fine. Watch out on mixing data in a ZEOSLEEP.DAT file between 2.6.3 and 2.6.3O – that will cause problems. So get your data off, upgrade, then wipe the card and start collecting 2.6.3O data. Here are the specific instructions from the Zeo Data Decoder Library Documentation:
“Update Zeo Bedside Display Firmware to 2.6.3O
The standard Zeo firmware (version 2.6.3) produces encrypted .dat files. This decoder is only capable of decoding unencrypted .dat files produced by firmware version 2.6.3O. Please follow these steps to disable SD card encryption:
1.Upload data as usual.
2.Download the zeo.img file corresponding to firmware 2.6.3O.
3.Place the zeo.img file on the SD card.
4.Update the firmware on your Zeo.
5.Tell Zeo to erase the Zeo Card.
6.Use your Zeo as usual and enjoy having offline access to your sleep data.”
The idea of writing an Android/Linux app sounds awesome. Remember that if you don’t need offline access we are developing a Web API that may be more useful for you goals. Let me know if you would like early access.
http://developers.myzeo.com/web-api/
Yay! You guys are my heroes! Now I can easily overlay this with my CPAP data!
Not wanting to appear as ungrateful, but how about streaming the data out of the serial port on back? That or some simple command-based structure to retrieve last nights data and I’d be able to make myself a nice sharepoint portal with all my information there without having to eject the SD card. Would be exciting!
Todd,
We have some plans in this direction – check out the Zeo Raw Data Library here:
http://blog.myzeo.com/forum/zeo-raw-data-library/an-introduction-to-the-zeo-raw-data-library/
We stream sleep phase and raw signal out the serial port on the back of Zeo.
I would absolutely buy software that would let me look at my data on my own computer. Even better if it would integrate the data output from my Sleeptracker watch, CMS50 fingertip oximeter, CPAP and Zeo all on one graph. I think a lot of the complaints about Zeo people have on Amazon have to do with the granularity of the data available thru myzeo being too coarse and also there are not enough channels of data so the record is not as informative as a real sleep study. With an application that integrated all those 4 measurements I mentioned, a person could really get some deep insight into their sleep.
I am really excited about the open source nature of this project, opening up the code is a FANTASTIC idea. Thanks!~
Awesome move, Ben. This is just fantastic, and opens the door for tons of other cool and unplanned uses: arduino hacks, iPhone apps, better web interfaces (not that we don’t like myzeo.com, but… err… it can be improved
), auto-sync between two Zeos (for couples), etc.
I’m sure the entire community of hackers, makers and DIY-ers will appreciate the move.
thanks!
Good news – in our mission to continue to open up the Zeo platform we have released the Zeo Raw Data Library. Direct access to brainwaves!
More here:
http://blog.myzeo.com/zeo-raw-data-library-free-your-mind/
Dumb question here – do all the web applications still work if I’ve installed the Raw Data Library update to the Zeo? I’ve downloaded it but haven’t installed it yet.
Bill,
Everything on the web will work fine as long as you follow these instructions (same for 2.6.3O and 2.6.3R). Let me know if you have any questions!
The standard Zeo firmware (version 2.6.3) produces encrypted .dat files. The 2.6.3R firmware produces decrypted .dat files. To avoid mixing encrypted and unencrypted outputs on the SD card, please follow these steps:
Upload data as usual.
Download the zeo.img file corresponding to firmware 2.6.3R.
Place the zeo.img file on the SD card.
Update the firmware on your Zeo by following these steps:
Press the settings button.
Press right 8 times to show the software version.
Press down to load the new firmware.
Tell Zeo to erase the Zeo SD card.
Use your Zeo as usual and enjoy having offline access to your sleep data and raw data access.
With this kind of openness, I am less hesitant to buy this device. Thanks!
I would like to see a few open source desktop apps on SF.net that could use this data. But this is above and beyond.
is there a difference in the “zeosleep.dat” generated by the “R” and the “O” firmware version?
is this true?
original firmware: NO serial – ENCRYPTED zeosleep.dat
“O” firmware: NO serial – DECRYPTED zeosleep.dat
“R” firmware: ACTIVE serial – DECRYPTED zeosleep.dat
or if not, what else is the difference in between the versions?
…eok
You’ve got it correct.