9. Wearables¶
Research¶
I am interested in relating this week to my hoped for final project within Fabacademy. In Fabacademy I am working on an interactive device that allows it's users to problem solve on-the-go. I am very interested in exploring if this could also be translated into a wearable device. I would first need to explore the concept of wearables and troubleshoot the basics.
Actuators are components in a circuit that that move or change based on the input in a circuit. They are mostly known by three categories: visual, auditory, and motion.
Visual
Auditory
Motion
I'm interested in wearables that makes the wearer or viewer consider environmental impacts on themselves and others. The sun is an environmental concept that impacts everyone globally. The Global Solar UV Index (WHO) provides us with information on the UV impacts worldwide. I will be utilizing a sensor (GUVA-S12SD) that measures the 240nm-370nm range, which is the "UVB and UVA" spectrum responsible for sunburn.
weekly assignment
- Create a Swatch using Microcontroller
- Create 2 actuator swatches and test (LEDs and Flip Dots)
- Learn to program microcontrollers, document the process and of any libraries added power requirements and source code.
- Document the schematic and circuit
- Upload video of object working EXTRA Credit: Integrate into a project
Alumni Inspiration!
Check out and research alumni pages to betetr understand how to document and get inspired
-
Thermochromic screenprint - Ruby Lennox - FabLab Bcn
-
Led responsive glove - Marion Guillaud - Le TextileLab lyon
-
Thermochromic and sound research - Stephanie Johnson - TextileLab Amsterdam
-
Interactive glove - Stephanie Vilayphiou- Green Fabric
Add your fav alumni's pages as references
References & Inspiration¶
I remember when I first became introduced to the concept of wearables. I was in elementary school and would spend my afternoons watching shows like Dexter's Laboratory, Jimmy Neutron, Cyber Chase, and Kim Possible. I remember thinking it was so cool that they both (Dexter and Jimmy) had places within their homes that they could make almost anything. I also loved how Kim and the Cyber Chase team could reach out to tech support via portable devices. Inventions in particular that REALLY interested me were Jimmy's watch, Dexter's Quadraplex T-3000 Computer, Cyber Chases' SKWAK Pad and Mother Board, and Kim's Kimmunicator. All of these shows were produced during my childhood. A time period before handheld devices were accessible for children or teens. Handheld wifi enabled devices became accessible to the public around 2005 in the USA, by then I was a teen living in rural Georgia. The first handheld device I ever owned was a Zune in 2006. The Microsoft Zune had NO internet connection and at the risk of being too honest, I was loading it with songs and films using limewire (a P2P file sharing interface discontinued in 2010 due to license infringement).
Two artists that helped me to bring my research and inspiration together are Liza Stark and Jiri Preisler.
Kobakant also has really cool "Wrist-Band" electronics that utilize copper tape on flexible or rigid substrates as "jewelry" components.
Tools¶
Componenets
- Brain: ESP32 DevKit (30 pins).
- Input: GUVA-S12SD UV Sensor.
- Output 1: Adafruit Vibrating Motor.
- Output 2: Mini Speaker (4ohm/3W).
- Switch: N-Channel MOSFET (to drive the motor).
- Substrate: 3mm Clear Acrylic (laser cut) + Copper Tape (vinyl cut).
- Mounting: A thick fabric or leather strap + Velcro or Chicago screws.
- Power: USB Cable + Portable Power Bank (kept in your pocket).
Machines and Software
- Design: Inkscape
- Cuting Copper Tape: Roland Vinyl Cutter
- Programming: Arduino IDE
Tools¶
Process and workflow¶
Circuit Design¶
This schematic 1 was obtained by designing in KiCAD
Goal: Create a technically sound schematic and a base layout.¶
Schematic Capture¶
-
Open KiCad and create a new project: UV_Watch_Week8.
-
In Schematic Editor, add components (A key):
2a. MCU: ESP32-WROOM-32 (30-pin dev kit).
2b. Input: GUVA-S12SD (use a 3-pin header if the library doesn't have it).
2c. Output 1: N-Channel MOSFET + Vibration Motor.
2d. Output 2: Mini Speaker.
- Wire them up:
3a. UV OUT → GPIO 34.
3b. GPIO 12 → MOSFET Gate.
3c. GPIO 25 → Speaker (+).
- Run the Annotate and ERC (Electrical Rules Check) to ensure no disconnected pins.
PCB Layout (Base)
- Open PCB Editor and click Update PCB from Schematic.
- Arrange components so the UV sensor is near the "top" of your watch face and the ESP32 is centered.
- Draw traces (press X). Use 0.8mm width as a minimum in KiCad (we will thicken them in Inkscape).
- Export: Go to File > Export > SVG. Choose "Black and White" and "Board Area Only."
Artistic Engineering (Inkscape)¶
Goal: Turn technical traces into vinyl-cuttable copper tape paths.¶
- Thickining Traces
1a. Import the KiCad SVG into Inkscape.
1b. Ungroup everything (Ctrl + Shift + G) and delete technical text or frame lines.
1c. Select all traces. In the Fill and Stroke menu, set the stroke width to 1.5mm. This ensures the vinyl cutter blade won't tear the copper.
1d. Apply Path > Stroke to Path. This turns lines into shapes.
- Designing the PCB Body
2a. Draw the PCB: Use the Rectangle tool
2b. Draw Strap Slots: Two 20mm x 3mm rectangles on opposite sides for fabric strap.
2c. Alignment: Center the circuit traces inside the PCB face shape.
2d. Hole Placement: Add 2mm circles at the ends of the traces for rivets or screws for "hard-soft" mounting.
Fabrication & Machine Workflow¶
Goal: Move from digital to physical.¶
- Vinyl Cutting (The Circuit)
1a. Save your traces as a .DXF (Desktop Cutting Plotter).
1b. Open in Roland CutStudio.
1c. Load Copper Tape into the GS-24.
1d. Set the force to 50-70gf and speed to 1cm/s.
1e. Weed the excess copper and use transfer tape to move the circuit.
- Laser Cutting (The Acrylic)
2a. Save your PCB outline and holes as a separate .DXF or .PDF.
2b. Load 3mm Acrylic into the laser cutter.
2c. Apply the vinyl-cut copper circuit onto the acrylic after cutting making sure to press it VERY well into the acrylic.
Assembly & Testing¶
- Soldering: Use the Tinning method. Put a dab of solder on the copper tape and the component pins first.
- Solder the ESP32 "legs" flat onto the tape.
- Mounting: Thread your fabric strap through the laser-cut slots.
- Code: Flash the UV Sensor code from the ArduinoIDE via USB.
This tutorial 2 was created using..
footnote fabrication files
Fabrication files are a necessary element for evaluation. You can add the fabrication files at the bottom of the page and simply link them as a footnote. This was your work stays organised and files will be all together at the bottom of the page. Footnotes are created using [ ^ 1 ] (without spaces, and referenced as you see at the last chapter of this page) You can reference the fabrication files to multiple places on your page as you see for footnote nr. 2 also present in the Gallery.
Code Example¶
Use the three backticks to separate code.
/*
* Fabricademy Week 8: Wearables - ESP32 UV Watch
* Input: GUVA-S12SD UV Sensor
* Output 1: Haptic Vibration Motor (via MOSFET)
* Output 2: Mini Speaker (Beeps)
*/
// --- PIN DEFINITIONS ---
const int uvPin = 34; // Analog input (GPIO 34)
const int motorPin = 12; // MOSFET Gate (GPIO 12)
const int speakerPin = 25; // Speaker Output (GPIO 25)
// --- THRESHOLD CONSTANTS ---
// Adjust these based on your local sunlight and scientific research (WHO UV Index)
const float UV_ALERT_THRESHOLD = 5.0; // Vibrate at "Moderate" UV Index
const float UV_DANGER_THRESHOLD = 8.0; // Beep + Vibrate at "Very High" UV Index
void setup() {
Serial.begin(115200);
pinMode(motorPin, OUTPUT);
pinMode(speakerPin, OUTPUT);
// Test actuators on startup
digitalWrite(motorPin, HIGH);
delay(200);
digitalWrite(motorPin, LOW);
}
void loop() {
// 1. Read and Calculate UV Index
// ESP32 has 12-bit ADC (0-4095). Assuming 3.3V power.
int rawADC = analogRead(uvPin);
float voltage = rawADC * (3.3 / 4095.0);
// Standard GUVA-S12SD logic: UV Index ≈ Voltage / 0.1V
// (Note: This is an approximation; refer to datasheet for calibration)
float uvIndex = voltage / 0.1;
Serial.print("Voltage: "); Serial.print(voltage);
Serial.print("V | UV Index: "); Serial.println(uvIndex);
// 2. Logic for Actuators
if (uvIndex >= UV_DANGER_THRESHOLD) {
// DANGER: Vibrate + Play high-pitched alarm tone
digitalWrite(motorPin, HIGH);
tone(speakerPin, 2000, 100);
}
else if (uvIndex >= UV_ALERT_THRESHOLD) {
// MODERATE ALERT: Intermittent buzzing
digitalWrite(motorPin, HIGH);
delay(100);
digitalWrite(motorPin, LOW);
}
else {
// SAFE: Everything OFF
digitalWrite(motorPin, LOW);
noTone(speakerPin);
}
delay(500); // Read twice per second
}
Results¶
Video¶
From Vimeo¶
Sound Waves from George Gally (Radarboy) on Vimeo.
