Zeo shutting down: export your data!

Hi all,

I finally got it to work, I am reading the data on the fly using the arduino. Many thanks for your help!

I was wondering if you guys know the format of such data or a reference to this format. It seems like a package of data starts with 65 and then a sequence of numbers, time stamp, etc. But not sure if there is a data format sheet to make sure I am parsing correctly those values.

Thanks!

Hi zeolith,

Attached is the information I have.

Enjoy

ZEO Raw Data API.pdf (263.4 KB)

Great. Thanks again!

I am getting a raspberry Pi soon so I might give a python parser a try as well.

I purchased a bedside Zeo over three years ago for my son who never used it. This unit has set in our closet unopened until recently when I decided to use it. After setting the unit up, opening the sealed sensor bag, and placing the sensor on the unit for charging, it took over 2 hours to even recognize the sensor unit and start the charge. Then it took another 5 hours to show full charge. But, I expect that the battery is too weak after sitting unused for so long, and that it will not hold sufficient charge to last through a night of logging. Does anyone have any experience with replacement of the batteries. I found nothing in the manual about replacing the battery(s). I may have to attempt to pry the sensor open.

Hi Alfie,

I hope the charge held through the night. 5 hours to charge is not too bad given they probably did not design the Zeo Bedside to fast charge the headband, and a slower charge rate should extend battery life. The fact that it did display the headband as charged is a good sign! From my experience Zeo put a lot of thought into the Bedside Unit design, so there may be life left in your unit.

We are all looking at the future of battery replacement (see post #101 this thread). Let us know how it works out, and if possible take pictures of the process and insides when it happens.

Thank you.

Zeo Bedside Model Resources

Terms of Use:
zeotermsofuse.pdf (71.6 KB)

Original encrypted firmware:
firmwareoriginal-v2.6.3.zip (163.9 KB)

Basic unencryption firmware:
ZEO-firmware-v2.6.3O.zip (161.1 KB)

Unencrypt and allow real-time serial port access firmware:
firmwareopenrealtime-v2.6.3R.zip (165.3 KB)

Python library - bridge to real-time port:
ZeoRawData-2.0.zip (6.9 KB)

Decoder library allows access to data in text or XML format:
ZeoDataDecoder.zip (164.0 KB)

GUI viewer with decoder library provides visual access and access to data in XML format:
ZeoDecoderViewer0.2a2Release.zip (594.2 KB)

Original myZeo website export data help sheet:
Export Data Help Sheet.pdf (527.9 KB)

To unencrypt previously encrypted data, see the post by bo3bber, here:

See a new Zeo viewer developed by Woodinblack:

send pm or email for corrections or additions

2 Likes

The Bedside Zeo DataDecoder Installation

Terms of use: zeotermsofuse.pdf

The Java-based Zeo DataDecoder reads the ZeoSleep.Dat file of the SD card and produces a txt or xml output.

The DataDecoder runs in the command prompt or Terminal Mode.

For Windows, remove all previous versions and download and install the latest Java (JRE) from Java.com. For Mac, see Java.com for instructions pertaining to particular OS.

To install the DataDecoder, first update the firmware with v2.6.3O or v2.6.3R. See instructions in post #90:

Next, download the ZeoDataDecoder.zip and extract the files to a chosen location.

Review the Doc file included, but note: Java JDK and Ant are not required.

In Command Prompt, change directory (cd) to the DataDecorder directory chosen above.

Then execute one of the following basic commands:
(assumes copy of zeosleep.dat file residing in working directory)

Write to screen
java -jar ZeoDataDecoder.jar ZEOSLEEP.dat

Create text file in working folder
java -jar ZeoDataDecoder.jar ZEOSLEEP.dat zeosleep.txt

Create xml file in working folder
java -jar ZeoDataDecoder.jar ZEOSLEEP.dat zeosleep.xml

Modify the commands as necessary/desired:

directory/java -jar ZeoDataDecoder.jar [options] /directory/ZEOSLEEP.dat /directory/zeosleep.txt

See Doc for options.

Most common errors relate to path and directory. For example, the error

‘Java’ not recognized as an internal or external command

most likely means you will need to precede the Java command with its full path or modify the PATH variable.

Here are partial examples of txt and xml outputs.

1 Like

Thanks. So far so good for the first night use. The battery indicator is inconsistent with description in that it blinks a lot longer than 2 hrs of charging and after indicating a full charge will begin blinking if the headset contact is broken even for a moment, as if it is a weak charge. But apparently it is okay and lasted the night. Now I need to figure out the whole data conversion process (CSV preferred). If I need to experiment with battery replacement, I will post up the results here.


I am going to attempt one of the data conversion processes offered up on this forum. First I need to upgrade the firmware but am reluctant to irreversibly alter the existing capability of my bedside unit without a backup.

Is there any reason why I can’t take a spare SD card, format it (in my PC) and insert that with the firmware update, reserving the original SD card (with original dat file) for retracing my steps if something goes awry. I’ve also DL a copy of the original firmware file.

More specifically, the original Zeo SD card is a 250 meg and my spare is 1 gig. Would I need to match the capacity exactly for the Zeo unit to recognize and utilize? Wonder if Zeo anticipated that possibility (of a different SD card being used)?

Input appreciated.

Alfie, I see no reason your 1 gig card won’t work. The card that came with mine was 2 gig. Don’t forget to insert your new card into the bedside unit 1st to create the Zeo folder. Then put the new card in the PC and copy the new firmware into the Zeo folder. It will not work if it is not in the folder. Also, you must erase the card after installing the new firmware, because when you put the card back in the bedside unit to update the firmware it will write encrypted data to the card. Erasing after updating gets rid of that encrypted data. Neither decoder will work if there is still encrypted data on the card.

The decoderviewer is probably the easiest to install and work with, both the viewer and the decoder use the same firmware update procedure. Review the steps in post #90.

Jay

Hi Alfie,

I have an 8 GB card in mine so 1 GB should be fine. The Zeo Bedside is tolerant of other folders on the SD card as long as it has the one it wants, which is put on by erasing the card from the bedside unit. You can completely wipe the card on your PC and then put it in the Zeo Bedside and erase it again to create the proper folder and necessary data file. If you are updating firmware it also goes into this folder. Remember to erase the SD card in the Zeo Bedside after firmware update.

I don’t think you need to save the original SD card. The process was to transfer the data to your PC and then upload to the myzeo.com website, so just save the encrypted file somewhere you can find it.

Good luck.

I have some contributions to make on Zeo sensors (it was I who wrote all the Wikipedia Zeo,_Inc.#Effect_on_users section (as it stands today) mentioned in message 1, BTW).

I’m not an expert writing authoritatively; in particular the suggestions I make are probably extremely inappropriate if you use electrodes in a life-critical medical environment. I’ll try to distinguish what I’ve found out, what I’ve read, and what I think is reasonable! All this may depend upon each person’s skin, hairline, etc.

While Zeo was still a going concern, I saw some postings about using disposable adhesive gel ECG electrodes with offset press-stud connections, which was reported to give better results than the Zeo headband.

Electrodes used were Ambu Blue Sensor Monitoring Electrode. P-00-S/<number in pack, e.g. 50>.

From my reading: ECG electrodes come with several different connectors; only the press studs are suitable. In the Ambu range the final “S” means stud; “A” and “F” are different connectors (but more on this later). Most electrodes have connectors in the middle of the pad, which is not suitable for Zeo; it is essential to use offset connectors. The electrode is basically a pad covered with an electrically conductive gel, to give good skin contact over a largish area. It can be fixed to the body with, say, sticky tape, or an electrically conductive glue can be used (the glue is water-soluble; you can wash it off with water, don’t use alcohol). There is nothing magical or high-tech about what an electrode is; there is even a project to make electrodes with the plastic inserts in beer-bottle crown tops, using a flour, water, and salt conductive (but not adhesive) gel for use in countries that get given ECG machines but can’t afford disposable electrodes.

I think I also read somewhere of someone taping the Zeo transmitter directly to their forehead, getting a signal.

The problem with gel electrodes is that they dry out. The Ambu electrodes come in packs of 50; the pack has an expiration date, and an opened pack must be used within 30 days. For non-critical applications like Zeo I would simply use them until they became unreliable. I tend to refrigerate things to make them last longer, but doubt that it would help with an open pack of electrodes. Hermetic sealing of the pack and squeezing out air should help (this is recommended by sources, not just my idea). The blue center of Ambu electrodes should never be pressed, but only the white ring; always avoid any pressure on the center, especially when pressing an electrode onto the skin to get it to adhere firmly and removing tape.

General advice for nurses is that electrodes should be placed on dry skin. For ECG, contact is improved by shaving the skin and removing dead skin cells by rubbing with a rough paper or cloth.

I read somewhere (Amazon review?) that you could get two nights’ use out of the Ambu electrodes, but that results on the third night were not reliable.

It’s basically a matter of money; you can buy electrodes and use 3 every 2 days, discarding opened packs after 30 days and unopened ones on expiry. This adds up over a year; you can try to extend electrode life to reduce the outlay. I estimate that using electrodes every day, once only (as specified) and buying one pack at a time from Ambu, costs £442 per year. Using electrodes several times, buying larger quantities to reduce carriage costs, and buying from sources such as eBay reduces the cost progressively, until a single order of a years’ supply of short-dated P-00-A electrodes (wrong type, but easily modified, see elsewhere in this post) to be used 5 times (much more is possible), and beyond their expiry date, costs £26.

What I have tried: first let me say that I haven’t done the extensive comparative testing to determine absolute maximum mileage - it would take lots of packs and many months. But, by Feb 2014, I know I (YMMV) can get at least 10 days out of each set of 3 electrodes, ignore the expiry date on the pack, and ignore the “use within 30 days of opening” warning if I follow some simple procedures.

I’ve used gel electrodes, both fresh with their own glue and older with tape; they stay in place very firmly and never come off during sleep or when up, and I never have the feeling that they are precariously held, though I worry about the irreplaceable transmitter falling down the toilet or into the wash-basin! I haven’t had any issues with the electrodes or Hypafix, Transpore and Micropore tape damaging or marking my skin. I wash my forehead and dry it by rubbing roughly with a towel (to help remove dead skin cells), then place the electrodes and rub the white edge (but not the blue middle where the gel is) to help them stick, adding surgical tape to tired electrodes.

If electrodes dry out, let’s see if we get improvement by keeping them moist. A single experiment with adding a drop of water to electrodes that were fading didn’t work (maybe it could be made to work? But the following way seemed better). So I got a small plastic container with lid, put some cotton wool in and saturated it with water, with a bit of free water at the bottom, and a few drops of bleach added to inhibit mould. Every morning I put the protective plastic layer back on the electrodes and lay them on top of the cotton wool in the humidor; the idea is that they are in a humid atmosphere, not wet (which would wash the adhesive and the conductive gel off). I used a set of electrodes for 5 days this way. For the first two days the adhesive glue held strongly. By the third day the glue was weakening, but the electrodes still gave a reliable signal if held in place, so I put 2.5cm-wide tape on where the electrodes weren’t sticking (but I didn’t need to tape all 3 electrodes even on the 5th day; two lower electrodes in a line tend to be OK, the one sticking out higher up is less flat and prone to unsticking). I can get about 6 days this way, and more with could Tensive adhesive conductive gel (see below).

What I think is reasonable: it would need months of comparison tests to confirm this, but I am storing my opened packs of electrodes in a large plastic lidded container with absorbent cloth or paper soaked in water with a drop of bleach - my overnight humidor writ large. I think both the 30-day limit and the printed expiry date are ultra-conservative, for medical use (you don’t want the tiniest chance that your defibrillator electrodes are dead, or your patient will be), so being able to exceed the limits doesn’t actually prove that the humidor works - maybe the electrodes would work OK without? Maybe someone will try comparative testing?

A way to revive fading electrodes is with Parker Tensive adhesive conductive gel, designed I think for dry TENS electrodes. Amazon reviews complain that it leaves a terrible sticky mess, and recommend applying the gel and letting it dry for 24 hours; I disagree. The manufacturer says to apply and use immediately. I put the smallest possible amount on the middle and spread it with a finger, immediately before use. There is a bit more sticky mess the next day than with the original electrode, but it comes off easily with water. One application of Tensive (I’ve never tried more) gives the electrode another 4-6 days life, though with 6 days electrode life anyway it may not be worth bothering with it.

There seem to be Chinese producers of electrodes which may be suitable, but the minimum order has lots of zeroes after it. I doubt there’s enough of a market to import these things for home use in small packs; I’m certainly not going to do it. Maybe a Chinese seller might find it worthwhile to offer small quantities on eBay, if they are suitable?

I accidentally bought a pack of (cheap, short-dated) type P-00-A instead of P-00-S; I discovered that they were just the press-stud electrodes with a small plastic housing added to plug 4mm connectors into, and I was able to cut off the extra bit with diagonal cutters, leaving effectively P-00-S. The first one took 3 cuts and about a minute, subsequent ones one cut (you cut the base of the housing, being careful not to press or twist the center of the electrode) and 5 seconds. So if P-00-A or P-00-K are available at bargain price and you don’t mind spending a few seconds, they can be made to work.

Tapes for fixing electrodes that don’t stick well: 3M Micropore; 3M Transpore (cheaper, holds more firmly with slight risk of skin damage, though not like ouch-traditional-sticky plasters); Hypafix Self Adhesive Dressing Retention Tape. I have a roll of 5cm wide Hypafix; I cut it to half-width for Ambu electrodes. I find Hypafix best as it is more conformable and doesn’t lift at the edges. I use the same tape for 2-3 days and store the electrodes with it in place, for convenience not economy. Old tape can be peeled off the electrodes, with a little difficulty, trying to hold the electrode edges, not center; or it can be trimmed off with scissors (I usually peel). I haven’t had any skin damage from tape or electrodes.

I might experiment with fixing the Zeo transmitter directly to my forehead with the full width of the Hypafix tape, or maybe some type of headband. Maybe push metal sew-on press studs into the transmitter to increase the area? Maybe use press studs with something like the African beer-bottle plastic circle with conductive gel, adhesive or not?

While everyone will have seen the article on making a Zeo-type dry headband, gel electrodes also work fine.

I hope this is helpful.

10 Feb 14: In case anyone comes here via a search, I’ve added some further comments in the second part of post #282. I’ve also slightly updated this post (mainly re Hypafix, Tensive and electrode life - later experience has confirmed the rest), valid as of 19 Feb 14. I don’t think there were any comments to the original post affected by the edit.

2 Likes

Hi pol098,

I purchased one of the Zeo adhesive sensor kits, but have not used it yet. It is basically a plastic adapter plate that matches the snap location on the Zeo Bedside electronics module. The connections spread out to the three familiar Zeo headband locations.

I agree this approach is expensive and I am considering other options for the connection. The decoded data includes a field for Headband Impedance that will give you a measure of the performance of your setup.

"Headband Impedance – A measure of the headband’s ability to pick up signals from the forehead. Averaged over 10 minute periods for the last 24 hours. Store using 8 bits. Lower is better. 0 indicates no data was received from the headband for the 10 minute period. 255 indicates an error - the headband is off the head or otherwise not making a connection. "

I believe the article I read talked about lower impedance (better) measurements for the adhesive sensors. You should be able to confirm this by comparing the data (average and standard deviation of the headband impedance) from two different setups (headband vs adhesive). With my headband I recently got 129 average and 2.9 standard deviation. I also noticed dropouts on a different night that would probably not occur with the adhesive connections. I am not sure how the signal quality would impact the detection of deep sleep.

Thank you for sharing your experiments.

Thanks for your comments @OP_Engr. The problem with the Zeo adhesive sensors is that the supply will probably dry up (as will the electrodes!). Also, I don’t know if I can get them in the UK, and they would probably be expensive (haven’t investigated as the Ambu electrodes are totally viable). I have bought 2 years’ supply (if used 5 times) of short-dated Ambu electrodes for £50 (~US$75) ; so long as they work beyond their expiry date I’m OK.

Wasn’t aware of this, thanks. Will have a look. Where I first saw a report on the use of gel electrodes on the Web there were impedance measurements; the electrodes had significantly and consistently lower impedance than the headband. I can’t make this comparison as I don’t have a working headband. My attitude is basically that the gel electrodes definitely work, and probably better than the headband; they’re also about my only option, so basically I’m not seriously evaluating their performance, but trying to get them to work optimally and last as long as possible. For ultimate economy improvised electrodes based on press-studs and plastic film with a flour-salt gel, with the transmitter and electrodes taped to the head, might be the way to go, and have good impedance, but I’m not going there. (I’d also be concerned about the salty gel corroding the transmitter’s press-studs.)

I’ve not done this, and don’t have a headband, but the link above reports just such measurements.

I don’t have any dropouts with adhesive gel electrodes, except towards end of life. I don’t remember many dropouts with a headband, though it did occasionally shift or come off.

That can be tested statistically by someone with a headband. All I can say is that for a time my Zeo headband reported a roughly consistent deep sleep time (human memory only, no records, only an encrypted pre-meltdown Zeo sleep file). I stopped using it for a time, then resumed with gel electrodes, which consistently reported about twice as much deep sleep. That could be a difference due simply to gel vs headband, but maybe my sleep changed? Or the different relative electrode positions forced by gel electrodes give different results?

Hi,

I saw a Zeo Mobile Sleep Manager and I was wondering if I buy it, can I still use it with an android app despite the website is down?Or is it totally unusable now?
Thank you for your answers

Polo, I don’t have a mobile unit, but I think the answer is yes you can still use it, but I don’t know the capability. I was hoping someone with a mobile unit would answer and let us know what they can still do with it.

I’ll bump this back up and maybe someone will see and fill us in.

Jay

Hi Polo,

I have a mobile and so far it still records and holds my data, but I have yet to be able to figure out how to access the data beyond what is on my phone. I just do not have the knowledge or skill to do it myself. I can see them and such, but getting the info into the right kind of program for using is beyond me. I just do not know how to use the stuff that is provided through this forum.

Hi,
Thank you for the answer,I will try to get one then!

Hello everyone. I have been lurking the last week while catching up on the many posts.

Nobody seems to have mentioned what can be done to make the contact of the Zeo headband with the forehead better. I initially had difficulty getting the “head” signal to light up on the bedside unit. The use of hand lotion was not successful but Avalon Organics Hand and Body Lotion worked well every time. Both unscented and lavender scents work well. The main ingredient is Aloe which seems to be conductive and water soluble. It is sold at my local food co-op. I have no interest in the company.

Using the aloe lotion I have not noticed any deterioration of Zeo results with the age of the electrodes but changed them on schedule anyway just to be safe. Now that it has been revealed that the headband impedance is measured along with the electrical signals it should be possible to quantify the quality of connection under different conditions. The new firmware was installed 10 days ago so I have 9 nights of data to look at. The headband impedance (HI) does not vary much during the night. The first and last readings can unusually high suggesting some difficulty with measuring the start and end. Most of the night is near the minimum reading. For the 9 nights available the minimum has a range of 124 to 131.

Does anybody else have any observations?

Hi Robert,

I have been using the same electrodes for over 6 months without any additives. My present impedance readings are around 129 (I don’t have the Zeo impedance numbers from a new headband since the data was encrypted (pre firmware update). Skin oils may also degrade the electrical connection.

My “Head” signal indicator shows up within 15 seconds of placing the headband on my head. I believe the delay from removing from the base station to display of the head symbol also shows up as zeros in the data prior to a specific sleep state result.

I don’t know how much impedance variation alters the sleep state results. I may try some experiments to see if there is a difference, before I goop up my ZEO electrodes.

DC resistance measurements on ZEO Bedside headband contacts to a metal plate with ~ 1 lb pressure applied:

  • New 95 ohms, 91 ohms, and 42 ohms
  • Used (unk pedigree) 50 ohms, 70 ohms, and 50 ohms
  • Used (6 months, daily) 56 ohms, 64 ohms, and 66 ohms

Obviously the headband contact pressure in actual use is much less. Also the connection to the snap connector introduced significant variation (This points to a possible headband life extension of unsnapping and reconnecting the headband electronics module in addition to resetting the 3 month counter).

I found one DIY site for conductive aloe, but it appears that they are adding salt to the solution. I haven’t tried measuring the conductivity of aloe by itself to see if that is the critical ingredient. I have some Spectra360 electrode gel I use with my heart monitor straps that may find double action here as needed.

Some links to EEG electrodes:

I haven’t thoroughly reviewed the OpenEEG site, but it looks promising.

Hi Op Engr,
Thanks for the many observations and leads. It will take me a few days to comprehend them. Anyway here is a short note on my first reaction to your post.

When something is not quantified and not well isolated then personal biases can result in “magic” rituals. Maybe the Aloe lotion is such magic. The question can now be tested by quantitative tests. Last night I did not use and lotion but the headband may have absorbed some from previous nights. The Zeo system worked and resulted in a normal data file. The headband impedance low was about the same as the previous week but the high impedance was higher than seen before and there was a larger spread of values during the night. The high and low values are not adequate to describe what happened. A statistical analysis is needed. Something to do in the near future.