Colors of You - a visualization of your health

For my final project in the course Computer as an Expressive Medium, we were instructed to build a physical computing experience using Arduino and p5.js — I have always been curious about working with hardware, but never knew where to start. Luckily, this project gave me and my teammates the opportunity to learn or to expand. The project was intentionally left open ended as long as we include the concept of a controller and a triggered visual.

Idea Generation Phase

Mental health is a very important topic to me, and finding ways to relax was high priority for all of us during finals season. As a result, our team wanted to develop a relaxing physical experience that encouraged students to analyze their well being. Health continues to be a complex concept and we believe that visualizing health would aid in processing one’s overall well being (what can one improve, what is going well, what is priority, etc.). Our team generated a few initial concepts:

Iteration I: Coloring Book with Physical Controller

Inspired by coloring books as a form of relaxation, we considered crafting a controller consisting of various colors to fill in a digital coloring book. The intention would be to relax the user and create a space for them to be present. Although this was interesting, it did not visualize health the way one could process easily.

Iteration II: Wearable vest controller to interact with body calming touch points

Considering the direction of health data visualization, we moved towards a wearable that one could interact with to output various tones and visuals. The interaction spots would match the calming touch points of the human body. We thought this might allow users to be aware of their stresses within their body; however, we received feedback that not everyone may feel comfortable with the activity and thus would not be the most accessible.

Iteration III: Stress Ball Controller

We kept the concept of visual and auditory data, but gained additional inspiration from stress balls. Stress balls are commonly used to vent out anxiety and stressors in life, and we were interested in connecting the stress ball interaction to visuals in p5.js. This would be very cool, but I felt the urge to dig deeper.

Iteration IV (Final): Life Pillar interactive pillow controller

Expanding on the stress ball controller idea, we finalized our idea to multiple pillows that represented the life pillars. Users interacting with each pillow triggered a set of visuals that represented where in life the user may be lacking in. We decided to focus on social health, physical health, mental health, sleep health, and work-life balance health. The pressure and duration each pillow is held at determines the intensity and colors of the visual.

Implementation

The visuals were built in p5.js, and the micro-controller we used was the Arduino UNO. To measure the pressure of the pillows held by users, we used five Force Sensing Resistors (Pressure sensors) which were hidden inside felt sewed symbolic pillows. A serial communicator was used to communicate between Arduino and p5.js.

  1. Cloud: sleep - blue

  2. Chat bubble: relationship - green

  3. Puzzle piece: mental health - red

  4. Star: unbalance of life and work  - yellow

  5. Heart: physical health - purple

Technical Instruction

To operate the physical prototype, one should ensure all wires are connected to the Arduino, start up the Serial communicator, and run p5.js in a browser. Then, the user should press a life pillar pillow that they believe needs strengthening in their life. The end result of the interaction will look different for everybody, but below is a sample output:

Final Functional Prototype

The final prototype consisted of five felt sewed pillows each containing a FSR. Each interaction with a pillow triggered a circular lined visual corresponding to each pillow color as well as a unique tone for each pillow. In the sample above, the visual indicates all five pillars needing strengthening, however, sleep seems like the larger issue compared to other pillars (intensity of blue is stronger than other colors).

Takeaways/Reflection

  • When the sensors are overloaded with data (all pillows are simultaneously pressed), the visual output lags. A more robust algorithm may be needed to ensure smoothness in the experience

  • Users were interested in saving their custom data visual; I would consider integrating an image saving functionality through p5.js

  • FSRs come in all sorts of sizes!

  • Wiring can easily become confusing, so labeling or using color coded wires is very helpful