I often have the problem, that I have trouble getting up in the morning, while at the same time, I have trouble falling asleep in the night.
I've checked out several possibilities to make both easier.
Getting up in the morning
Sunrise alarm / light alarm clocks (amazon): instead of ringing the hell out of you, those alarm clocks dimm up light until it gets quite bright in your room, simulating a sunrise. Those often come in combination with some ambient sound, to make your wake up experience even more natural.
Unfortunately those alarm clocks can be hardly configured (color light gradient, mixture of ambient sound,...) and they are quite expensive (~100 bucks).
Sleep cycle / sleep phase alarm clocks (play store, amazon): Those are alarm clocks that track your movement during night and track when you are in a phase of light sleep and wake you up at this time. This makes getting up easier as your body is already in a nearly wake state. Those alarm clocks come in hardware and as apps in software (using the sensors in your phone).
Both types have drawbacks: physical alarm clocks are damn expensive (>300 bucks) and you usually have to wear a wrist- or headband that tracks your movement (=>uncomfortable). The app is a lot cheaper, however, you have to sleep very closely to your cell phone, so it can track your movements (I have a very soft mattress, which filters out basically all movement + the sensors in my smartphone are not that great).
There're dozens of possibilities to fall asleep, but I personally fall asleep very quickly when listening to an audiobook (or if my girlfriend reads a book to me).
Another alternative is to listen to ambient sounds.
The problem with listening to anything in order to fall asleep is, that the player doesn't turn off automatically when you are asleep (ok, there're some apps that can detect motion, or force you to keep a finger on the display to keep running, but that's not really comfortable).
Everything above not being an ideal option I decided to build my own device.
Despite the title I won't call it an alarm clock, but a sleep supporter. It should not be there to wake you up, but give you a better sleeping experience (i.e. fall asleep faster, and get up easier).
- I wanted to have a sleeping cycle alarm combined with a sunrise alarm: by detecting your movements during night, your next light sleeping phases will be detected, and the light alarm will be scheduled accordingly (it must start prior to your upcoming light sleeping phase, so some estimation must be done here). The movement detection should be unnoticable (no wristbands or whatsoever).
- The same concept of movement detection can also be applied in an ebook reader / ambient sound player: volume is turned down after a few minutes, when no motion is detected within a certain time frame the audiobook stops playing. The position when you moved the last time to continue playing is stored, so the book can be played from this position.
- As my night stand is not that big and the sleep supporter emits light anyway, It can be used as a lamp or moodlight.
- It should not display time or anything. In my oppinion displaying time would lead to pressure and pressure leads to bad sleep.
I used a raspberry Pi with a wi-fi stick to host a node.js/express.js/mongoDb/angular js based web-application to configure and start alarms, audiobook and an additional moodlight mode.
I used an active speaker for sound output
I used 3 1W RGB LEDs to produce a bright enough light which are connected to the Pi (+a fan to dissipate heat).
I added 2 temperature sensors (1 inside to monitor heat development and prevent the RGB-LEDs from taking damage), 1 light sensor (basically for statistics, to help you find the best brightness to wake up) and 2 accelerometers which are put into the matress to track your motion.
I added a pushbutton as really simple interface. It stops anything that's currently running (audiobook, moodlight, alarm, light,....). If nothing has been running it turns on light.
Any more complex interaction is done via the web interface.
The form of the sleep supporter tries to resemble an egg (symbol for beginning of something new, like a new day:-))
In the next few steps I will guide you through how I
- made the enclosure
- designed and built the circuitry
- implemented the software
- solved a lot of unexpected problems that occurred during implementation.
At the end I will outline some ideas I want to implement at a later time
The following video shows a sunrise with ambient sound. Unfortunately the camera had trouble to capture the brightness. The end of the sunrise is much more white/yellowish not as read as seen in the video.
The next video shows a short demonstration of the mood light mode (at high speed)