2019 · A bio-feedback drawing tool

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).

INITIAL SKETCH OF HEART

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.

ITERATIONS OF HARDWARE PROTOTYPE

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.

REFINED SKETCH AND SCENARIO

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.

TECHNICAL CIRCUIT AND CODE IN ARDUINO

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.

EXPLODED DIAGRAM OF PHYSICAL PROTOTYPE

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.

DESIGNS OF THE CASING AND PENCIL

The pencil was printed with PLA and installed with the LEDs. Finally, all components were combined and ‘heart’ was ready for use!

FULL PROTOTYPE OF HEART

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.
Next project: Technology for Sexual Desire