top of page

A closer look at the Dreem EEG Headband

Updated: Jun 14, 2022



I recently bought a Dreem 1 band for a fairly decent price on eBay at around £200 that looks like it was barely used or maybe even not used at all. I wouldn’t pay any more than this for any of Rhythm’s Dreem bands as a consumer based on the fact these aren’t supported as a retail product any more. Definitely don’t spend the crazy amount that the Dreem 2 band goes for, just wait until the online service stops for consumers and the prices completely tank : )

Having said that, this is by most accounts one of the best sleep trackers ever made for consumers, the app still does work and the online service that processes your sleep data to produce a hypnogram is still up and running. I used the band for a couple of weeks to see how it compares to the Muse and other trackers I have, and was also curious to find out a bit more about how it works. Below summarizes some of the main findings.


The App

The app is well made, the UI is great and I’ve found it to be reliable on both android and Apple. Even though it's not been updated for years it's better than Muse's app from a sleep perspective, which is a bit embarassing in comparison. One aspect that might be a little risky is the firmware factory reset feature, which in reality you'd probably never need – I was nervous about doing this given the lack of support but couldn’t stop myself. I thought I’d bricked the device at one point because Bluetooth and WiFi stopped working but by the morning it was working fine. I’ve since done factory resets a few times for no good reason but all without issue. Also note that Rhythm’s support will likely not respond to you, I did test this out by sending an email via the app etc but got no response or even acknowledgement that the request was received - not that I'd expect it at this point but something to be wary about if you get one of these.


The best part of the app is the details you see following your initial 7 day period - you see a lot more after the initial assessment that you have to do to baseline your data. You'll see a summary of various sleep related metrics as compared to user averages. By this point Rythm has upwards of 2 million sleep sessions recorded so in terms of big data on sleep, they have it covered. That said, there's still plenty of gaps that will likely never get implimeneted such as quality/intensity of deep sleep, more details from the HR sensor and more capability in data export.


Small sample from the initial sleep report, this is actually very good. Note my sleep deficit looks garbage but the Dreem band was actually wrong in flagging light sleep as being awake a few times.

Band Teardown

I'm going to skip the exterior of the band a bit, just because this article is massive already and the outside has been covered elsewhere in detail - main thing to note is the rear sensors, which are definately innovative compared to what else you'd see in other EEG bands.


I didn’t really tear the product down completely but literally just took off the cover and detached a couple of the PCB boards. It’s actually built in a modular way that’s easy to take apart. I hadn’t really seen any references of the hardware online yet other than the teardowns you can find for FCC and sometimes these can change in production anyway. Firstly, the Dreem 1 and 2 are not all that different, certainly not under the hood which looks almost exactly the same, the main difference from what I can tell was just the rear sensors and band fitting.


Wide view with back cover removed. You can see most of the space is taken up by a massive battery and it looks they separate the analog and digital processing across 2 boards. The difference in approach to the challenges of EEG are telling straight away between Muse and Rythm- the Muse is very much about optimising on space and comfort and having the processing done outside of the band by your phone and their servers whilst the Dreem band actually tries to do a lot of processing on the band itself. The additional computing power, from what I can tell, only really allows for the sleep alarm to function properly because you still need to upload raw data to have the hypnogram etc produced. The CPU requirement to do this negates the power saving (and probably even EMF emisisons) from having the bluetooth turned off, and that's quite apparent from this photo and battery size. The Muse and Dreem both actually have similar battery lifespans and this one is 10 times the size and power so that tells you the ammount of power the Dreem needs. Having said that, it is the best smart alarm I've ever used and that mainly comes down to the effectiveness of the bone induction, it's just nicer to wake up to rather than any kind of standard alarm.

On the right there's a Wifi + BLE chip provided Murata, who have ready to go modules that work in conjunction with the type of MCU in the Dreem.

On the flip side of this board is where the main MCU is, an NXP i.MX6, which is an ARM A-series based chip. Very powerful for a wearable and this will be running a full Linux OS. The test pins next to the edge of the board against the MCU are for UART and the Dreem 2 band actually has these labelled. I don't plan on messing with these yet while things still work fine.

Labelled UART points on the Dreem 2:


The right hand side is where the battery is connected, the audio processing for the bone induction and optional audio-out is also here.

And on the flip-side of this board is actually one of the key things that makes this such a great product, this is the 24-bit analog front end from Texas Instruments that is purpose built for biopotential signal processing. I actually didn't know what the chip was because under the sticker the markings had all gone but you can make it out in the FCC photos for the Dreem and Dreem 2.

Everything else is all mainly analog processing/protection circuits for the EEG signals I guess, somewhere there's an accelerometer also and then just the interconnections between all these different prehipherals.


The Dreem 3 has also been released although as a consumer you're not likely to see this but you can see internal photos form FCC. The configuration changes were more significant, with this dual PCB type layout converted into a single board. The overall components are pretty similar so it seems like iterative improvements in places and then a tidier layout, it definiately looks more refined now. You can find the internal photos in the links at the end.


There's a great whitepaper that was put out on how the Dreem works at a high-level, which I think is cool they published:


Bluetooth

The BLE stack is pretty complicated, there’s a boat load of services and characteristics and I can’t see how the app can be using all of these so either there’s some redundancy or they use some of them for debugging or programming perhaps. One thing I wanted to look at more was the EEG streaming that is used to check you’re wearing the band correctly. For this process to work, you have to provide quite a high sample rate and if that data can be logged outside of the app, you would effectively have raw EEG data from the band in realtime. I managed to work out how to extract this on a PC and I believe you get EEG data from 4 channels but unfortunately although the sample rate is ok at around 150Hz, the bit-rate is low @8 bits. What this means is that data quality is pretty poor using this method, somewhat akin to pixelation. I’m not sure how usable it would be for independent sleep analysis, probably very little if at all, but I might run it for an extended period of time later to see. The way I worked out the sample and bit rate was to just look at spectrograms at different rates until I saw mains line noise at 50Hz, which is what it is for the UK - in most other countries you'll see it at 60. You could probably also work it form timing or looking at the decompiled android app.

Obviously the data that is actually logged during sleep is at a much higher bit-rate, judging by the ADC used, it's going to be 24 bits. Usually for EEG in a lab setting you’re looking for around 24bits and at least 256Hz sample rate. Most other EEG commercial devices actually have between 12 and 16bits and sample at 256Hz upwards – I’m not a researcher or expert but from my own analysis and papers I’ve read I think that’s good enough for a lot of sleep analysis.


The way data is transferred from the band is done via Wi-fi directly to Rhythm’s servers. There are a couple of weird looking network things going on but from a transport perspective, it’s pretty secure so no concerns around brain data being leaked or anything like that - at least from the transfer out of the band. The app is actually less secure but probably not to an extent that it ammounts to any real issue - it's more to do with how Rythm's API is set up rather than the app itself.


Overall it’s a very well thought out piece of engineering end-to-end, some gaps with the app but there's really nothing to fault in functionality. The no compromise approach is really impressive but the lack of raw data access directly from the band is a shame. And that’s where my main issue always was with this, without access to data or an API directly from it, I wouldn’t recommend getting one and I never would have even when it was available to consumers. There is an online service that you can pay a subscription for as a researcher to see raw data but I’m hoping that kind of thing goes out of fashion with the next generation of these devices. A good example of a better way to go about things is Neurosity, who factor everything into the purchase cost and so you readily have access to raw data and a well developed API. Data is never sent anywhere over the internet either, which is a plus. This is exactly the thing you should look for in an FAQ or any time you’re looking to back a project on kickstarter etc:

Obviously the Crown is not a sleep tracker but based on how they’ve gone about things with the Crown, if Neurosity did make one I’d be confident they’d do it the right way.

Recent trends in edge based AI where models are deployed to devices that can process offline may also help move away from subscription models and hopefully eventually see IoT reduce in favour of these.

Dreem vs Muse

You are also better off with a Muse than a Dreem even though to be frank there is no comparison with the hardware, the Dreem is more sophisticated but the Muse was always pitched to broader audience and lower pricepoint and they did a great job to get the hardware to where it is within that scope. I know the Dreem 2 is approved by FDA for medical use in sleep studies but even when you look at the published papers on its efficacy, a lot of these are highly suspect with conflicts of interest. I’m not saying the data is garbage – I know it’s mainly not but I have seen issues with my own data at times where it is wrongly showing wake vs light sleep just as with the Muse so take these publications with a pinch of salt. You also have access to raw data from the Muse via 3rd party apps at least, so you can validate sleep stage accuracy to some degree and also better quantify your quality of deep sleep and REM in more detail.


Summary

It's been cool to see how this thing works and test it out, I’ll still keep using it for the smart alarm for those days when I really need something accurate and I can probably use it to help baseline some of my own sleep algorithms that use HR features and see how they compare. I’ve put some of my scripts on GitHub that shows how you can log low quality EEG data from the Dreem in real time and also how to process it – this was all done with the Dreem 1 but pretty sure it will be exactly the same process for the Dreem 2.


It will be interesting to see what Rythm does for legacy customers later down the line. These devices could end up being bricked if the online service is revoked unless some of the data access restrictions are lifted. While I don't agree with the commercial approach, they've made amazing EEG products, no doubt about that.


Github Link


Additional Links

FCC Teardown photos (you can find the ones for other models by just checking the submissions from Rythm): https://fccid.io/2AH2Q-DREEM/Internal-Photos/Internal-photos-3558461.pdf


1,413 views3 comments

Recent Posts

See All

3 commentaires


Shane Hird
Shane Hird
5 days ago

The onboard processing is also used for detecting the sleep stage for the purposes of deep sleep stimulations, and I believe some of the white-noise style audio switches off when it detects you are asleep. I've had to hack the .apk to get it working on Android to bypass the questionnaire when signing up as that is now offline.

J'aime

I admire your enthusiasm for learning about DREEM, which is of course the most advanced EEG headset to date. The possibilities of the bandana are far from being exhausted, and on its basis it is possible to make a revolutionary device that is difficult to overestimate. Unfortunately, the interests of Beac/Biosig, which now owns DREEM, lie in the other direction and all negotiations with them are futile. I'm talking about quite feasible improvements that will turn DREEM2 into a device for rejuvenating the body, increasing IQ and treating most diseases. If you are interested, please write to reshetnikovalexandr68@gmail.com

J'aime

I love your blog man! I really hope we get a good sleep tracker like the dreem 2 but more open source friendly. For another project I was working on I needed to crack bluetooth BLE on a device. I found the following solution pretty effective. https://github.com/virtualabs/btlejack It uses 3 of the microbit v1 devices (to ensure it is properly monitoring all available BLE advertising channels. Be very careful to buy the microbit v1 device though and not the v2 device as the nRF51822 chipset is important the later revision in the v2 can't be reconfigured to properly sniff stuff. Would be cool if you could sniff the data. If I could actually find one of these devices to buy…

J'aime
bottom of page