We spend most of our time sitting and working at our desks, and we eventually develop many bad habits without knowing! (For example, bad posture, your mind wandering off unconsciously during work, or sometimes dozing off from extreme exhaustion.) With these concerns in mind, I prototyped the DeskPal, an interactive and persuasive companion at your desk.

Role: Interaction Designer
Duration: 09.2010 – 12.2010
Skills: Interaction Design, Prototype, Hardware
Tools: Arduino, Laser Cutter, lots of glues


DeskPal was designed to have two main purposes:

  1. Encourage the user to maintain good sitting posture
  2. Subtly interact with the user to give them short break from work

The approach I took to achieve these 2 objectives was to implement it as a state machine having several emotional states (happy, sad, angry, bored, and idle). Transitions between emotional states are triggered based on sensor inputs of the environment and interaction with the user.


The hardware was built with the open source Arduino platform, wiring sensors and circuits to provide the necessary inputs and outputs (detail descriptions are in the documentation). The exterior shell was made from laser-cutting 0.2cm acrylic board and was intentionally made transparent for the circuit components to be visible.


DeskPal senses two major inputs:

  • Sitting posture: To measure how “good” a posture is, I simplified it to just considering the distance from DeskPal to the head. This distant is roughly measured by aiming an IR proximity sensor tilting 30 degrees up.
  • Touch: Given the constraint of budget, buying a capacitive sensor wasn’t the way to go. Instead, I embedded a much cheaper light sensor right below the upper surface to get the job done. This was assuming that DeskPal would be operating under a decent amount of lighting thus touch would be indicated by sudden change of light value.

DeskPal interacts with the user via:

  • Emotion: This is communicated by lighting up the 8X8 LED matrix to display simple emotional icons. By coding in basic animation, DeskPal becomes more engaging to the user.
  • Tactile/ Audio Feedback: In concert with state transitions, I also incorporated vibration and simple buzz to make it more interesting but at the same time not too disruptive.

Complete documentation available  here