Life Beyond Zeo
We knew the inevitable was coming, but as of last week it appears Zeo has finally shut down. When I posted the FreeMyZeo site the other week I was hoping their API servers would stay up long enough to allow others to salvage their sleep data. Although Zeo’s main website is down, there’s still hope for continued use of the Zeo bedside and mobile products. As Ernesto posted on QuantifiedSelf.com, there are other ways to still download you’re data. I think what would be helpful at this point is to provide a list of links and instructions so people can still get the most of the Zeo product. This should ultimately end of in a wiki so others can contribute, but for right now I’ll kick of some links to get the process started.
- Quantified Self Form – Zeo Shutting Down: Export Your Data!
Zeo Raw Data Library
This is useful if you own the original Zeo bedside unit. Zeo released for developers a version of software and a library that enables a user to view their sleep phase and brainwaves in real time using the serial port on the back of Zeo. You can reference the Archived page here. I grabbed copies of a few different firmware versions from forum posts and one of my backups. Note: All of the Zeo data decoder docs I’ve read mentioned that you need R. I’m not sure of the difference between the R and O versions and haven’t personally tried to install yet, so use at your own risk. You can also reference the documentation for the Zeo Data Decoder Library.
- Version 2.6.3O [Posted on QS shutdown thread above]
- Version 2.6.3R [Posted on CPAPTalk]
- Version 2.6.3 [Original Zeo Firmware from June 2010]
More detailed instructions for updating the firmware can be found at Sleep Stream Online, along with instructions on how to create a custom serial cable for getting real-time data (for those really inclined to hack). The basic instructions for upgrading the firmware are as follows:
- 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 – a) Press the Settings Button b)Press right 8 times to show the software version c) 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
I haven’t tested too thoroughly yet, but it appears there is still hope for the Android and iPhone apps. On Android, there’s a project on GitHub – Open Zeo Android Mobile API. If you’re inclined to code and hack this might be a good option. For the iPhone there are a couple ways to access your data.
Extract the SQLite file
Simply go to Help -> Diagnostics -> Send Diagnostic Information and type in your own email. One of the attachements will be a ZeoDataStore.sqlite file. You can explore this embedded database and export by using the SQLite Database Explorer. You can also use a program like iExplorer (http://www.macroplant.com/iexplorer/) to browse the app and download this and other files, or extract from an app backup on your computer.
If you want to see a sample SQL file of what this database looks like, including real data (yes, this is all of my sleep data), check out https://www.dropbox.com/s/5lx5efk63guknlu/zeodatastore.sql.
I haven’t verified on Android, but I’m sure there’s a way to grab the SQLite file in a similar fashion.
Data Format Documentation
A copy of the Zeo Data Export Format is available. Although this is a little higher level than what’s in the SQLite database, many of the fields should match.
You can undoubtedly find replacement headbands and sensors on Amazon and Ebay (get them while they last). There’s also an interesting article on Instructables if you want to make your own. Check out:
- As time permits, I’ll upload the FreeMyZeo site to allow you to send an email or upload and get a copy of your data in .CSV format
- I have a Bluetooth protocol analyzer, and at some point I’d like to reverse engineer the data between the headband and mobile units.
- TRAQS.me, a QS data aggregation service, will still be able to support ZEO data. We’ll eventually add the ability to directly import data from the raw zeo decoder or upload directly from the mobile app (via the SQlite file)