EOS - Smart pillow prototype

An electronic pillow that improves the waking experience


JAMES PAI, Steven Dong, Kyle Freed


Photoshop, Premiere PRO, After Effects, Illustrator, DSLR, physical computing (Arduino), laser cutter, Rhino

Eos (named after the Greek goddess of Dawn) is a physical prototype for a smart pillow concept with embedded electronics designed to make the process of waking up a more comfortable and natural experience while providing a more intuitive way to keep track of time.  It was designed as a final project in Prototyping Studio and utilized a combination of prototyping tools (e.g. video production, physical computing, modeling).

I conceptualized the original idea of the smart pillow and all team members were involved in ideation, user research, physical prototyping, and Arduino coding.  I focused on designing the physical pillow, integrating electronic components into the pillow, and designing the overall experience.  Independently, I was also responsible for producing the product poster and concept video.


After drafting a design proposal with plans for the prototype as well as user testing, we conducted secondary research to better understand the process of waking up and the effects of light & color on our bodies.  We came up with some research questions and set out to answer them.

Research Questions

  • How do we provide a comfortable but effective waking experience with a pillow?

  • What are intuitive interaction models with the pillow?

  • How can we reduce the need for external devices (e.g. smartphones, alarm clocks)?


In addition to our secondary research, we also created a sleep survey with Google Forms in order to understand people's sleep habits.  The survey collected 23 responses.

Key insights:

  • ~70% of those surveyed prefer to sleep on their sides
  • most typically wake up from an alarm
  • all sleep with no lights on, including night lights
  • approximately half check the time on their cellphones when they wake up
  • responses were split between preferring to know exact vs approximate time

PHYSICAL Prototyping


We fixed 5 flexible LED strips (6 RGB LEDs) horizontally across a piece of matboard.  In order to make the matboard flexible and able to accommodate bending due to a person's head resting on the pillow, we laser cut the board with a specific pattern.  The LED strips were powered and controlled by Arduino and the whole system was powered by a 5V 500mAh external power bank.

Based on our research, we designed the wake-up light to fade in with gradually increasing brightness leading up to the set alarm time.  The color transitions from blue to orange to white, mimicking the natural stages of light patterns (e.g. twilight, golden hour, daylight).  If the pillow is not turned off before the alarm time, the pillow will begin to flash an alarm sequence of random patterns across the surface in order to wake people up.

Initially, we programmed a bar of blue light sweeping across a red surface on the pillow as the alarm pattern, but user testing revealed that the pattern felt a bit too stressful which was going against our design principles.  I redesigned the alarm to be a reasonably quick pulsing between white and orange which we felt was enough to wake someone up while still providing a comfortable waking experience.


In order to assemble the pillow, we bought fabric and stuffing from an arts and crafts store and sewed our own pillowcase to fit the size of our LED board.  It was a challenge to find the perfect balance of stuffing since we needed enough thickness to maintain a level of comfort while still allowing the lighting to shine through bright enough.

Because we wanted the pillow to feel like a real pillow without any external components dangling out, I designed a box in Rhino and laser cut it.  The box encases the two Arduino boards powering Eos and prevents them from getting crushed while not adding too much additional weight to the pillow.

Haptics and Tilt

In order for Eos to vibrate as a last resort when a heavy sleeper doesn't wake up from pure light, we connected mini vibration motors to a second Arduino Uno that is linked with the first Arduino that controls the LED strips.  We initially planned to attach the motors to the LED board for better vibration, but we discovered that the vibration felt stronger when the motors are just floating in the stuffing.  As a result, we created cotton 'hats' for the motors and distributed them spatially around the bottom side of the pillow.  When engaged, the motors will gradually intensify until silenced.

In order to control the pillow and silence / dim the alarm, we connected a tilt sensor that would tell you if the pillow was right side up or upside down.  I then integrated the tilt sensor functionality into the existing code in order to allow people to turn the pillow off through a simple flip.  This gesture allows for intuitive control without the need for any buttons or physical interface.

Clock Visualization

According to our survey, more than half of the participants check the time when they wake during sleep but approximately half of the participants do not feel like they need to know the exact time down to the minutes, only the approximate hour.  The built-in time visualization was introduced so people will no longer need to rely on their phone or an external clock for time.  The visualization uses red and yellow light to diminish the impact to our circadian system.  An RGB LED strip with 6 LEDs was attached to the side of the pillow and programmed to display two variations.  A membrane potentiometer activates the visualization when it detects a light press.

The clock variation was designed to visualize a 12-hour clock.  Each LED represents 2 hours when yellow an in-between hour when flashing red.  Using these combinations, one can tell the approximate time without needing to reach for a cellphone.

The timer variation displays the approximate time left before the set wake-up time, like a progress bar.  If one wakes up during the night, the timer conveys a general sense of whether sleeping may continue or not.

User testing

Having participants evaluate our prototype was extremely valuable and we discovered many potential improvements of our design as a result of the feedback we received.  We asked several participants about how they felt about the pillow after letting them lay their head on the pillow to feel the light and vibration.  When laying on it with their eyes closed, most participants said that the light felt brightest when glowing orange / white and were surprised how well they could sense it through their eyelids.  Blue light felt significantly dimmer and sometimes undetectable under closed eyes.  Participants also felt that it was very intuitive to turn the alarm on and off by flipping the pillow.

Some changes we made include:

  • wake-up color fading in from blue to orange to white instead of just blue
  • alarm pattern changed to orange-white pulse instead of red-blue sweeping bar

Other usability insights:

  • LEDs should be placed on both sides of the pillow so that accidental flips will not deactivate the alarm / lighting
  • clock is difficult to activate through presses and positioning of the membrane potentiometer is not intuitive
  • countdown timer visualization is difficult to understand without prior explanation

Poster + Video

Since our project was to be exhibited to the public, I designed a product poster to communicate the various features of our prototype.  I set up shots in context by placing the pillow on a bed at night and taking photos with a DSLR camera.  I noticed that still photos can't capture the actual experience of Eos properly, so I also produced a short video to demonstrate the prototype.



We showed off Eos to the dub community in a Prototyping Salon event including other MHCI+D and HCDE projects.  Response was extremely positive and we received interesting suggestions and feedback that could be incorporated into future iterations of the design.

I thought that our project was particularly strong in its ability to communicate the experience that we designed and allow for useful evaluation due to the high level of fidelity our physical prototype provided.  However, due to the nature of our design problem (i.e. improving the experience of sleeping and waking up), it was difficult to test the effectiveness of our alarm concept in a realistic context.  With more time, we could have conducted more thorough usability tests and iterated on our design. 

Overall, we created a successful prototype under the time constraints that worked as a potential answer to our research questions.  We each gained valuable experience in physical prototyping as a tool for design and evaluation.  As a next step, we are currently looking into patents and thinking about how we might take our prototype further to commercialize it.