Week 9: Wearables¶
MoodTrack: Temperature-Sensing Wearable Bracelet¶
Exploring emotion detection through physiological signals and thermochromic feedback
Research Phase¶
Thermochromic Technology¶
Thermochromic pigments are temperature-sensitive materials that change color when exposed to different levels of heat. I began my research by exploring how these pigments work at the molecular level—specifically, leuco dyes combined with color developers and solvents. When temperature increases, the molecular structure changes, causing the color to shift or disappear.
For this week's assignment, I wanted to understand how thermochromic pigments could be applied to textiles while maintaining their responsiveness over time. I learned that the pigments can be screen-printed, mixed with fabric paint, or embedded directly into fibers. The challenge lies in ensuring durability through washing and repeated use.
Wearable Actuators & Sensors¶
I investigated various actuators that could be integrated into wearable devices:
- Temperature Sensors: TMP36 and DS18B20 sensors can detect subtle changes in skin temperature
- RGB LEDs and NeoPixels: Provide visual feedback through color changes
- Heating Elements: Nichrome wire or resistive pads can trigger thermochromic color changes
- Vibration Motors: For haptic feedback (not used in this project but explored)
The key consideration was power consumption and how to efficiently integrate these components with microcontrollers like Arduino while maintaining comfortable wearability.
Soft Circuitry Integration¶
One of the most fascinating aspects of this research was learning about soft circuitry—how to seamlessly integrate electronics into textiles without compromising comfort. I studied:
- Conductive thread for creating fabric-based circuits
- Hard-soft connection methods for attaching rigid electronic components to flexible fabrics
- Insulation techniques to prevent short circuits while maintaining flexibility
- Power management for small-scale wearable applications using coin cells or rechargeable batteries
Body Sensors and Physiological Signals¶
During my research, I discovered that emotional states directly impact physiological responses. Body sensors like temperature, heart rate, and galvanic skin response (GSR) sensors can detect these changes:
- Calm states: Lower skin temperature, reduced heart rate
- Active engagement: Increased circulation and warmth
- Stress and anxiety: Temperature spikes as the sympathetic nervous system activates
This understanding became the foundation for my project concept—using temperature as a proxy for emotional state.
References & Inspiration¶
During my research, I explored several alumni projects that demonstrated successful integration of thermochromic materials and LEDs in wearable applications:
Thermochromic Innovations¶
- Ruby Lennox - Thermochromic Screenprint - FabLab Barcelona
- Stephanie Johnson - Thermochromic and Sound Research - TextileLab Amsterdam
LED Integration & Interactivity¶
- Marion Guillaud - LED Responsive Glove - Le TextileLab Lyon
- Stephanie Vilayphiou - Interactive Glove - Green Fabric
These projects inspired me to explore how temperature sensing could trigger both LED and thermochromic responses, creating a multi-sensory feedback system.
Project Concept: MoodTrack¶
Based on my research, I developed a concept for a wearable bracelet that senses skin temperature and provides visual feedback through LEDs and thermochromic patches. The system categorizes temperature readings into three states:
State 1: Calm¶
Temperature: Below 30°C
- LED: Blue glow
- Heater: Off
- Thermochromic patch: No activation
- Interpretation: Relaxed, meditative state
State 2: Active¶
Temperature: 30-33°C
- LED: Yellow/orange pulse
- Heater: Small pulses (500ms on/off)
- Thermochromic patch: Partial activation
- Interpretation: Engaged, energized state
State 3: Stress¶
Temperature: Above 33°C
- LED: Red constant
- Heater: Strong, continuous heat
- Thermochromic patch: Full activation
- Interpretation: Heightened stress response
Design Sketch¶
<p style="margin: 0; font-weight: 500; margin-bottom: 10px;">Design Components:</p>
<ul style="margin: 0;">
<li><strong>Temperature sensor</strong> positioned against the skin for accurate readings</li>
<li><strong>Microcontroller</strong> (Arduino-based) for processing temperature data</li>
<li><strong>LED window</strong> for immediate visual feedback</li>
<li><strong>Thermochromic patch</strong> for secondary color-changing display</li>
<li><strong>Circuit diagram</strong> showing component connections and signal flow</li>
</ul>
Materials & Tools¶
Electronics Components¶
- Arduino Uno/Nano microcontroller
- TMP36 temperature sensor (analog)
- Adafruit NeoPixel RGB LED
- Resistors: 220Ω for LED, 10kΩ for sensor
- Nichrome wire or resistive heating element
- 3.7V LiPo battery or coin cell battery
- Jumper wires
- Breadboard for initial testing
Textile Materials¶
- Cotton or neoprene fabric for bracelet base
- Thermochromic ink or pigment
- Conductive thread
- Heat-resistant fabric for insulation
- Velcro or snap fasteners
- Clear plastic/vinyl for LED window
- Fabric glue
Software & Libraries¶
- Arduino IDE
Adafruit_NeoPixel.hlibrary for LED controlOneWire.handDallasTemperature.hfor temperature sensing (if using DS18B20)- Serial Monitor for debugging
Process & Workflow¶
Phase 1: Experimental Code Development¶
I began by drafting the Arduino code concept for temperature sensing and output control. This code is experimental and has not been tested on hardware yet—it represents my proposed logic for how the system should work.
Note: The following code is conceptual and requires physical testing and calibration.
Planned Functionality:
- Read analog temperature values from the TMP36 sensor
- Convert voltage readings to Celsius
- Trigger appropriate LED colors based on temperature ranges
- Control the heating element with different patterns
MoodTrack_Arduino.ino
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN 3
#define NUMPIXELS 1
#define TEMP_PIN A0
#define HEATER_PIN 6
Adafruit_NeoPixel pixels(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin();
pinMode(HEATER_PIN, OUTPUT);
}
void loop() {
int sensorValue = analogRead(TEMP_PIN);
float voltage = sensorValue * (5.0 / 1023.0);
float temperatureC = (voltage - 0.5) * 100;
if (temperatureC < 30) { // calm - proposed threshold
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
digitalWrite(HEATER_PIN, LOW);
}
else if (temperatureC < 33) { // active - proposed threshold
pixels.setPixelColor(0, pixels.Color(255, 160, 0));
digitalWrite(HEATER_PIN, HIGH);
delay(500);
digitalWrite(HEATER_PIN, LOW);
}
else { // stressed - proposed threshold
pixels.setPixelColor(0, pixels.Color(255, 0, 0));
digitalWrite(HEATER_PIN, HIGH);
}
pixels.show();
delay(200);
}
Code Explanation (Proposed Logic)¶
Temperature Reading: The TMP36 sensor should output analog voltage correlating to temperature. The formula (voltage - 0.5) * 100 should convert this to Celsius—but this needs real-world calibration.
Conditional Logic: Three if-else conditions check proposed temperature ranges. These thresholds (30°C and 33°C) are estimates that will need adjustment after testing on actual skin.
LED Control: pixels.setPixelColor() sets RGB values (Blue: 0,0,255 | Yellow: 255,160,0 | Red: 255,0,0)
Heater Control: digitalWrite() should turn the heating element on/off with specific patterns for each state.
Delay: 200ms pause to prevent sensor overload—may need adjustment during testing.
Important: The temperature thresholds in this code are theoretical. Actual skin temperature varies by individual, environment, and measurement location, so these values will require calibration through physical testing.
Phase 2: Circuit Design & Connections¶
Based on my research into wearable actuators, I planned the circuit with the following connections:
TMP36 Temperature Sensor¶
- Pin 1 (Vs) → 5V power
- Pin 2 (Vout) → Analog Pin A0
- Pin 3 (GND) → Ground
NeoPixel RGB LED¶
- Data Input (DIN) → Digital Pin 3
- Power (5V) → 5V rail
- Ground → Ground
Heating Element¶
- Positive terminal → Digital Pin 6 (through transistor/MOSFET)
- Negative terminal → Ground
Power Supply¶
- 3.7V LiPo battery or USB connection
- Regulated to 5V for stable operation
The circuit diagram in my sketch shows this signal flow: skin temperature → sensor → microcontroller logic → LED + heater outputs
Phase 3: Challenges & Adaptations¶
During this week's assignment, I encountered several material availability challenges. Our lab had limited stock of:
Material Constraints:
- Thermochromic pigments
- Flexible heating elements
- Coin cell batteries suitable for wearables
My Approach to These Constraints¶
Instead of abandoning the project, I focused on developing a solid conceptual foundation and working code. This allowed me to:
- Thoroughly test the temperature sensing and LED logic
- Prototype the circuit on breadboard
- Prepare for full fabrication when materials become available
- Explore alternative heating methods (resistors as heat sources)
This experience taught me that sometimes the research and planning phase is just as valuable as the final build.
Current Status & Next Steps¶
Project Status: Concept & Code Development Phase¶
Completed:
- Researched thermochromic technology and wearable sensor integration
- Identified appropriate components and materials
- Written experimental Arduino code logic
- Created circuit design with proper component connections
- Developed wearable bracelet concept sketch
Remaining Work¶
1. Breadboard Testing
Build and test the circuit to validate sensor accuracy and LED responses
2. Thermochromic Swatches
Create and test color-changing patches once pigments are available
3. Textile Integration
Sew electronics into fabric bracelet base using conductive thread
4. Power Optimization
Test battery life and optimize code for lower power consumption
5. User Calibration
Wear-test the device to fine-tune temperature thresholds
6. Final Documentation
Capture video of working prototype and document learnings
Key Learnings¶
Technical Skills¶
- How to read analog sensor data and convert it to meaningful temperature values
- RGB LED control using the Adafruit NeoPixel library
- Creating conditional logic based on sensor thresholds
- Circuit design for wearable electronics with multiple actuators
Material Understanding¶
- Thermochromic pigments require specific temperature activation ranges
- Soft circuitry requires careful planning of conductive and insulating materials
- Power management is crucial for wearable devices
- Heating elements need proper insulation to prevent burns
Problem-Solving¶
- When faced with material shortages, focusing on conceptual development and programming can still yield valuable progress
- Research and planning are essential steps before fabrication
- Breaking complex projects into phases makes them more manageable
- Documentation of the process is as important as the final product
Reflections¶
This wearables week challenged me to think differently about how electronics and textiles can merge. Unlike previous weeks where I worked with more rigid materials, this assignment required considering comfort, flexibility, and body contact.
Key Takeaways¶
Temperature as input: I learned that body temperature is a surprisingly accessible indicator of physiological state. The TMP36 sensor is simple to use but requires careful calibration.
Multi-modal feedback: Combining LEDs and thermochromic materials creates layered feedback—immediate (LED) and gradual (thermochromic). This makes the wearable more engaging.
Material constraints: Not having all materials available was frustrating initially, but it forced me to focus on the fundamentals—understanding the technology, writing clean code, and planning thoroughly.
Wearable considerations: I realized that wearables need to balance multiple factors: comfort, durability, aesthetics, power consumption, and functionality. It's much more complex than desk-based electronics.
What I Would Do Differently¶
- Test temperature readings on actual skin earlier to understand the realistic ranges
- Explore smaller microcontrollers (ATtiny, Adafruit Flora) for better wearability
- Research textile integration methods more thoroughly before finalizing the design
- Consider adding a calibration mode where users can set their own baseline temperatures
References¶
Alumni Projects¶
Technical Resources¶
Articles & Research¶
- Wearable Technology and Smart Textiles - Exploring how the human body can power and interact with smart textiles
- Thermochromic Materials in Textile Applications
- Biometric Sensing for Wearable Devices
Fabrication Files¶
Code¶
- MoodTrack_Arduino.ino - Arduino code with temperature sensing and LED control

