Life in the city requires a constant chase against time. From long demanding hours at work to brief hours we spend relaxing with family and friends. This anxious chase, while it might boost productivity for some time, is not sustainable for the body of many people, like me. I find myself overwhelmed, whether it’s the crowding or noise, and I tend to regularly and physically isolate myself from my surroundings to meditate and slow my heart rate and eventually my anxiety down.


Brief Description

StressBracelet is a biosensor that uses galvanic skin response to measure the stress or anxiety level and responds with the lighting of 12 LEDs when stress levels are high. The user of this device would wear the bracelet and go about their day as usual, if the LEDs switch on, or if the user can feel their anxiety rising, they can take a break and do some meditation which would lower the stress and that would lower the moisture in the skin, which in turn switches the LEDs off.

The idea behind this bracelet is that since we, as city dwellers, are all prone to stress, there is a need for a device that silently communicates with us our level of stress is high, and if needed, that we should take a few minutes to breathe and take control of it. Using colourful LEDs added a positive spin to this device, on one hand, the user might be experiencing anxiety, but on the other hand, they will also see a colourful mixture of light, which is a less stressful approach to interact.  


Link to the video



The aim of this experiment is to propose a tool that would help people get rid of their anxiety in public spaces and especially on their commute. The sensor has to be easily portable and accessible on-the-go, while at the same time discrete and personal in its interaction.

Design Process (Documentation)

The reason I decided to create this sensor in a bracelet is because it is important for this device to be handsfree for people to use while they are walking or commuting. I am also interested in bringing to the table the concept of electronic components as a wearable statement that speaks to a digital generation. So, starting from this logic, I began to think of how a bracelet like this might look. Chain bracelets are some of the most popular bracelets used worldwide, whether made of silver or gold, chain designs have been the dominant style for bracelets for a long time.

A sketch of the bracelet in the chain link design
A sketch of the bracelet in the chain link design
A sketch of the LEDs wiring for the chain link design
A sketch of the LEDs wiring for the chain link design
The updated design for the bracelet
The updated design for the bracelet

So, building on that, I decided to experiment with the idea of chaining LEDs create a chain that is then connected to a controller, which then adds a certain functionality of the chain. However, I quickly realized how difficult it, because of the number of wires required to connect the LEDs to the 5V and the ground. So, I decided to tweak my idea and create a different iteration of the bracelet with the LEDs attached to it, rather than hanging from it.

Once I built the circuit, I added more LEDs following the same logic
Once I built the circuit, I added more LEDs following the same logic

For the finger sensor, I decided to use aluminum foil attached to velcro and wrapped around two fingers, index and middle fingers. Although the foil is sufficient for this experiment, it is extremely fragile and cannot be constantly re-used. However, through experimenting with the sensor, I recorded the serial readings and noticed that they were extremely unstable, but I was able to get an idea of the range, between 0 and 13 in a normal state, and 15-28 when activated. The experiment I made used meditation as a way to push moisture in the hands (from sweating due to stress) down and blowing hot air into them to activate the sweat glands and record higher readings. Through moisture in the hands, the voltage on the serial print through the Arduino is either increase (with more moisture) or decreases (with less moisture). This allows us to record those readings and measure to some extent the amount of stress a person is going through.


The end result of the experiment
The end result of the experiment

To build the circuit I followed a similar approach like the one we covered in our last experiment. Connecting one of the sensors to a transistor that is also sending the sensor value to the A0 pin, and the other to the 5V pin on the Arduino. Also, linking the LEDs to digital pins on the Arduino and the ground to the ground. This circuit allows the Arduino to read the amount of voltage that passes through the human skin, which increases when the sweat glands are activated through stress, anxiety, working out, etc.


Fritzing sketch of the circuit
Fritzing sketch of the circuit

Once all the parts were assembled, I moved to the Arduino code. I started off from the provided code in the class presentation slides, which only gave us the ability to control one LED. So, I decided to add 11 more LEDs in order to achieve a sort of ambient effect as a result of the rise in the stress level. In the code, I assigned pins 13 to 2 (with the exception of 10 and 23) as LED pins and connected the positive side of the LEDs to the digital pins on the Arduino. Also, I knew I had to add the “digital.write” line of code for the 11 new LEDs .

Link to the Arduino Code

Tools & Materials Used

12x LEDs

1x Arduino Mega

1x 330 ohm transistor

2x aluminum foils

2x pieces of velcro



The biggest challenge I faced during this experiment was figuring out how to make all the components fit into a wearable device. One of the problems is I only own an Arduino Uno and Arduino Mega, and both are way too large to be considered for wearables. However, having a smaller controller will make this task a lot easier. Also, my original idea of connecting the LEDs and the components in a chain link turned out to be much more complex than anticipated, which led me to change my design drastically.

I am considering other options of how to put this device together for a wearable experience.


Future Steps

During my research into different ways to make this device, I noticed that some people were able to build something very similar without the use of a controller. I am very interested in pursuing that option further and seeing where that would lead.

For this experiment, I used parts from my own collection, however, for my next iteration, I plan to purchase a few parts in order to tweak the device even more.

Learning how to build a biosensor opens up many doors for future explorations into this subject. We can build and customize our sensors to match our bodies.

Valentine E-cards: Explorations with the Pulse Sensor

My explorations with the heart pulse sensor lead me to creating a low-fidelity prototype of e-cards!

Figure 1. Processing Sketch E-card.

I wanted to explore data transferring between both the Arduino IDE software and Processing using the pulse sensor. The idea of using pulse sensory data to create an intimate and personal interaction sparked my interest in how I could create this sweet savoury like project/prototype.

Figure 2. Progress map of what to do with the pulse sensor.
Figure 3. Workshop #3 Worksheet

I sketched out what I wanted to do step by step on paper. First, I was going to setup and play around with the pulse sensor in Arduino to see how it worked and how the examples provided in the playground sensor library was tracking my heart rate. I followed the instructions from the pulse sensor’s website to help me set up.

Figure 4. webpage.
Figure 5. PulseSensor setup.

I was able to successfully set up the pulse sensor and started playing around with the example sketches in the Arduino IDE.

Figure x. Fritz diagram of led and pulse heart sensor (off screen).
Figure x. Fritz diagram of led and pulse heart sensor (off screen).
Figure 6. Pulse sensor setup part 1. (no beat detected.)
Figure 7. Pulse sensor setup part 2. (beat detected.)
Figure 8. Pulse sensor data on plot monitor on Arduino.
Figure 9. Pulse sensor data on serial monitor on Arduino.

This setup and serial data is from the PulseSensor_BPM code in the pulse playground library. I made a new file called Heart Beat and added the syntax line “Serial.write(myBPM)” to send the data over to processing.

Figure 10. Sending the data through “myBPM” variable.
Figure 11. Sending the data through “myBPM” variable.

I then sent this data over to a processing sketch, opened the port and placed the incoming data in an ellipse’s properties to manipulate its shape.

Figure 12. Sending the data to processing and changing the width of my ellipse by the pulse sensor data.

I later applied this manipulation to an image:

Figure 13. Using the data to control the appearance of a heart image.
Figure 14. Heart image shows up when the sensor detects a pulse.

My incoming BPM would cause the image to appear on the screen every time the sensor read my heart beat. I later had some fun and thought this would be a cute valentine e-card.

Figure 15. Pulse sensor e-card prototype!

For future works I’d like to take this sort of concept online so long distant lovers could send over in-real time e-cards of their partner’s heart beats. This could also be implemented in webcam calls or on common online canvases.

Checkout the process video below!



Dark Red Heart PNG HD



Project Journal #3 – Soma Garden


SOMA GARDEN is a digital garden powered by your bio data. The sweatier your palms, the more plants and flowers grow. By using electro-dermal activity(EDA) measured using DIY sensors and an Arduino, the changes in a person’s skin sweat glands cause changes in electrical resistance in the circuit which will trigger different levels of animations on the dome’s walls.

Ideation & reflecting:

I wanted to create a project that would treat biofeedback about sweaty palms in a positive way. For a lot of people, sweaty palms are a cause of anxiety as sweaty palms are normally viewed negatively in society. My project prompts personal self-reflection as instead of presenting data to show whether the body is under stress whether emotional or physical, it leverages the neutral nature of plants thus taking away any negative connotations.

Transferring authority of interpreting biofeedback back to the individual:

The animations allow anyone interacting with the SOMA GARDEN to interpret the volume of plants and flowers growing in their own way thus transferring authority on interpreting the bio data back to the user. As a developer, my role in the interpreting is minimal and doesn’t add any connotations either positive or negative to the final result because I focused on quantifying the sweatiness of one’s hands and creating different states for the dome; 0 – 20 (not very sweaty), 20 – 60 (slightly moist), 60-120 (sweaty), >120 (very sweaty)

How it works:

The dome responds to different states according to the sensor value ranges:

0 -(no interaction)

Dome’s walls go white / clear

0 – 20 (not very sweaty)

Animation of grass blades swaying in a breeze. 1/4 height

20 – 60 (slightly moist)

Grass blades swaying, flowers growing to half the dome’s height

60 – 120 ( sweaty)

Grass blades swaying, flowers growing to 3/4’s of the dome’s height

> 120 (very sweaty)

Whole dome fills with flowers and plants

Aesthetic visuals instead of biofeedback as numbers, maintains ambiguity so that individual interprets visuals by themselves:

The idea to grow plants came from the notion that sweating means our bodies are losing water  and that “water is life” and plants need water to grow.









Test run results:


To realize this low-fidelity prototype the following materials are needed:

  • Arduino Genuino Micro
  • Jumper cables
  • 2 Alligator clips
  • Aluminium foil
  • Tape or glue
  • Cardstock and writing implements
  • Scissor or cutting tool & cutting mat
  • 10K resistor
  • Breadboard

Circuit Diagram : source

DIY Polygraph

The grey wires in the fritzing diagram represent the sensors. They are connected to analog PIN A0 on the Arduino board.

To create your sensors – follow the instructions here and design the sensors according to whatever your idea is. This article presents instructions for a sensor to be attached around one’s fingers. For my idea, I envisioned having a pad with a palm cut out so that an individual is invited to place their hand on it. The sensors would be on the tips of two of the fingers. Below are images from my steps of creating the sensors.



Design of a high-fidelity prototype:



For a proof of concept I would like to work on creating this dome idea but on a single screen or panel hanging on a wall. The palm rest with the sensors would be placed beside it. I would like to explore perhaps using Google Glass so that the individual can still be immersed in the SOMA GARDEN. I believe having the individual enclosed gives them space to actually reflect in private on what they are seeing and what it might mean to them.  I believe that this design also gives the individual space to determine what their sweaty palms may mean, perhaps if they are feeling anxious the growing plants may distract them enough so that they can calm down and in terms of personal motivations, they can use the SOMA GARDEN as a space to meditate without external pressure.


Dream design:

SOMA Garden high fidelity idea


When coming up with threshold values test the sensors at different times of the day to get a variety in bio data. Additionally test with multiple individuals to get a more reliable sense of what kind of values you might get back.

Test different resistors to get one that suits your needs. Preferably choose a resistor that generates higher values or allows for a wider range of values on the serial monitor. This will help when creating different thresholds for the sensors. For this project a 330 ohms, 1.oK ohms and 10K ohms resistor were tested and a 10K resistor was chosen. Below are screenshots of readings from the testing of the resistors in the circuit.



Galvanic Skin Response Powered by Arduino (note: the circuit diagram shown in this article is incorrect) : here

Detect Lies with Tin Foil, Wire and Arduino : here


Roof Glass Dome: here

Potted plant: here


Runners aid (Posture Sensor) workshop #3

The world of sensors and feedback

For this assignment. We were given a choice of making sensors or to try out existing sensors like heart rate monitor, EMG sensors to select and experiment with keeping in mind the idea of self reflection or self expression.

I tried out the the EMG sensor with my class Nick. From my understanding of the sensor  senses muscle activation. You can then use it to connect to the arduino to get value mapped to sensor value by using a simple serialInputOutput code from sketch examples.

Testing out the the emg sensor. The EMG sensors uses a surface which acts like a bandage on the skin. The accuracy of the reading go down for more than a couple uses.
Testing out the the emg sensor. The EMG sensors uses a surface which acts like a bandage on the skin. The accuracy of the reading go down for more than a couple uses.




Workshop 3 handout
Workshop 3 handout

1)How could your design follow the design recommendations? 1) Instead of representing numbers, represent through materials and aesthetic visuals


Thee posture sensor is used for “running in the dark”it not only activates light. This helps the runner maintain a steady speed while keeping them safe. This falls under the idea of biofeedback, using the bodies momentum.

Thee posture sensor is used for “running in the dark”it not only activates light. This helps the runner maintain a steady speed while keeping them safe. This falls under the idea of biofeedback, using the bodies momentum.

2)Instead of designing for affect-as-information, design for affect-as-interaction. Treat the biofeedback as a prompt for social interaction or personal self-reflection.

I see this sensor as being more of an interaction with the surrounding. Night runs are a great time for reflection and solitary activity. Sometimes, due to some areas not having enough light runners are put in harm’s way from vehicles and unlit paths. I can also see the device having two lights. One to illuminate the path, and one which maybe is connected to a heart sensor.

Sketch based on question 1 of Handout. Sketched out idea with emphasis on material and Aesthetic value
Sketch based on question 1 of Handout. Sketched out idea with emphasis on material and Aesthetic value
"runners aid" sensor. The idea is that the metal piece willsway due to the body's forward momentum lighting up the LED and proceeding with ambient light
“runners aid” sensor. The idea is that the metal piece willsway due to the body’s forward momentum lighting up the LED and proceeding with ambient light

3) Have enough ambiguity that the individual must interpret what the visualization means for themselves.

4) When designing, constantly reflect on how you are making meaning for the individual through your designs. Could you be insinuating that something is negative, unhealthy, etc. ?

5) Reflect on the authority you are giving to the biofeedback device. How could you transfer this authority to the individual instead?

6) Instead of focusing on self improvement

Building sensor

Materials needed


Building the sensor
Building the sensor


Testing out to see the sensor worked. For this I powered the two conductive materials and grounded the metal piece to achieve the led to go off and on. This is a way to switch the circuit on and off.

Using the same principle of circuit connections, I then proceeded to light two LEDS.

Code considerations

I didn’t use any code to light these LEDS up. If I were to do it, I will connect the two pieces of conductive material to different pins which would trigger the led.


This was an interesting experiment. Building the sensor rather than using an established sensor helped a lot with understanding how they can used to trigger information. One thing that I realized with this sensor was that i am calculating and triggering information about movement.

Conclusion and future considerations

This sensor is something I can see being incorporated into running and interval training. For example during interval training, runners sprint until they reach a certain heart rate and slow down and sprint again. It would be interesting to have this sensor also be attached the a heart sensor. The heart sensor could trigger a red LED which would inform the runner that it is the optimum time to slow down. The slowdown of the heart rate would then let the runner know again at the optimum time to start sprinting. This would be interesting for athletes who use interval training regularly in their training.








Muscle Manager

img_20190207_083929 docu3screenshot_20190207-085348



I get headaches often. I clench my jaw when I’m stressed, when I’m focusing, or when I’m nervous. Discussions with many professionals  throughout my life have convinced me that habitual jaw clenching is bad for my teeth, my bones, my muscles, and is major factor in my headaches.

Mindfulness practice has helped somewhat. With increased body awareness I have been better able to notice when my jaw is clenched, and adjust. I then also ask myself “why might I have been clenching my jaw? What here is making me stressed, or anxious, or focused?” With the symptom noticed I am then able to look outward for the cause.


I imagined a simple wearable (a hat or band?) that could conceal the sensor-stickers of an EMG muscle sensor. I’ve been enjoying playing around with If This Then That (IFTTT) in another class and having fun with it, and I thought this might be a fun way to integrate it as an unobtrusive opportunity for self-reflection.

My concept, then, was a wearable that detects jaw tension. When the tension is sustained the wearable sends a notification to the wearer’s phone, reminding them that their jaw is tense. No judgement is implied; it is simply a statement of fact. The wearer can self-reflect and adjust as required.

A high sensor reading is sent to Adafruit IO, which triggers an IFTTT applet, which sends a notification to the user’s phone.


After playing with and testing the sensor on various muscles with the help of my friend and colleague Amreen, I wrote some code interfacing with Adafruit IO and commented it for clarity, viewable here.

The code uses the Adafruit Feather microcontroller and Adafruit IO Wifi to connect the board to the internet. I used the Adafruit IO Arduino library and the guide here. Note that the Adafruit Feather won’t connect to 5G wifi networks!

In summary, the code checks every ten seconds to see if your tension is above a threshold. If it’s above the threshold twice in a row (signifying extended tension) it sends a “1” value to Adafruit IO. An IFTTT applet, listening to the feed, sends a notification to the user’s phone with a non-judgemental reminder that they are experiencing jaw tension.


Wiring is simple.  From Getting Started with MyoWare Muscle Sensor from the Adafruit website:


My code includes an LED so you can have a real-time visual representation of the sensor’s readings. That LED is currently assigned to pin 13, the built-in LED on the microcontroller, so no wiring is necessary.


The Adafruit IO feed is created automatically when the Feather sends data to it.



Stumbling Blocks

Everything works in theory, but the fact that the electrodes on the EMG sensor are only good for two or three placements has been an impediment to testing. Early in testing I was able to get values consistently from the sensor, but by the end it was unresponsive and was only delivering the same, very high, result.


The upshot of this is that the infrastructure of the project – Adafruit IO to IFTTT – can still be tested, and that it works consistently.

Next Steps

More tuning of sensor placement and adjustment of thresholds and timing is required. If this project was to become a wearable it would have to move away from the MyoWare EMG sensor, as the sticker-based electrodes are not feasible for long-term use or use with a piece of clothing.


This is ultimately a very personal self-reflection project, as I have lived most of my life with physical issues caused by or related to jaw tension. I imagine that this system, were it used by other people, would be adapted into a system that manages whatever tension points they hold.

I chose to send a smartphone notification rather than some other form of feedback because the smartphone is ubiquitous, and notifications tend not to draw undue notice. As monitoring one’s body is a personal experience, I would prefer to have the feedback presented in a relatively subtle and unobtrusive way.

The other option for feedback I considered was haptics, but this still felt more obtrusive than I would have liked. A smartphone notification can be ignored or forgotten, while a physical sensation can not. The intention with this piece is to gently remind the user that they’re carrying tension, and communicate that information when the user is ready for it, not to force them to confront it.


Welcome to Adafruit IO. (n.d.). Retrieved from


Ifttt. (n.d.). IFTTT helps your apps and devices work together. Retrieved from

The Calming Sensor

By Omid Ettehadi & Veda Adnani

Github link:

Stress, anxiety and anger are all emotions or states that most of us deal with in today’s day and age. All of them, are also contagious and easily spread amongst people. It’s best to attack and deal with these emotions. It’s best to nip these emotions in the bud using technology to facilitate the process.

The idea for our low fidelity prototype is to create a device that can calm its wearer during the moments that they feel like everything is the worst. Using biofeedback for self-reflection or somaesthetics, the device senses the heart rate of the wearer and provides them with instant motivational feedback in stressful situations (as opposed to just raw data). The purpose of this device is to induce instant calmness, promote self-efficacy, help keep the user motivated and empower them to tackle stressful situations that they otherwise may avoid in their day to day lives.

Subtleness: The vibration is soothing and gradual, pleasant and relaxing.

Intimate correspondence: The vibration frequency and motivational interface react to the heartbeat rate captured by the pulse sensor.

Making space: The device is extremely light, easily portable and can give the user a few moments of personal headspace even in the most crowded gatherings.

Articulation: The rhythmic vibration, along with the encouraging interface helps a user relax and calm down. Research shows that positive quotes can promote self-efficacy and it is our hope to encourage that through this prototype.


Fig 1: Low fidelity prototype placed in a glove, shown here with the wearer and without.


In Class reflection

Something that really stuck with us during the class was the discussion on the different approaches to biofeedback. When dealing with Biofeedback as a form for self-reflection, you need to consider the way the device provides you with more insight and awareness about your own body. Something that was challenging in our project was to find the ideal method of communicating with the user without publicly sharing their data.



Our research process led us to discover that there are several products in the market that detect stress, very few of them actually help the wearer actionably deal with the stress. Most wearable devices currently also detect heart rate but rarely give the wearer any feedback/ insight or call to action on the data gathered. This tends to make the wearable experience dull since the wearer cannot act upon the data and improve or amend things as they might the desire to do.


Fig 2: From left to right: Our vision for the prototype was inspired by HeartMath sensor, Stress chips, and a vibrating watch(Doppel)

Idea and worksheet

Having worked out the sheet in class, we had a clear picture of the prototype idea. We wanted to create a device that regulates stress, anxiety and other forms of negative emotions that trigger elevated heartbeat. It comprises of minute sensors on the wearer’s fingertips, and a stylish wrist band to enclose the microcontroller seamlessly.


Fig 3: Idea sketch for high fidelity prototype


Fig 4: In class worksheet


The device consist of a pulse sensor and an output component in the form of vibration. It also contains an interface output on a screen that corresponds with the user’s heart rate.

1 x Arduino Micro

1 x USB cable

1 x 2mm Mini Vibrating Disk Motor

1 x Pulse Sensor

1 x Glove

Ancillary material to sow sensors, and a computer to process the code



As shown in the ideation section, we turned the glove inside out and sowed the heart rate sensor onto the pinky finger and the vibration motor onto the ring finger. Thereafter we connected them using cables to the Arduino micro, which we fastened to the wearer”s wrist using the glove itself.




Fig 5: Inside out glove few for fabrication of components. They were sewn onto the glove for this prototype.


To get a better understanding of the sensor and its capabilities, we started experimenting with the examples from the PulseSensor Playground. After going through all the examples, We Chose the Getting_BPM_to_Monitor example as the base for our code and made our modifications to that file. We initially tried using the Adafruit ESP32 Feather for the project, so that we could connect the glove using the internet to the user’s mobile phone. Due to the limitations of this board in dealing with Analogwrite, we were not able to run any of the examples on the Feather and therefore decided to stick with the Arduino micro for this stage of the project and use the Serial Control to communicate with the computer.

In the Getting_BPM_to_Monitor example, the device already calculates the beat per minute of the user and prints on the Serial monitor, in addition to turning onboard LED one every time it detected a heartbeat. We added another pin to control the vibrating disk motor. We set the code, such that if the heart rate of the person went higher than the threshold set by the user, the vibrator would turn on. We experimented with leaving the vibrator on for the duration of the time the heart rate of the user was higher than the preset value, but after some testing, we saw that the constant vibration leads to an increase in the heart rate of the user. We made some changes to the program so that if the user’s BPM passed the threshold level, the device would vibrate at a 50 per minute rate to mimic a slow heart rate and using the body’s natural reaction to the frequency to lower the user’s heart rate.

The next step was to connect the Arduino to P5. We used the serial control, so that every 200 ms, the Arduino would send the status of the LED (indicating heartbeat) and the BPM to the P5. We wanted to use this information and further assist the user in their attempt to lower their heart rate. We decided to stick with something simple. We used a drawing of a heart to indicate the user’s heartbeat and to print out positive thoughts when the user’s BPM passed their preset threshold. This was to make sure the data is perfectly transmitted between the devices. By finding the right conditions, we can now set the P5 to do any actions we want in order to lower the user’s heart rate, such as play relaxing music or etc.


Fig 6: Circuit



Fig 7a and b:  7a shows the calm state, and 7b shows the stressful state with calming motivational messages.


Fig 8: WIP CODE with preview > Arduino and p5.


As a team, we were fairly clear about a realistic scope for the timeframe we were given. Our priority was to get the sensor working to the vibration and only thereafter did we incorporate the interface functionality.


The vision for the final product

If we were to develop a higher fidelity prototype, we envision gaining more accuracy with data for thresholds of stress, anger, anxiety or any other negative emotion that is accompanied by a change in heartbeat patterns.

We would also focus on improving the ergonomics of the sensors, and making them more wearer friendly and unintrusive. The vibrations on the current prototype are fairly simple, however, we would love to customize the vibration to the emotion in a rhythmic way, so as so as to maximize its effectiveness in tackling the stressful situation. We would even consider personalizing this motion to its user depending on how they react since every user is unique and might respond differently to different emotions.

It would also benefit us to help track and save the data that we are able to gather for the wearer to determine their emotional patterns and help them tackle their issues in a sustainable long-term manner.



Wearable vibrating wrist watch:

Stress strips:



Compact Tones

Workshop #3: Soma Aesthetics & Bio-Feedback
Compact Tones
Olivia Prior 


Compact Tones is a compact mirror that responds to the user’s stress levels. The mirror gently hums when left alone and is activated by being held by the user’s touch. The mirror responds to the moisture on the user’s palms and correlates this to the tone emitting tone. The tone changes every five seconds unless the user is in extreme duress. If this is the case, then the tone will repeatedly alter until placed down. This device gives space and reflection through audio to bring attention and presence to the act of gazing at oneself in a mirror for an extended period.


With this assignment, my goal was the create a self-reflexive experience on adjusting and looking at yourself in front of a mirror. I wanted to create a relationship with the mirror that is a non-visual experience to reflect on the act of engaging in an activity that was purely visual. The use of the compact mirror is to reflect the one on one relationship that we have with our own bodies. This project aims to highlight the act of habitually monitoring our own bodies and how one may use appearance as a coping mechanism when they are stressed.

The range of the tones was selected to avoid connotations of irritation when the tone is too high or apathy if the tone is not present. The mirror is always gently humming, and the pitch does not exceed too high of a tone. This does not dictate or prescribe any standard of a norm as the tone is always changing slightly when by itself. When the mirror detects the user’s touch it alters to a chirp, as if it were having a conversation with the user. This allows the user to be in full control of the device and their part in the conversation, and motivation in using the device.

Workshop notes
Workshop notes


For this project, I chose to use galvanic skin response as a method of bio-feedback. I chose this method because I wanted to measure the activity of someone holding a contact mirror.

My first step was to test out the technique myself. I took two pieces of aluminum foil and taped them around my fingers to see if I could get a measure. I found at first that I was not getting a drastic change in numbers, but the more I tried I noticed my readings were increasing. This was an interesting experience as I was visually seeing the change through the readings as I was constructing the piece.

Initial investigation of the sensor.
Initial investigation of the sensor.

My next step was to visualize how the aluminum foil would be placed on the mirror. As I needed two detached pieces of aluminum I decided to place the foil on either side of the packet. For the speaker, I decided to place it on the bottom of the compact so that the emitting tones would not be as blaring.

Diagram of the compact mirror being held.
Diagram of the compact mirror being held.
Top view of the compact mirror assembly.
Top view of the compact mirror assembly.
Bottom view of the compact mirror assembly.
Bottom view of the compact mirror assembly.

After testing and sketching, I started to assemble my piece together. I cut out two pieces of aluminum foil roughly the size of each side of the compact mirror. I used electrical tape the secure the pieces down. I left two slots open on either side to allow for the alligator clips to clip into easily.

Materials required for assembly of the sensor.
Materials required for assembly of the sensor.

Video of the assembly of the compact mirror

I tested out the values with the compact. Similar to my first experience, I found that my readings were not significant until after a few times when my hands were actively moving and producing sweat.

I then connected the speaker to the circuit and added in tones. Initially, I created an array with a list of tones that were in the order of a musical scale from low C to a high C. I did this so that I would have any obnoxious tones that would be distracting to the experience of the mirror. I then took the values of the compact mirror and mapped them to the length of the array. The outcome of the mapping would be an integer that would then be used to indicate what value of the array would be the emitting tone.

Initially, the range of tones was distracting. When untouched, the mirror would emit a very low buzz, and then when activated the pitch would starkly change to a high whining tone.  I then mapped the tones to go from a low to a mid-range pitch so that the interaction would be more musical and smooth.

My next step was to include a time aspect to the piece. I did not want the compact mirror to instantly respond to palm because that would make the compact mirror more or a musical instrument rather than a tool for slower reflection.  I chose to code the compact mirror to take into account the sensor reading in correlation to the time spent holding the mirror. For testing purposes, I chose five seconds as a time measure. If the sensor value is over a certain threshold, and a certain amount of time passes (five seconds) then the tone scale would increase as a response. Once put down the tone would then go back to a lower tone.

Arduino code for the compact mirror and GSR sensor
Arduino code for the compact mirror and GSR sensor

Demo of the compact mirror responding to being touched.

Something I discovered as I was testing was that if the compact mirror was left by itself untouched, the tone would change every five-second increment. This was interesting and I chose to leave this as it made the experience of the tone changing when picking up the device a more natural and less judgemental interaction.

Another discovery I noticed when testing was that once I removed my hand from the device the tones would “wind down” in the scale in quick succession. Once again, it seemed like it heightened the natural interaction of human to mirror and decided to leave the code untouched.

Challenges & Outcomes

The main challenge of this project was thinking of how to create a non-judgemental response when holding a compact mirror. Having a reaction to looking yourself in the mirror could be a very loaded action: it could be immediately judgemental, it could be stressful, or it could a deterrent from the action. My initial thought was to have LED lights to respond to the proximity of being in front of a mirror, but I thought that the light would interfere too much with the act of looking at your reflection. I ended up playing around with tone as an alternative but was also concerned with the connotations of tones. Such as: Would it sound too much like an alarm? Would it turn into an instrument rather than create a reflective space? These were my main concerns pursuing this output.

I found that I did not a steady data set to work with using the aluminum foil. I thought that I would have a more gradual input of data, but it seemed fairly binary as I was working with the material. I also suspected the readings to be closer to 0 when the mirror was left alone but found that it was steadily around 200. Rather than calibrating the data set, I chose the threshold for the sensor to reflect a very high level of moisture on the skin (900 out of 1023), and for the lower inputs to be mapped to the tones so there was always the “hum”.

I found that using a found object to be an effective foundation for this project. Placing the aluminum foil on the mirror and using alligator clips to connect it the breadboard worked well for testing. Beyond testing, this would be inefficient for a portable item. If I were to make a future rendition having all of the components together would be problematic. The aluminum foil on the compact mirror is flimsy and only attached by the edges. I found that the foil ripped easily when the mirror was moved around extensively. As well, the foil covers all of the surfaces. This would be problematic for attaching any microprocessors or protoboards as they would most likely to be attached to one of those surfaces. The components would either have to be wireless or the foil would have to be connected to accommodate to the hardware.

In a future iteration, I would use recorded sounds rather than tones. I think the tones are playful but still come across as distracting and stark. If there were softer sounds that were less removed from the context of alarms the soma aesthetics of the interaction would give more space for reflection.

Overall, I think that this project could be elevated to be used beyond compact mirrors. The inputs from the galvanic skin response sensors mapped to sounds could be applied onto many other items. The act of physical touch mapped to an ephemeral output such as sound creates space for reflection on many other interactions such as using a pen or typing on a keyboard. Galvanic skin response as bio-feedback is interesting because it can incorporate time – the data inputs can change over the time of the interaction. This project is only a small experiment in the greater potential of using the galvanic skin response in combination with sound as an output.

References and Research 

Galvanic Skin Response Tutorial 

Basic Tones Code for Speaker Output

Galvanic Skin Response Explained 

Harvard step test

What is Harvard step test?

“The Harvard step test is a type of cardiac stress test for detecting and diagnosing cardiovascular disease. It also is a good measurement of fitness and a person’s ability to recover after a strenuous exercise by checking the recovery rate. The more quickly the heart rate returns to resting, the better shape the person is in.” (wikipedia)

The procedure of Harvard step test.

“The person who is taking the test steps up and down on a platform in a cycle of two seconds. The platform is at a height of about 50 cm or 20 inches(usually 16 inches for women). The rate of 30 steps per minute must be sustained for five minutes or until exhaustion. To ensure the right speed, a metronome is used. Exhaustion is the point at which the subject cannot maintain the stepping rate for 15 seconds. The subject immediately sits down on completion of the test, and the heartbeats are counted for 1 to 1.5, 2 to 2.5, and 3 to 3.5 minutes.”(wikipedia)

  • Strategy:  

The professional step testing process is very complicated, and people do not often do step testing, but the recovery of heart rate after exercise is a very important indicator to detect heart health. Although my equipment is not that professional, they can immediately check their physical recovery status when people go to the gym. On the one hand, people have an intuitive understanding of my heart health or physical changes, and they can make corresponding adjustments to the amount of exercise they do.

How does this device work?

The more quickly the heart rate returns to resting, the better shape the person is in, normally heat rate should return to normal within 1 minute after regular exercise.

Test your heat rate after exercise > Your heart rate is very high right after exercise and the red led light up > If your heart rate return to normal the blue led light up > buzzer works as a timer, if your heart rate return to normal within 1 minute you pass the exam.


Describe your concept. What sensor would you like to use? What will your device do? Is your design for ☐ Self-reflection or ☐ Self-expression?
How could your design follow the design recommendations?

  • 1)  Instead of representing numbers, represent through materials and aesthetic visuals.

Instead of representing user’s heart rate in number, I used different color of led light as an indicator for people to read. In general, red is a passionately color and blue is a clam color. I choose red and blue leds to send notification to people.

  • 2)  Instead of designing for affect-as-information, design for affect-as-interaction. Treat the biofeedback as a prompt for social interaction or personal self-reflection.
  • I assume it is a self-reflection device because it can immediately check their physical recovery status when people go to the gym. It is a device that reflect people’s health condition.  
  • 3)  Have enough ambiguity that the individual must interpret what the visualization means for themselves.
  • For this project, it can be improved by adding visualization part of this device.
  • 4)  When designing, constantly reflect on how you are making meaning for the individual through your designs. Could you be insinuating that something is negative, unhealthy, etc. ?
  • Since people cannot change the code for this device, they cannot change the heat rate number.
  • 5)  Reflect on the authority you are giving to the biofeedback device. How could you transfer this authority to the individual instead?
  • 6)  Instead of focusing on self improvement, and prescribing an ideal, how could you help individuals with their own personal motivations?
  • For further steps for this project, I want to create a webpage, which can read the number of your heart beat. So people can know their heartbeat in every single time.

Howell, N., Chuang, J., De Kosnik, A., Niemeyer, G., & Ryokai, K. (2018). Emotional Biosensing: Exploring Critical

Alternatives. Proceedings of the ACM on Human-Computer Interaction, 2(CSCW), 69

  • Documentation:

Step1: test heat rate sensor.

I tested both the example code class provided. They all didn’t work at first. Since it is example code, the code is fine and I uploaded the code successfully. I checked the wire connection, port and Arduino board. They all good. After I asked for help, I realize I connect heartbeat sensor in a wrong way:

Most analog sensor with three wires, such as potentiometer, distant sensor. The wire on the sides connect to ground and power, and the one in the middle connect to analog pin. I did the same to heart sensor. I read the instruction on the bag and made it right.

(Left) Green –

(Middle) Yellow +

(Right) Red A0


(Heat sensor)

I tested both code and open the serial monitor. Everything works as expected.

Step 2: circuit and wiring


(Circuit Diagram without heartsenser)

I used fritzing to make this circuit diagram for leds and buzzer. It is very simple and clear with just two leds(one is red and one is blue). Since I cannot find blue led in fritzing, I used two red leds in the diagram. I also couldn’t find heat rate sensor, so I attach an circuit image below.


(Circuit Diagram with Heart Sensor)

Step 3: write Arduino code

I just changed few lines of code of the example code. I used if condition statement and set up a delay time for buzzer.

Code for buzzer:


Code for leds:


Step3: testing in real life

I used it right after aerobic exercise. It worked very well.

The more quickly the heart rate returns to resting, the better shape the person is in, normally heat rate should return to normal within 1 minute after regular exercise.

Test your heat rate after exercise > Your heart rate is very high right after exercise and the red led light up > If your heart rate return to normal the blue led light up > buzzer works as a timer, if your heart rate return to normal within 1 minute you pass the exam.

I tested my heart rate after I went to gym.

  • Insights:
  1. When connecting Arduino board to Arduino IDE, the very first thing you should check is the port name and board name. If you connected to different board. Arduino IDE cannot detect your board and code cannot be uploaded. Both port and board are under Tool at the top of Arduino IDE.
  2. Most analog sensor with three wires, such as potentiometer, distant sensor. The wire on the sides connect to ground and power, and the one in the middle connect to analog pin. I did the same to heart sensor. I read the instruction on the bag and made it right.
  3. Be careful of the led legs. The pin nearest the flat edge will be the negative, cathode pin.


  • Information sources:

I added one buzzer into my code and circuit. The buzzer works as a timer.


  • Next Steps: How would you improve upon what you made?

For this project, it can be improved by adding visualization part of this device.




Dog Activity Sensor

Experiment by: April De Zen


This experiment I wanted to create a fabric sensor that could track a ‘swaying’ motion. I really like the idea of creating electronic sensors with house hold items and I decided to continue in that fashion. I will be creating two strands of beads with a metal bead at the end of each strand. When the metal beads touch it will complete the circuit and turn on the LED. When the sensor is completed, I want to create a dog collar that will track the motion of a beloved pet dog. After we have a LED lighting successfully, the next stage will be to hook the sensor up to an Arduino and track the collars swaying motion through the serial monitor.

Step 1: Materials & Tools

  • 1 roll of conductive thread
  • 1 roll of regular thread
  • 1 roll of wire
  • 1 piece of sheet felt
  • 1 3V round battery
  • 1 adafruit sequins LEDs
  • Sewing needles
  • 3 Alligator clips
  • A bunch of plastic beads
  • 1K resister
  • Scissors
  • Needle nose pliers

Step 2: Beading
Luckily, I didn’t need to buy anything for this experiment since I had a bag of plastic beads from some kids crafts and the rest of the materials I already had in my kit. I sorted out a nice variety of beads I wanted to use and set them aside. I had about 10 beads for each strand. I don’t have any medal beads so I decided to make some by wrapping wire around a pair of needle nose pliers until I started to see a nice looking ball. Then I make a loop with the end of the wire and tucked the end of the wire into the ball to make a loop. I’ll use the loop to connect the wire bead to the conductive thread later.


From there, I added a piece of conductive thread to the metal bead making sure to double up the thread so it will hold the current of electricity better. Then I started started stringing the beads on to the conductive thread and stitched the excess thread into a piece of felt sheet. One strand was stitched to the right and the other was stitched to the left. I added and LED light and stitched a connection from the positive to the right side and the negative to the left side.


Step 3: Testing circuit
When I plugged in the LED came on immediately so I knew I did something wrong. The LED shouldn’t go on until the metal beads touched and complete the circuit but it looks like the circuit was already completed and when the 2 beads touched it would short out the LED and drain the battery. I had to go back to the drawing board and see where I went wrong.


Step 4: Fixing the circuit
After drawing out the circuit, I can see where I went wrong. Connecting the LEDs to each side completed the circuit so I needed to keep the LED on one side. Since I would be hooking this up to an Arduino eventually I would also need a third wire (or thread) to connect to that. When I saw the circuit on paper it made more sense and I was able to map it out better. Following the drawing, I made a new circuit and this time — it worked!


Step 5: Testing with Arduino
I wanted to track the motion of the dog so when it was moving the beads should touch sending a signal to the Arduino. To do this, I used some sample code provided by Arduino. I used the ‘Digital Input Pull Up’ to test it out. If it worked properly this code will return a ‘1’ when the beads are touching and a ‘0’ when they are touching. According to the code I would need to use pin number 2 to track the signal. I connected that pin to the thread that came out the top of the sensor using alligator clips. I connected the ground to ground and made sure to add a 1K resister to the 3.3 volt just incase. I’m actually not sure this needed it but it worked.


Step 6: Having fun with Dog
The next step was to see if this sensor would even work with the motions of a pet. For the sake of science, I put it on my dog. I disconnected the sensor for my Arduino and taped off the third line to convert this sensor back to just battery operated. I used some leftover wire to twist around the conductive thread on both sides. After that I connected the wire to each side of the battery pack and tucked it behind the collar. The sensor worked perfectly so I attempted to put it on the dog.


This is Sparkles Joey Joey Superhero. Not a typo, my kids named her and they must feel very strongly about the name ‘Joey’. I had to bribe her with many treats but I got her to wear the collar without trying to chew it off. She ran around with it on and I noticed that the beads didn’t always touch when she was moving but it did light up many times while she wondered. I think another iteration of this should have more strands of beads and maybe a larger surface for the circuit to connect (longer metal bead?) I also wondered what would happen if she fell asleep with the beads touching. That would technically register as movement if the Arduino was hooked up to it.


Low Blood Sugar Tracking with PulseSensor (Pulsewear)


Following in the footsteps of trendy wearable fitness bands, Pulsewear is one specifically designed for diabetics.

Insufficient blood sugar levels can cause a rapid heartbeat and heart palpitations. It happens when you experience low blood sugar so often that it changes your body’s response to it. Normally, low blood sugar causes your body to release stress hormones, such as epinephrine. Sometimes, people do not realize their low blood sugar level, or it can fall down suddenly. Going low during sleep is one of the biggest fear of people with diabetes. They can enter a coma, or even die during their sleep. So, most of them prefer staying high, wake up at night. This is also parents worry on their child that they check on their child often during their sleep.

My device will warn the person when he/she has a rapid heartbeat in order to inform his/her low blood sugar level.

I want to design an appealing wristband, which does not look like a medical device and fits and adolescents’ lifestyle.  It changes colour with LEDs and gives a signal by vibrating as well.

You can see the mages of my concept.



Image 1: Concept sketches and features

In order to develop its prototype, I am using a pulse sensor.

Code: “heart_rate_LED” with delay set to 100ms
Hardware: PulseSensor circuit and Arduino-UNO
Software: Arduino (Arduino code) 
Spreadsheet Data: workshop-3-worksheet_erman

To set the Arduino and codes I followed the tutorial. (


Image 2: Arduino and circuit setting

Your resting heart rate is when your heart is pumping the minimal amount of blood that your body needs because you’re at rest. Normal resting heart rate can vary from person to person, but for most adults, it’s between 60 and 100 beats per minute.

Children’s heart rates are normally faster than those of adults. According to Cleveland Clinic, the normal resting heart rate for a child aged six to 15 is between 70 to 100 beats per minute.

Continuous heartbeats over 100 and lower 60 may be a sign of a medical condition. I primarily want to use heartbeats over 100 because of my concept on lower blood sugar level of the users.

Because of these ranges, I added conditionals and texts for the warning.

if (myBPM >= 100) {

digitalWrite(LED13, LOW);

if (myBPM <= 100) {

digitalWrite(LED13, LOW);

if (myBPM <= 60) {

digitalWrite(LED13, LOW);
else {


Image 3: Monitor readings “High!” and “Normal!”


Image 4: Plotter readings

What is expected of my low-fidelity prototype:


Image 5: PulseSensor on low fidelity prototypes.

I expect it to light up light up when the pulse is over 100.

I hope to develop another version of the prototype with a continuous heartbeat in a dangerous zone may cause a warning, sending a message to your family, friends or caregivers. Moreover, it can call 911 if it really goes high and the user does not turn it off.  Turning off will be a sign for the consciousness of the user.


I am happy about learning new sensors. Each week, I am learning more about what can be done with Arduino. Still, I have some limitations about using Arduino.  For example, I wanted to create a voice alert; however, for a reason, I could not make it work. I also could not create a conditional for time tasks. For example, I wanted to write do something if this situation continues more than  60 seconds.

Next steps:

  • I still want to work on in and make more complex operations with it.
  • I want to add a voice alert to my concept.
  • I want to create a wearable version of this and hope to make it work remotely with fewer visible cables.
  • The unit also supposed to feature a handy app, accessible on any smart device, or an insulin pump that pairs with the device to provide the user with real-time pulse readings (or even glucose reading) and an easier way to manage their logbooks and analyze health patterns.

You can see the image of the worksheet below.


Image6: Worksheet workshop-3-worksheet_erman