I created a fully functioning physical prototype ‘HeART’; an off-line bio-feedback drawing tool that measures your stress and changes the colour of a pencil accordingly, helping you to identify and reduce stress through drawing. The prototype consists of multiple sensors and actuators, which I programmed with C++. I designed the physical user interface in Tinkercad and Illustrator and realised the designs using 3D printing and laser cutting. *This project was part of my Masters’ HCI at the University College of London, where I was asked to design a novel interactive physical user interface prototype using methods of physical computing and digital fabrication. My project was awarded with a distinction.
Team
Individual University project
My Role
Secondary research, sketching, hardware prototyping, programming, 3D printing and lasercutting.
Timeline
March - May 2020
THIS VIDEO SHOWS THE IDEA BEHIND HEART, DESIGN PROCESS AND PROTOTYPE
The problem
High stress levels are increasingly affecting peoples’ daily life. To cope with this successfully, people need more awareness of their stress level and guidance on how to reduce it. Ubiquitous smartphone apps can be helpful, but are also found to cause stress, whereas drawing can effectively reduce stress.
Challenge
Help people better cope with stress through designing an offline physical tool that shows peoples’ current stress level realtime and helps reduce it, so people can learn (based on this feedback) how stress and relaxation feel and can be better controlled.
Initial sketches
First I created initial sketches to explore the concept, where heart rate variability (HRV; stress) would be measured by holding a pen with a sensor and color-changing pulsating drawn lines would represent the drawers’ stress level. Together with peers, I reviewed the concept and concluded that holding the pen to measure HRV would challenge receiving reliable stress signals and that pulsating drawn lines were too unclear in communicating additional information on stress level (and probably unnecessarily difficult to compute).
Testing sensors and refining the concept
With the feedback on my initial sketches in mind, I explored feasible ways to get reliable and real time measures of stress and drawing possibilities. I created and coded multiple hardware prototypes in the Arduino IDE with C++ featuring. I tested combinations of Arduino Uno, Arduino MEGA 2560, NeoPixel strip, LCD shield, Pulse-, GSR-, and MAX30105 Pulse - sensor.
Combined measures of the MAX30105 and GSR sensor proved to be reliable in measuring and classifying stress, similar to earlier research, and did not need machine learning to recognise stress patterns. Although the LCD shield was quite small, I chose this component to draw on as it was a feasible option for the scope of this project.
I refined the concept and instead of the pulsating lines in the first sketch, I included coloured LEDs inside the pencil, matching the colour of the drawn lines, to give additional feedback on stress level and enabling a natural drawing interaction. The sensors would be worn separately on the non-drawing hand to ensure reliable signals.
Making the hardware work
It took many iterations to get the hardware to work reliably. The GSR and pulse sensors disturbed the LCD’s touch screen sensor, resulting in only 50% of the drawn lines to be picked up and shown on the LCD screen. I simplified and optimised the code by storing raw data as little as possible and making conditions less dependent on stored data.
Feedback peers gave was that the concept lacked guidance in what to draw, which for people without drawing experience was a need. With bitmaps and code, I added drawing template options so users would feel more empowered to start drawing and relaxing.
Designing the prototype
After the hardware prototype worked, I first made sketches of the case and LED-pencil to explore designs, test measurements and holes for the wires.
I then designed the case with code and Illustrator, based on this design, laser cutted the design in 4mm plywood and assembled it. In Tinkercad I created a hollow 3D model of the LED-pencil (height: 12cm, width: 1.5cm) so the LED-strip would fit inside. The wall thickness was set on 1.5mm, ensuring good stability and enough translucency for the LED lights.
The pencil was printed with PLA and installed with the LEDs. Finally, all components were combined and ‘heart’ was ready for use!
Outcomes and learnings
- If I would have had more time, I would have added an option to save drawings to track stress long-term and explore making the pencil a standalone tool using an Arduino Micro, cartridges with ink and batteries. This way, users would benefit more from its destressing function, making screens redundant and enabling drawing on paper everywhere they want.
- I had little coding experience before this project, and although learning code starting with C++ was quite frustrating, I learned a lot about how to code.
- I realised I really liked physical prototyping a lot and am currently saving up for a Snapmaker.