Flung Out of Space (F.O.S.)

A sensor-enhanced neckpiece, paired with an enhanced bracelet

electronics_19

electronics_20

electronics_21

electronics_22

electronics_23

Concept

A two-part set of wearables, F.O.S. is designed to increase intimacy between two people by adding an element of synchrony to their biology, without needing the touch or immediate presence of the other party.

The two-part system consists of:

Technology

Input:

Output

Other

Presentation:

MUO-E1051_Wearable Technology_Final Presentation_Flung_Out_of_Space

Pinout designations:

Pin Attribution (C = neckpiece, B = bracelet) Variable Name
0 RXD
1 TXD
3 B: Motor (C -> B) B_MOTOR_PIN
4 C: Motor 2 MOTOR_PIN2
6 B: BPM LEDs (C -> B) B_BPM_GSR_LED_PIN
7 C: GSR LEDs GSR_LED_PIN
9 C: Breathing LEDs PRESSURE_LED_PIN
11 C: BPM Sensor RESET resPin
13 C: BPM Sensor MFIO mfioPin
A0 C: Breath sensor PRESSURE_PIN
A1 C: GSR sensor GSR_PIN
A2 C: Button BUTTON_PIN
A3 B: Button B_BUTTON_PIN
A6 B: GSR sensor B_GSR_PIN

Code:

Final Code

Features - Neckpiece:

Features - Bracelet:

Course Conclusions

What have I learned?

So many things!

How did the process go?

The process went relatively well! I spent a lot of time working on the project, and feel like I had a good mix of learning new things / challenging myself and using skills I already had. I went into this course very interested in the wearables side of the course, and had prior experience with programming for the Arduino and reasonably extensive experience with working with Neopixels and capacitive sensors. However, I did not have a lot of experience with biometric sensors, and I found that my soldering / wire management technique has improved. I had also planned to implement wireless functionality, but ran out of time.

What could be done differently?

I could make the base shape differently, and start with a different layering technique for a more accurate build. I could also custom make PCBs instead of using veroboard, and make a slimmer design by externalizing the battery or something. Going forward, I also now have the experience of making the first build, and have better odds for a good second build.

On a larger course level, I think there could've been more focus on the e-textile and electronics/wearable side - I feel like there was a relative lot of functional wear lectures, which were interesting, but I feel like peoples' experience with the electronics side could've been smoother.

What succeeded well?

The empty-interior strategy for assembly worked out suprisingly well for a relatively flat final project - it was necessarily a certain thickness due to the li-po battery, but it avoided having a fifth layer through careful wire coordination.

The final aesthetics of it were also quite nice - the transformation between the vaguely medical white to the reflective hot pink fabric really set a strong look for it, and I feel that the added spikes really helped it have a distinctive accessory look, almost plausibly wearable.

Finally, the electronics and code part of the fabrication turned out surprisingly successful and stable after the final changes for the motor, and I learned a lot in all of the coding for this course.

Personal credits suggestion

I would suggest a 5/5 score on this course. This is because I have dedicated a lot of time and care to this course, and I achieved the course goals well. My concept was a multifunctional, paired set of wearable art accessories, and I succeeded in actualizing a solid, functioning prototype of my concept.

Learning Diary: Classes

Week 37: Theory and introductions (7.9-10.9)

7.9.2020 Introductions

The scope of this class is quite impressive and exciting.

8.9.2020 Lectures and Demos

There are so many cool potentials for working with eTextiles, especially in weaving/knitting them directly, rather than working with pieces of conductive fabric. Very aspirational, but I just don’t know that much about textiles. Really interesting way to create soft sensors though.

Banana jump game - it is possible to do some interesting biofeedback without having to strap electrodes on your head, which is great. I am definitely planning on using biometric data in my project.

10.9.2020 Presentations and Functional Materials and Team-building

Presented our interests today, and have teamed up with Joona to create some sort of wearable. Very excited about this, but also have only a week to come up with our concept, which is a very fast turnaround (but also, the remaining build time is quite short, so it’s good to figure things out quickly).

Week 38: Coding and prototyping (14.9-17.9)

14.9.2020 Programming Day 1

No real learning due to familiarity with programming for Arduinos and basic physical computing, ruminated on what my project should be.

No conclusions had.

15.9.2020 Programming Day 2 & Simple Circuit Building

Programming was repeating things I knew, but afternoon with the simple circuit was a very nice and needed refresher on working with eTextiles. Laminations and learning how to use the school button press and the heat press was also quite exciting.

17.9.2020 Programming Day 3 & Sensor Building

Programming was not particularly useful, but building the sensors was fun and useful. Ran into weird bugs where my sensor would work when loosely stacked, but when glued together failed, but the principle is there.

Week 39: Visiting lectures and concept presentations (21.9-24.9)

21.9.2020 Waterproofing and Footwear

Morning: Waterproofing * 90C = hydrophobic, 150C = superhydrophobic, 70C is pretty good already (contact angle increases with temp)

lectures_01

Afternoon: Footwear * Why do we use shoes? * Protection, Function, Performance, Fashion

Conclusions

I’m not making shoes, but they’re very cool and incredibly complex. Waterproofing/material science is also very cool and out of my scope for this course.

22.9.2020 Visiting lectures (VTT)

VTT:

lectures_02

lectures_03

lectures_04

lectures_05

Jaana Vapaavuori: lectures_06

24.9.2020 Presentations & Tutoring

Received very good feedback on my initial concept (wireless anxiety gloves), realized that yes I’m focusing on the technical aspect rather than the, say, viability as a product / this is very much intended to be an art piece rather than something genuinely functional. Also should do more research into physiological synchrony / heartbeats synchronizing over time, as well as flesh out the artistic aspect of my project.

To do: more research, development of the concept

Week 40: CLO3D, Tutoring & Prototyping Begins

29.9.2020 Clo3D

Learned how to use the basics of Clo3D - pattern creating and testing, adding texture & prints. Very complex but powerful software - not useful this time as I am creating an accessory rather than something with a larger pattern, and Ilona talked to me about using the tape method of pattern making for making the gloves, which I am familiar with. Interesting class, I believe I will learn Clo3D properly when I need to use it.

Project Diary

29.9.2020 Change in plans

After discussion with Matti N., I have decided to experiment with the following sensors:

And experiment with alternative placements for the Heart Rate Monitor, as I don't particularly want to create yet another glove or earring to facilitate BPM readings.

01.10.2020 Tutoring sessions

Discussed potentially changing the planned wearable with Ilona and Emmi, had positive response and also was reassured about the expected outcome of the final project.

Discussed using GSR sensors with Valtteri, but don't have much ground to ask questions because I haven't built any sensors / made any code.

02.10.2020 Package Arrival!

My SparkFun Pulse Oximeter and Heart Rate Sensor - MAX30101 & MAX32664 arrived, along with my two Arduino Pro Mini 328 - 3.3V/8MHzs, which enabled me to start playing around with the sensor.

Goals/Accomplishments:

Managed to accomplish building a GSR sensor circuit out of conductive fabric and a .1uf capacitor and a 1MOhm resistor, but experiencing bugginess with the readings - to be addressed later.

Also managed to set up the heart rate sensor, which was difficult until I realized that the breadboard pin connections were just too loose/unstable, so I stripped some wire and threaded it through the holes on the module, and alligator clipped the other ends to jumper wires to plug directly into the Arduino Uno.

Next steps:

Work on testing heart rate placement, as that will decide what kind of wearable I will be making. (Neck -> necklace, wrist -> bracelet, fingertip -> glove, in order of preference). Figure out what's wrong with my GSR sensor. Write test code for the sensors, and set up some LED indicators as well.

03.10.2020 Minor testing

Conclusion: Heart rate sensor does work on different points on the neck, wrist, and fingertip, though it is quite sensitive to movement/very particular about location - this will present as a challenge if I don't want to make a glove which straps the sensor to the fingertip.

04.10.2020 Sensor testing & wearable design

Successfully found two points on the neck where the sensor can detect heart rates; however, they're located outside of the typical neckpiece/choker placement - as a result, I am currently trying a high-necked, highly stylized wearable.

Patterned and cut out a mockup of the neckpiece in white synthetic suede (I think, it's quite thick), and (through a lot of fiddling) temporarily secured the heart rate sensor to it so when it's put on, it's likely to be located correctly. We will see if I can increase the accuracy, but I'm not feeling optimistic about it.

collar_01

bpmSensor_01

Bought two second-hand leather jackets, to be used in the final product.

Tested the LEDs as well, and have come to the conclusion that I will use either a Neopixel Stick, or hand-solder five neopixels together, as a strip is too long to fit in my desired location.

leds_01

Finally, tried again at the GSR sensors, and I'm just struggling a lot with this one - I fixed my circuit, which improved the data by a lot, but I still struggle with inducing a response to test if the sensor is detecting anything meaningful.

Next on my to-do list includes getting some mesh so I can make a nice pressure sensor (the paper I read has an interesting way to make them) and consulting with Valtteri about the GSR sensors.

05.10.2020 Creating a Pressure Sensor

Today's goal was to create and test a soft pressure sensor, and I succeeded.

I first cut out the design based on the instructions from here: Conductive Fabric Pressure Sensor, and added a mesh layer, as per the research from a paper I read, to increase sensitivity.

pressureSensor_01

The mesh proved to be too opaque to allow any conductivity, so I used the following structure to build my sensor: fabric-conductive fabric-Velostat-conductive fabric-fabric. I chose to use Velostat instead of the EeonTex fabric for the piezoresistive layer because: I didn't need the sensor to be stretchy, I already had a decent quantity of Velostat, and Velostat was flexible enough for my purposes. I sewed the layers together, and tested their resistance with successful results.

Next steps: add button snaps to the pressure sensor, consult with Valtteri about the GSR sensors, and set up the vibe motor circuit.

06.10.2020 Clean-up and motors

I organized the wires coming out of the heart rate sensor and added headers to the ends of the wires, instead of alligator-clipping them to jumper wires. This makes the connection to the breadboard or Arduino much less prone to breakage, and also organizes the wires nicely.

I also added a reinforcement outer layer to the neckpiece, as it will be at least three layers in the end, and taped the heart in.

pressureSensor_02

I also implemented the vibe motor circuit. Took longer than it should've, but it works at least!

Current state of affairs: workstation_01

To Do: add button snaps, consult with Valtteri about GSR sensors

07.10.2020 Finishing the pressure sensor

I added the button snaps, and also programmed the sensor output to a row of LEDs, so it has a calibration sequence in the beginning and then lights up in a rainbow sequence as pressure is applied.

Spent hours trying to figure out how to program asynchronous timing, following this guide on the Arduino forum, but failed. This is important to my project because I want the heartrate sensor to be checking in on a different time interval than the pressure sensor, and also the output for the heartrate sensor will be a variable based on the detected BPM, so it will be on its own time scale.

To do: Figure async programming out!!

08.10.2020 Succeeded Programming Asynchronous Processes

I carefully rewrote the programs from yesterday, breaking the process into separate steps: first, change the pressure sensor to rely on computer time passing (millis() - prevMillis) rather than delay(). Then did the same for the LED indicator for the heartrate sensor, then again for the heartrate sensor itself. I eventually combined all of my progress so far to this:

In which the pressure sensor is directly mapped to control the rainbow LEDs (on the matrix), but it is also linked to generate a stand-in BPM while I figure out how to stabilize the actual heart rate readings. The BPM is then translated to increasingly rapid flashing of the red LED strip.

I was also able to talk with Valtteri about my GSR sensor, and we verified that it works, the data is just fairly noisy, and he suggested some methods to smooth out the data that I will try to figure out in the future. This is the feature most likely to be trimmed out if I run out of time, I think.

09.10.2020 New components!

I got my Digikey order in, which consisted of two sticks of 8 Neopixels apiece, as well as a SparkFun Photodetector Breakout - MAX30101, which uses the same sensor as my current heartrate sensor, but doesn't have the same microchip. The Neopixel stick performs fabulously, the photodetector less so, so I might use it for the Bracelet but that's a consideration for future me.

10.10.2020 Stabilized BPM and improved other code

Wrote a program to create a buffer of existing heartrate data, which will rely on past data to return a heartrate even if the signal drops. It will update data accordingly if new data comes in, but this helps stabilize the unstable sensor readings. collarFakingBPM.ino

collarAsyncPressureLEDsStableBPMLEDs.ino

        // Asynchronous processes
        // maps pressure readings to rainbow LEDs
        // REPLACES: maps pressure to a fake BPM
        // REPLACES: maps fake BPM to red LEDs
        // REPLACES: maps real BPM to red LEDs
        // NEW: maps stabilized BPM to red LEDs
        // NEW: converted setup sequences into functions

collarAsyncPressureLEDsStableBPMLEDsVibe.ino

        // NEW: maps stabilized BPM to vibe motor

collarAsyncPressureLEDsStableBPMLEDsVibeReset.ino

        // NEW: adds reset function to the BPM sensor after 10s of failures

11.10.2020 Planning transitioning to the Arduino Pro Mini

Did some serious logistics planning for how I'm going to wire everything when I go from an Arduino Uno and breadboard to an Arduino Pro Mini and perf-boards. Going to be a big process, which I should start pretty soon, but I need lab access first.

12.10.2020

Goals:

Accomplishments:

electronics_01

Next steps:

13.10.2020

Made the GSR sensor by covering two US pennies in conductive fabric and attaching snaps buttons to them.

Made a new pressure sensor.

Patterned and cut two more layers.

electronics_04

electronics_05

Made power/ground busses out of female headers.

electronics_02

Fit pressure sensor 1 & 2, vibration motor, GSR Sensor, Arduino Pro Mini inside the neckpiece.

electronics_03

14.10.2020

Coded the GSR sensor and reactive LED.

Made second vibration motor for bracelet.

Coded second heartbeat/motor relationship

15.10.2020

Cut out new layers for prototype v2.

electronics_06

Tested glue for bonding

Fit the heart sensor and pressure-reactive LEDs

Added a JST connector for the li-po battery

16.10.2020

Started inserting pieces into the new prototype, and started glueing together the prototype.

electronics_07

electronics_08

17.10.2020

Shortened and organized wires.

18.10.2020

Shortened more cables, added buckle, experimented with fabric coverings.

19.10.2020

Covered LEDs with heart cutouts, adhered outer fabric to the neckpiece, patterned and began assembling the bracelet, trimmed cables

electronics_09

electronics_10

electronics_11

electronics_12

20.10.2020

Completed the bracelet, majority of neckpiece.

electronics_13

electronics_14

electronics_15

electronics_16

electronics_17

electronics_18

21.10.2020

Motor started exhibiting strange behaviours around 6pm. Spent the remainder of the next several hours attempting to debug the issue, via a combination of troubleshooting the code and the physical connections.

22.10.2020

Exhibition day!

exhibition_01

23.10.2020

Swapped out the motor, it seems to work better now. It may have been a hardware issue emanating directly from the motor, meaning the heatshrink protection I tried could have possibly had a negative effect on the motor connections.

Research

Galvanic Skin Response

Physiological Synchrony - Heartbeat

Pulse Oximetry

Initial Plan: Wireless Gloves for Anxiety

Concept

Bridging the distance between two people with wordless communication, sending and receiving signals through the air, disembodied/embodied interaction (50+ meters).

Implementation

Two pairs of gloves, one hand of each pair is ‘wearable’ and the other is normal. One signifies anxiety (R), one offers reassurance (L). They mutually benefit when rejoined (handholding)

Visual Material and Inspirations

Long gloves, with a flared end to stash electronics in. Leather top, soft bottom - permits flex and room for sensors to be embedded, since they usually require the pads of the fingers. Embroidery going up the arm to hide or emphasize conductive thread paths.

gloves_01

gloves_02

gloves_03

Sketches

gloves_04

gloves_05

gloves_06

gloves_07

Technologies and Materials

Sensors:

Other technology: