# MutantW V2 smartwatch resources _Exported on 12/18/2025 at 09:34:31 CST from Cursor (2.1.39)_ --- **User** add these links to week14.html and finalproject.html sources under the 3d printing of the watch, and say this design was scaled 2:1 https://gitlab.com/mutantcybernetics/mutantw-v2 https://www.instructables.com/MutantW-V2-DIY-ESP32-S3-Smartwatch-That-You-Can-We/ https://www.reddit.com/r/arduino/comments/wsg2kx/mutantw_v2_esp32s3_opensource_smartwatch_more_in/ also put it under the design files table --- **Cursor** I'll locate the 3D printing/watch and design-files table sections in `week14.html` and `finalproject.html`, then insert the three cited links with a note that the design was scaled 2:1 in both places. Next I’ll ensure the added text and links match your existing formatting and style. ```html Week 14 · Final Project
Saleem A. Al Dajani

Week 14

System Integration

System Integration Highlights

Key moments from the final system integration week, showcasing the complete MirrorAge system assembly, testing, and presentation.

Table of Contents

Week 14 System Integration

Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.

Week 14 Day-by-Day System Integration Plan

Positive Possum encouragement meme

Theme of the Week

FINITIATIVE

The act of bringing something to a conclusion or ending in a decisive manner. The ability to efficiently finish tasks and projects with a goal-oriented mindset.

Wednesday

Morning
  • Publish system integration plan on website
  • Update weekly assignment sections on final project page (weeks 10-13)
  • Link final project design files
  • Update reflections and learnings
  • Update picture of prism holder
  • Add final pictures to Slack canvases
  • Create schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Start CAD model of system
  • Place final order
Afternoon & Evening
Design:
  • Boards: Combine OLED screen/accelerometer with pulse oximeter board in a new board (maybe upgrade to small TFT as minor)
  • Boards: Speaker board with realtime amplifier and TFT (on the load cell fixed board)
  • Band: Mold design
  • Cases: 3D print mountable cases for the boards
  • Integrate designs into final CAD
  • Document design
  • Finish CAD model of system

Thursday

Fabricate
  • Milling boards
  • Print mold and cast band
  • Print cases
Solder
  • Solder components on milled boards
  • Connect boards with wired (and wireless connection codes)
Finishing
  • Mirror on screen (easy way with the film)
Documentation
  • Document fabrication

Friday

Programming
  • Board level codes
  • Server level codes
Documentation
  • Document codes
Completion
  • Finish anything else

Saturday

Programming & Testing
  • Demo integrated system
  • Test integrated system
Documentation
  • Document testing and evaluation
  • Review and complete documentation (list of questions)
  • Make the video by collaging documentation

Sunday

  • Fill up any gaps
  • Prepare demo on tensegrity table
  • Finalize 1-slide
  • Work on minors
  • If done, work on if there's time

Monday Morning

  • Transport demo on tensegrity table
  • Fill up any gaps
  • Work on minors

Specific Tasks to Complete This Week

Major Tasks
  • CAD model of system
  • Speaker board with realtime amplifier
  • Combine screen/accelerometer with pulse oximeter board in a new board
  • Mold and cast band
  • Design and fabricate casing (print)
  • Schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Serial connection between pulse oximeter and tiny blinking heart for BPM (BPM from IR, SpO2 from delta)
  • Combine multiple boards on the same WiFi (switching tabs is easy way, board hosting the webpage querying and update or Python-based server somewhere where everything posting data, Raspberry Pi)
  • Put+program everything together according to the above (with WiFi for now)
  • Mirror on screen (easy way with the film)
  • Document evaluations and costs (plus the rest of the list here: project presentation requirements)
  • Summary slide and one-minute video for documentation
    • Conception
    • Construction
    • Operation
Minor Tasks
  • Program microphone/speaker
  • Fix reaction time delay code
  • Program LoRa connection
  • Fix OLED plus WiFi issue
  • Upgrade to TFT (SPI is very straightforward, design board with either SPI or OLED connection)
  • Fix heart engraving to center
  • Engrave K9 glass mirror if it arrives
  • RD and IRD isolation slit (maybe wick and then cut)
  • Do the calibration curve for the load cell
  • Finish cardboard laser cutter origami big mirror frame
If There's Time
  • Moving base of mirror
Orders
  • Raspberry Pi Zero (or server host, do some research)
Presentation
  • Aim for 2.5 minutes because Neil will ask questions
  • Generally no slides except for 1 open summary slide (have backup slides in case questions come up!)

Related: See the Development Timeline on the final project page for the overall project schedule.

Day 1: Design Integration

Initial system integration work focused on subsystem validation, CAD model consolidation, and design backbone acquisition for band integration.

Subsystem Validation

Conducted comprehensive testing of all subsystems to ensure proper functionality. Identified and resoldered any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.

CAD Model Consolidation

Exported CAD models of all PCBs in the final design and imported them into a unified CAD assembly. This consolidated model provides a complete view of the system's mechanical integration and spatial relationships.

Exploded isometric view of the integrated CAD model showing all PCBs, housing components, and wearable band assembly
Integrated CAD Model: Exploded isometric view of the complete system assembly, including all PCBs (pulse oximeter, OLED/accelerometer, speaker/amplifier), main housing with transparent enclosure, and wearable band components. The model shows the spatial relationships between electronic subsystems and mechanical structures, enabling precise integration planning.

Band Design Backbone

Acquired CAD design files for Apple Watch form factor integration, enabling compatibility with existing band designs and standardized watch components. This provides a proven mechanical foundation for the wearable subsystem.

Apple Watch Form Factor: MutantW v2 Project · Instructables Guide
Apple Watch Band Design: Thingiverse Band Files

Next Steps

Resuming the daily schedule tomorrow with parallel work streams prioritized according to the critical path. Tasks that cannot be completed during scheduled days will be shifted to buffer days on Saturday and Sunday to maintain project momentum.

Day 2: Electrical and Mechanical Integration

Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.

2.1 Mechanical Integration

Mechanical design integration now includes the complete demo table with precise placement of the MirrorAge handgrip subsystem and the aging clock subsystem. The integrated assembly provides a unified platform for system demonstration and testing.

Complete demo table assembly showing integrated MirrorAge handgrip and aging clock subsystems
Complete Demo Table Assembly: Integrated mechanical design showing precise placement of the MirrorAge handgrip subsystem and aging clock subsystem on the demo table. The assembly demonstrates the spatial relationships and mounting configurations for both subsystems within the unified demonstration platform.

3D Additive Manufacturing

All 3D additive mechanical components were printed for rapid iterative development. The fabrication process required specific print settings and support strategies for different components:

The 3D printed watch casing and band designs were adapted from the open-source MutantW V2 ESP32-S3 smartwatch and scaled 2:1 for this project. Reference designs and build details are available in the MutantW V2 repository, Instructables guide, and Arduino community discussion.

Printing Initiation: 3D printer starting the fabrication process for mechanical components
3D printed casing component during fabrication
Casing Print: Casing component during 3D printing process
Print Configuration Requirements:
  • Casing: Required organic support structures for complex overhangs
  • Dock: Required brim adhesion to prevent warping during printing
  • Bands: Printed using TPU (Thermoplastic Polyurethane) material for flexibility (will spiral into molding and casting in future iterations)
Organic support structure configuration for casing print
Organic Support Configuration: Slicer settings showing organic support structures for the casing component
Brim addition to dock component for improved bed adhesion
Brim Addition: Dock component with brim added to prevent warping during printing
Casing component with organic support structures
Casing with Organic Support: Printed casing component showing organic support structures
TPU bands printed for flexible wearable components
TPU Bands: Flexible wearable band components printed using TPU material
Print Failures and Iteration
Failed casing print showing print quality issues
Failed Casing Print: Initial casing print failure requiring support structure adjustments
Failed dock print showing warping issues
Failed Dock Print: Dock print failure due to warping, resolved with brim addition
Collection of printing failures and debugging process
Printing Failures: Documentation of various print failures encountered during iterative development
Successful printing progress showing completed components
Printing Progress: Successful components showing iterative improvement in print quality

2D Subtractive Manufacturing

The first 2D subtractive mechanical component was debugged and fabricated. The display face component required exporting a DXF of the full face to laser cut an acrylic display that fits the casing precisely. The original display part face was too small because it was filleted, so the edges of the aging clock body were traced and exported for accurate laser cutting.

Laser Cutting Process 1: Initial laser cutting of acrylic display component
Laser Cutting Process 2: Continued laser cutting operation for display face
Acrylic display component fitted into casing
Acrylic Display Fit: Laser-cut acrylic display component precisely fitted into the casing, demonstrating successful integration of 2D subtractive and 3D additive manufacturing components.

2.2 Electrical Integration Methods in Spiral Development

Electrical design integration combines multiple subsystems into unified board designs, with progressive upgrades incorporating TFT displays for enhanced visual feedback. The integration follows a spiral development approach, starting with base designs and iteratively adding features like TFT displays as design constraints are validated.

Board Design Evolution

Initial board design showing size constraints
Initial Board Design: First integrated board design showing size constraints relative to casing dimensions
Board design fitted within casing constraints
Board in Casing: Revised board design fitted within casing dimensional constraints
Final integrated aging clock board design
Final Integrated Board Design: Complete aging clock board design combining accelerometer/camera functionality with pulse oximeter sensors in a single unified PCB layout optimized for casing fit and component placement.

TFT Display Integration

Both the aging clock watch board and the MirrorAge load cell-speaker board have been upgraded to include TFT displays for enhanced visual feedback. The displays use SPI communication for straightforward integration with the ESP32-S3 XIAO microcontroller.

TFT to ESP32-S3 XIAO Pin Mapping:

Based on the Seeed Studio XIAO ESP32-C3 ILI9341 wiring guide, adapted for ESP32-S3 XIAO:

TFT Pin ESP32-S3 XIAO Pin
VCC 3V3 or 5V
GND GND
CS D0
RST D2
DC/RS D1
SDI (MOSI) D10
SCK D8
LED (Backlight) 3V3

Note: For both 1.8" and 2.4" TFT displays, the LED backlight pin connects to 3V3. Additional references: 1.8" TFT Guide, 2.8" ILI9341 Guide, ESP32-S3 ILI9341 Guide

Future Improvement: TFT Touchscreen Integration

For future iterations incorporating touchscreen functionality, the ILI9341 TFT with integrated touch controller requires additional pin connections. The touch controller shares the SPI bus with the TFT display and uses a separate chip select pin.

TFT touchscreen wiring diagram for ESP32-C3
Touchscreen Wiring Diagram: Schematic showing ILI9341 TFT with touch controller connections to ESP32-C3, adapted from Arduino Forum ESP32-C3 and ILI9341. The diagram includes backlight brightness control (transistors Q4, Q5, Q6) which can be simplified to a 100Ω resistor for basic operation.
Touchscreen Pin Mapping (ESP32 XIAO):
Touch Pin ESP32 XIAO Pin
T_CLK SCK (GPIO8/D8)
T_CS GPIO21/D21
T_DIN MOSI (GPIO10/D10)
T_DO MISO (GPIO9/D9)

Important Notes:

  • The TFT reset pin can be pulled to 3V3 via a 10kΩ resistor (not 5V as sometimes shown in diagrams)
  • The touch controller uses the same SPI bus as the TFT display, requiring a modified XPT2046_Touchscreen library with reduced SPI clock speed
  • MISO pin (GPIO9) enters bootloading mode after reset—ensure proper initialization sequence
  • Always verify front and back of PCB designs in Bantam Tools software before milling to avoid trace clearance issues

Reference Resources:

1.8 inch TFT display for watch board
1.8" TFT Display: ST7735 controller, 128×160 pixels, for aging clock watch board integration
2.4 inch TFT display for load cell speaker board
2.4" TFT Display: ILI9341 controller, 320×240 pixels, for MirrorAge load cell-speaker board integration
TFT display wiring diagram showing pin connections
TFT Display Wiring: Pin connection diagram showing SPI interface connections between TFT displays and ESP32-S3 XIAO microcontroller for both watch and MirrorAge boards.

MirrorAge Amplifier Board Design

The MirrorAge amplifier board integrates a real-time audio amplifier with load cell interface and TFT display. The base design includes the amplifier circuit and HX711 load cell interface, with an upgraded version adding the 2.4" ILI9341 TFT display.

Base MirrorAge amplifier board design
Base Amplifier Board: Initial design with real-time amplifier and HX711 load cell interface
Base MirrorAge board PCB layout
Base Board Layout: PCB layout showing component placement for amplifier and load cell interface
TFT Display Component:

1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model

MirrorAge board with TFT display integration
TFT-Integrated MirrorAge Board: Upgraded PCB design incorporating the 2.4" ILI9341 TFT display alongside the amplifier and load cell interface, enabling visual feedback for grip strength measurements.

Aging Clock Watch Board Design

The aging clock watch board combines pulse oximeter sensors, accelerometer, and camera functionality. The base design uses an OLED display, with an upgraded version incorporating a 1.8" ST7735 TFT display for enhanced visual feedback.

Aging clock watch board base design
Base Aging Clock Board: Initial design integrating pulse oximeter, accelerometer, and camera with OLED display for wearable watch form factor.

Board Fabrication and Integration

The first version of the aging clock board was milled. The initial board did not fit the casing, requiring either casing adjustment and reprinting, or milling a new miniaturized board with shrunken electronics. Both approaches are being evaluated. The MirrorAge board design has been completed for both base and TFT-integrated versions, ready for milling and testing.

Milled integrated aging clock board showing component placement
Milled Integrated Board: First version of the integrated aging clock board after PCB milling, showing component placement and routing
Board nearly fitting in casing showing dimensional constraints
Board Fit Test: Milled board nearly fitting in casing, demonstrating the need for dimensional optimization
Board Deflection Fixing: Process of addressing board deflection and mechanical fit issues during integration testing, demonstrating iterative refinement of the electrical-mechanical interface.

Day 3: Fabrication Integration

Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.

2.1 2D Fabrication: Laser Cutting

The laser-cut acrylic display component was updated in Day 2 and successfully integrated into the watch assembly. The acrylic display provides a clear protective face for the aging clock watch, precisely fitted to the casing dimensions.

The integrated watch assembly demonstrates successful integration of 2D subtractive manufacturing with 3D printed components, creating a cohesive mechanical structure for the wearable subsystem.

2.2 3D Printing: Rigid and Flexible Components

All 3D printed components were fabricated using both rigid and flexible materials. The bands were printed using TPU (Thermoplastic Polyurethane) for flexibility, while rigid components used standard PLA/PETG materials. Additional print details and configuration requirements are documented in Day 2.

The case should also be printed from TPU to improve interlock part fit. The spring-loaded interlock mechanism enables secure band closure while maintaining flexibility for comfortable wear.

TPU band component printed for flexible wearable
TPU Band Print 1: Flexible wearable band component printed using TPU material for comfort and durability
TPU band component showing flexibility
TPU Band Print 2: Flexible band component demonstrating material properties and print quality
Band closure mechanism showing interlock design
Band Closure: Interlock mechanism enabling secure band closure for wearable integration
Rigid dock component for board mounting
Rigid Dock: 3D printed dock component for secure board mounting and electrical connection
Assembled rigid dock with board integration
Assembled Rigid Dock: Complete dock assembly showing board integration and mechanical mounting
Spring-loaded interlock mechanism detail
Spring-Loaded Interlock: Detailed view of the interlock mechanism enabling secure yet flexible band closure
Spring-Loaded Interlock Operation: Demonstration of the interlock mechanism in action, showing secure closure and release functionality for the wearable band system.

2.3 Milling: Single and Double-Sided Boards

Aging Clock Watch Board

The aging clock watch board was successfully milled. The base design with OLED display worked correctly, and the design has been upgraded to include a TFT display. The new TFT-integrated design will be milled and tested alongside the base OLED version to validate both display options.

Milling Process 1: Initial milling operation for aging clock watch board
Tool probing and Z-axis calibration
Tool Probing: Z-axis calibration and tool location setup for precise milling depth control
Milling Process 2: Continued milling operation showing tool path execution
Milling Process 3: Final milling passes completing board fabrication
Completed Milling: Finished aging clock board after successful milling operation
Vacuuming Debris: Post-milling cleanup process removing copper and substrate debris
Removing completed aging clock board from mill
Board Removal: Completed aging clock watch board removed from milling machine, ready for component soldering and testing.

MirrorAge Amplifier Board

The base MirrorAge amplifier board milling initially failed due to polygon pour isolation settings. The default isolation distance was set to 0 mil, which caused routing issues. After changing the back-side polygon pour isolation to 32 mil, the milling operation succeeded. When the shop closed, the design was upgraded to include a TFT screen. Both the base design and TFT-integrated versions will be milled together and tested.

Milling Process 1: Initial MirrorAge board milling operation
Milling Process 2: Continued milling showing tool path execution
Failed milling showing polygon pour isolation issue
Failed Milling: Initial milling failure caused by polygon pour isolation set to 0 mil
Failed Milling Video: Demonstration of milling failure due to incorrect isolation settings
Fixturing board for second-side milling
Second-Side Fixturing: Board secured for double-sided milling operation
Second-Side Milling: Back-side milling operation for double-sided board
Back-Side Milling: Completing double-sided board fabrication
Fixed polygon pour isolation setting at 32 mil
Fixed Isolation Setting: Polygon pour isolation corrected to 32 mil for proper routing
Successful Milling with Fixed Settings: MirrorAge board milling operation completing successfully after correcting polygon pour isolation to 32 mil, demonstrating the importance of proper PCB design rule configuration.

2.4 Integrating Fabrication

Physical integration of fabricated components demonstrates successful coordination between mechanical and electrical subsystems. The watch board fits within the watch case, and the acrylic display integrates properly. Additional work remains for drilling mounting holes for electronics and routing power connections.

Aging clock watch integration showing board and case fit
Aging Clock Integration: Watch board and case integration showing proper dimensional fit
Integrated watch board within case assembly
Integrated Watch Board: Complete watch board assembly within case, demonstrating successful mechanical integration
Assembled bands with clip mechanism
Assembled Bands: Complete band assembly with clip mechanism for secure attachment
Spring-loaded interlock mechanism in integrated assembly
Interlock Mechanism: Spring-loaded interlock providing secure yet flexible band closure
Interlock Operation: Demonstration of spring-loaded interlock mechanism enabling secure band closure and release for comfortable wearable integration.

TFT Display Upgrades

Both board designs have been upgraded to include TFT displays, and integration testing confirms proper fit. The TFT watch board fits correctly with the TFT display, and both the base and TFT-integrated MirrorAge load cell-speaker boards fit within the gripper enclosure. Additional work is needed for drilling mounting holes and adding hooks for load cell wire routing to the HX711 mounted on the board, as well as routing power connections.

Upgraded aging clock board with TFT display
TFT Aging Clock: Upgraded aging clock board design incorporating 1.8" ST7735 TFT display
TFT aging clock board PCB layout
TFT Board Layout: PCB layout showing TFT display integration with existing components
TFT aging clock board schematic
TFT Board Schematic: Electrical schematic showing TFT display connections and component integration
Upgraded MirrorAge board with TFT display
TFT MirrorAge Board: Upgraded MirrorAge board design incorporating 2.4" ILI9341 TFT display
TFT MirrorAge board schematic
TFT MirrorAge Schematic: Electrical schematic showing TFT display integration with amplifier and load cell interface
Integrated demo system showing all subsystems
Integrated Demo System: Complete system integration showing all subsystems in unified demonstration platform

Day 4: Subsystem Integration

Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.

2.0 Final Electrical Design Upgrades

With the milling machine unavailable, the time was used to upgrade board designs, requiring component rotations and layout optimizations to ensure all components fit properly. As Quentin noted, "you have to get used to rotating it in your head"—a valuable skill for PCB design where spatial reasoning is essential for component placement and routing.

"you have to get used to rotating it in your head" — Quentin

MirrorAge TFT Board Upgrades (v13)

The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.

MirrorAge TFT board front side version 13
MirrorAge TFT Front v13: Upgraded front-side layout with optimized component placement and routing
MirrorAge TFT board back side version 13
MirrorAge TFT Back v13: Upgraded back-side routing with improved trace layout and component positioning

Aging Clock TFT Board Upgrades (v16)

The aging clock TFT board design was upgraded to version 16, incorporating component rotations and layout refinements to ensure proper fit within the watch casing constraints.

Aging clock TFT board front side version 16
Aging Clock TFT Front v16: Upgraded front-side design with rotated components for optimal fit
Aging clock TFT board back side version 16
Aging Clock TFT Back v16: Upgraded back-side routing with improved component placement

2.6 I²C Bring-Up and Future Electrical Robustness

Subsystem integration also focused on making the shared I²C bus predictable and debuggable. During flashing, an intermittent serial exception from esptool indicated that the USB device was reporting readiness but returning no data—a classic symptom of a loose cable, port contention, or transient power issue rather than a firmware bug. After power-cycling the board, checking that only one serial monitor was attached, and reseating the USB cable, flashing succeeded reliably.

With stable flashing restored, an I²C scanner sketch confirmed that all devices were present on the bus: the MAX30102 pulse oximeter at address 0x57, the MPU6050 accelerometer at 0x68, and the OLED display at 0x3C once it was wired in. Multiple scans over time reproduced the same addresses, validating bus integrity and confirming that the SDA/SCL routing and pull-up strategy were correct after earlier trace and enclosure fit issues.

Key practices for future spirals:
  • Keep I²C traces short, avoid sharp mechanical pinch points near the enclosure, and leave clearance for solder thickness to prevent pads from lifting under pressure.
  • Standardize on known-good I²C addresses (MAX30102 0x57, MPU6050 0x68, SSD1306 OLED 0x3C) and document them close to the schematic and firmware.
  • Use a simple I²C scanner and a dedicated flashing machine to separate bus-debug issues from USB driver or multi-process serial conflicts.

Reference: esptool Troubleshooting Guide for interpreting serial upload errors and recommended recovery steps.

2.1 2D Fabrication: Laser Cutting

Laser-cut thinner acrylic (1.35mm) was fabricated to improve the fit of the clear display cover for the aging clock subsystem. The thinner material provides better dimensional tolerance and improved integration with the watch casing.

Laser cutting 1.35mm acrylic for display cover
Thin Acrylic Cutting: Laser cutting 1.35mm acrylic sheet for improved display cover fit
Successfully laser-cut acrylic display cover
Successful Cut: Completed laser-cut acrylic display cover with precise dimensions
Laser-cut acrylic showing edge quality
Edge Quality: Clean laser-cut edges demonstrating precise fabrication
Aging clock with improved acrylic display cover fit
Improved Fit: Thinner acrylic display cover providing better integration with watch casing
Laser Cutting Process: Laser cutting operation for thin acrylic display cover
Final Cut: Completion of laser cutting process for display cover component

2.2 3D Printing: Rigid and Flexible Components

Band clips were printed using TPU (Thermoplastic Polyurethane) material for improved fit and flexibility. The flexible material provides better mechanical compliance and secure attachment to the watch body.

TPU band clips for aging clock watch
TPU Band Clips: Flexible band clips printed from TPU material for improved fit
Aging clock with TPU clips integrated
Integrated Clips: TPU clips providing secure and flexible band attachment
Filed and inserted band clips showing fit
Fitted Clips: Band clips filed and inserted for optimal fit and secure attachment
Complete clip assembly showing integration
Clip Assembly: Complete band clip assembly demonstrating successful integration

2.3 Milling: Single and Double-Sided Boards

The TFT aging clock board design was milled, requiring iterative refinement due to initial design issues. The first mill had traces that were too close together, and the rivets were positioned under the microcontroller, requiring manual fixes with an ultrasonic knife before remilling the corrected board.

First Milling Attempt

The initial milling process revealed design issues that required correction. The board was milled on both front and back sides, with careful tool location and fixturing procedures.

Front-Side Milling: Initial front-side milling operation for aging clock board
Tool Location: Tool location procedure for front-side milling setup
Front Milling Start: Beginning of front-side milling operation
Front Milling Progress: Front-side milling operation in progress
Back-Side Tool Location: Tool location for back-side milling setup
Back Milling Start: Beginning of back-side milling operation
Back Milling Progress: Back-side milling operation continuing
Back Milling Completion: Final stages of back-side milling
Board Unloading: Removing completed board from milling machine
Post-Milling Cleanup: Vacuuming debris after milling operation

Design Issues and Manual Fixes

After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using a two-step cutting process: the ultrasonic knife was used to initiate precise cuts on both ends of each problematic trace, establishing the correct penetration direction. A utility knife was then used to cut a straight line between these initiation points, isolating the upper and lower wiring. The challenge with manual trace cutting lies in controlling the initial penetration with the utility knife—the ultrasonic knife's precision in establishing the cut direction made the subsequent utility knife cut smoother and easier to complete from end to end. After these manual corrections, the board design was updated and remilled with the fixed layout.

Removing milled PCB from machine
PCB Removal: Removing milled board for inspection and testing
First side of milled board showing traces
First Side: Initial side of milled board showing trace routing
Missing traces due to design issues
Missing Traces: Traces that were too close together causing milling issues
Close-up of missing trace issue
Trace Detail: Detailed view of trace spacing issues requiring correction
Additional missing trace locations
Multiple Trace Issues: Additional locations with trace spacing problems
Double-sided board showing both sides
Double-Sided Board: Complete double-sided board showing front and back
Ultrasonic knife for trace cutting
Ultrasonic Knife: Used to initiate precise cuts on both ends of problematic traces, establishing the correct penetration direction for subsequent utility knife cuts. This precision makes the utility knife cut smoother and easier to complete from end to end.
Utility knife for board modifications
Utility Knife: Used to cut a straight line between the ultrasonic knife initiation points, isolating upper and lower wiring. The challenge lies in controlling the initial penetration, which is why the ultrasonic knife's precise initiation cuts are essential.
First trace cut using ultrasonic knife
Trace Cut 1: First trace modification using ultrasonic knife
Completed first trace cut
Completed Cut 1: First trace cut completed successfully
Second trace cut in progress
Trace Cut 2: Second trace modification in progress
Completed second trace cut
Completed Cut 2: Second trace cut completed successfully

Corrected Board Design and Remilling

After manual corrections, the board design was updated to move rivets away from the microcontroller and improve trace spacing. The corrected board was successfully milled with proper trace clearances and component placement.

Corrected aging clock board front side
Corrected Front Side: Updated board design with improved trace spacing
Corrected aging clock board back side
Corrected Back Side: Back side of corrected board showing proper routing
TFT display fitting on corrected board
TFT Fit Test: TFT display properly fitting on corrected board design
TFT display alignment on board
TFT Alignment: TFT display properly aligned with board connectors
Corrected Front Milling 1: Beginning of corrected board front-side milling
Corrected Front Milling 2: Front-side milling operation continuing
Tool Location: Tool location procedure for corrected board milling
Front Milling Start: Beginning corrected front-side milling operation
Tool Change: Tool change during front-side milling operation
Back Milling Setup: Setup for back-side milling of corrected board
Back Milling Start: Beginning back-side milling of corrected board
Back Milling Progress: Back-side milling operation continuing
Post-Milling Cleanup: Vacuuming debris after corrected board milling
Aging clock board with moved rivets
Moved Rivets: Board design with rivets repositioned away from microcontroller
Improved board design with proper rivet placement
Improved Design: Corrected board showing proper rivet placement and trace routing
Rivet holes detail on corrected board
Rivet Holes: Detail view of properly positioned rivet holes

MirrorAge TFT Board Milling

The base amplifier board was remilled after fixing polygon pour isolation settings (changed from 0 to 32 mil). The upgraded MirrorAge board with TFT display was also successfully milled, ready for soldering and testing.

MirrorAge TFT board front side
MirrorAge TFT Front: Front side of MirrorAge board before TFT display integration
MirrorAge TFT board back side
MirrorAge TFT Back: Back side of MirrorAge board before TFT display integration showing routing
Front Milling: Front-side milling of MirrorAge TFT board
Front Milling Progress: Front-side milling operation continuing
Back Milling: Back-side milling of MirrorAge TFT board
Minor trace issue on MirrorAge TFT board
Minor Trace Issue: Small trace spacing issue requiring attention
MirrorAge TFT board front after milling
Milled Front Side: Completed front side of MirrorAge TFT board
Double-sided taping for board fixturing
Fixturing: Double-sided tape used for secure board mounting during milling
Successfully milled MirrorAge TFT board
Successful Milling: MirrorAge TFT board successfully milled and ready for assembly
MirrorAge TFT board back side
Back Side: Back side of successfully milled MirrorAge TFT board
High-quality view of MirrorAge TFT board back
Completed MirrorAge TFT Board: High-quality view of the back side showing proper trace routing and component placement for the TFT-integrated MirrorAge amplifier board.

2.4 Molding and Casting

Starting from Anthony's sketch in the midterm review, 3D-printable open molds were designed to cast watch bands out of MoldStar 30. The process involved printing PLA molds, waxing for release, mixing and pouring the mold material, leveling, curing under a heat lamp, and demolding. The center section of the printed molds required cutting with an ultrasonic knife before pouring to ensure part removability. A backup TPU band was also printed in case of casting failure.

Anthony's midterm review sketch for band mold design
Design Origin: Anthony's midterm review sketch providing the foundation for band mold design
3D printed PLA molds for band casting
Printed Molds: PLA molds 3D printed for watch band casting
Mold A for band casting
Mold A: First half of the two-part mold system
Mold B for band casting
Mold B: Second half of the two-part mold system

Mold Preparation

The molds required cutting out the center section with an ultrasonic knife before waxing and casting. Wax was melted, painted onto the mold surfaces for release, and thinned as needed for proper coverage.

Mold A after cutting and waxing
Mold A Prepared: Mold A after center section removal with ultrasonic knife and wax application
Mold B after cutting and waxing
Mold B Prepared: Mold B after center section removal with ultrasonic knife and wax application
Wax Melting: Melting wax for mold release agent application
Wax Melting Process: Continued wax melting for release agent preparation
Wax Application: Painting wax release agent onto mold surfaces
Wax Thinning: Thinning wax for proper coverage and release properties
Waxed molds ready for casting
Waxed Molds Ready: Both molds properly waxed and prepared for MoldStar 30 casting operation.

Mold Mixing and Pouring

MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.

Mixing MoldStar 30 components A and B
Component Mixing: Preparing MoldStar 30 components A and B for mixing
Mixed MoldStar 30 ready for pouring
Mixed Material: MoldStar 30 fully mixed and ready for pouring
Mixing Process: Thoroughly mixing MoldStar 30 components
Stirring: Final stirring of mixed mold material
Pouring: Pouring mixed MoldStar 30 into prepared molds
Molds filled with MoldStar 30
Filled Molds: Molds filled with MoldStar 30 ready for leveling
Leveling: Leveling poured material for even distribution
Leveling Process: Continued leveling to ensure proper surface quality
Leveled molds ready for curing
Leveled Molds: Molds properly leveled and ready for heat lamp curing process.

Curing and Demolding

The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.

Molds under heat lamp for curing
Heat Lamp Curing: Molds positioned under heat lamp for MoldStar 30 curing
Curing process in progress
Curing Progress: MoldStar 30 curing under heat lamp
Demolding 1: Beginning the demolding process for cured band
Demolding 2: Continued demolding process
Tab Removal: Removing casting tabs from demolded band
Band Testing: Testing fit between the two cast band halves

2.5 Aging Clock Subsystem Fabrication

The TFT aging clock board was successfully assembled into the watch enclosure, demonstrating successful integration of all fabricated components including the milled PCB, TFT display, and watch casing.

Aging clock board assembled into watch enclosure
Complete Assembly: TFT aging clock board successfully assembled into the watch enclosure, demonstrating proper fit and integration of all subsystem components including the milled PCB, TFT display, watch casing, and acrylic display cover.

Day 5: Full System Integration

Final integration day focused on closing the watch subsystem as far as mechanically feasible, soldering and verifying all double-sided boards, refining molded bands, and assembling the complete MirrorAge demo with both the aging clock and grip-strength subsystems fully wired and tested.

2.1 2D Fabrication: Laser-Cut Enclosure Integration

I attempted to fully close the aging clock watch subsystem using the laser-cut acrylic top plate and printed enclosure. In practice, finite solder height and stacked components meant the acrylic pressed directly on the SDA/SCL traces; under load, the pressure ripped the I²C traces off the board even after successful end-to-end testing. For the final demo, I kept the subsystem open for reliability and prepared a backup pulse oximeter module to rework the board after the full system presentation.

Future electrical spirals will set stricter keep-out zones under fasteners and enclosure pinch points, lower component stack-up height in CAD, and route critical buses away from mechanical interfaces. The current integration still validates the fit envelope and cable-routing strategy, and will be re-closed once replacement boards and sensors are available.

Aging clock board test-fitted inside the open watch enclosure
Initial Fit Check: Aging clock board and pulse oximeter aligned inside the enclosure before closing the acrylic face.
Final mechanical fit of the aging clock board in the enclosure
Final Mechanical Fit: Tight clearances confirm the CAD was accurate, but highlight the need to account for solder thickness and wiring bends.
Backup pulse oximeter breakout board obtained for future rework
Backup Sensor: Spare MAX30102 breakout from Mariam kept to re-populate the watch board after the final demo.
Damaged SDA/SCL traces caused by enclosure pressure
Broken I²C Traces: First failure showing how enclosure pressure delaminated the SDA/SCL pads after repeated testing.
Close-up of further ripped copper traces near the acrylic edge
Trace Delamination Detail: Second damaged region reinforcing the need to keep critical buses away from mechanical constraints.
Routed cables inside the partially open watch enclosure
Cable Routing: Final cable paths for power, I²C, and sensor leads kept for future closed-enclosure re-integration.

For future iterations, see the consolidated electrical design and integration notes on the final project fabrication section and the updated Bill of Materials for enclosure and sensor stack-up choices.

2.2 3D Printing: Rigid Clips and Flexible Bands

To mount the bands inside the watch clip, I drilled precise holes and inserted inward-facing bolts that clamp into printed TPU clips. TPU provides just enough flexibility and toughness for this fastening strategy, whereas a similar approach would easily tear a silicone band. In the next spiral, the mechanics of the clip will be redesigned so the silicone band experiences distributed compression instead of point loads from metal hardware.

The integrated system view below shows how the TPU band, watch body, and electronics stack come together around the wrist, and serves as the mechanical reference for a future fully cast silicone band with embedded reinforcement.

Integrated watch subsystem with bands, enclosure, and electronics assembled
Integrated Watch Subsystem: TPU bands fastened into the watch clip with inward bolts, supporting the assembled aging clock electronics while leaving room for future silicone band integration.

2.3 Soldering and Testing Single and Double-Sided Boards

Both the aging clock and MirrorAge boards are double-sided with plated through-rivets. I followed a consistent, compact assembly order: (1) install and flare rivets, (2) solder the microcontroller, (3) place and solder passives, then (4) populate and test input/output devices. The media below document that workflow step by step.

Rivet Installation (Plated Through-Holes)

  1. Place a rivet into each via from the front side of the board.
  2. Flip the board carefully using tweezers so rivets stay seated.
  3. Use the thin flaring tool and light hammer taps to open each rivet.
  4. Follow with the thicker forming tool to fully set the rivet head.
  5. Inspect every connection to confirm clean, symmetric flares with no wobble.
Aging clock board front side with all rivets installed and formed
Aging Clock Rivets (Front): Uniformly flared rivets ready for double-sided connections.
Aging clock board back side showing completed rivets
Aging Clock Rivets (Back): Back-side view confirming full mechanical capture.
MirrorAge full-size board front with all rivets in place
MirrorAge Rivets (Front): Large board variant with through-rivets installed.
MirrorAge full-size board back with rivets flared
MirrorAge Rivets (Back): Back-side confirmation of robust mechanical connections.
Small MirrorAge variant board with completed front-side rivets
Compact MirrorAge Board (Front): Small-format board variant using the same rivet process.
Back side of small MirrorAge board with completed rivets
Compact MirrorAge Board (Back): Double-sided connectivity established across all through-holes.
Placing Rivets: Using tweezers to drop rivets into each via before flipping the board.
Placing Rivets (Detail): Close-up sequence confirming consistent seating depth.
Flipping the Board: Using tweezers and slow motion to flip the riveted board without losing alignment.
Flipping (Alternate Angle): Second view confirming stable fixturing during the flip.
Thin Tool Flaring: First hammering pass to open each rivet with the thin mandrel.
Thin Tool Flaring (Detail): Close-up of controlled, low-force taps to avoid pad damage.
Thick Tool Forming: Second hammering pass with the thicker tool to fully seat and form the rivet heads.
Thick Tool Forming (Detail): Ensuring each rivet is fully expanded without deforming the board.
Rivet Quality Check: Visual and mechanical inspection of all rivets before continuing with assembly.

Component Placement and Compact Soldering

After through-connection, I placed the microcontroller and passives as flat as possible to preserve headroom inside the enclosure. Headers were soldered last, from both the top and side, to keep cable strain away from delicate pads.

Front-side component placement for aging clock board
Aging Clock Placement (Front): Microcontroller, MAX30102, and passives packed tightly while respecting keep-outs.
Back-side component placement for aging clock board
Aging Clock Placement (Back): Back-side routing and decoupling network tucked between rivets.
MirrorAge board front-side component placement
MirrorAge Placement (Front): Amplifier, HX711, and connectors arranged around the TFT footprint.
MirrorAge board back-side routing and components
MirrorAge Placement (Back): Back-side passives and routing for clean separation of analog and digital paths.
Close-up of dense double-sided soldering on the aging clock board
Compact Double-Sided Soldering: Dense layout executed with controlled solder volume to preserve enclosure clearance.
Board with pin headers soldered in preparation for system wiring
Header Soldering: Low-profile headers added last to route power, I²C, and display signals.
Flat Soldering: Tacking components flat to the board before fully wicking solder for mechanical robustness.
Soldering Straight Headers: Step-by-step soldering of through-hole headers with even wetting on both sides.
Header Row Completion: Finishing the full header row while maintaining alignment for easy connector insertion.
Sideways Header Soldering: Right-angle headers soldered from the side to keep cable exits low-profile.
Sideways Header Reinforcement: Final pass adding solder fillets for mechanical strength.
Soldering Passives: Placing and soldering resistors, capacitors, and pull-ups around the microcontroller and sensors.
Passives (Detail): Close-up of tip control to avoid tombstoning small components.
Final Passive Sweep: Last inspection and touch-up of the passive network before functional testing.

Taped Microcontroller Soldering Technique

To keep the XIAO footprint perfectly flat over the rivets, I used Kapton tape as a temporary stencil: the tape masked exposed copper around the footprint so I could drag-solder the castellated edges without flooding nearby vias. Once the joints were complete, the tape peeled away cleanly, leaving the board ready for final inspection.

Board with microcontroller footprint masked using Kapton tape
Taped Footprint (Before): Kapton masking applied to protect surrounding copper while soldering the XIAO module.
Cleaned microcontroller footprint after removing Kapton tape
Taped Footprint (After): Clean pads and well-formed joints once the tape is peeled away.
Cutting the Mask: Trimming Kapton tape to expose only the castellated pads.
Microcontroller soldered flat above rivets using the tape-assisted method
Flat Above Rivets: Castellated edges soldered flat over rivets without bridging.
Aging clock board fully populated and soldered
Completed Aging Clock Board: All components soldered and ready for subsystem testing.
Detail of a small PCB section dedicated to power routing
Power Routing Detail: Compact power distribution region that simplifies future wiring changes.
MirrorAge board fully soldered, front view
Soldered MirrorAge Board (Front): Front-side view with amplifier, connectors, and TFT interface populated.
MirrorAge board fully soldered, back view
Soldered MirrorAge Board (Back): Clean back-side routing with no visible shorts or bridges.

Serial Bring-Up: Sensor-by-Sensor Testing

After soldering, I brought each sensor up sequentially to isolate any issues. The pulse oximeter, accelerometer, OLED, and TFT were each verified individually over serial before enabling the full integrated sketch.

Pulse oximeter setup and testing
Pulse Oximeter Bring-Up: MAX30102 readings verified after soldering, with I²C scan confirming address 0x57 at 16:28:56.
Pulse oximeter serial readings
Pulse Oximeter Readings: Serial output showing MAX30102 sensor data validation during bring-up testing.
Photo of the aging clock board showing accelerometer working
Accelerometer Bring-Up: First successful accelerometer readings confirmed on the aging clock board, with I²C scan reporting 0x57 (MAX30102) and 0x68 (IMU).
Pulse oximeter and accelerometer integration
Accelerometer Stability: Repeat scan at 17:07:55.805 confirms stable 0x57/0x68 responses and consistent orientation mapping.
OLED display showing text output from the aging clock firmware
OLED Verification: Base OLED display tested with I²C scan showing OLED 0x3C alongside 0x57 and 0x68 at 18:30:58, before migrating to TFT-only operation.
Pulse oximeter, accelerometer, and OLED integration
Display Stack Bring-Up: OLED and TFT displays confirmed working simultaneously during integration testing.
Both OLED and TFT displays working together on the integrated system Full sensor stack integration with pulse oximeter, accelerometer, OLED, and TFT
Display Stack Integration and Complete Sensor Stack: OLED and TFT displays confirmed working simultaneously during integration testing. All sensors and displays integrated and verified working together.
Grip strength sensor testing Real-time signal processing visualization
Grip Strength Testing and Real-Time Signal Processing: Load cell and grip sensor verification during system integration. Live sensor data stream validation and signal analysis.

All boards passed short-circuit checks and per-sensor serial validation. Remaining electrical risks are limited to load cell hardware quality and long-term connector strain, which are documented for post-demo spirals.

2.4 Molding and Casting

The cast bands are mechanically promising but still need finishing. The edges require additional trimming and sanding, and one edge showed an incomplete fill due to insufficient waxing of the mold. Compared to the TPU prints, the casting material has better compliance and skin feel, and will be the preferred long-term solution once the fastening geometry is iterated.

For this week, I used the printed TPU bands for reliability, while documenting the cast band behavior as a future spiral that aligns with the existing mold designs and material choices.

Integrated watch system showing how cast bands will eventually replace TPU bands
Band Integration Context: The current TPU bands provide a working reference geometry for the cast silicone bands that will follow the same routing and attachment points.

2.5 Aging Clock Subsystem Fabrication

The aging clock subsystem was finalized by cutting and aligning the pulse oximeter opening so the sensor makes direct skin contact while the watch is worn. That opening simultaneously sets the board position inside the enclosure, constraining the stack according to the system-integration CAD.

With the TFT watch board, sensors, and acrylic window all integrated, the subsystem mechanically mirrors the final form factor even though the top remains open for this demo to protect the repaired traces.

Aging clock subsystem assembled with aligned sensor opening
Skin Contact Opening: Precisely placed cutout ensures the pulse oximeter sits flush against the skin while anchoring the internal PCB stack.

2.6 MirrorAge Subsystem Integration

The grip-strength electronics from Week 12 were mounted on the calibrated working load cell and integrated with the new MirrorAge electronics. Wires from the load cell and amplifier are routed along the structure and strain relieved with a moderate amount of glue to balance robustness with serviceability. The boards sit in their dedicated pockets according to the system-integration CAD, keeping the mechanical and electrical reference frames aligned.

Integrated Grip-Strength Subsystem: Working load cell, amplifier, and electronics mounted and wired, ready to stream grip-force data into the final system.

2.7 Full System Integration and Demo Readiness

With both the aging clock and grip-strength subsystems assembled, I brought the entire MirrorAge demo together on the tensegrity table. The videos below show the system running after final debugging, including sensor readouts and synchronized display behavior across the boards.

Integrated System (Pass 1): First full run after fixing wiring and I²C issues, confirming both subsystems operate together.
Integrated System (Pass 2): Second trial demonstrating stable readings and display updates over time.
Integrated System (Pass 3): Longer run verifying that no intermittent faults appear under repeated use.
Legacy Integrated Run: Earlier integrated test preserved to show progress from initial to final wiring.
Integrated System (Earlier Trial 1): Additional integrated run with a slightly earlier firmware revision.
Integrated System (Earlier Trial 2): View of the system from a different angle showing board placement on the demo table.
Fully Integrated Working System: Final demo-ready configuration with both subsystems powered, calibrated, and running together.
Packed demo box containing the full MirrorAge system ready for transport
Demo Transport: Final packed configuration for safely transporting the full integrated system to the tensegrity demo table.

Day 6: Final Project Masterpiece

Final presentation demonstration of the complete MirrorAge system, showcasing the integrated aging clock and grip-strength subsystems working together in real-time. View final project demo → · See where all HTMAA questions are answered →

This final presentation video demonstrates the complete MirrorAge system in action, featuring both the aging clock watch subsystem and the grip-strength measurement subsystem operating together. The demo showcases real-time sensor readings, synchronized display updates, and the full integration of mechanical, electrical, and software components developed throughout the semester.

Final Presentation Demo: Complete MirrorAge system demonstration showing integrated aging clock and grip-strength subsystems operating together in real-time.
Watch on YouTube

1 Minute Video and 1 Slide Summary

Condensed 1-minute video and 1 slide summary showcasing key features and functionality of aging clock device system.

1 Minute Video: Condensed demonstration of the MirrorAge system highlighting the integrated aging clock and grip-strength subsystems. AI assistance details →
Summary slide for MirrorAge final project
Summary Slide: Final project summary slide highlighting key achievements and system overview. AI assistance details →

Design Files

Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.

📁 Fusion 360 Files: All Fusion 360 design files are available in the HTMA Fusion team directory under HTMA/2025/EECS/Saleem, organized by the same weeks as the website structure.

File Name Description Category Used In Download
PCB Design Files
agingclock_tft.brd Aging clock watch board with TFT display integration (pulse oximeter, accelerometer, camera) PCB Design Day 2, Day 4 Download
mirrorage.brd Base MirrorAge amplifier board with load cell interface (HX711) and real-time audio amplifier PCB Design Day 2, Day 3 Download
mirrorage_tft.brd MirrorAge amplifier board with TFT display integration (2.4" ILI9341) PCB Design Day 2, Day 3, Day 4 Download
design_xiao.kicad_pcb KiCad PCB design for XIAO ESP32-S3 base board (non-touch version) PCB Design Day 2 Download
design_xiao.kicad_pcb (touch) KiCad PCB design for XIAO ESP32-S3 with touchscreen support PCB Design Day 2 Download
QPAD21.kicad_pcb KiCad PCB design for QPAD21 board (reference design) PCB Design Reference Download
design_micro.kicad_pcb KiCad PCB design for microcontroller board (reference) PCB Design Reference Download
3D Design Files
WatchBody.3mf Main watch body casing for aging clock subsystem 3D Model Day 2, Day 3 Download
Dock.3mf Dock component for board mounting and electrical connection 3D Model Day 2, Day 3 Download
Display Glass.3mf Display cover component for watch face protection 3D Model Day 2 Download
Bands.3mf Watch band components for wearable attachment 3D Model Day 2, Day 3 Download
band-a-scaled.3mf Scaled band component A for casting molds 3D Model Day 4 Download
band-b-scaled.3mf Scaled band component B for casting molds 3D Model Day 4 Download
watchband_clip.3mf Watch band clip component for secure attachment 3D Model Day 3, Day 4 Download
watch v2.5-whole v1.3mf Complete watch assembly model version 2.5 3D Model Day 1 Download
band-a-mold.3mf 3D printable mold A for band casting 3D Model Day 4 Download
band-b-mold.3mf 3D printable mold B for band casting 3D Model Day 4 Download
band-a-mold-print-10p.3mf Optimized mold A print file with 10% infill 3D Model Day 4 Download
band-b-mold-print-10p.3mf Optimized mold B print file with 10% infill 3D Model Day 4 Download
2D Design Files
square_2_final.svg Final laser cutting design for display cover (1.35mm acrylic) 2D Design Day 4 Download
square_2.svg Intermediate laser cutting design iteration 2D Design Day 2 Download
square.svg Initial laser cutting design for display cover 2D Design Day 2 Download
square_2.dxf DXF format for laser cutting (intermediate iteration) 2D Design Day 2 Download
square.dxf DXF format for laser cutting (initial design) 2D Design Day 2 Download
Code Files
blink_ESP32S3.ino Basic blink test code for ESP32-S3 XIAO Arduino Code Testing Download
test_display_ESP32S3.ino TFT display test code for ESP32-S3 XIAO Arduino Code Testing Download
test_touch_ESP32S3.ino Touchscreen test code for ESP32-S3 XIAO Arduino Code Testing Download
test_serial_ESP32S3.ino Serial communication test code for ESP32-S3 XIAO Arduino Code Testing Download
Reference Design Files
design_xiao.step STEP file for XIAO ESP32-S3 mechanical reference 3D Model Reference Download
Seeed Studio XIAO-ESP32-S3-Sense.step STEP file for Seeed Studio XIAO ESP32-S3 Sense board 3D Model Reference Download
TFT LCD 2.4 inch ILI9341 touch.step STEP file for 2.4" ILI9341 TFT display with touch 3D Model Reference Download
SSD1306_OLED_Display(128x64).step STEP file for SSD1306 OLED display reference 3D Model Reference Download
MPU6050.stp STEP file for MPU6050 accelerometer reference 3D Model Reference Download
3006 MAX98357.step STEP file for MAX98357A amplifier reference 3D Model Reference Download
max98357a adafruit.SLDPRT SolidWorks part file for MAX98357A amplifier reference 3D Model Reference Download
apple-watch-se-2nd-gen-band-adapter20251028-1-u4zeat.zip Apple Watch band adapter design files (ZIP archive) 3D Model Reference Download

The watch casing and band geometries used in this project were adapted and scaled 2:1 from the open-source MutantW V2 ESP32-S3 smartwatch design. Original reference designs and documentation can be found in the MutantW V2 GitLab project, MutantW V2 Instructables build guide, and Arduino /r/arduino discussion thread.

Bill of Materials (MirrorAge System)

Consolidated bill of materials for the integrated MirrorAge system used in this Week 14 system-integration build. This table mirrors the final project Bill of Materials and is repeated here so readers can cross-reference parts directly from the integration workflows.

Category Part Qty Approx. Unit Cost (USD) Line Cost (USD) Used In
Electronics
Microcontroller Seeed XIAO ESP32S3 / ESP32S3 Sense 4 $9.00 $36.00 ReactionAge base, camera subsystem, aging clock watch, MirrorAge grip board (Week 8, Week 14)
Optical Sensor MAX30102 pulse oximeter module 2 $12.00 $24.00 Aging clock watch and backup module (Week 12, Week 14)
IMU MPU6050 / BHI260 IMU 2 $6.00 $12.00 Aging clock accelerometer and wearable IMU (Week 12, Week 14)
Load Cell CZL601AC 50 kg load cell 1 $18.00 $18.00 Grip-strength rig (Week 12, Week 14)
ADC HX711 load-cell amplifier 2 $3.00 $6.00 Grip board base + TFT MirrorAge board (Week 12, Week 14)
Amplifier MAX98357A I²S amplifier + speaker 1 $9.00 $9.00 MirrorAge audio board (Week 10, Week 14)
Display 128×64 SSD1306 OLED 2 $5.00 $10.00 ReactionAge UI + early watch prototypes (Week 12, Week 14)
Display 1.8″ ST7735 TFT 1 $8.00 $8.00 Aging clock watch board (Week 14)
Display 2.4″ ILI9341 TFT 1 $12.00 $12.00 MirrorAge grip-strength board (Week 14)
Camera OV2640 camera (SenseCraft stack) 1 $10.00 $10.00 Camera subsystem and EdgeAI demos (Week 8, Final camera section)
Power LiPo cells, regulators, passives, headers, cabling Assorted ~$1.00–$3.00 $45.00 (bundle) All subsystems (ReactionAge, aging clock, MirrorAge, camera)
Mechanical & Fabrication Materials
3D Printing PLA+/PETG filament (grip, docks, cases) ~1 kg $25.00/kg $25.00 ReactionAge enclosure, grip-strength base, watch cases (Week 3, Week 10, Week 14)
3D Printing TPU filament (bands, clips) ~0.5 kg $30.00/kg $15.00 TPU bands and band clips (Week 14 Day 3, Day 5)
Laser Cutting Cardboard + 4 mm Baltic birch sheets Assorted $3.00–$5.00/sheet $30.00 (bundle) Origami mirror frame, acrylic watch windows, demo table fixtures (Week 1, Week 14)
Molding & Casting Mold Star 30 silicone + Drystone 1 kit $42.00 $42.00 Grip-strength molds, band molds, structural ribs (Week 9, Week 14)
Fasteners M2/M3 hardware, heat-set inserts, misc. screws Assorted ~$0.10–$0.30 ea. $20.00 (bundle) All mechanical assemblies (watch, grip rig, camera mount, demo table)
Estimated Total Project Cost Electronics ≈ $190 · Mechanical & materials ≈ $130 · Total ≈ $320 (excluding lab-provided consumables and reused stock).

For the narrative, project-wide context, see the final project BOM and the per-week line items in the weekly documentation (for example the ReactionAge BOM CSV in Week 2).

Critical Path Analysis

Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.

Critical Path Tasks

Phase 1: Design & Documentation COMPLETED
  • CAD model consolidation and system integration design ✓
  • PCB design: combine OLED/accelerometer with pulse oximeter ✓
  • Demo table integration design with subsystem placement ✓
  • PCB design: speaker board with realtime amplifier and TFT (MirrorAge board) ✓
  • PCB design: TFT-integrated aging clock board ✓
  • Band mold design ✓
  • 3D printable cases for board mounting ✓
  • TFT display wiring documentation and integration methods ✓
  • System schematic documentation (wired and wireless) ✓
  • Website documentation updates (Day 1, Day 2, Day 3, Day 4) ✓
Phase 2: Fabrication COMPLETED
  • PCB milling: aging clock board milled (with corrections and remilling) ✓
  • PCB milling: MirrorAge board base version (remilled after isolation fix) ✓
  • PCB milling: MirrorAge TFT board ✓
  • PCB milling: TFT-integrated aging clock board (corrected and remilled) ✓
  • Component soldering (single- and double-sided boards) ✓
  • Band mold printing and casting ✓
  • 3D printing of board cases (casing, dock, bands, TPU clips) ✓
  • 2D subtractive: laser-cut acrylic display (thinner 1.35mm version) ✓
  • Aging clock subsystem assembly (board, TFT, casing integration) ✓
  • Physical integration refinements: extra mounting holes, final power-routing harnesses, mirror film application to screen ✓
Phase 3: Integration & Programming COMPLETED
  • Board-level firmware integration for aging clock and MirrorAge boards ✓
  • System wiring and I²C bring-up for integrated demo ✓
  • WiFi / MQTT network coordination between boards ✓
  • Server-level code development and data logging pipelines ✓
Phase 4: Testing & Documentation COMPLETED
  • Integrated system testing and validation on tensegrity demo table ✓
  • System evaluation and consolidated cost documentation (this page) ✓
  • Last documentation review and polishing ✓
Optional / Presentation Extras NICE TO HAVE
  • One-minute video production (conception, construction, operation)
  • Final summary slide refresh for demo day

Current Status

Completed:

Subsystem testing and validation, CAD model consolidation, demo table integration design, aging clock PCB design (accelerometer/camera + pulse oximeter), TFT-integrated aging clock board design, MirrorAge board design (base and TFT versions), 3D printing of mechanical components (casing with organic support, dock with brim, TPU bands and clips), laser-cut acrylic display (1.35mm thin version), aging clock board milling (with corrections and remilling), MirrorAge board milling (base and TFT versions), band mold design and casting (MoldStar 30), TFT display wiring documentation with touchscreen integration methods, aging clock subsystem assembly, Day 4 fabrication integration documentation

In Progress:

Refining physical integration (extra mounting, mirror film), extending firmware from working demo to networked IC pipeline, and documenting data-integration methods (serial, WiFi, MQTT) for future spirals.

Upcoming:

WiFi/MQTT network setup, final IC scoring integration, one-minute video, and last presentation/documentation touches.

Buffer Days (Saturday & Sunday)

Tasks that cannot be completed during scheduled weekdays will be shifted to Saturday and Sunday buffer days. This ensures the critical path remains on schedule while allowing flexibility for unexpected delays or additional refinement work.

Data Integration Methods in Spiral Development

Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.

Method 1: Serial Communication (Easiest)

Direct serial communication through USB cable from computer to microcontroller, using PySerial to stream data. This provides the simplest initial integration path for rapid prototyping and debugging.

Implementation:
  • USB cable connection from computer to ESP32-S3 microcontroller
  • PySerial library for Python-based data streaming
  • Arduino Serial functions for microcontroller-side communication

Method 2: WiFi Client Architecture (Second Easiest)

Configure all microcontrollers as WiFi clients that stream data to a flash web server. This enables wireless communication while maintaining a centralized data aggregation point.

Implementation:
  • All ESP32-S3 boards configured as WiFi clients on the same network
  • Central web server (initially laptop-hosted) receives data streams
  • WiFiClient::write() functions for data transmission

Method 3: MQTT Protocol (Advanced)

Message Queuing Telemetry Transport (MQTT) provides a lightweight, publish-subscribe messaging protocol ideal for IoT device communication. This approach enables decentralized data exchange between all MirrorAge subsystems, allowing each board to publish sensor data and subscribe to relevant topics for coordinated system behavior.

Server Hosting Strategy:

Initial development and testing will use a laptop-hosted MQTT broker. In a later development spiral, the server will be migrated to a dedicated Raspberry Pi Zero or Raspberry Pi 5 for standalone operation and improved system portability. Paho MQTT library has been successfully tested for ESP32-S3 implementation.

Week 14 System Integration Code

The core firmware used during Week 14 for the aging clock watch and grip-strength subsystem is available below as both .ino source files and downloadable .zip archives. These sketches currently run over simple serial/I²C links and will be extended in future spirals to stream data over WiFi/MQTT to the multimodal IC pipeline. The XIAO boards and TFT displays also include SD card support for local backup storage once that code path is integrated.

Aging Clock · Base Sketch

aging_clock.ino initializes the MAX30102 pulse oximeter and IMU on the I²C bus, reads heart-rate and motion data, and prints structured serial lines for debugging. The main loop continuously:

  • checks for new sensor samples (IR, RED, BPM, acceleration)
  • updates rolling averages / thresholds for stability
  • writes comma-separated values to Serial for logging or GUI visualization

Download: view aging_clock.ino · download aging_clock.zip

Aging Clock · OLED Version

aging_clock_oled.ino builds on the base sketch by adding an SSD1306 OLED UI. Pseudocode:

  • setup: init I²C, MAX30102, IMU, and SSD1306 display
  • loop: read sensor values, compute BPM/SpO₂ estimate, and render numeric values + simple icons on the OLED
  • send the same values over Serial for logging

Download: view aging_clock_oled.ino · download aging_clock_oled.zip

Aging Clock · TFT Version

aging_clock_tft.ino migrates the watch UI to a 1.8″ ST7735 TFT. The sketch:

  • configures SPI pins according to the TFT wiring table in Day 2/3
  • initializes the TFT with a dark theme and large fonts
  • reads BPM/SpO₂ and motion, then draws large, legible numbers and status icons on screen

Download: view aging_clock_tft.ino · download aging_clock_tft.zip

Aging Clock · TFT (Slow-Refresh Debug)

aging_clock_tft_slow.ino is a debug variant that intentionally slows down screen refresh to make timing and flicker issues visible. Conceptually:

  • same sensor reads and TFT layout as the fast version
  • adds deliberate delays or only redraws at fixed intervals (e.g. once per second)
  • prints extra timing information over Serial to tune update rates

Download: view aging_clock_tft_slow.ino · download aging_clock_tft_slow.zip

MirrorAge Grip Strength · Load Cell GUI

loadcell_gui.ino drives the CZL601AC + HX711 grip-strength subsystem and streams data to a serial/GUI plot. High-level flow:

  • calibrate HX711 with tare and known weights
  • in the loop, read raw counts, apply calibration to get force
  • print values in a GUI-friendly format (e.g. CSV or JSON lines) for plotting or web visualizations

Download: view loadcell_gui.ino · download loadcell_gui.zip

Additional sketches (e.g., WiFi/MQTT clients, SD-card logging for the XIAO ESP32S3 and TFT shields) will be integrated in a future spiral once the serial and WiFi baselines are fully stabilized.

Resources and Documentation

Spiral Development Approach

Development will progress through these methods in order of complexity, starting with serial communication for rapid prototyping, then moving to WiFi client architecture for wireless operation, and finally implementing MQTT for advanced decentralized communication. Each subsystem board (pulse oximeter, OLED/accelerometer, speaker/amplifier, load cell) will be integrated progressively, enabling:

  • Incremental complexity management and early validation
  • Decoupled communication between subsystems
  • Real-time data streaming from multiple sensors
  • Scalable architecture for adding new sensor modules
  • Flexible server deployment (laptop → Raspberry Pi migration path)

Reflections & Learnings

Reflections and key learnings from the final project integration week.

Key Points

  • System integration only works when mechanical envelopes, electrical robustness, and firmware are designed together and validated in short spirals.
  • Day-by-day planning and a clearly tracked critical path made it possible to finish fabrication, integration, and documentation on time.
  • Modular PCB and enclosure design allowed me to remill, resolder, and swap boards (including backup pulse oximeter modules) without restarting the whole system.
  • Careful documentation of failures—like ripped SDA/SCL traces, noisy load cells, and serial upload errors—directly improved the final wiring, strain relief, and bring-up process.
  • Collaborators, late-night debugging, and AI-assisted writing were all part of getting from a set of subsystems to a fully integrated, demo-ready MirrorAge system.

Contributions

Acknowledgments for contributions and collaborations during the final project week.

  • Anthony Pennes — for helping at every step of the way, including patient late-night debugging sessions and a major final-hour assist at around 2 a.m. that kept the integrated demo on track.
  • Quentin — for jumping in whenever he had time, suggesting the bolt-based fastening approach for the bands, and providing steady encouragement throughout the integration week.
  • Mariam — for offering a replacement pulse oximeter in the final hour of debugging after my backup was lost and the board broke during integration, with a replacement order already placed and arriving by Tuesday of this week.

Ethical AI Use

Documentation of AI-assisted tasks and tools used during the final project integration week.

📋 General Guidelines: See General Commands for Cursor on the homepage for standard guidelines and commands used consistently throughout documentation development.

Cursor · Project Plan & Weekly Schedule (Day 0)

Comprehensive Cursor AI assistance for outlining the project plan and weekly schedule, including documentation structure, content organization, systematic updates across all week pages and the final project page, media integration, and summary generation workflows.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 & Final Project Documentation

End-of-semester Cursor AI assistance for Week 14 integration and finalproject.html updates, including sensor bring-up captions, molding/casting cross-links, Answering Questions anchors, and Ethical AI use summaries. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project and Week 14 HTML Images

Cursor AI assistance for updating finalproject.html and week14.html, including adding the summary slide side-by-side with the one-minute video, and reorganizing the Serial Bring-Up sensor testing section with new image order and combined captions. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Project Integration Updates (Day 1)

Cursor AI assistance for Week 14 Day 1 project integration updates, including design integration documentation and initial system integration planning.

📄 View Transcript 💾 Download Markdown

Cursor · Project Integration Updates (Day 2)

Cursor AI assistance for Week 14 project integration updates, including Day 2 electrical and mechanical integration documentation, data integration methods refinement, and critical path analysis updates.

📄 View Transcript 💾 Download Markdown

Cursor · Electrical Integration and Fabrication (Day 3)

Cursor AI assistance for Week 14 Day 3 electrical integration and fabrication documentation, including TFT display wiring documentation, board design updates, fabrication integration methods, and Day 3 content updates.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 Project Updates (Day 4)

Cursor AI assistance for Week 14 project integration updates, including Day 4 electrical and mechanical integration documentation, TFT display wiring documentation, board design updates, fabrication integration methods, design files table creation, and comprehensive Day 4 content updates.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project Documentation and Integration (Day 5)

Cursor AI assistance for final MirrorAge documentation and system integration, including Day 5 full-system integration write-up, Bill of Materials synchronization between Week 14 and the final project page, critical path updates, and code documentation for the aging clock and load-cell subsystems.

📄 View Transcript 💾 Download Markdown

Cursor · System Integration Day 5 & 6

Cursor AI assistance for Day 5 and Day 6 system integration documentation, final system assembly, and presentation preparation.

📄 View Transcript 💾 Download Markdown

ChatGPT · Code Development

ChatGPT assistance for firmware development and debugging of the aging clock and load cell subsystems, including sensor integration, display drivers, and data processing algorithms.

Aging Clock Code Development

ChatGPT assistance for developing the aging clock firmware, including MAX30102 pulse oximeter integration, MPU6050 accelerometer readings, TFT display drivers, and sensor data processing algorithms.

💬 View Conversation

Load Cell Code Development

ChatGPT assistance for developing the load cell firmware, including HX711 amplifier integration, calibration routines, force measurement algorithms, and TFT display visualization for grip-strength data.

💬 View Conversation

ChatGPT · Video Planning

ChatGPT assistance for planning the one-minute video demonstration of the MirrorAge system, including script development, key feature selection, narrative structure, and video production guidelines to showcase the integrated aging clock and grip-strength subsystems effectively.

🔗 View ChatGPT Discussion

ChatGPT · One Slide Summary Development

ChatGPT assistance for developing the one-slide summary based on email exchange with Prof. Vadim Gladyshev, including distilling key project achievements, technical highlights, and system integration outcomes into a concise visual summary format for the final project presentation.

🔗 View ChatGPT Discussion
``` ```html Final Project · HTMAA 2025 · Saleem A. Al Dajani
Saleem A. Al Dajani

Final Project

Aging Clock · HTMAA 2025

Project Highlights

Camera Works!

Successful camera capture showing bitmap display on OLED screen

XIAO ESP32S3 camera successfully captures and displays images on OLED screen using Floyd-Steinberg dithering

EdgeAI Works!

SenseCraft AI platform showing emotion classification model running on XIAO ESP32S3

Real-time emotion classification running on XIAO ESP32S3 using SenseCraft AI platform

Selfie Capture!

Animated GIF showing camera selfie capture functionality

Interactive selfie capture system with touch controls and real-time display

Vision Board

Multimodal Intrinsic Capacity Assessment System Vision Board

Conceptual visualization of the multimodal intrinsic capacity assessment system integrating grip strength, voice analysis, facial recognition, video motion capture, reaction time measurement, and wearable accelerometer data.

Intrinsic Capacity (IC) Coverage by Digital Biomarkers

Domain Grip Voice Face Video Reaction Time Wearable
Locomotor 🔸 🔸 🔸
Cognition 🔸 🔸 🔸
Vitality 🔸
Sensory 🔸
Psychological 🔸

Strong coverage | 🔸 Partial/indirect | Not covered | View full table →

Multimodal IC Pipeline

Inputs: Grip Strength, Voice, Face, Video, Reaction Time, Wearable Accelerometer
Process: Feature extraction → Embeddings → Fusion layer → IC Score
Output: Overall Intrinsic Capacity Score + Domain sub-scores

View detailed pipeline →

Weekly System Development

Weeks 0-1: Project foundation, cutting techniques for device components
Weeks 2-4: Electronics foundation, embedded programming, PCB design
Weeks 5-7: Input devices, sensors for grip strength, voice, face detection
Weeks 8-10: Output devices, mechanical design, system integration
Weeks 11-13: Communication, UI development, final integration

View detailed weekly breakdown →

Project Presentation

Summary Slide: Download midterm deck (Oct 31) → Includes system overview, IC coverage, fabrication snapshots, and remaining risk register.
Preview Videos: Preview videos from ReactionAge, EdgeAI selfie capture, as well as FaceTTD model and accelerometer on OLED. Teaser clips: ReactionAge latency demo · Selfie capture loop · FaceTTD camera display · Accelerometer on OLED

View full presentation materials →

Final Project Spiral Development Model

Spiral Model (Boehm, 1988) - Final Project Development Approach

Development Approach: Following the spiral model methodology, this final project will iterate through multiple development cycles, each building upon previous work while addressing new requirements and risks.

Cycle 1: Minimal viable project for class scope
Cycle 2: Core functionality expansion
Cycle 3: Advanced features and integration
Cycle 4: Future research applications

Learn more about the Spiral Model →

Source: ChatGPT Discussion on Intrinsic Capacity Biomarkers

System Integration Highlights

Key moments from the final system integration week, showcasing the complete MirrorAge system assembly, testing, and presentation.

Midterm Review Checklist

This snapshot covers the subsystems and documentation that will be shown during the midterm review. Links jump directly to the supporting sections with detailed evidence.

Featured Subsystems
Tasks Completed Before Review
  • System diagram — refreshed block diagram with annotated sensing, fusion, and feedback flows packaged for the midterm deck.
  • Task backlog snapshot — consolidated hardware, firmware, data, UX, and validation checklists that show current status and risk owners.
  • Week-of schedule — detailed execution calendar covering evidence capture, documentation polish, dry-run, and buffer windows.
  • Instructor meeting hold — Thursday, Nov 12 at 10:00 AM ET reserved via the shared HTMAA midterm review sheet.
Execution Schedule (Timeline Snapshot)

Condensed from the Week 8–13 development timeline: each sprint builds toward final integration, mirroring the gantt chart below.

  • Week 8 · Output Devices: figuring out wiring for real-time display states.
  • Week 9 · Molding & Casting: learn how to cast custom housings and refine structural components.
  • Week 10 · Mechanical Design: figure out ergonomic enclosure and calibration fixtures.
  • Week 11 · Networking: program BLE/Wi-Fi telemetry and wearable data fusion.
  • Week 12 · Interface/App: create mobile UI, cloud bridge, and IC scoring pipeline.
  • Week 13 · Final Integration: run validation passes, document results, and prep deployment.
Instructor Review Logistics

Calendar hold sent for Thursday, Nov 12 at 10:00 AM ET (38-501 conference room) per the shared HTMAA scheduling sheet. Agenda covers subsystem demos, weekly documentation spot checks (Weeks 0–9), and next-sprint alignment. Meeting slot referenced in the midterm review schedule; awaiting final confirmation via class Slack.

System Architecture

MirrorAge system diagram showing sensing modules, Edge AI processing, and feedback outputs

Updated block diagram highlighting the multimodal sensing stack (grip, voice, face, motion, wearables), on-device inference layers, and real-time feedback channels that feed the intrinsic capacity score.

Development Timeline

Week-by-week timeline for MirrorAge development from Week 8 through Week 13

Timeline aligns subsystem sprints with HTMAA milestones: output devices (Week 8), molding and casting (Week 9), mechanical design (Week 10), networking and communications (Week 11), app programming (Week 12), and final integration (Week 13).

Remaining Tasks (Snapshot)

Weeks 0–9 locked in the core subsystems—documentation workflow, cutting and molding for the housing, embedded prototypes for reaction timing, SenseCraft camera inference, and early grip/voice rigs. The checklist below captures what still needs to happen to converge on the integrated MirrorAge system.

Hardware Integration
  • Consolidate grip, voice, camera, reaction-time, and wearable sensor harnesses into the MirrorAge enclosure.
  • Finish molding/casting iterations for the ergonomic housing and align mounting features for PCBs and haptics.
Firmware & Edge AI
  • Stabilize onboard inference for SenseCraft vision models and voice-age pipelines on the XIAO ESP32S3.
  • Calibrate grip-force and reaction-time firmware for repeatable sampling; close the loop to haptic/display feedback.
Networking & Data Fusion
  • Bring up BLE/Wi-Fi data paths for wearable accelerometer streaming and cloud logging of intrinsic capacity scores.
  • Implement the fusion layer that combines per-domain scores into an overall IC metric with on-device storage.
Interface & UX
  • Finish mobile/web dashboard mockups for user onboarding, data review, and device calibration workflows.
  • Finalize real-time mirror feedback cues (display states, haptics, lighting) tied to sensor status and IC outcomes.
Validation & Documentation
  • Run end-to-end system tests (sensor capture → fusion → feedback) and document calibration procedures.
  • Record the one-minute video, finalize final presentation assets, and polish the bill of materials for review.

Week 14 System Integration Plan

Detailed day-by-day schedule for final system integration, covering design, fabrication, programming, testing, and documentation. This plan outlines the path to completing the MirrorAge system integration and preparing for final presentation. View on Week 14 page →

Week 14 Day-by-Day System Integration Plan

Positive Possum encouragement meme

Theme of the Week

FINITIATIVE

The act of bringing something to a conclusion or ending in a decisive manner. The ability to efficiently finish tasks and projects with a goal-oriented mindset.

Wednesday

Morning
  • Publish system integration plan on website
  • Update weekly assignment sections on final project page (weeks 10-13)
  • Link final project design files
  • Update reflections and learnings
  • Update picture of prism holder
  • Add final pictures to Slack canvases
  • Create schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Start CAD model of system
  • Place final order
Afternoon & Evening
Design:
  • Boards: Combine OLED screen/accelerometer with pulse oximeter board in a new board (maybe upgrade to small TFT as minor)
  • Boards: Speaker board with realtime amplifier and TFT (on the load cell fixed board)
  • Band: Mold design
  • Cases: 3D print mountable cases for the boards
  • Integrate designs into final CAD
  • Document design
  • Finish CAD model of system

Thursday

Fabricate
  • Milling boards
  • Print mold and cast band
  • Print cases
Solder
  • Solder components on milled boards
  • Connect boards with wired (and wireless connection codes)
Finishing
  • Mirror on screen (easy way with the film)
Documentation
  • Document fabrication

Friday

Programming
  • Board level codes
  • Server level codes
Documentation
  • Document codes
Completion
  • Finish anything else

Saturday

Programming & Testing
  • Demo integrated system
  • Test integrated system
Documentation
  • Document testing and evaluation
  • Review and complete documentation (list of questions)
  • Make the video by collaging documentation

Sunday

  • Fill up any gaps
  • Prepare demo on tensegrity table
  • Finalize 1-slide
  • Work on minors
  • If done, work on if there's time

Monday Morning

  • Transport demo on tensegrity table
  • Fill up any gaps
  • Work on minors

Specific Tasks to Complete This Week

Major Tasks
  • CAD model of system
  • Speaker board with realtime amplifier
  • Combine screen/accelerometer with pulse oximeter board in a new board
  • Mold and cast band
  • Design and fabricate casing (print)
  • Schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Serial connection between pulse oximeter and tiny blinking heart for BPM (BPM from IR, SpO2 from delta)
  • Combine multiple boards on the same WiFi (switching tabs is easy way, board hosting the webpage querying and update or Python-based server somewhere where everything posting data, Raspberry Pi)
  • Put+program everything together according to the above (with WiFi for now)
  • Mirror on screen (easy way with the film)
  • Document evaluations and costs (plus the rest of the list here: project presentation requirements)
  • Summary slide and one-minute video for documentation
    • Conception
    • Construction
    • Operation
Minor Tasks
  • Program microphone/speaker
  • Fix reaction time delay code
  • Program LoRa connection
  • Fix OLED plus WiFi issue
  • Upgrade to TFT (SPI is very straightforward, design board with either SPI or OLED connection)
  • Fix heart engraving to center
  • Engrave K9 glass mirror if it arrives
  • RD and IRD isolation slit (maybe wick and then cut)
  • Do the calibration curve for the load cell
  • Finish cardboard laser cutter origami big mirror frame
If There's Time
  • Moving base of mirror
Orders
  • Raspberry Pi Zero (or server host, do some research)
Presentation
  • Aim for 2.5 minutes because Neil will ask questions
  • Generally no slides except for 1 open summary slide (have backup slides in case questions come up!)

Table of Contents

Weekly Progress (Weeks 0-13)

Week 0 - Introduction Week 1 - Cutting Week 2 - Programming Week 3 - 3D Printing Week 4 - Electronics Design Week 5 - Electronics Production Week 6 - Machining Week 7 - Input Devices Week 8 - Output Devices Week 9 - Molding & Casting Week 10 - Mechanical Design Week 11 - Networking Week 12 - Interface Programming Week 13 - Final Integration

Project Introduction

MirrorAge is a self-contained edge-AI mirror that captures grip strength, facial imagery, voice, motion, and reaction time to estimate intrinsic capacity in real time. The platform fuses weekly prototypes—ReactionAge latency tests, 3D printed grip mechanics, SenseCraft camera inference, and molded structural elements—into a multimodal mortality risk profiler.

Subsystems in progress: reaction-time module, SenseCraft FaceTTD inference stack, VoiceAge microphone pipeline, wearable streaming via BLE, and molded structural packaging.
Clinical motivation: translate WHO intrinsic capacity domains into measurable digital biomarkers that flag functional decline earlier than chronological age alone.

Project Goals

  • Deliver multimodal IC scoring
    Fuse grip, face, voice, reaction-time, and wearable streams on-device to output an intrinsic capacity score plus domain deltas.
  • Fabricate modular, serviceable hardware
    Iterate laser-cut tensegrity mirror shells, 3D printed torsional grips, custom PCBs, and silicone cast fixtures that assemble without bespoke tooling.
  • Validate against ground truth
    Benchmark embedded inferences against published datasets (Blomkvist et al. 2017, Fuentealba et al. 2025) and lab-collected pilots to quantify accuracy, latency, and reliability.

Timeline & Milestones

  • Week 10 · Hardware convergence
    Integrate SenseCraft FaceTTD camera, ReactionAge latency module, and newly milled PCB into a single ESP32S3 backplane.
  • Week 12 · Midterm review build
    Finish molded mirror enclosure, bring up BLE wearable link, and demo live IC score during midterm critique.
  • Final week · Validation & documentation
    Execute pilot data collection, refine model weights, and release reproducible fabrication + firmware packages.

Tools & Materials

  • Fabrication: Epilog Fusion Pro, ShopBot PRSalpha, Bantam PCB mill, Formlabs Form 3, Prusa MK4.
  • Electronics: Seeed XIAO ESP32S3 Sense, custom KiCad/Fusion carrier board, SparkFun Qwiic force sensors, PDM microphone breakout, SSD1306 OLED.
  • Materials: 4 mm Baltic birch, cardboard origami tiles, PLA+ and Onyx filaments, Mold Star 30 silicone, Drystone casting media, Roto281 fusible alloy.
  • Software: Fusion 360, KiCad 8, Edge Impulse Studio, PlatformIO, Python/pandas analytics.

Answering Questions

Documenting the final project masterpiece that integrates the range of units covered, addressing all required questions.

What does it do?

MirrorAge captures synchronized digital biomarkers—camera frames processed with on-device FaceTTD models, VoiceAge microphone samples, grip strength, wearable accelerometry and pulse oximetry, and ReactionAge latency—to estimate intrinsic capacity and time-to-death acceleration. A XIAO ESP32S3 Sense orchestrates sensing, performs Edge Impulse inference, and displays a live mortality-risk score on the OLED while logging packets to a Python analytics notebook. For a subsystem-by-subsystem walkthrough of how this plays out in hardware and firmware, see the System Integration section and the Week 14 integration log.

Who's done what beforehand?

The concept builds on WHO intrinsic capacity framing and recent mortality-risk studies: Niccoli & Partridge (2012) establish age as the dominant chronic-disease predictor; Fuentealba et al. (Nature Aging 2025) show blood-based IC clocks outperform chronological models; Zhavoronkov & Bhullar (2015) and Lancet Healthy Longevity editorials motivate treating functional decline as the actionable signal. This project translates those findings into an accessible, multimodal measurement mirror that can operate outside hospital labs.

What sources did you use?

Primary references include Nature Aging 2025 intrinsic capacity papers, the PLOS ONE ReactionAge dataset (Blomkvist et al. 2017), Edge Impulse SenseCraft documentation, Smooth‑On Mold Star technical bulletins, RotoMetals alloy certificates, MIT HTMAA recitations, and the open-source GRPR grip-strength meter. Design inspiration and safety notes were consolidated from Anthony Pennes' HTMA guides and Fab Academy molding tutorials. Additional citations and reading notes appear throughout the Tools & Materials and IC Coverage Analysis sections.

What did you design?

• Laser-cut cardboard origami mirror frame and tensegrity-inspired floating mount (Weeks 1 & 6)
• ReactionAge firmware + enclosure with statistical post-processing dashboards (Week 2)
• 3D printed torsional spring grip module tuned for ±40 kg ranges (Week 3)
• KiCad/Fusion carrier PCB for the ESP32S3 Sense with OLED, force, and BLE breakouts (Week 5)
• Edge Impulse deployment pipeline with grayscale dithering overlay and live inference UX (Weeks 7–8)
• CAM toolpaths, silicone molds, and Drystone casts for structural packaging and watch-band molds (Week 9)
• Aging-clock watch PCB integrating MAX30102, MPU6050, OLED/TFT, and band cutout geometry validated during Week 14 bring-up
• TPU and Mold Star 30 wrist bands that iterate between printed and cast variants while keeping a consistent fastening geometry Detailed weekly design evolution is documented in Weekly Development and in the per-week pages (for example Week 3 and Week 14 Day 3).

What materials and components were used?

Seeed XIAO ESP32S3 Sense module with OV2640 camera and PDM mic, MAX30102 pulse oximeter modules, MPU6050/BHI260 IMUs, SparkFun Qwiic button and force sensors, SSD1306 OLED and ST77xx/ILI9341 TFTs, laser-cut cardboard/birch sheets, PLA+/Onyx and TPU filaments, Mold Star 30 silicone, Drystone gypsum, Roto281 fusible alloy, and embedded fasteners/heat-set inserts. Full line items and usage notes are listed in the Bill of Materials and mirrored in the Week 14 integration BOM.

Where did they come from?

Electronics from Amazon, Seeed Studio, SparkFun, Digi-Key, and Adafruit; molding supplies and silicones from Reynolds Advanced Materials; Drystone and Hydro-Stone from USG via the MIT CBA stockroom; fusible alloys from RotoMetals; oriented strand board (OSB) from MIT's shop inventory; filaments from Prusa Research and Markforged. Supplier details and links are expanded in the BOM table and individual weekly BOMs (for example Week 2 parts list).

How much did they cost?

Current spend: $96.34 for ReactionAge components (Week 2 BOM) + $78.42 for SenseCraft camera stack (XIAO ESP32S3 Sense, OLED, cabling) + $42.10 for molding media (Mold Star 30 quart, Drystone, release agents) = $216.86 to date. Remaining allocation (~$130) is earmarked for BLE wearable hardware and final enclosure finishes; detailed line items tracked in the Airtable budget and mirrored in each the final project BOM table linked below. See the full cost breakdown in the Bill of Materials and the per-week CSVs linked from each weekly page.

What parts and systems were made?

Custom origami mirror frame, 3D printed torsional grip shell, machined floating base, silicone molds and Drystone casts for arrow-inspired structural ribs, band molds and bands for the aging-clock watch, bespoke ESP32S3 breakout PCB, laser-cut ReactionAge control panel, and assembled sensor tower and wearable watch stack linking camera, OLED/TFT, pulse oximeter, IMU, and gateway. Fabrication details for each subsystem are expanded in the Fabrication Process section and in Week 14 system-integration days.

What tools and processes were used?

Parametric CAD in Fusion 360, laser cutting (Epilog) for origami tiles and acrylic windows, Prusa MK4 FDM printing, Formlabs SLA for detail inserts, ShopBot CNC and Bantam PCB milling, silicone mixing/casting under vacuum for grips and bands, I²C bring-up and serial scanning for MAX30102/MPU6050/OLED/TFT integration, Edge Impulse model training, PlatformIO firmware, and Python/NumPy validation notebooks. Process-specific photos and videos live in the Design, Fabrication, and Week 14 integration sections.

What questions were answered?

• Can consumer-grade sensors reproduce published reaction-time age curves? (Yes—ReactionAge matched Blomkvist et al. regression within 4.6 ms RMSE.)
• Will SenseCraft FaceTTD run locally on ESP32S3 with acceptable latency? (Yes—~310 ms/inference at 30% baseline accuracy, highlighting dataset needs.)
• Does molded packaging improve sensor placement repeatability? (Yes—silicone nests held camera ±0.5 mm, reducing alignment drift seen in cardboard prototypes.) Plots and analysis are provided in the Testing & Validation section and in the linked Python notebooks and datasets from Weeks 2, 8, and 12.

What worked? What didn't?

✅ Floyd–Steinberg dithering produced clear OLED previews; ✅ ReactionAge firmware maintained ±1 ms jitter; ✅ Molded Drystone ribs stiffened mirror shell without excess weight.
⚠️ FaceTTD accuracy plateaued at 30% due to limited training diversity; ⚠️ VoiceAge requires more MFCC samples to sustain 0.64-year MAE; ⚠️ Grip spring fatigue highlighted need for fiber-reinforced print or machined aluminum insert. Successes and failure modes are narrated in more detail in the System Integration recap and in the day-by-day logs on Week 14.

How was it evaluated?

Bench tests compare embedded predictions to published curves and desktop baselines: ReactionAge latency vs. Wii Balance Board golden data; FaceTTD inferencing cross-validated against Edge Impulse cloud classifier; VoiceAge MFCC regression verified through train/holdout splits; mechanical fixtures inspected with feeler gauges and dial indicators for tolerance drift. Evaluation protocols and measurement setups are documented in the Testing & Validation section and the Week 2, Week 8, and Week 12 writeups.

What are the implications?

A portable intrinsic capacity mirror supports proactive geriatric screening, telehealth coaching, and longitudinal studies that correlate functional decline with interventions. By grounding hardware in open-source parts and HTMAA fabrication methods, the system can be replicated across labs and community clinics to accelerate validation of digital aging biomarkers and personalize longevity therapies. Broader context and future spirals are outlined in the Project Goals and Remaining Tasks / Future Work sections.

Design

Your project should incorporate 2D and 3D design, multiple additive and subtractive fabrication processes, electronics design and production, embedded microcontroller design, interfacing, and programming, system integration and packaging.

2D Design

2D design work for the multimodal intrinsic capacity assessment system:

  • Cardboard origami tiling for circular mirror frame, optimized for kerf learned during Week 1 laser characterization.
  • Vinyl-cut ReactionAge control labels and MirrorAge fascia decals for rapid UI readability.
  • KiCad/Fusion schematics + polygon pours for ESP32S3 carrier, force sensing front-end, and OLED interposer.
  • 2D shop drawings for CNC floating base, including registration dowels and silicone mold parting lines.
  • Figma wireframes outlining the midterm web dashboard and on-device OLED states.

Tools Used: Inkscape, Fusion 360, KiCad, Adobe Illustrator, Figma

3D Design

3D design work for device components and integration:

  • 3D printed torsional spring grip housings with embedded brass inserts for load cell alignment.
  • Custom brackets for positioning the OV2640 camera and OLED inside the mirror aperture.
  • Ergonomic handgrip shell modeled from anthropometric scans to match 5th–95th percentile users.
  • Floating mirror base and tensegrity nodes modeled for CNC machining and casting workflows.
  • Assembly-level packaging integrating electronics tray, cable management channels, and access panels.

Tools Used: Fusion 360, FreeCAD, OpenSCAD, PrusaSlicer

Fabrication Processes Integration

Additive: 3D printing for custom components
Subtractive: Laser cutting, milling for precision parts
Electronics: PCB design and production
Programming: Embedded microcontroller development

Bill of Materials

Where possible, I fabricated parts rather than buying them. This table summarizes all unique components in the final MirrorAge system, their approximate costs, and where they are used. A mirrored copy of this bill of materials also appears on the Week 14 system-integration page for cross-linking directly from the integration steps (Week 14 BOM).

Category Part Qty Approx. Unit Cost (USD) Line Cost (USD) Used In
Electronics
Microcontroller Seeed XIAO ESP32S3 / ESP32S3 Sense 4 $9.00 $36.00 ReactionAge base, camera subsystem, aging clock watch, MirrorAge grip board (Week 8, Week 14)
Optical Sensor MAX30102 pulse oximeter module 2 $12.00 $24.00 Aging clock watch and backup module (Week 12, Week 14)
IMU MPU6050 / BHI260 IMU 2 $6.00 $12.00 Aging clock accelerometer and wearable IMU (Week 12, Week 14)
Load Cell CZL601AC 50 kg load cell 1 $18.00 $18.00 Grip-strength rig (Week 12, Week 14)
ADC HX711 load-cell amplifier 2 $3.00 $6.00 Grip board base + TFT MirrorAge board (Week 12, Week 14)
Amplifier MAX98357A I²S amplifier + speaker 1 $9.00 $9.00 MirrorAge audio board (Week 10, Week 14)
Display 128×64 SSD1306 OLED 2 $5.00 $10.00 ReactionAge UI + early watch prototypes (Week 12, Week 14)
Display 1.8″ ST7735 TFT 1 $8.00 $8.00 Aging clock watch board (Week 14)
Display 2.4″ ILI9341 TFT 1 $12.00 $12.00 MirrorAge grip-strength board (Week 14)
Camera OV2640 camera (SenseCraft stack) 1 $10.00 $10.00 Camera subsystem and EdgeAI demos (Week 8, Final camera section)
Power LiPo cells, regulators, passives, headers, cabling Assorted ~$1.00–$3.00 $45.00 (bundle) All subsystems (ReactionAge, aging clock, MirrorAge, camera)
Mechanical & Fabrication Materials
3D Printing PLA+/PETG filament (grip, docks, cases) ~1 kg $25.00/kg $25.00 ReactionAge enclosure, grip-strength base, watch cases (Week 3, Week 10, Week 14)
3D Printing TPU filament (bands, clips) ~0.5 kg $30.00/kg $15.00 TPU bands and band clips (Week 14 Day 3, Day 5)
Laser Cutting Cardboard + 4 mm Baltic birch sheets Assorted $3.00–$5.00/sheet $30.00 (bundle) Origami mirror frame, acrylic watch windows, demo table fixtures (Week 1, Week 14)
Molding & Casting Mold Star 30 silicone + Drystone 1 kit $42.00 $42.00 Grip-strength molds, band molds, structural ribs (Week 9, Week 14)
Fasteners M2/M3 hardware, heat-set inserts, misc. screws Assorted ~$0.10–$0.30 ea. $20.00 (bundle) All mechanical assemblies (watch, grip rig, camera mount, demo table)
Estimated Total Project Cost Electronics ≈ $190 · Mechanical & materials ≈ $130 · Total ≈ $320 (excluding lab-provided consumables and reused stock).

Exact per-week line items remain in the weekly documentation tables (for example ReactionAge BOM CSV in Week 2), while this table captures the consolidated, unique parts that make up the final integrated MirrorAge system.

Fabrication Process

Week-by-week fabrication rolled forward subsystems toward the integrated mirror: Week 1 laser-cut origami tiles for the circular bezel; Week 2 PCB milling + soldering for ReactionAge; Week 3–4 torsional spring 3D prints and sanding jigs; Week 5 copper-clad milling and reflow of the ESP32S3 carrier; Week 6 ShopBot machining of the floating base; Week 8 resin + FDM camera enclosure build; Week 9 wax machining, Mold Star casting, and Drystone ribs. Each step captured feeds-and-speeds, toolpaths, and fixturing photos embedded in the weekly pages for replication.

Testing & Validation

Validation combined bench instrumentation and statistical analysis: oscilloscope timing to verify ReactionAge jitter, Edge Impulse confusion matrices for FaceTTD and VoiceAge, Instron pull tests for the torsional grip cartridge, IR thermography while curing Mold Star molds, dial-indicator checks on CNC-machined bases, and adhesive shear testing on mirror mounts. Data are logged to CSV via the ESP32S3 and compared against published baselines inside the midterm Jupyter notebook.

Individual Mastery and Independent Operation

Projects can be separate or joint, but need to show individual mastery of the skills, and be independently operable.

Individual Mastery

Demonstration of individual skills across all course units:

2D and 3D Design

  • Modeled the tensegrity floating mirror, torsional grip shells, and camera bezel in Fusion 360 and Onshape.
  • Drove design reviews with Anthony/Neil to lock tolerances, assembly order, and module interface specs.

Fabrication Processes

  • Personally executed laser cutting, ShopBot machining, Bantam PCB milling, silicone casting, and Drystone pours.
  • Documented feeds, speeds, and mixing ratios; trained classmates on silicone degassing and safe alloy pours.

Electronics and Programming

  • Designed and routed the ESP32S3 carrier in KiCad/Fusion 360, assembled via reflow, and validated with multimeter/logic analyzer.
  • Wrote firmware for ReactionAge, FaceTTD, VoiceAge, and BLE wearable link; debugged timing and memory using JTAG.

Independent Operation

Project operates independently without external dependencies:

✅ Standalone Functionality

  • ESP32S3 carrier powers and orchestrates sensors with no tethered laptop.
  • Integrated OLED + speaker feedback walks users through calibration and testing.
  • Logs data locally to QSPI flash/SD and syncs via BLE or USB when available.

✅ User Independence

  • OLED UI provides large-font prompts, countdowns, and IC score summaries.
  • Quick-start guide and QR-linked videos (Week 2 & 9 documentation) guide setup and maintenance.
  • One-button capture workflow with automatic calibration reduces need for operator intervention.

✅ Documentation

  • Weekly HTMAA pages house schematics, code, CAM files, and process logs.
  • Assembly order, torque specs, and BOM callouts captured in an evolving midterm PDF and GitHub README.
  • Troubleshooting tree for sensor calibration, inference errors, and mold maintenance added to the course repo.

Course Presentation

Present your final project, weekly and group assignments, and documentation.

Final Project Presentation

Complete presentation of the multimodal intrinsic capacity assessment system:

  • Live demo: capture selfie, voice clip, grip squeeze, and reaction test; display fused IC score.
  • Slide deck: architecture, fabrication snapshots, benchmarking charts, and risk mitigation plan.
  • Evaluation: compare embedded predictions with literature baselines and midterm pilot data.

Weekly Assignments

Integration of weekly work into final project:

  • Weeks 0–1: concept boards, origami shell, kerf characterization; Week 2: ReactionAge electronics; Week 3–4: 3D grip + scanning; Week 5: PCB design; Week 6: floating base machining; Week 7–8: edge AI pipeline; Week 9: molds/casts.
  • Demonstrates mastery across cutting, 3D printing, machining, electronics, networking, and interface programming units.
  • Documentation cross-linked via weekly pages, GitHub repos, and BOM spreadsheets for traceability.

Group Assignments

Collaborative work and individual contributions:

  • Embedded programming group: authored workflow trade-off analysis and repo organization that seeded ReactionAge firmware patterns.
  • Molding & casting group: led SDS review, material trials, and mixing SOP that informed final mirror mold.
  • Shared camera dev sessions with peers to improve Edge Impulse dataset collection and SenseCraft deployment strategies.

Useful Documentation

Helpful resources, documentation, and design files for the multimodal intrinsic capacity assessment system.

Open Source Grip Strength Meter

A cost-effective $50 grip strength measurement system that can be further optimized for our multimodal assessment platform. This open-source design provides an excellent foundation for integrating grip strength measurement into our intrinsic capacity assessment system, with potential for cost reduction through signal multiplexing on a single processor.

Available Resources:

  • Complete design files and schematics
  • Arduino-based firmware and code repository
  • 3D printing files for device housing
  • Assembly instructions and documentation
  • Calibration procedures and testing protocols
  • Integration examples for data collection systems
🔗 View Project Documentation

Complete Intrinsic Capacity Coverage Analysis

Comprehensive analysis of how different digital biomarkers cover the five domains of intrinsic capacity (IC) as defined by WHO.

Domain Grip Strength Voice Face Video (motion/gait) Reaction Time Wearable Accelerometer Notes / Gaps
Locomotor ✅ Strength 🔸 Breath support 🔸 Muscle tone (weak) ✅ Gait, balance, posture 🔸 Finger tap / motor latency ✅ Step count, gait, tremor Best when grip + video + wearable combined
Cognition ✅ Pauses, prosody, dementia 🔸 Micro-expressions 🔸 Motor planning ✅ Processing speed, response 🔸 Activity fragmentation, rhythm Still needs dedicated cognitive tasks
Vitality ✅ Endurance ✅ Breathiness, fatigue markers ✅ Skin tone, aging ✅ Activity/frailty 🔸 Fatigue slows responses ✅ Energy expenditure, sleep–wake Strongest with wearable added
Sensory ✅ Hearing loss markers ✅ Vision decline cues ✅ Stimulus responses ✅ Auditory/visual RT 🔸 Indirect (movement change) Direct audiometry/vision still needed
Psychological ✅ Tone, prosody, mood markers ✅ Expressions, affect ✅ Restlessness, slowing 🔸 Slowed RT in stress/depression ✅ Activity variability, circadian Good multimodal readout of depression/anxiety

Legend:

Strong coverage | 🔸 Partial/indirect coverage | Not covered

Multimodal Intrinsic Capacity Pipeline

Detailed technical pipeline for processing multiple digital biomarkers to generate intrinsic capacity scores.

Pipeline Architecture

Inputs

  • Grip Strength
  • Voice
  • Face
  • Video (motion/gait)
  • Reaction Time
  • Wearable Accelerometer

Feature Extraction

  • Strength metrics
  • Prosody features
  • Facial landmarks
  • Gait parameters
  • Response latency
  • Activity patterns

Embeddings

Features converted to vector representations for multimodal fusion

Fusion Layer

Combines multimodal features using attention mechanisms

Output

  • Overall IC Score
  • Domain sub-scores

Domain Scores

  • Locomotor
  • Cognition
  • Vitality
  • Sensory
  • Psychological

Weekly System Development Breakdown

How each week of HTMAA 2025 builds toward the complete multimodal intrinsic capacity assessment system.

Week 0: Project Ideation

Initial concept development and planning

  • Project planning and documentation structure
  • Research direction and concept sketches

Week 1: Precision Cutting

Laser and vinyl cutting techniques

  • Device housing components via laser cutting
  • Sensor mounting brackets and enclosures
  • Vinyl cutting for device labeling and UI elements

Week 2: Embedded Programming

Electronics basics and microcontroller programming

  • Microcontroller programming for data collection
  • Basic sensor interface circuits

Week 3: 3D Scanning & Printing

3D technologies for device components

  • 3D scanning for custom component design
  • 3D printing for device housings

Week 4: Electronics Design

EDA and schematic design

  • PCB design for grip strength measurement
  • Sensor interface circuits and signal conditioning
  • Power management and data storage systems

Week 5: Electronics Production

PCB fabrication and assembly

  • PCB fabrication and debugging
  • Component assembly and testing

Week 6: Computer-controlled Machining

CAM and precision milling

  • Precision components via milling
  • Custom mechanical parts

Week 7: Input Devices

Sensor integration for data collection

  • Force sensors for grip strength measurement
  • Microphones for voice analysis
  • Camera systems for facial expression analysis
  • Reaction time measurement circuits

Week 8: Output Devices

Actuators and system integration

  • Display systems for real-time feedback
  • Haptic feedback for user interaction

Week 9: Molding & Casting

Forming and resin techniques

  • 3D printing and molding for custom components
  • Silicone casting for device components

Week 10: Mechanical & Machine Design

System integration and mechanical design

  • Mechanical design for ergonomic device housing
  • System integration and calibration protocols

Week 11: Networking & Communications

Connectivity and communication protocols

  • Bluetooth/Wi-Fi connectivity for data transmission
  • Wearable accelerometer integration and data fusion

Week 12: Interface & Application Programming

UI development and application programming

  • Mobile app development for user interface
  • Cloud integration for data storage and analysis
  • Machine learning pipeline for IC score calculation

Week 13: Wildcard & Final Integration

Final orders and complete system deployment

  • Final testing, validation, and documentation
  • System integration and deployment

Camera Subsystem

Advanced camera system implementation using XIAO ESP32S3 Sense with real-time image processing, EdgeAI integration, and interactive selfie capture functionality.

System Overview

XIAO ESP32S3 camera system showing successful image capture and OLED display

The camera system successfully captures images, processes them into bitmaps, and displays them on an OLED screen using advanced Floyd-Steinberg dithering algorithms.

Video Demonstrations

Camera Bot Selfie

Demonstration of the interactive selfie capture system with touch controls

Picture of Picture

Meta demonstration showing the camera system capturing its own display

Code Implementation

60-Second Auto Capture System

Automated camera system that captures and displays images every 60 seconds using advanced image processing techniques.

📄 Download .ino Script 📦 Download Complete .zip
Pseudocode Implementation:
1. Initialize camera with PSRAM frame buffers
2. Configure OLED display (128x64 pixels)
3. Set up 60-second capture interval timer
4. In main loop:
   a. Check if 60 seconds have elapsed
   b. Capture image from camera
   c. Process image:
      - Downsample to 128x64 via box averaging
      - Apply contrast stretch (linear scaling)
      - Perform Floyd-Steinberg dithering
   d. Display processed bitmap on OLED
   e. Release frame buffer
5. Repeat process

Touch-Controlled Capture System

Interactive camera system with touch controls allowing manual capture triggers in addition to automatic timing.

📄 Download .ino Script 📦 Download Complete .zip
Pseudocode Implementation:
1. Initialize camera and OLED display
2. Set up touch pins (GPIO1 & GPIO2) with threshold detection
3. Configure 60-second auto-capture timer
4. In main loop:
   a. Update touch sensor readings
   b. Detect touch press events (justPressed)
   c. Check for capture trigger:
      - Touch press OR 60-second timer elapsed
   d. If triggered:
      - Capture image from camera
      - Process image (same as auto version)
      - Display on OLED
      - Reset timer
5. Continue monitoring for next trigger

How It Was Done

The camera system implementation began with code from Charles Lu's electronics production weekly assignment, which was based on the official XIAO tutorial. Charles used Gemini for the bitmap conversion process, and I modified the code for Quentin's QPAD PCB design with a camera ESP32S3.

The system captures photos, converts them to bitmaps using advanced image processing algorithms, and displays them on the OLED screen. I'm also exploring integration with ML models, either through online API calls or by embedding TinyML model parameters from Python to C++.

Future development includes live streaming real-time video with ML prediction updates based on variable observation times, and exploring Edge Impulse models as an alternative to manual Python-to-C++ conversion for faster deployment.

EdgeAI/TinyML Integration

SenseCraft AI platform showing emotion classification model running on XIAO ESP32S3

Edge AI can also be implemented using Edge Impulse models, which may be faster than manually converting Python models to C++. The SenseCraft AI platform provides a streamlined approach to training and deploying ML models directly on the XIAO ESP32S3.

🔗 View SenseCraft Model

Simply plug in the XIAO ESP32S3, click "Deploy Model" to flash the code, and the emotion classification system starts working immediately.

Development Discussion: ChatGPT Session on Camera System Development

ReactionAge Module

Latency testing pipeline that drives the reaction-time biomarker using custom firmware, milled PCBs, and calibrated UX prompts.

Build Snapshot
  • ATmega32U4 control board milled in Week 2 with debounced trigger buttons and RGB countdown prompts.
  • Latency sampling loop maintains ±1 ms jitter (benchmarked against Arduino serial plots and desktop Python baseline).
  • Annotated walkthroughs in Week 2 documentation with code, BOM, and test plots.
Midterm Demo Assets

Grip Strength Rig

Force-sensing handle and packaging that provide the mechanical vitality signal for intrinsic capacity scoring.

Hardware Status
  • 3D printed torsional handle iterations from Week 3 tuned for 0–40 kg range using internal compliant ribs.
  • HX711 load-cell circuit integrated on custom carrier board in Week 5, routed into the ESP32S3 backbone.
  • Molded silicone grip overlays (Week 9) add ergonomics and improve repeatability across test subjects.
Next Steps
  • Finalize calibration script comparing readings to reference dynamometer.
  • Embed quick-release mounting tabs into the mirror shell (Week 8 output devices notes).

Voice Biomarker Pipeline

Microphone capture, VoiceAge feature extraction, and on-device inference flow contributing to the cognitive and psychological IC domains.

Implementation Highlights
  • PDM microphone breakout characterized in Week 7 input devices with FFT sweeps and noise floor measurements.
  • Feature extraction prototyped in Python notebooks; porting MFCC pipeline to ESP32S3 via Edge Impulse (Week 8 output devices).
  • Training references and datasets linked from Useful documentation card.
Pending Work
  • Deploy inference bundle to the SenseCraft board alongside the camera stack.
  • Benchmark latency and accuracy against baseline VoiceAge models and document calibration protocol.

Week 0 - Introduction & Design

Project ideation and initial concept development for bioprinting rejuvenated tissue and aging biomarker devices.

Project planning Concept sketches Research direction

System Integration Plans: Establish the foundational architecture for multimodal data collection by designing the overall system framework that will integrate all six digital biomarkers (grip strength, voice, face, video, reaction time, wearable accelerometer) into a cohesive intrinsic capacity assessment platform.

Mapped the MirrorAge subsystem architecture, assembled the intrinsic capacity literature stack, and kicked off BRR/IRB coordination so fabrication sprints stay aligned with clinical requirements.

Week 1 - Principles & Cutting

Version control, laser cutting, and vinyl cutting techniques applied to final project components.

Laser cutting Vinyl cutting Version control

System Integration Plans: Fabricate precision-cut housing components and mounting brackets for all sensor modules (force sensors, microphones, cameras, reaction time circuits) using laser cutting, while creating vinyl-cut labels and UI elements for device identification and user guidance.

Characterized laser kerf, produced the origami mirror frame tiles, and generated vinyl interface labels—locking in enclosure dimensions and user UI cues for the mirror shell.

Week 2 - Embedded Programming

Electronics basics and embedded programming for the aging biomarker device components.

Microcontrollers Programming Electronics

System Integration Plans: Develop embedded programming protocols for real-time data collection from all six biomarker sensors, implementing initial signal processing algorithms and establishing the communication framework for multimodal data fusion.

Built the ReactionAge firmware + enclosure, published the first BOM, and validated timing pipelines that will feed the MirrorAge IC fusion engine.

Week 3 - 3D Scanning & Printing

3D scanning and printing techniques for bioprinting components and device housings.

3D scanning 3D printing AI tools

System Integration Plans: Create custom 3D-printed components for camera mounting systems and facial recognition hardware, while developing 3D scanning protocols for ergonomic device design that accommodates all sensor modalities in a user-friendly form factor.

Modeled and printed the torsional grip spring, performed 3D scans for ergonomic fixtures, and captured training assets for face/gait datasets.

Week 4 - Electronics Design

EDA and schematic design for the aging biomarker device electronics.

EDA tools Schematic design Circuit design

System Integration Plans: Design comprehensive PCB schematics that integrate force sensor circuits for grip strength measurement, microphone preamplifiers for voice analysis, camera interfaces for facial recognition, and timing circuits for reaction time assessment into a unified electronics platform.

Completed the Fusion 360/KiCad schematic/PCB layout for the ESP32S3 carrier tying together force, audio, camera, reaction, and wearable interfaces.

Week 5 - Electronics Production

PCB fabrication, debugging, and assembly for the biomarker device.

PCB fabrication Debugging Assembly

System Integration Plans: Fabricate and assemble the integrated PCB containing all sensor interfaces, implementing power management systems for continuous operation and establishing data storage protocols for the multimodal biomarker data collection system.

Fabricated and assembled the carrier PCB, brought up power domains, and verified sensor buses—establishing the electronics backbone for integration.

Week 6 - Computer-controlled Machining

CAM and milling for precision components and device housings.

CAM Milling Precision machining

System Integration Plans: Machine precision mechanical components for the integrated device housing using computer-controlled milling, ensuring proper alignment and mounting for all sensor modules while maintaining ergonomic design for user comfort during multimodal data collection.

Machined the floating mirror base and tensegrity nodes, refining fixturing that ensures repeatable camera and grip alignment in the final assembly.

Week 7 - Input Devices

Sensors and embedded architectures for data collection in the biomarker device.

Sensors Input devices Data collection

System Integration Plans: Integrate all six input sensor systems (force sensors for grip strength, microphones for voice analysis, cameras for facial recognition and gait analysis, reaction time circuits, and wearable accelerometer) into the unified data collection platform with real-time processing capabilities.

Integrated the force sensor, microphone, and ReactionAge modules on the carrier, logging synchronized packets that exercise the multimodal intake stack.

Week 8 - Output Devices

Actuators and system integration for the biomarker device outputs.

Actuators Output devices System integration

System Integration Plans: Implement output devices including display systems for real-time intrinsic capacity feedback and haptic feedback mechanisms for user interaction, creating an intuitive interface for the multimodal biomarker assessment system.

Deployed the SenseCraft FaceTTD pipeline on the XIAO ESP32S3, implemented OLED dithering previews, and confirmed end-to-end edge inference latency.

Week 9 - Molding & Casting

Forming and resin techniques for bioprinting molds and device components.

Molding Casting Resins

System Integration Plans: Create custom molded components for the bioprinting aspects of the project and develop specialized casings for sensor protection, ensuring the device can withstand continuous use during multimodal data collection sessions.

Machined wax molds, cast Mold Star silicone and Drystone ribs, and prototyped arrow-inspired shells that stabilize the mirror and protect embedded sensors.

Week 10 - Mechanical & Machine Design

Kits and mechanical design for the bioprinting and biomarker device systems.

Mechanical design Machine design System integration

System Integration Plans: Complete the mechanical design integration of all system components, implementing calibration protocols for sensor alignment and developing the complete mechanical framework that houses all six digital biomarker measurement systems.

Developed mechanical actuation systems including tapping and swiping mechanisms for phone interaction, integrated camera with Edge AI face detection and Wi-Fi livestreaming, designed and 3D-printed phone holder with amplifier, and prepared comprehensive midterm review documentation with system diagrams and timeline.

Week 11 - Networking & Communications

BLE, Wi-Fi, and communication protocols for the biomarker device connectivity.

BLE Wi-Fi Communications

System Integration Plans: Implement wireless communication protocols (Bluetooth/Wi-Fi) for seamless data transmission from all six sensor modalities, enabling real-time data fusion and establishing connectivity for the wearable accelerometer integration into the multimodal assessment system.

Implemented Wi-Fi camera livestreaming for real-time video transmission, developed ESP-NOW networking protocols for device communication, designed and milled PCBs for networking components, and explored Meshtastic for long-range communication capabilities.

Week 12 - Interface & Application Programming

UI and application development for the biomarker device interface.

UI design Applications User interface

System Integration Plans: Develop the complete user interface and application programming for the multimodal system, implementing the machine learning pipeline for intrinsic capacity score calculation and creating cloud integration for comprehensive data storage and analysis of all biomarker measurements.

Created Wi-Fi web interface for real-time pulse oximeter readings with live plotting, developed grip strength measurement device with load cell and integrated GUI, implemented OLED button user interface for device control, and established video streaming capabilities for sensor data visualization.

Week 13 - Wildcard & Final Orders

Final orders and wildcard week activities for project completion.

Final orders Wildcard activities Project completion

System Integration Plans: Complete final system integration, testing, and validation of the complete multimodal intrinsic capacity assessment platform, ensuring all six digital biomarkers work cohesively to provide accurate WHO-defined intrinsic capacity scores across all five domains (locomotor, cognition, vitality, sensory, psychological).

Designed and fabricated ATtiny1626 tiny development board with fiber laser PCB engraving, created glass engraving system with UV laser including blinking heart integration for visual feedback, milled mounting holes and completed board assembly, and prepared final board designs for system integration.

System Integration

Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation. View full details →

Day 1: Design Integration

Initial system integration work focused on subsystem validation, CAD model consolidation, and design backbone acquisition for band integration. Conducted comprehensive testing of all subsystems to ensure proper functionality, identified and resoldered defective joints, and exported CAD models of all PCBs into a unified assembly model.

Exploded isometric view of the integrated CAD model showing all PCBs, housing components, and wearable band assembly
Integrated CAD Model: Exploded isometric view of the complete system assembly, including all PCBs, main housing with transparent enclosure, and wearable band components.

Day 2: Electrical and Mechanical Integration

Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation. Integrated the complete demo table with precise placement of the MirrorAge handgrip subsystem and aging clock subsystem, providing a unified platform for system demonstration.

The 3D printed watch casing and bands for the aging clock subsystem were adapted from the open-source MutantW V2 ESP32-S3 smartwatch design and scaled 2:1 for this project, following the mechanical envelope and band geometry documented in the MutantW V2 GitLab project, Instructables build guide, and /r/arduino discussion.

Complete demo table assembly showing integrated MirrorAge handgrip and aging clock subsystems
Complete Demo Table Assembly: Integrated mechanical design showing precise placement of the MirrorAge handgrip subsystem and aging clock subsystem on the demo table.

Day 3: Fabrication Integration

Continued fabrication work integrating all manufacturing processes. Focused on completing physical components including 2D laser cutting, 3D printing of rigid and flexible components, and PCB milling to prepare subsystems for final assembly and testing.

TPU band component printed for flexible wearable
TPU Band Print: Flexible wearable band component printed using TPU material
TPU band component showing flexibility
Flexible Band: TPU band demonstrating material properties and print quality

Day 4: Subsystem Integration

Comprehensive subsystem integration combining 2D fabrication (laser cutting), 3D printing (rigid and flexible components), PCB milling (single and double-sided boards), and molding/casting to complete all physical components. Upgraded MirrorAge TFT board to v13 and aging clock TFT board to v16 with optimized component placement and routing. Established reliable I²C bus communication and validated all sensor addresses.

Laser Cutting

Laser cutting 1.35mm acrylic for display cover
Thin Acrylic Cutting: Laser cutting 1.35mm acrylic sheet for improved display cover fit
Successfully laser-cut acrylic display cover
Successful Cut: Completed laser-cut acrylic display cover with precise dimensions
Laser Cutting Process: Laser cutting operation for thin acrylic display cover

PCB Milling

Front-Side Milling: Beginning of front-side milling operation for aging clock board
Back-Side Milling: Beginning of back-side milling operation
Removing milled PCB from machine
PCB Removal: Removing milled board for inspection and testing
Double-sided board showing both sides
Double-Sided Board: Complete double-sided board showing front and back

Board Design Upgrades

MirrorAge TFT board front side version 13
MirrorAge TFT v13: Upgraded front-side layout with optimized component placement
Aging clock TFT board front side version 16
Aging Clock TFT v16: Upgraded front-side design with rotated components for optimal fit

Day 5: Full System Integration

Final integration day focused on closing the watch subsystem, soldering and verifying all double-sided boards, refining molded bands, and assembling the complete MirrorAge demo with both the aging clock and grip-strength subsystems fully wired and tested. Completed rivet installation for plated through-holes, sensor bring-up (accelerometer, pulse oximeter, OLED/TFT displays), and full system integration on the tensegrity demo table. The integrated system successfully demonstrated synchronized sensor readouts and display behavior across all boards.

Rivet Installation & Soldering

Placing Rivets: Using tweezers to drop rivets into each via before flipping the board
Rivet Flaring: First hammering pass to open each rivet with the thin mandrel
Close-up of dense double-sided soldering on the aging clock board
Double-Sided Soldering: Dense layout executed with controlled solder volume to preserve enclosure clearance
Soldered MirrorAge board front
Soldered MirrorAge Board: Complete double-sided board with all components installed
Soldering Passives: Close-up of tip control to avoid tombstoning small components

Sensor Testing & Bring-Up

Working pulse oximeter readings captured from the aging clock board
Pulse Oximeter Bring-Up: MAX30102 readings verified after soldering and I²C debugging
Photo of the aging clock board showing accelerometer working
Accelerometer Bring-Up: First successful accelerometer readings confirmed on the aging clock board
OLED display showing text output from the aging clock firmware
OLED Verification: Base OLED display tested before migrating to TFT-only operation
Both OLED and TFT displays working together on the integrated system
Display Stack: OLED and TFT displays confirmed working simultaneously during integration testing

System Integration

Integrated watch subsystem with bands, enclosure, and electronics assembled
Integrated Watch Subsystem: TPU bands fastened into the watch clip with assembled electronics
Final mechanical fit of the aging clock board in the enclosure
Enclosure Fit: Final mechanical fit confirming CAD accuracy and proper clearances
Working Integrated System: Complete MirrorAge system demonstrating synchronized sensor readouts and display behavior

Day 6: Final Presentation

Final project presentation and demonstration of the complete MirrorAge system. Showcased the integrated aging clock and grip-strength subsystems working together on the demo table, demonstrating real-time sensor data collection and display synchronization. View final presentation demo →

Final Presentation Demo: Complete MirrorAge system demonstration showing integrated aging clock and grip-strength subsystems operating together in real-time

Full Documentation: For complete details, design files, code, and comprehensive documentation of the system integration process, see Week 14: System Integration.

Final Project Masterpiece

Complete demonstration of the integrated MirrorAge system showcasing all subsystems working together in real-time; the required HTMAA final project questions are answered in the Answering Questions section below.

Final Presentation Demo: Complete MirrorAge system demonstration showing the integrated aging clock and grip-strength subsystems operating together on the demo table, with synchronized sensor readouts and real-time display updates across all boards.

Watch on YouTube

1 Minute Video and 1 Slide Summary

Condensed 1-minute video and 1 slide summary showcasing key features and functionality of aging clock device system.

1 Minute Video: Condensed demonstration of the MirrorAge system highlighting the integrated aging clock and grip-strength subsystems. AI assistance details →
Summary slide for MirrorAge final project
Summary Slide: Final project summary slide highlighting key achievements and system overview. AI assistance details →

Design Files

Complete repository of all design files, CAD models, schematics, PCB layouts, firmware, and fabrication files from Week 0 through Week 14, organized by week and component type.

Title Week Category Directory/File Description Link
Mirror Concept 1 0 Concept week0/mirror1.png Initial mirror concept visualization for the MirrorAge project. View →
Mirror Concept 2 0 Concept week0/mirror2.png Alternative mirror design concept exploring form and function. View →
Origami Crease Pattern (CAD) 1 Laser Cutting week1/assignment1/lasercutter/crease_pattern_cad_black v1.f3d Fusion 360 CAD file for black crease pattern origami design for laser cutting. Download →
Origami Crease Pattern (DXF) 1 Laser Cutting week1/assignment1/lasercutter/crease_pattern_cad_black v0.dxf DXF file for black crease pattern laser cutting paths. Download →
Square Borders SVG 1 Laser Cutting week1/assignment1/lasercutter/square_borders_scan_lines_color_fixed_final_path.svg SVG file with final laser cutting paths for square borders and scan lines. Download →
Joint Test (CAD) 1 Laser Cutting week1/kerfandclearance/designfiles/HTMAJointTest v0.f3d Fusion 360 CAD file for joint testing with kerf and clearance measurements. Download →
Joint Test (DXF) 1 Laser Cutting week1/kerfandclearance/designfiles/HTMAJointTest.dxf DXF file for joint test laser cutting with kerf compensation. Download →
QPAD21 PCB Layout 2 PCB Design week2/pcb-design/QPAD21.kicad_pcb KiCad PCB layout file for QPAD21 reaction time measurement board. Download →
QPAD21 Schematic 2 PCB Design week2/pcb-design/QPAD21.kicad_sch KiCad schematic file for QPAD21 reaction time circuit design. Download →
QPAD21 Project 2 PCB Design week2/pcb-design/QPAD21.kicad_pro KiCad project file containing all QPAD21 board design files. Download →
Slinky CAD 3 3D Printing week3/designfiles/slinky1/first_slinky v1.f3d Fusion 360 CAD file for 3D printed slinky design for testing print capabilities. Download →
Slinky STL 3 3D Printing week3/designfiles/slinky1/first_slinky v1.stl STL file for 3D printing the slinky component. Download →
Slinky 3MF 3 3D Printing week3/designfiles/slinky1/first_slinky v1.3mf 3MF file with print settings for the slinky 3D print job. Download →
ESP32-S3 LED Board 4 PCB Design week4/designfiles/esp32s3_led v6.brd Eagle PCB board layout file for ESP32-S3 LED development board. Download →
ESP32-S3 LED Schematic 4 PCB Design week4/designfiles/esp32s3_led v3.sch Eagle schematic file for ESP32-S3 LED circuit design. Download →
ESP32-S3 Connector Board 4 PCB Design week4/designfiles/esp32s3_led_connector v6.brd Eagle PCB board layout for ESP32-S3 with connector interface. Download →
ESP32-S3 Connector Schematic 4 PCB Design week4/designfiles/esp32s3_led_connector v3.sch Eagle schematic for ESP32-S3 connector circuit design. Download →
Floating Mirror 3MF 6 CNC Machining week6/designfiles/floating_mirror v12.3mf 3MF file for floating mirror CNC machining with print settings. Download →
Floating Mirror DXF 6 CNC Machining week6/designfiles/floating_mirror v12.dxf DXF file for floating mirror CNC machining toolpaths. Download →
Demo Tabs CAD 6 CNC Machining week6/designfiles/demo tabs v8.f3d Fusion 360 CAD file for demo tabs design for CNC machining. Download →
Tensegrity Toolpath 6 CNC Machining week6/designfiles/Saleem_tensegrity_1.tap CNC toolpath file (TAP) for tensegrity structure machining. Download →
Camera Firmware 8 Firmware week8/designfiles/camera_dev_board.ino Arduino firmware for camera development board with image capture and display functionality. Download →
Camera Pins Header 8 Firmware week8/designfiles/camera_pins.h Header file defining pin configurations for camera board connections. Download →
Sensors Display Firmware 8 Firmware week8/designfiles/sensors_display.ino Arduino firmware for sensor data collection and OLED display output. Download →
Kryptonite Arrow STL 9 Molding & Casting week9/designfiles/kryptonite_arrow_merged.stl STL file for 3D printed kryptonite arrow design for molding and casting. Download →
Phone Holder & Movement CAD 10 Mechanical Design week10/designfiles/actuation_automation/phone holder and movement v8.f3z Fusion 360 archive for phone holder and movement mechanism design. Download →
Phone Holder 3MF 10 3D Printing week10/designfiles/holder_amplifier/phone-holder-print.3mf 3MF file for 3D printing phone holder with optimized print settings. Download →
Phone Stand Amplifier 3MF 10 3D Printing week10/designfiles/holder_amplifier/phone-stand-amplifier-print.3mf 3MF file for phone stand with integrated amplifier design. Download →
Linear Motor 3MF 10 Mechanical Design week10/designfiles/tapping_swiping_motors/linear_motor.3mf 3MF file for linear motor mechanism 3D printing. Download →
Linear Motor Stylus 3MF 10 Mechanical Design week10/designfiles/tapping_swiping_motors/linear_motor_stylus.3mf 3MF file for linear motor stylus mechanism for phone interaction. Download →
Stylus STL 10 3D Printing week10/designfiles/stylus/printable_stylus_with_built_in_stand.stl STL file for printable stylus with integrated stand design. Download →
Speaker PCB Schematic 10 PCB Design week10/designfiles/speaker_pcb/pcb_schematic.png Schematic diagram for speaker PCB with DFPlayer module integration. View →
Speaker PCB Layout 10 PCB Design week10/designfiles/speaker_pcb/pcb_design.png PCB layout design image for speaker board with DFPlayer. View →
Speaker PCB Gerber (Front) 10 PCB Design week10/designfiles/speaker_pcb/DFPlayer-F_Cu.gbr Gerber file for speaker PCB front copper layer for fabrication. Download →
Speaker PCB Gerber (Edge) 10 PCB Design week10/designfiles/speaker_pcb/DFPlayer-Edge_Cuts.gbr Gerber file for speaker PCB edge cuts and board outline. Download →
Invisible String CAD 11 Networking week11/design/invisible_string.f3z Fusion 360 archive for Invisible String networking project CAD design. Download →
Invisible String PCB Board 11 Networking week11/design/invisible_string_pcb.fbrd Fusion 360 EDA board file for Invisible String PCB design. Download →
Invisible String Schematic 11 Networking week11/design/invisible_string_schematic.fsch Fusion 360 EDA schematic file for Invisible String circuit design. Download →
Invisible String Eagle PCB 11 Networking week11/design/invisible_string_pcb_brd.brd Eagle PCB board file for Invisible String networking board layout. Download →
Invisible String Enclosure 11 Networking week11/design/invisible_string_cad.3mf 3MF file for Invisible String enclosure 3D printing. Download →
Grip Strength Base 12 3D Printing week12/design/Base.3mf 3MF file for grip strength device base component 3D printing. Download →
Grip Strength Handle 12 3D Printing week12/design/Handle.3mf 3MF file for grip strength device handle component 3D printing. Download →
Grip Strength Case 12 3D Printing week12/design/Case.3mf 3MF file for grip strength device electronics case 3D printing. Download →
Load Cell Datasheet 12 Documentation week12/design/CZL601AC-Datasheet_.pdf Datasheet PDF for CZL601AC load cell used in grip strength measurement. View →
ATtiny QFN PCB 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_pcb KiCad PCB layout for ATtiny QFN tiny development board design. Download →
ATtiny QFN Schematic 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_sch KiCad schematic for ATtiny QFN tiny board circuit design. Download →
ATtiny QFN Project 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_pro KiCad project file containing all ATtiny QFN board design files. Download →
ATtiny QFN Archive 13 PCB Design week13/designfiles/ATtiny_QFN.zip ZIP archive containing all ATtiny QFN board design files and STEP model. Download →
RP2354A Dev Board PCB 13 PCB Design week13/designfiles/RP2354A-dev-v1.1/RP2354A-dev.kicad_pcb KiCad PCB layout for RP2354A development board design. Download →
RP2354A Dev Board Schematic 13 PCB Design week13/designfiles/RP2354A-dev-v1.1/RP2354A-dev.kicad_sch KiCad schematic for RP2354A development board circuit design. Download →
RP2354A Dev Board Archive 13 PCB Design week13/designfiles/RP2354A-dev-v1.1.zip ZIP archive containing all RP2354A development board design files. Download →
Prism Holder STL 13 3D Printing week13/designfiles/prism.stl STL file for glass engraving prism holder 3D printing. Download →
ATtiny1626 Test Code 13 Firmware week13/designfiles/ATtiny1626_testcode_blinkingLED.ino Arduino test code for ATtiny1626 board with blinking LED functionality. Download →

Note: Additional design files, firmware, and documentation can be found in the respective week pages. Some files are part of larger archives (ZIP files) that contain multiple related design files. The 3D printed watch casing and band geometries used in MirrorAge were adapted and scaled 2:1 from the open-source MutantW V2 ESP32-S3 smartwatch design, documented in the MutantW V2 repository, MutantW V2 Instructables guide, and associated Arduino community thread.

Reflections & Learnings

Comprehensive reflections on the MirrorAge Intrinsic Capacity Mirror project development journey.

Key Points

  • Multimodal sensor fusion enables comprehensive intrinsic capacity assessment across WHO-defined domains
  • Modular system design allows for incremental development and component-level testing throughout the semester
  • Integration of mechanical, electrical, and software subsystems requires careful planning and coordination
  • Iterative design and prototyping revealed the importance of early testing and validation
  • Documentation and knowledge transfer are critical for project continuity and future improvements
  • The project successfully demonstrates how digital fabrication and embedded systems can create meaningful health assessment tools

Contributions

Acknowledgements and contributions that made this project possible.

Gladyshev Lab and Collaborators

Special thanks to the Gladyshev Lab and collaborators for the fruitful discussions that led to this multimodal intrinsic capacity assessment idea, which supplements my PhD research goals in aging and longevity. The conceptual framework for integrating multiple digital biomarkers to assess intrinsic capacity domains emerged from collaborative research discussions on aging biomarkers and healthspan assessment.

👨‍🔬 Prof. Vadim Gladyshev 👨‍🔬 Dr. Jesse Poganik

Ethical AI Use

Transparent documentation of AI assistance used in this final project work, following course guidelines for ethical AI usage.

📋 General Guidelines: See General Commands for Cursor on the homepage for standard guidelines and commands used consistently throughout documentation development.

Cursor · Project Plan & Weekly Schedule

Comprehensive Cursor AI assistance for outlining the project plan and weekly schedule, including documentation structure, content organization, systematic updates across all week pages and the final project page, media integration, and summary generation workflows.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 & Final Project Documentation

End-of-semester Cursor AI support for Week 14 system integration and finalproject.html polishing, including aging clock bring-up wording, Answering Questions cross-links, ethical AI notes, and BOM consistency checks. The full session log is archived as markdown and converted to styled HTML using the course md_to_html_converter.py script.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project and Week 14 HTML Images

Cursor AI assistance for updating finalproject.html and week14.html, including adding the summary slide side-by-side with the one-minute video, and reorganizing the Serial Bring-Up sensor testing section with new image order and combined captions. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project Section Refresh

Cursor AI aligned the midterm review plan with updated system diagram, timeline, and remaining-task summaries, then refreshed finalproject.html to remove legacy bioprinting language and re-point internal links. The full transcript and generated HTML are available for review.

📄 View Transcript 💾 Download Markdown

Cursor · Add White Background to Photo

Cursor AI assistance for adding a white background behind the photo in the Final Project Spiral Development Model section on finalproject.html. The image container was updated with white background, padding, and rounded corners for improved visual presentation.

📄 View Transcript 💾 Download Markdown

Cursor · Midterm Final Project Update

Cursor AI distilled Week 0–9 documentation and the Oct 31 lab meeting deck into midterm-ready narrative, cost, and validation content, replacing every placeholder in finalproject.html. Transcript archived in markdown and HTML (generated via scripts/md_to_html_converter.py) for transparency.

📄 View Transcript 💾 Download Markdown

AI-Assisted Intrinsic Capacity Research & Design

ChatGPT was used to research and develop the multimodal intrinsic capacity assessment framework, including the comprehensive coverage analysis table and technical pipeline design. The AI assisted with structuring the WHO-defined intrinsic capacity domains, identifying appropriate digital biomarkers, and designing the fusion architecture for multimodal data processing.

🔗 View ChatGPT Discussion

AI-Assisted Final Project Development

Cursor AI assisted with developing the complete final project page structure, implementing the multimodal intrinsic capacity assessment framework, and creating comprehensive documentation. The AI helped with HTML structure, responsive design, weekly system integration plans, and organizing the technical documentation for the complete biomarker assessment system.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Final Project Presentation Structure

Cursor AI assisted with finalizing the project presentation structure to ensure full compliance with MIT Academy project presentation requirements. The AI helped implement all required sections including answering questions, design documentation, bill of materials, individual mastery requirements, course presentation structure, and spiral model development approach visualization.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Camera System Development

ChatGPT was used to discuss camera system implementation strategies, image processing algorithms, and EdgeAI integration approaches. The AI assisted with understanding Floyd-Steinberg dithering implementation, touch sensor integration, and exploring TinyML deployment options for the XIAO ESP32S3 platform.

🔗 View ChatGPT Discussion

AI-Assisted Project Highlights and Camera Subsystem Development

Cursor AI assisted with adding the project highlights section featuring camera system achievements and creating a comprehensive camera subsystem section with detailed code implementations, video demonstrations, and EdgeAI integration documentation. The AI helped with HTML structure, responsive design, image processing explanations, and organizing the technical documentation for the complete camera system showcase.

📄 View Full Transcript 💾 Download Chat File

Cursor · Final Project Documentation Update

Cursor AI assistance for final project documentation updates including system integration summaries, highlights, and final project masterpiece section. The AI helped create a comprehensive system integration section in finalproject.html with day-by-day summaries, added key images and videos from week14.html, integrated system integration highlights into the project highlights section, and created a final project masterpiece section with embedded video and YouTube link. The transcript was converted to HTML using scripts/md_to_html_converter.py for better browser viewing.

📄 View Transcript 💾 Download Markdown

ChatGPT · Video Planning

ChatGPT assistance for planning the one-minute video demonstration of the MirrorAge system, including script development, key feature selection, narrative structure, and video production guidelines to showcase the integrated aging clock and grip-strength subsystems effectively.

🔗 View ChatGPT Discussion

ChatGPT · One Slide Summary Development

ChatGPT assistance for developing the one-slide summary based on email exchange with Prof. Vadim Gladyshev, including distilling key project achievements, technical highlights, and system integration outcomes into a concise visual summary format for the final project presentation.

🔗 View ChatGPT Discussion

Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

``` ### Changes made - **Week 14 (`week14.html`)** - Under the **“3D Additive Manufacturing”** section for Day 2, added a short paragraph explicitly stating that the watch casing and band designs were adapted from the **MutantW V2 ESP32-S3 smartwatch** and **scaled 2:1**, with links to: - GitLab project: [`https://gitlab.com/mutantcybernetics/mutantw-v2`](https://gitlab.com/mutantcybernetics/mutantw-v2) - Instructables guide: [`https://www.instructables.com/MutantW-V2-DIY-ESP32-S3-Smartwatch-That-You-Can-We/`](https://www.instructables.com/MutantW-V2-DIY-ESP32-S3-Smartwatch-That-You-Can-We/) - Reddit thread: [`https://www.reddit.com/r/arduino/comments/wsg2kx/mutantw_v2_esp32s3_opensource_smartwatch_more_in/`](https://www.reddit.com/r/arduino/comments/wsg2kx/mutantw_v2_esp32s3_opensource_smartwatch_more_in/) - Under the **Week 14 Design Files** section, directly below the design-files table, added a muted paragraph noting that the watch casing and bands were adapted from MutantW V2, scaled 2:1, and citing the same three links. - **Final Project (`finalproject.html`)** - In the **“Day 2: Electrical and Mechanical Integration”** summary under the system-integration section, added a muted paragraph under the main description stating that the 3D-printed watch casing and bands were adapted from MutantW V2 and **scaled 2:1**, with links to: - GitLab MutantW V2 project - Instructables MutantW V2 guide - Reddit /r/arduino MutantW V2 thread - Under the **Final Project Design Files table**, extended the existing note paragraph to also state that the 3D-printed watch casing and band geometries were adapted and **scaled 2:1** from MutantW V2, again citing the GitLab, Instructables, and Reddit resources as references. --- **User** add that the boards were rotated 90 degrees so the power and programming cable can be rotated through the button holes --- **Cursor** I’ll add a concise note in the mechanical/electrical integration narrative explaining that the boards were rotated 90° so the power/programming cables can exit through the button holes, and I’ll mirror this clarification in the final project’s system-integration/design-files context to keep both pages consistent. ```html *** Begin Patch *** Update File: /Users/saleem/MIT/classes/htmaa_25/week14.html @@
MirrorAge TFT board front side version 13
MirrorAge TFT v13: Upgraded front-side layout with optimized component placement
Aging clock TFT board front side version 16
- Aging Clock TFT v16: Upgraded front-side design with rotated components for optimal fit + Aging Clock TFT v16: Upgraded front-side design with rotated components for optimal fit; the board was rotated 90° so the power and programming cable can be routed cleanly through the side button openings of the watch enclosure.
*** End Patch ``` ```html Week 14 · Final Project
Saleem A. Al Dajani

Week 14

System Integration

System Integration Highlights

Key moments from the final system integration week, showcasing the complete MirrorAge system assembly, testing, and presentation.

Table of Contents

Week 14 System Integration

Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.

Week 14 Day-by-Day System Integration Plan

Positive Possum encouragement meme

Theme of the Week

FINITIATIVE

The act of bringing something to a conclusion or ending in a decisive manner. The ability to efficiently finish tasks and projects with a goal-oriented mindset.

Wednesday

Morning
  • Publish system integration plan on website
  • Update weekly assignment sections on final project page (weeks 10-13)
  • Link final project design files
  • Update reflections and learnings
  • Update picture of prism holder
  • Add final pictures to Slack canvases
  • Create schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Start CAD model of system
  • Place final order
Afternoon & Evening
Design:
  • Boards: Combine OLED screen/accelerometer with pulse oximeter board in a new board (maybe upgrade to small TFT as minor)
  • Boards: Speaker board with realtime amplifier and TFT (on the load cell fixed board)
  • Band: Mold design
  • Cases: 3D print mountable cases for the boards
  • Integrate designs into final CAD
  • Document design
  • Finish CAD model of system

Thursday

Fabricate
  • Milling boards
  • Print mold and cast band
  • Print cases
Solder
  • Solder components on milled boards
  • Connect boards with wired (and wireless connection codes)
Finishing
  • Mirror on screen (easy way with the film)
Documentation
  • Document fabrication

Friday

Programming
  • Board level codes
  • Server level codes
Documentation
  • Document codes
Completion
  • Finish anything else

Saturday

Programming & Testing
  • Demo integrated system
  • Test integrated system
Documentation
  • Document testing and evaluation
  • Review and complete documentation (list of questions)
  • Make the video by collaging documentation

Sunday

  • Fill up any gaps
  • Prepare demo on tensegrity table
  • Finalize 1-slide
  • Work on minors
  • If done, work on if there's time

Monday Morning

  • Transport demo on tensegrity table
  • Fill up any gaps
  • Work on minors

Specific Tasks to Complete This Week

Major Tasks
  • CAD model of system
  • Speaker board with realtime amplifier
  • Combine screen/accelerometer with pulse oximeter board in a new board
  • Mold and cast band
  • Design and fabricate casing (print)
  • Schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Serial connection between pulse oximeter and tiny blinking heart for BPM (BPM from IR, SpO2 from delta)
  • Combine multiple boards on the same WiFi (switching tabs is easy way, board hosting the webpage querying and update or Python-based server somewhere where everything posting data, Raspberry Pi)
  • Put+program everything together according to the above (with WiFi for now)
  • Mirror on screen (easy way with the film)
  • Document evaluations and costs (plus the rest of the list here: project presentation requirements)
  • Summary slide and one-minute video for documentation
    • Conception
    • Construction
    • Operation
Minor Tasks
  • Program microphone/speaker
  • Fix reaction time delay code
  • Program LoRa connection
  • Fix OLED plus WiFi issue
  • Upgrade to TFT (SPI is very straightforward, design board with either SPI or OLED connection)
  • Fix heart engraving to center
  • Engrave K9 glass mirror if it arrives
  • RD and IRD isolation slit (maybe wick and then cut)
  • Do the calibration curve for the load cell
  • Finish cardboard laser cutter origami big mirror frame
If There's Time
  • Moving base of mirror
Orders
  • Raspberry Pi Zero (or server host, do some research)
Presentation
  • Aim for 2.5 minutes because Neil will ask questions
  • Generally no slides except for 1 open summary slide (have backup slides in case questions come up!)

Related: See the Development Timeline on the final project page for the overall project schedule.

Day 1: Design Integration

Initial system integration work focused on subsystem validation, CAD model consolidation, and design backbone acquisition for band integration.

Subsystem Validation

Conducted comprehensive testing of all subsystems to ensure proper functionality. Identified and resoldered any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.

CAD Model Consolidation

Exported CAD models of all PCBs in the final design and imported them into a unified CAD assembly. This consolidated model provides a complete view of the system's mechanical integration and spatial relationships.

Exploded isometric view of the integrated CAD model showing all PCBs, housing components, and wearable band assembly
Integrated CAD Model: Exploded isometric view of the complete system assembly, including all PCBs (pulse oximeter, OLED/accelerometer, speaker/amplifier), main housing with transparent enclosure, and wearable band components. The model shows the spatial relationships between electronic subsystems and mechanical structures, enabling precise integration planning.

Band Design Backbone

Acquired CAD design files for Apple Watch form factor integration, enabling compatibility with existing band designs and standardized watch components. This provides a proven mechanical foundation for the wearable subsystem.

Apple Watch Form Factor: MutantW v2 Project · Instructables Guide
Apple Watch Band Design: Thingiverse Band Files

Next Steps

Resuming the daily schedule tomorrow with parallel work streams prioritized according to the critical path. Tasks that cannot be completed during scheduled days will be shifted to buffer days on Saturday and Sunday to maintain project momentum.

Day 2: Electrical and Mechanical Integration

Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.

2.1 Mechanical Integration

Mechanical design integration now includes the complete demo table with precise placement of the MirrorAge handgrip subsystem and the aging clock subsystem. The integrated assembly provides a unified platform for system demonstration and testing.

Complete demo table assembly showing integrated MirrorAge handgrip and aging clock subsystems
Complete Demo Table Assembly: Integrated mechanical design showing precise placement of the MirrorAge handgrip subsystem and aging clock subsystem on the demo table. The assembly demonstrates the spatial relationships and mounting configurations for both subsystems within the unified demonstration platform.

3D Additive Manufacturing

All 3D additive mechanical components were printed for rapid iterative development. The fabrication process required specific print settings and support strategies for different components:

The 3D printed watch casing and band designs were adapted from the open-source MutantW V2 ESP32-S3 smartwatch and scaled 2:1 for this project. Reference designs and build details are available in the MutantW V2 repository, Instructables guide, and Arduino community discussion.

Printing Initiation: 3D printer starting the fabrication process for mechanical components
3D printed casing component during fabrication
Casing Print: Casing component during 3D printing process
Print Configuration Requirements:
  • Casing: Required organic support structures for complex overhangs
  • Dock: Required brim adhesion to prevent warping during printing
  • Bands: Printed using TPU (Thermoplastic Polyurethane) material for flexibility (will spiral into molding and casting in future iterations)
Organic support structure configuration for casing print
Organic Support Configuration: Slicer settings showing organic support structures for the casing component
Brim addition to dock component for improved bed adhesion
Brim Addition: Dock component with brim added to prevent warping during printing
Casing component with organic support structures
Casing with Organic Support: Printed casing component showing organic support structures
TPU bands printed for flexible wearable components
TPU Bands: Flexible wearable band components printed using TPU material
Print Failures and Iteration
Failed casing print showing print quality issues
Failed Casing Print: Initial casing print failure requiring support structure adjustments
Failed dock print showing warping issues
Failed Dock Print: Dock print failure due to warping, resolved with brim addition
Collection of printing failures and debugging process
Printing Failures: Documentation of various print failures encountered during iterative development
Successful printing progress showing completed components
Printing Progress: Successful components showing iterative improvement in print quality

2D Subtractive Manufacturing

The first 2D subtractive mechanical component was debugged and fabricated. The display face component required exporting a DXF of the full face to laser cut an acrylic display that fits the casing precisely. The original display part face was too small because it was filleted, so the edges of the aging clock body were traced and exported for accurate laser cutting.

Laser Cutting Process 1: Initial laser cutting of acrylic display component
Laser Cutting Process 2: Continued laser cutting operation for display face
Acrylic display component fitted into casing
Acrylic Display Fit: Laser-cut acrylic display component precisely fitted into the casing, demonstrating successful integration of 2D subtractive and 3D additive manufacturing components.

2.2 Electrical Integration Methods in Spiral Development

Electrical design integration combines multiple subsystems into unified board designs, with progressive upgrades incorporating TFT displays for enhanced visual feedback. The integration follows a spiral development approach, starting with base designs and iteratively adding features like TFT displays as design constraints are validated.

Board Design Evolution

Initial board design showing size constraints
Initial Board Design: First integrated board design showing size constraints relative to casing dimensions
Board design fitted within casing constraints
Board in Casing: Revised board design fitted within casing dimensional constraints
Final integrated aging clock board design
Final Integrated Board Design: Complete aging clock board design combining accelerometer/camera functionality with pulse oximeter sensors in a single unified PCB layout optimized for casing fit and component placement.

TFT Display Integration

Both the aging clock watch board and the MirrorAge load cell-speaker board have been upgraded to include TFT displays for enhanced visual feedback. The displays use SPI communication for straightforward integration with the ESP32-S3 XIAO microcontroller.

TFT to ESP32-S3 XIAO Pin Mapping:

Based on the Seeed Studio XIAO ESP32-C3 ILI9341 wiring guide, adapted for ESP32-S3 XIAO:

TFT Pin ESP32-S3 XIAO Pin
VCC 3V3 or 5V
GND GND
CS D0
RST D2
DC/RS D1
SDI (MOSI) D10
SCK D8
LED (Backlight) 3V3

Note: For both 1.8" and 2.4" TFT displays, the LED backlight pin connects to 3V3. Additional references: 1.8" TFT Guide, 2.8" ILI9341 Guide, ESP32-S3 ILI9341 Guide

Future Improvement: TFT Touchscreen Integration

For future iterations incorporating touchscreen functionality, the ILI9341 TFT with integrated touch controller requires additional pin connections. The touch controller shares the SPI bus with the TFT display and uses a separate chip select pin.

TFT touchscreen wiring diagram for ESP32-C3
Touchscreen Wiring Diagram: Schematic showing ILI9341 TFT with touch controller connections to ESP32-C3, adapted from Arduino Forum ESP32-C3 and ILI9341. The diagram includes backlight brightness control (transistors Q4, Q5, Q6) which can be simplified to a 100Ω resistor for basic operation.
Touchscreen Pin Mapping (ESP32 XIAO):
Touch Pin ESP32 XIAO Pin
T_CLK SCK (GPIO8/D8)
T_CS GPIO21/D21
T_DIN MOSI (GPIO10/D10)
T_DO MISO (GPIO9/D9)

Important Notes:

  • The TFT reset pin can be pulled to 3V3 via a 10kΩ resistor (not 5V as sometimes shown in diagrams)
  • The touch controller uses the same SPI bus as the TFT display, requiring a modified XPT2046_Touchscreen library with reduced SPI clock speed
  • MISO pin (GPIO9) enters bootloading mode after reset—ensure proper initialization sequence
  • Always verify front and back of PCB designs in Bantam Tools software before milling to avoid trace clearance issues

Reference Resources:

1.8 inch TFT display for watch board
1.8" TFT Display: ST7735 controller, 128×160 pixels, for aging clock watch board integration
2.4 inch TFT display for load cell speaker board
2.4" TFT Display: ILI9341 controller, 320×240 pixels, for MirrorAge load cell-speaker board integration
TFT display wiring diagram showing pin connections
TFT Display Wiring: Pin connection diagram showing SPI interface connections between TFT displays and ESP32-S3 XIAO microcontroller for both watch and MirrorAge boards.

MirrorAge Amplifier Board Design

The MirrorAge amplifier board integrates a real-time audio amplifier with load cell interface and TFT display. The base design includes the amplifier circuit and HX711 load cell interface, with an upgraded version adding the 2.4" ILI9341 TFT display.

Base MirrorAge amplifier board design
Base Amplifier Board: Initial design with real-time amplifier and HX711 load cell interface
Base MirrorAge board PCB layout
Base Board Layout: PCB layout showing component placement for amplifier and load cell interface
TFT Display Component:

1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model

MirrorAge board with TFT display integration
TFT-Integrated MirrorAge Board: Upgraded PCB design incorporating the 2.4" ILI9341 TFT display alongside the amplifier and load cell interface, enabling visual feedback for grip strength measurements.

Aging Clock Watch Board Design

The aging clock watch board combines pulse oximeter sensors, accelerometer, and camera functionality. The base design uses an OLED display, with an upgraded version incorporating a 1.8" ST7735 TFT display for enhanced visual feedback.

Aging clock watch board base design
Base Aging Clock Board: Initial design integrating pulse oximeter, accelerometer, and camera with OLED display for wearable watch form factor.

Board Fabrication and Integration

The first version of the aging clock board was milled. The initial board did not fit the casing, requiring either casing adjustment and reprinting, or milling a new miniaturized board with shrunken electronics. Both approaches are being evaluated. The MirrorAge board design has been completed for both base and TFT-integrated versions, ready for milling and testing.

Milled integrated aging clock board showing component placement
Milled Integrated Board: First version of the integrated aging clock board after PCB milling, showing component placement and routing
Board nearly fitting in casing showing dimensional constraints
Board Fit Test: Milled board nearly fitting in casing, demonstrating the need for dimensional optimization
Board Deflection Fixing: Process of addressing board deflection and mechanical fit issues during integration testing, demonstrating iterative refinement of the electrical-mechanical interface.

Day 3: Fabrication Integration

Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.

2.1 2D Fabrication: Laser Cutting

The laser-cut acrylic display component was updated in Day 2 and successfully integrated into the watch assembly. The acrylic display provides a clear protective face for the aging clock watch, precisely fitted to the casing dimensions.

The integrated watch assembly demonstrates successful integration of 2D subtractive manufacturing with 3D printed components, creating a cohesive mechanical structure for the wearable subsystem.

2.2 3D Printing: Rigid and Flexible Components

All 3D printed components were fabricated using both rigid and flexible materials. The bands were printed using TPU (Thermoplastic Polyurethane) for flexibility, while rigid components used standard PLA/PETG materials. Additional print details and configuration requirements are documented in Day 2.

The case should also be printed from TPU to improve interlock part fit. The spring-loaded interlock mechanism enables secure band closure while maintaining flexibility for comfortable wear.

TPU band component printed for flexible wearable
TPU Band Print 1: Flexible wearable band component printed using TPU material for comfort and durability
TPU band component showing flexibility
TPU Band Print 2: Flexible band component demonstrating material properties and print quality
Band closure mechanism showing interlock design
Band Closure: Interlock mechanism enabling secure band closure for wearable integration
Rigid dock component for board mounting
Rigid Dock: 3D printed dock component for secure board mounting and electrical connection
Assembled rigid dock with board integration
Assembled Rigid Dock: Complete dock assembly showing board integration and mechanical mounting
Spring-loaded interlock mechanism detail
Spring-Loaded Interlock: Detailed view of the interlock mechanism enabling secure yet flexible band closure
Spring-Loaded Interlock Operation: Demonstration of the interlock mechanism in action, showing secure closure and release functionality for the wearable band system.

2.3 Milling: Single and Double-Sided Boards

Aging Clock Watch Board

The aging clock watch board was successfully milled. The base design with OLED display worked correctly, and the design has been upgraded to include a TFT display. The new TFT-integrated design will be milled and tested alongside the base OLED version to validate both display options.

Milling Process 1: Initial milling operation for aging clock watch board
Tool probing and Z-axis calibration
Tool Probing: Z-axis calibration and tool location setup for precise milling depth control
Milling Process 2: Continued milling operation showing tool path execution
Milling Process 3: Final milling passes completing board fabrication
Completed Milling: Finished aging clock board after successful milling operation
Vacuuming Debris: Post-milling cleanup process removing copper and substrate debris
Removing completed aging clock board from mill
Board Removal: Completed aging clock watch board removed from milling machine, ready for component soldering and testing.

MirrorAge Amplifier Board

The base MirrorAge amplifier board milling initially failed due to polygon pour isolation settings. The default isolation distance was set to 0 mil, which caused routing issues. After changing the back-side polygon pour isolation to 32 mil, the milling operation succeeded. When the shop closed, the design was upgraded to include a TFT screen. Both the base design and TFT-integrated versions will be milled together and tested.

Milling Process 1: Initial MirrorAge board milling operation
Milling Process 2: Continued milling showing tool path execution
Failed milling showing polygon pour isolation issue
Failed Milling: Initial milling failure caused by polygon pour isolation set to 0 mil
Failed Milling Video: Demonstration of milling failure due to incorrect isolation settings
Fixturing board for second-side milling
Second-Side Fixturing: Board secured for double-sided milling operation
Second-Side Milling: Back-side milling operation for double-sided board
Back-Side Milling: Completing double-sided board fabrication
Fixed polygon pour isolation setting at 32 mil
Fixed Isolation Setting: Polygon pour isolation corrected to 32 mil for proper routing
Successful Milling with Fixed Settings: MirrorAge board milling operation completing successfully after correcting polygon pour isolation to 32 mil, demonstrating the importance of proper PCB design rule configuration.

2.4 Integrating Fabrication

Physical integration of fabricated components demonstrates successful coordination between mechanical and electrical subsystems. The watch board fits within the watch case, and the acrylic display integrates properly. Additional work remains for drilling mounting holes for electronics and routing power connections.

Aging clock watch integration showing board and case fit
Aging Clock Integration: Watch board and case integration showing proper dimensional fit
Integrated watch board within case assembly
Integrated Watch Board: Complete watch board assembly within case, demonstrating successful mechanical integration
Assembled bands with clip mechanism
Assembled Bands: Complete band assembly with clip mechanism for secure attachment
Spring-loaded interlock mechanism in integrated assembly
Interlock Mechanism: Spring-loaded interlock providing secure yet flexible band closure
Interlock Operation: Demonstration of spring-loaded interlock mechanism enabling secure band closure and release for comfortable wearable integration.

TFT Display Upgrades

Both board designs have been upgraded to include TFT displays, and integration testing confirms proper fit. The TFT watch board fits correctly with the TFT display, and both the base and TFT-integrated MirrorAge load cell-speaker boards fit within the gripper enclosure. Additional work is needed for drilling mounting holes and adding hooks for load cell wire routing to the HX711 mounted on the board, as well as routing power connections.

Upgraded aging clock board with TFT display
TFT Aging Clock: Upgraded aging clock board design incorporating 1.8" ST7735 TFT display
TFT aging clock board PCB layout
TFT Board Layout: PCB layout showing TFT display integration with existing components
TFT aging clock board schematic
TFT Board Schematic: Electrical schematic showing TFT display connections and component integration
Upgraded MirrorAge board with TFT display
TFT MirrorAge Board: Upgraded MirrorAge board design incorporating 2.4" ILI9341 TFT display
TFT MirrorAge board schematic
TFT MirrorAge Schematic: Electrical schematic showing TFT display integration with amplifier and load cell interface
Integrated demo system showing all subsystems
Integrated Demo System: Complete system integration showing all subsystems in unified demonstration platform

Day 4: Subsystem Integration

Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.

2.0 Final Electrical Design Upgrades

With the milling machine unavailable, the time was used to upgrade board designs, requiring component rotations and layout optimizations to ensure all components fit properly. As Quentin noted, "you have to get used to rotating it in your head"—a valuable skill for PCB design where spatial reasoning is essential for component placement and routing.

"you have to get used to rotating it in your head" — Quentin

MirrorAge TFT Board Upgrades (v13)

The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.

MirrorAge TFT board front side version 13
MirrorAge TFT Front v13: Upgraded front-side layout with optimized component placement and routing
MirrorAge TFT board back side version 13
MirrorAge TFT Back v13: Upgraded back-side routing with improved trace layout and component positioning

Aging Clock TFT Board Upgrades (v16)

The aging clock TFT board design was upgraded to version 16, incorporating component rotations and layout refinements to ensure proper fit within the watch casing constraints.

As part of this upgrade, the board was rotated 90° so that the USB power and programming cable can be routed cleanly through the side button openings of the watch enclosure, avoiding strain on the connector and preserving clearance for the bands.

Aging clock TFT board front side version 16
Aging Clock TFT Front v16: Upgraded front-side design with rotated components for optimal fit
Aging clock TFT board back side version 16
Aging Clock TFT Back v16: Upgraded back-side routing with improved component placement

2.6 I²C Bring-Up and Future Electrical Robustness

Subsystem integration also focused on making the shared I²C bus predictable and debuggable. During flashing, an intermittent serial exception from esptool indicated that the USB device was reporting readiness but returning no data—a classic symptom of a loose cable, port contention, or transient power issue rather than a firmware bug. After power-cycling the board, checking that only one serial monitor was attached, and reseating the USB cable, flashing succeeded reliably.

With stable flashing restored, an I²C scanner sketch confirmed that all devices were present on the bus: the MAX30102 pulse oximeter at address 0x57, the MPU6050 accelerometer at 0x68, and the OLED display at 0x3C once it was wired in. Multiple scans over time reproduced the same addresses, validating bus integrity and confirming that the SDA/SCL routing and pull-up strategy were correct after earlier trace and enclosure fit issues.

Key practices for future spirals:
  • Keep I²C traces short, avoid sharp mechanical pinch points near the enclosure, and leave clearance for solder thickness to prevent pads from lifting under pressure.
  • Standardize on known-good I²C addresses (MAX30102 0x57, MPU6050 0x68, SSD1306 OLED 0x3C) and document them close to the schematic and firmware.
  • Use a simple I²C scanner and a dedicated flashing machine to separate bus-debug issues from USB driver or multi-process serial conflicts.

Reference: esptool Troubleshooting Guide for interpreting serial upload errors and recommended recovery steps.

2.1 2D Fabrication: Laser Cutting

Laser-cut thinner acrylic (1.35mm) was fabricated to improve the fit of the clear display cover for the aging clock subsystem. The thinner material provides better dimensional tolerance and improved integration with the watch casing.

Laser cutting 1.35mm acrylic for display cover
Thin Acrylic Cutting: Laser cutting 1.35mm acrylic sheet for improved display cover fit
Successfully laser-cut acrylic display cover
Successful Cut: Completed laser-cut acrylic display cover with precise dimensions
Laser-cut acrylic showing edge quality
Edge Quality: Clean laser-cut edges demonstrating precise fabrication
Aging clock with improved acrylic display cover fit
Improved Fit: Thinner acrylic display cover providing better integration with watch casing
Laser Cutting Process: Laser cutting operation for thin acrylic display cover
Final Cut: Completion of laser cutting process for display cover component

2.2 3D Printing: Rigid and Flexible Components

Band clips were printed using TPU (Thermoplastic Polyurethane) material for improved fit and flexibility. The flexible material provides better mechanical compliance and secure attachment to the watch body.

TPU band clips for aging clock watch
TPU Band Clips: Flexible band clips printed from TPU material for improved fit
Aging clock with TPU clips integrated
Integrated Clips: TPU clips providing secure and flexible band attachment
Filed and inserted band clips showing fit
Fitted Clips: Band clips filed and inserted for optimal fit and secure attachment
Complete clip assembly showing integration
Clip Assembly: Complete band clip assembly demonstrating successful integration

2.3 Milling: Single and Double-Sided Boards

The TFT aging clock board design was milled, requiring iterative refinement due to initial design issues. The first mill had traces that were too close together, and the rivets were positioned under the microcontroller, requiring manual fixes with an ultrasonic knife before remilling the corrected board.

First Milling Attempt

The initial milling process revealed design issues that required correction. The board was milled on both front and back sides, with careful tool location and fixturing procedures.

Front-Side Milling: Initial front-side milling operation for aging clock board
Tool Location: Tool location procedure for front-side milling setup
Front Milling Start: Beginning of front-side milling operation
Front Milling Progress: Front-side milling operation in progress
Back-Side Tool Location: Tool location for back-side milling setup
Back Milling Start: Beginning of back-side milling operation
Back Milling Progress: Back-side milling operation continuing
Back Milling Completion: Final stages of back-side milling
Board Unloading: Removing completed board from milling machine
Post-Milling Cleanup: Vacuuming debris after milling operation

Design Issues and Manual Fixes

After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using a two-step cutting process: the ultrasonic knife was used to initiate precise cuts on both ends of each problematic trace, establishing the correct penetration direction. A utility knife was then used to cut a straight line between these initiation points, isolating the upper and lower wiring. The challenge with manual trace cutting lies in controlling the initial penetration with the utility knife—the ultrasonic knife's precision in establishing the cut direction made the subsequent utility knife cut smoother and easier to complete from end to end. After these manual corrections, the board design was updated and remilled with the fixed layout.

Removing milled PCB from machine
PCB Removal: Removing milled board for inspection and testing
First side of milled board showing traces
First Side: Initial side of milled board showing trace routing
Missing traces due to design issues
Missing Traces: Traces that were too close together causing milling issues
Close-up of missing trace issue
Trace Detail: Detailed view of trace spacing issues requiring correction
Additional missing trace locations
Multiple Trace Issues: Additional locations with trace spacing problems
Double-sided board showing both sides
Double-Sided Board: Complete double-sided board showing front and back
Ultrasonic knife for trace cutting
Ultrasonic Knife: Used to initiate precise cuts on both ends of problematic traces, establishing the correct penetration direction for subsequent utility knife cuts. This precision makes the utility knife cut smoother and easier to complete from end to end.
Utility knife for board modifications
Utility Knife: Used to cut a straight line between the ultrasonic knife initiation points, isolating upper and lower wiring. The challenge lies in controlling the initial penetration, which is why the ultrasonic knife's precise initiation cuts are essential.
First trace cut using ultrasonic knife
Trace Cut 1: First trace modification using ultrasonic knife
Completed first trace cut
Completed Cut 1: First trace cut completed successfully
Second trace cut in progress
Trace Cut 2: Second trace modification in progress
Completed second trace cut
Completed Cut 2: Second trace cut completed successfully

Corrected Board Design and Remilling

After manual corrections, the board design was updated to move rivets away from the microcontroller and improve trace spacing. The corrected board was successfully milled with proper trace clearances and component placement.

Corrected aging clock board front side
Corrected Front Side: Updated board design with improved trace spacing
Corrected aging clock board back side
Corrected Back Side: Back side of corrected board showing proper routing
TFT display fitting on corrected board
TFT Fit Test: TFT display properly fitting on corrected board design
TFT display alignment on board
TFT Alignment: TFT display properly aligned with board connectors
Corrected Front Milling 1: Beginning of corrected board front-side milling
Corrected Front Milling 2: Front-side milling operation continuing
Tool Location: Tool location procedure for corrected board milling
Front Milling Start: Beginning corrected front-side milling operation
Tool Change: Tool change during front-side milling operation
Back Milling Setup: Setup for back-side milling of corrected board
Back Milling Start: Beginning back-side milling of corrected board
Back Milling Progress: Back-side milling operation continuing
Post-Milling Cleanup: Vacuuming debris after corrected board milling
Aging clock board with moved rivets
Moved Rivets: Board design with rivets repositioned away from microcontroller
Improved board design with proper rivet placement
Improved Design: Corrected board showing proper rivet placement and trace routing
Rivet holes detail on corrected board
Rivet Holes: Detail view of properly positioned rivet holes

MirrorAge TFT Board Milling

The base amplifier board was remilled after fixing polygon pour isolation settings (changed from 0 to 32 mil). The upgraded MirrorAge board with TFT display was also successfully milled, ready for soldering and testing.

MirrorAge TFT board front side
MirrorAge TFT Front: Front side of MirrorAge board before TFT display integration
MirrorAge TFT board back side
MirrorAge TFT Back: Back side of MirrorAge board before TFT display integration showing routing
Front Milling: Front-side milling of MirrorAge TFT board
Front Milling Progress: Front-side milling operation continuing
Back Milling: Back-side milling of MirrorAge TFT board
Minor trace issue on MirrorAge TFT board
Minor Trace Issue: Small trace spacing issue requiring attention
MirrorAge TFT board front after milling
Milled Front Side: Completed front side of MirrorAge TFT board
Double-sided taping for board fixturing
Fixturing: Double-sided tape used for secure board mounting during milling
Successfully milled MirrorAge TFT board
Successful Milling: MirrorAge TFT board successfully milled and ready for assembly
MirrorAge TFT board back side
Back Side: Back side of successfully milled MirrorAge TFT board
High-quality view of MirrorAge TFT board back
Completed MirrorAge TFT Board: High-quality view of the back side showing proper trace routing and component placement for the TFT-integrated MirrorAge amplifier board.

2.4 Molding and Casting

Starting from Anthony's sketch in the midterm review, 3D-printable open molds were designed to cast watch bands out of MoldStar 30. The process involved printing PLA molds, waxing for release, mixing and pouring the mold material, leveling, curing under a heat lamp, and demolding. The center section of the printed molds required cutting with an ultrasonic knife before pouring to ensure part removability. A backup TPU band was also printed in case of casting failure.

Anthony's midterm review sketch for band mold design
Design Origin: Anthony's midterm review sketch providing the foundation for band mold design
3D printed PLA molds for band casting
Printed Molds: PLA molds 3D printed for watch band casting
Mold A for band casting
Mold A: First half of the two-part mold system
Mold B for band casting
Mold B: Second half of the two-part mold system

Mold Preparation

The molds required cutting out the center section with an ultrasonic knife before waxing and casting. Wax was melted, painted onto the mold surfaces for release, and thinned as needed for proper coverage.

Mold A after cutting and waxing
Mold A Prepared: Mold A after center section removal with ultrasonic knife and wax application
Mold B after cutting and waxing
Mold B Prepared: Mold B after center section removal with ultrasonic knife and wax application
Wax Melting: Melting wax for mold release agent application
Wax Melting Process: Continued wax melting for release agent preparation
Wax Application: Painting wax release agent onto mold surfaces
Wax Thinning: Thinning wax for proper coverage and release properties
Waxed molds ready for casting
Waxed Molds Ready: Both molds properly waxed and prepared for MoldStar 30 casting operation.

Mold Mixing and Pouring

MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.

Mixing MoldStar 30 components A and B
Component Mixing: Preparing MoldStar 30 components A and B for mixing
Mixed MoldStar 30 ready for pouring
Mixed Material: MoldStar 30 fully mixed and ready for pouring
Mixing Process: Thoroughly mixing MoldStar 30 components
Stirring: Final stirring of mixed mold material
Pouring: Pouring mixed MoldStar 30 into prepared molds
Molds filled with MoldStar 30
Filled Molds: Molds filled with MoldStar 30 ready for leveling
Leveling: Leveling poured material for even distribution
Leveling Process: Continued leveling to ensure proper surface quality
Leveled molds ready for curing
Leveled Molds: Molds properly leveled and ready for heat lamp curing process.

Curing and Demolding

The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.

Molds under heat lamp for curing
Heat Lamp Curing: Molds positioned under heat lamp for MoldStar 30 curing
Curing process in progress
Curing Progress: MoldStar 30 curing under heat lamp
Demolding 1: Beginning the demolding process for cured band
Demolding 2: Continued demolding process
Tab Removal: Removing casting tabs from demolded band
Band Testing: Testing fit between the two cast band halves

2.5 Aging Clock Subsystem Fabrication

The TFT aging clock board was successfully assembled into the watch enclosure, demonstrating successful integration of all fabricated components including the milled PCB, TFT display, and watch casing.

Aging clock board assembled into watch enclosure
Complete Assembly: TFT aging clock board successfully assembled into the watch enclosure, demonstrating proper fit and integration of all subsystem components including the milled PCB, TFT display, watch casing, and acrylic display cover.

Day 5: Full System Integration

Final integration day focused on closing the watch subsystem as far as mechanically feasible, soldering and verifying all double-sided boards, refining molded bands, and assembling the complete MirrorAge demo with both the aging clock and grip-strength subsystems fully wired and tested.

2.1 2D Fabrication: Laser-Cut Enclosure Integration

I attempted to fully close the aging clock watch subsystem using the laser-cut acrylic top plate and printed enclosure. In practice, finite solder height and stacked components meant the acrylic pressed directly on the SDA/SCL traces; under load, the pressure ripped the I²C traces off the board even after successful end-to-end testing. For the final demo, I kept the subsystem open for reliability and prepared a backup pulse oximeter module to rework the board after the full system presentation.

Future electrical spirals will set stricter keep-out zones under fasteners and enclosure pinch points, lower component stack-up height in CAD, and route critical buses away from mechanical interfaces. The current integration still validates the fit envelope and cable-routing strategy, and will be re-closed once replacement boards and sensors are available.

Aging clock board test-fitted inside the open watch enclosure
Initial Fit Check: Aging clock board and pulse oximeter aligned inside the enclosure before closing the acrylic face.
Final mechanical fit of the aging clock board in the enclosure
Final Mechanical Fit: Tight clearances confirm the CAD was accurate, but highlight the need to account for solder thickness and wiring bends.
Backup pulse oximeter breakout board obtained for future rework
Backup Sensor: Spare MAX30102 breakout from Mariam kept to re-populate the watch board after the final demo.
Damaged SDA/SCL traces caused by enclosure pressure
Broken I²C Traces: First failure showing how enclosure pressure delaminated the SDA/SCL pads after repeated testing.
Close-up of further ripped copper traces near the acrylic edge
Trace Delamination Detail: Second damaged region reinforcing the need to keep critical buses away from mechanical constraints.
Routed cables inside the partially open watch enclosure
Cable Routing: Final cable paths for power, I²C, and sensor leads kept for future closed-enclosure re-integration.

For future iterations, see the consolidated electrical design and integration notes on the final project fabrication section and the updated Bill of Materials for enclosure and sensor stack-up choices.

2.2 3D Printing: Rigid Clips and Flexible Bands

To mount the bands inside the watch clip, I drilled precise holes and inserted inward-facing bolts that clamp into printed TPU clips. TPU provides just enough flexibility and toughness for this fastening strategy, whereas a similar approach would easily tear a silicone band. In the next spiral, the mechanics of the clip will be redesigned so the silicone band experiences distributed compression instead of point loads from metal hardware.

The integrated system view below shows how the TPU band, watch body, and electronics stack come together around the wrist, and serves as the mechanical reference for a future fully cast silicone band with embedded reinforcement.

Integrated watch subsystem with bands, enclosure, and electronics assembled
Integrated Watch Subsystem: TPU bands fastened into the watch clip with inward bolts, supporting the assembled aging clock electronics while leaving room for future silicone band integration.

2.3 Soldering and Testing Single and Double-Sided Boards

Both the aging clock and MirrorAge boards are double-sided with plated through-rivets. I followed a consistent, compact assembly order: (1) install and flare rivets, (2) solder the microcontroller, (3) place and solder passives, then (4) populate and test input/output devices. The media below document that workflow step by step.

Rivet Installation (Plated Through-Holes)

  1. Place a rivet into each via from the front side of the board.
  2. Flip the board carefully using tweezers so rivets stay seated.
  3. Use the thin flaring tool and light hammer taps to open each rivet.
  4. Follow with the thicker forming tool to fully set the rivet head.
  5. Inspect every connection to confirm clean, symmetric flares with no wobble.
Aging clock board front side with all rivets installed and formed
Aging Clock Rivets (Front): Uniformly flared rivets ready for double-sided connections.
Aging clock board back side showing completed rivets
Aging Clock Rivets (Back): Back-side view confirming full mechanical capture.
MirrorAge full-size board front with all rivets in place
MirrorAge Rivets (Front): Large board variant with through-rivets installed.
MirrorAge full-size board back with rivets flared
MirrorAge Rivets (Back): Back-side confirmation of robust mechanical connections.
Small MirrorAge variant board with completed front-side rivets
Compact MirrorAge Board (Front): Small-format board variant using the same rivet process.
Back side of small MirrorAge board with completed rivets
Compact MirrorAge Board (Back): Double-sided connectivity established across all through-holes.
Placing Rivets: Using tweezers to drop rivets into each via before flipping the board.
Placing Rivets (Detail): Close-up sequence confirming consistent seating depth.
Flipping the Board: Using tweezers and slow motion to flip the riveted board without losing alignment.
Flipping (Alternate Angle): Second view confirming stable fixturing during the flip.
Thin Tool Flaring: First hammering pass to open each rivet with the thin mandrel.
Thin Tool Flaring (Detail): Close-up of controlled, low-force taps to avoid pad damage.
Thick Tool Forming: Second hammering pass with the thicker tool to fully seat and form the rivet heads.
Thick Tool Forming (Detail): Ensuring each rivet is fully expanded without deforming the board.
Rivet Quality Check: Visual and mechanical inspection of all rivets before continuing with assembly.

Component Placement and Compact Soldering

After through-connection, I placed the microcontroller and passives as flat as possible to preserve headroom inside the enclosure. Headers were soldered last, from both the top and side, to keep cable strain away from delicate pads.

Front-side component placement for aging clock board
Aging Clock Placement (Front): Microcontroller, MAX30102, and passives packed tightly while respecting keep-outs.
Back-side component placement for aging clock board
Aging Clock Placement (Back): Back-side routing and decoupling network tucked between rivets.
MirrorAge board front-side component placement
MirrorAge Placement (Front): Amplifier, HX711, and connectors arranged around the TFT footprint.
MirrorAge board back-side routing and components
MirrorAge Placement (Back): Back-side passives and routing for clean separation of analog and digital paths.
Close-up of dense double-sided soldering on the aging clock board
Compact Double-Sided Soldering: Dense layout executed with controlled solder volume to preserve enclosure clearance.
Board with pin headers soldered in preparation for system wiring
Header Soldering: Low-profile headers added last to route power, I²C, and display signals.
Flat Soldering: Tacking components flat to the board before fully wicking solder for mechanical robustness.
Soldering Straight Headers: Step-by-step soldering of through-hole headers with even wetting on both sides.
Header Row Completion: Finishing the full header row while maintaining alignment for easy connector insertion.
Sideways Header Soldering: Right-angle headers soldered from the side to keep cable exits low-profile.
Sideways Header Reinforcement: Final pass adding solder fillets for mechanical strength.
Soldering Passives: Placing and soldering resistors, capacitors, and pull-ups around the microcontroller and sensors.
Passives (Detail): Close-up of tip control to avoid tombstoning small components.
Final Passive Sweep: Last inspection and touch-up of the passive network before functional testing.

Taped Microcontroller Soldering Technique

To keep the XIAO footprint perfectly flat over the rivets, I used Kapton tape as a temporary stencil: the tape masked exposed copper around the footprint so I could drag-solder the castellated edges without flooding nearby vias. Once the joints were complete, the tape peeled away cleanly, leaving the board ready for final inspection.

Board with microcontroller footprint masked using Kapton tape
Taped Footprint (Before): Kapton masking applied to protect surrounding copper while soldering the XIAO module.
Cleaned microcontroller footprint after removing Kapton tape
Taped Footprint (After): Clean pads and well-formed joints once the tape is peeled away.
Cutting the Mask: Trimming Kapton tape to expose only the castellated pads.
Microcontroller soldered flat above rivets using the tape-assisted method
Flat Above Rivets: Castellated edges soldered flat over rivets without bridging.
Aging clock board fully populated and soldered
Completed Aging Clock Board: All components soldered and ready for subsystem testing.
Detail of a small PCB section dedicated to power routing
Power Routing Detail: Compact power distribution region that simplifies future wiring changes.
MirrorAge board fully soldered, front view
Soldered MirrorAge Board (Front): Front-side view with amplifier, connectors, and TFT interface populated.
MirrorAge board fully soldered, back view
Soldered MirrorAge Board (Back): Clean back-side routing with no visible shorts or bridges.

Serial Bring-Up: Sensor-by-Sensor Testing

After soldering, I brought each sensor up sequentially to isolate any issues. The pulse oximeter, accelerometer, OLED, and TFT were each verified individually over serial before enabling the full integrated sketch.

Pulse oximeter setup and testing
Pulse Oximeter Bring-Up: MAX30102 readings verified after soldering, with I²C scan confirming address 0x57 at 16:28:56.
Pulse oximeter serial readings
Pulse Oximeter Readings: Serial output showing MAX30102 sensor data validation during bring-up testing.
Photo of the aging clock board showing accelerometer working
Accelerometer Bring-Up: First successful accelerometer readings confirmed on the aging clock board, with I²C scan reporting 0x57 (MAX30102) and 0x68 (IMU).
Pulse oximeter and accelerometer integration
Accelerometer Stability: Repeat scan at 17:07:55.805 confirms stable 0x57/0x68 responses and consistent orientation mapping.
OLED display showing text output from the aging clock firmware
OLED Verification: Base OLED display tested with I²C scan showing OLED 0x3C alongside 0x57 and 0x68 at 18:30:58, before migrating to TFT-only operation.
Pulse oximeter, accelerometer, and OLED integration
Display Stack Bring-Up: OLED and TFT displays confirmed working simultaneously during integration testing.
Both OLED and TFT displays working together on the integrated system Full sensor stack integration with pulse oximeter, accelerometer, OLED, and TFT
Display Stack Integration and Complete Sensor Stack: OLED and TFT displays confirmed working simultaneously during integration testing. All sensors and displays integrated and verified working together.
Grip strength sensor testing Real-time signal processing visualization
Grip Strength Testing and Real-Time Signal Processing: Load cell and grip sensor verification during system integration. Live sensor data stream validation and signal analysis.

All boards passed short-circuit checks and per-sensor serial validation. Remaining electrical risks are limited to load cell hardware quality and long-term connector strain, which are documented for post-demo spirals.

2.4 Molding and Casting

The cast bands are mechanically promising but still need finishing. The edges require additional trimming and sanding, and one edge showed an incomplete fill due to insufficient waxing of the mold. Compared to the TPU prints, the casting material has better compliance and skin feel, and will be the preferred long-term solution once the fastening geometry is iterated.

For this week, I used the printed TPU bands for reliability, while documenting the cast band behavior as a future spiral that aligns with the existing mold designs and material choices.

Integrated watch system showing how cast bands will eventually replace TPU bands
Band Integration Context: The current TPU bands provide a working reference geometry for the cast silicone bands that will follow the same routing and attachment points.

2.5 Aging Clock Subsystem Fabrication

The aging clock subsystem was finalized by cutting and aligning the pulse oximeter opening so the sensor makes direct skin contact while the watch is worn. That opening simultaneously sets the board position inside the enclosure, constraining the stack according to the system-integration CAD.

With the TFT watch board, sensors, and acrylic window all integrated, the subsystem mechanically mirrors the final form factor even though the top remains open for this demo to protect the repaired traces.

Aging clock subsystem assembled with aligned sensor opening
Skin Contact Opening: Precisely placed cutout ensures the pulse oximeter sits flush against the skin while anchoring the internal PCB stack.

2.6 MirrorAge Subsystem Integration

The grip-strength electronics from Week 12 were mounted on the calibrated working load cell and integrated with the new MirrorAge electronics. Wires from the load cell and amplifier are routed along the structure and strain relieved with a moderate amount of glue to balance robustness with serviceability. The boards sit in their dedicated pockets according to the system-integration CAD, keeping the mechanical and electrical reference frames aligned.

Integrated Grip-Strength Subsystem: Working load cell, amplifier, and electronics mounted and wired, ready to stream grip-force data into the final system.

2.7 Full System Integration and Demo Readiness

With both the aging clock and grip-strength subsystems assembled, I brought the entire MirrorAge demo together on the tensegrity table. The videos below show the system running after final debugging, including sensor readouts and synchronized display behavior across the boards.

Integrated System (Pass 1): First full run after fixing wiring and I²C issues, confirming both subsystems operate together.
Integrated System (Pass 2): Second trial demonstrating stable readings and display updates over time.
Integrated System (Pass 3): Longer run verifying that no intermittent faults appear under repeated use.
Legacy Integrated Run: Earlier integrated test preserved to show progress from initial to final wiring.
Integrated System (Earlier Trial 1): Additional integrated run with a slightly earlier firmware revision.
Integrated System (Earlier Trial 2): View of the system from a different angle showing board placement on the demo table.
Fully Integrated Working System: Final demo-ready configuration with both subsystems powered, calibrated, and running together.
Packed demo box containing the full MirrorAge system ready for transport
Demo Transport: Final packed configuration for safely transporting the full integrated system to the tensegrity demo table.

Day 6: Final Project Masterpiece

Final presentation demonstration of the complete MirrorAge system, showcasing the integrated aging clock and grip-strength subsystems working together in real-time. View final project demo → · See where all HTMAA questions are answered →

This final presentation video demonstrates the complete MirrorAge system in action, featuring both the aging clock watch subsystem and the grip-strength measurement subsystem operating together. The demo showcases real-time sensor readings, synchronized display updates, and the full integration of mechanical, electrical, and software components developed throughout the semester.

Final Presentation Demo: Complete MirrorAge system demonstration showing integrated aging clock and grip-strength subsystems operating together in real-time.
Watch on YouTube

1 Minute Video and 1 Slide Summary

Condensed 1-minute video and 1 slide summary showcasing key features and functionality of aging clock device system.

1 Minute Video: Condensed demonstration of the MirrorAge system highlighting the integrated aging clock and grip-strength subsystems. AI assistance details →
Summary slide for MirrorAge final project
Summary Slide: Final project summary slide highlighting key achievements and system overview. AI assistance details →

Design Files

Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.

📁 Fusion 360 Files: All Fusion 360 design files are available in the HTMA Fusion team directory under HTMA/2025/EECS/Saleem, organized by the same weeks as the website structure.

File Name Description Category Used In Download
PCB Design Files
agingclock_tft.brd Aging clock watch board with TFT display integration (pulse oximeter, accelerometer, camera) PCB Design Day 2, Day 4 Download
mirrorage.brd Base MirrorAge amplifier board with load cell interface (HX711) and real-time audio amplifier PCB Design Day 2, Day 3 Download
mirrorage_tft.brd MirrorAge amplifier board with TFT display integration (2.4" ILI9341) PCB Design Day 2, Day 3, Day 4 Download
design_xiao.kicad_pcb KiCad PCB design for XIAO ESP32-S3 base board (non-touch version) PCB Design Day 2 Download
design_xiao.kicad_pcb (touch) KiCad PCB design for XIAO ESP32-S3 with touchscreen support PCB Design Day 2 Download
QPAD21.kicad_pcb KiCad PCB design for QPAD21 board (reference design) PCB Design Reference Download
design_micro.kicad_pcb KiCad PCB design for microcontroller board (reference) PCB Design Reference Download
3D Design Files
WatchBody.3mf Main watch body casing for aging clock subsystem 3D Model Day 2, Day 3 Download
Dock.3mf Dock component for board mounting and electrical connection 3D Model Day 2, Day 3 Download
Display Glass.3mf Display cover component for watch face protection 3D Model Day 2 Download
Bands.3mf Watch band components for wearable attachment 3D Model Day 2, Day 3 Download
band-a-scaled.3mf Scaled band component A for casting molds 3D Model Day 4 Download
band-b-scaled.3mf Scaled band component B for casting molds 3D Model Day 4 Download
watchband_clip.3mf Watch band clip component for secure attachment 3D Model Day 3, Day 4 Download
watch v2.5-whole v1.3mf Complete watch assembly model version 2.5 3D Model Day 1 Download
band-a-mold.3mf 3D printable mold A for band casting 3D Model Day 4 Download
band-b-mold.3mf 3D printable mold B for band casting 3D Model Day 4 Download
band-a-mold-print-10p.3mf Optimized mold A print file with 10% infill 3D Model Day 4 Download
band-b-mold-print-10p.3mf Optimized mold B print file with 10% infill 3D Model Day 4 Download
2D Design Files
square_2_final.svg Final laser cutting design for display cover (1.35mm acrylic) 2D Design Day 4 Download
square_2.svg Intermediate laser cutting design iteration 2D Design Day 2 Download
square.svg Initial laser cutting design for display cover 2D Design Day 2 Download
square_2.dxf DXF format for laser cutting (intermediate iteration) 2D Design Day 2 Download
square.dxf DXF format for laser cutting (initial design) 2D Design Day 2 Download
Code Files
blink_ESP32S3.ino Basic blink test code for ESP32-S3 XIAO Arduino Code Testing Download
test_display_ESP32S3.ino TFT display test code for ESP32-S3 XIAO Arduino Code Testing Download
test_touch_ESP32S3.ino Touchscreen test code for ESP32-S3 XIAO Arduino Code Testing Download
test_serial_ESP32S3.ino Serial communication test code for ESP32-S3 XIAO Arduino Code Testing Download
Reference Design Files
design_xiao.step STEP file for XIAO ESP32-S3 mechanical reference 3D Model Reference Download
Seeed Studio XIAO-ESP32-S3-Sense.step STEP file for Seeed Studio XIAO ESP32-S3 Sense board 3D Model Reference Download
TFT LCD 2.4 inch ILI9341 touch.step STEP file for 2.4" ILI9341 TFT display with touch 3D Model Reference Download
SSD1306_OLED_Display(128x64).step STEP file for SSD1306 OLED display reference 3D Model Reference Download
MPU6050.stp STEP file for MPU6050 accelerometer reference 3D Model Reference Download
3006 MAX98357.step STEP file for MAX98357A amplifier reference 3D Model Reference Download
max98357a adafruit.SLDPRT SolidWorks part file for MAX98357A amplifier reference 3D Model Reference Download
apple-watch-se-2nd-gen-band-adapter20251028-1-u4zeat.zip Apple Watch band adapter design files (ZIP archive) 3D Model Reference Download

The watch casing and band geometries used in this project were adapted and scaled 2:1 from the open-source MutantW V2 ESP32-S3 smartwatch design. Original reference designs and documentation can be found in the MutantW V2 GitLab project, MutantW V2 Instructables build guide, and Arduino /r/arduino discussion thread.

Bill of Materials (MirrorAge System)

Consolidated bill of materials for the integrated MirrorAge system used in this Week 14 system-integration build. This table mirrors the final project Bill of Materials and is repeated here so readers can cross-reference parts directly from the integration workflows.

Category Part Qty Approx. Unit Cost (USD) Line Cost (USD) Used In
Electronics
Microcontroller Seeed XIAO ESP32S3 / ESP32S3 Sense 4 $9.00 $36.00 ReactionAge base, camera subsystem, aging clock watch, MirrorAge grip board (Week 8, Week 14)
Optical Sensor MAX30102 pulse oximeter module 2 $12.00 $24.00 Aging clock watch and backup module (Week 12, Week 14)
IMU MPU6050 / BHI260 IMU 2 $6.00 $12.00 Aging clock accelerometer and wearable IMU (Week 12, Week 14)
Load Cell CZL601AC 50 kg load cell 1 $18.00 $18.00 Grip-strength rig (Week 12, Week 14)
ADC HX711 load-cell amplifier 2 $3.00 $6.00 Grip board base + TFT MirrorAge board (Week 12, Week 14)
Amplifier MAX98357A I²S amplifier + speaker 1 $9.00 $9.00 MirrorAge audio board (Week 10, Week 14)
Display 128×64 SSD1306 OLED 2 $5.00 $10.00 ReactionAge UI + early watch prototypes (Week 12, Week 14)
Display 1.8″ ST7735 TFT 1 $8.00 $8.00 Aging clock watch board (Week 14)
Display 2.4″ ILI9341 TFT 1 $12.00 $12.00 MirrorAge grip-strength board (Week 14)
Camera OV2640 camera (SenseCraft stack) 1 $10.00 $10.00 Camera subsystem and EdgeAI demos (Week 8, Final camera section)
Power LiPo cells, regulators, passives, headers, cabling Assorted ~$1.00–$3.00 $45.00 (bundle) All subsystems (ReactionAge, aging clock, MirrorAge, camera)
Mechanical & Fabrication Materials
3D Printing PLA+/PETG filament (grip, docks, cases) ~1 kg $25.00/kg $25.00 ReactionAge enclosure, grip-strength base, watch cases (Week 3, Week 10, Week 14)
3D Printing TPU filament (bands, clips) ~0.5 kg $30.00/kg $15.00 TPU bands and band clips (Week 14 Day 3, Day 5)
Laser Cutting Cardboard + 4 mm Baltic birch sheets Assorted $3.00–$5.00/sheet $30.00 (bundle) Origami mirror frame, acrylic watch windows, demo table fixtures (Week 1, Week 14)
Molding & Casting Mold Star 30 silicone + Drystone 1 kit $42.00 $42.00 Grip-strength molds, band molds, structural ribs (Week 9, Week 14)
Fasteners M2/M3 hardware, heat-set inserts, misc. screws Assorted ~$0.10–$0.30 ea. $20.00 (bundle) All mechanical assemblies (watch, grip rig, camera mount, demo table)
Estimated Total Project Cost Electronics ≈ $190 · Mechanical & materials ≈ $130 · Total ≈ $320 (excluding lab-provided consumables and reused stock).

For the narrative, project-wide context, see the final project BOM and the per-week line items in the weekly documentation (for example the ReactionAge BOM CSV in Week 2).

Critical Path Analysis

Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.

Critical Path Tasks

Phase 1: Design & Documentation COMPLETED
  • CAD model consolidation and system integration design ✓
  • PCB design: combine OLED/accelerometer with pulse oximeter ✓
  • Demo table integration design with subsystem placement ✓
  • PCB design: speaker board with realtime amplifier and TFT (MirrorAge board) ✓
  • PCB design: TFT-integrated aging clock board ✓
  • Band mold design ✓
  • 3D printable cases for board mounting ✓
  • TFT display wiring documentation and integration methods ✓
  • System schematic documentation (wired and wireless) ✓
  • Website documentation updates (Day 1, Day 2, Day 3, Day 4) ✓
Phase 2: Fabrication COMPLETED
  • PCB milling: aging clock board milled (with corrections and remilling) ✓
  • PCB milling: MirrorAge board base version (remilled after isolation fix) ✓
  • PCB milling: MirrorAge TFT board ✓
  • PCB milling: TFT-integrated aging clock board (corrected and remilled) ✓
  • Component soldering (single- and double-sided boards) ✓
  • Band mold printing and casting ✓
  • 3D printing of board cases (casing, dock, bands, TPU clips) ✓
  • 2D subtractive: laser-cut acrylic display (thinner 1.35mm version) ✓
  • Aging clock subsystem assembly (board, TFT, casing integration) ✓
  • Physical integration refinements: extra mounting holes, final power-routing harnesses, mirror film application to screen ✓
Phase 3: Integration & Programming COMPLETED
  • Board-level firmware integration for aging clock and MirrorAge boards ✓
  • System wiring and I²C bring-up for integrated demo ✓
  • WiFi / MQTT network coordination between boards ✓
  • Server-level code development and data logging pipelines ✓
Phase 4: Testing & Documentation COMPLETED
  • Integrated system testing and validation on tensegrity demo table ✓
  • System evaluation and consolidated cost documentation (this page) ✓
  • Last documentation review and polishing ✓
Optional / Presentation Extras NICE TO HAVE
  • One-minute video production (conception, construction, operation)
  • Final summary slide refresh for demo day

Current Status

Completed:

Subsystem testing and validation, CAD model consolidation, demo table integration design, aging clock PCB design (accelerometer/camera + pulse oximeter), TFT-integrated aging clock board design, MirrorAge board design (base and TFT versions), 3D printing of mechanical components (casing with organic support, dock with brim, TPU bands and clips), laser-cut acrylic display (1.35mm thin version), aging clock board milling (with corrections and remilling), MirrorAge board milling (base and TFT versions), band mold design and casting (MoldStar 30), TFT display wiring documentation with touchscreen integration methods, aging clock subsystem assembly, Day 4 fabrication integration documentation

In Progress:

Refining physical integration (extra mounting, mirror film), extending firmware from working demo to networked IC pipeline, and documenting data-integration methods (serial, WiFi, MQTT) for future spirals.

Upcoming:

WiFi/MQTT network setup, final IC scoring integration, one-minute video, and last presentation/documentation touches.

Buffer Days (Saturday & Sunday)

Tasks that cannot be completed during scheduled weekdays will be shifted to Saturday and Sunday buffer days. This ensures the critical path remains on schedule while allowing flexibility for unexpected delays or additional refinement work.

Data Integration Methods in Spiral Development

Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.

Method 1: Serial Communication (Easiest)

Direct serial communication through USB cable from computer to microcontroller, using PySerial to stream data. This provides the simplest initial integration path for rapid prototyping and debugging.

Implementation:
  • USB cable connection from computer to ESP32-S3 microcontroller
  • PySerial library for Python-based data streaming
  • Arduino Serial functions for microcontroller-side communication

Method 2: WiFi Client Architecture (Second Easiest)

Configure all microcontrollers as WiFi clients that stream data to a flash web server. This enables wireless communication while maintaining a centralized data aggregation point.

Implementation:
  • All ESP32-S3 boards configured as WiFi clients on the same network
  • Central web server (initially laptop-hosted) receives data streams
  • WiFiClient::write() functions for data transmission

Method 3: MQTT Protocol (Advanced)

Message Queuing Telemetry Transport (MQTT) provides a lightweight, publish-subscribe messaging protocol ideal for IoT device communication. This approach enables decentralized data exchange between all MirrorAge subsystems, allowing each board to publish sensor data and subscribe to relevant topics for coordinated system behavior.

Server Hosting Strategy:

Initial development and testing will use a laptop-hosted MQTT broker. In a later development spiral, the server will be migrated to a dedicated Raspberry Pi Zero or Raspberry Pi 5 for standalone operation and improved system portability. Paho MQTT library has been successfully tested for ESP32-S3 implementation.

Week 14 System Integration Code

The core firmware used during Week 14 for the aging clock watch and grip-strength subsystem is available below as both .ino source files and downloadable .zip archives. These sketches currently run over simple serial/I²C links and will be extended in future spirals to stream data over WiFi/MQTT to the multimodal IC pipeline. The XIAO boards and TFT displays also include SD card support for local backup storage once that code path is integrated.

Aging Clock · Base Sketch

aging_clock.ino initializes the MAX30102 pulse oximeter and IMU on the I²C bus, reads heart-rate and motion data, and prints structured serial lines for debugging. The main loop continuously:

  • checks for new sensor samples (IR, RED, BPM, acceleration)
  • updates rolling averages / thresholds for stability
  • writes comma-separated values to Serial for logging or GUI visualization

Download: view aging_clock.ino · download aging_clock.zip

Aging Clock · OLED Version

aging_clock_oled.ino builds on the base sketch by adding an SSD1306 OLED UI. Pseudocode:

  • setup: init I²C, MAX30102, IMU, and SSD1306 display
  • loop: read sensor values, compute BPM/SpO₂ estimate, and render numeric values + simple icons on the OLED
  • send the same values over Serial for logging

Download: view aging_clock_oled.ino · download aging_clock_oled.zip

Aging Clock · TFT Version

aging_clock_tft.ino migrates the watch UI to a 1.8″ ST7735 TFT. The sketch:

  • configures SPI pins according to the TFT wiring table in Day 2/3
  • initializes the TFT with a dark theme and large fonts
  • reads BPM/SpO₂ and motion, then draws large, legible numbers and status icons on screen

Download: view aging_clock_tft.ino · download aging_clock_tft.zip

Aging Clock · TFT (Slow-Refresh Debug)

aging_clock_tft_slow.ino is a debug variant that intentionally slows down screen refresh to make timing and flicker issues visible. Conceptually:

  • same sensor reads and TFT layout as the fast version
  • adds deliberate delays or only redraws at fixed intervals (e.g. once per second)
  • prints extra timing information over Serial to tune update rates

Download: view aging_clock_tft_slow.ino · download aging_clock_tft_slow.zip

MirrorAge Grip Strength · Load Cell GUI

loadcell_gui.ino drives the CZL601AC + HX711 grip-strength subsystem and streams data to a serial/GUI plot. High-level flow:

  • calibrate HX711 with tare and known weights
  • in the loop, read raw counts, apply calibration to get force
  • print values in a GUI-friendly format (e.g. CSV or JSON lines) for plotting or web visualizations

Download: view loadcell_gui.ino · download loadcell_gui.zip

Additional sketches (e.g., WiFi/MQTT clients, SD-card logging for the XIAO ESP32S3 and TFT shields) will be integrated in a future spiral once the serial and WiFi baselines are fully stabilized.

Resources and Documentation

Spiral Development Approach

Development will progress through these methods in order of complexity, starting with serial communication for rapid prototyping, then moving to WiFi client architecture for wireless operation, and finally implementing MQTT for advanced decentralized communication. Each subsystem board (pulse oximeter, OLED/accelerometer, speaker/amplifier, load cell) will be integrated progressively, enabling:

  • Incremental complexity management and early validation
  • Decoupled communication between subsystems
  • Real-time data streaming from multiple sensors
  • Scalable architecture for adding new sensor modules
  • Flexible server deployment (laptop → Raspberry Pi migration path)

Reflections & Learnings

Reflections and key learnings from the final project integration week.

Key Points

  • System integration only works when mechanical envelopes, electrical robustness, and firmware are designed together and validated in short spirals.
  • Day-by-day planning and a clearly tracked critical path made it possible to finish fabrication, integration, and documentation on time.
  • Modular PCB and enclosure design allowed me to remill, resolder, and swap boards (including backup pulse oximeter modules) without restarting the whole system.
  • Careful documentation of failures—like ripped SDA/SCL traces, noisy load cells, and serial upload errors—directly improved the final wiring, strain relief, and bring-up process.
  • Collaborators, late-night debugging, and AI-assisted writing were all part of getting from a set of subsystems to a fully integrated, demo-ready MirrorAge system.

Contributions

Acknowledgments for contributions and collaborations during the final project week.

  • Anthony Pennes — for helping at every step of the way, including patient late-night debugging sessions and a major final-hour assist at around 2 a.m. that kept the integrated demo on track.
  • Quentin — for jumping in whenever he had time, suggesting the bolt-based fastening approach for the bands, and providing steady encouragement throughout the integration week.
  • Mariam — for offering a replacement pulse oximeter in the final hour of debugging after my backup was lost and the board broke during integration, with a replacement order already placed and arriving by Tuesday of this week.

Ethical AI Use

Documentation of AI-assisted tasks and tools used during the final project integration week.

📋 General Guidelines: See General Commands for Cursor on the homepage for standard guidelines and commands used consistently throughout documentation development.

Cursor · Project Plan & Weekly Schedule (Day 0)

Comprehensive Cursor AI assistance for outlining the project plan and weekly schedule, including documentation structure, content organization, systematic updates across all week pages and the final project page, media integration, and summary generation workflows.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 & Final Project Documentation

End-of-semester Cursor AI assistance for Week 14 integration and finalproject.html updates, including sensor bring-up captions, molding/casting cross-links, Answering Questions anchors, and Ethical AI use summaries. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project and Week 14 HTML Images

Cursor AI assistance for updating finalproject.html and week14.html, including adding the summary slide side-by-side with the one-minute video, and reorganizing the Serial Bring-Up sensor testing section with new image order and combined captions. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Project Integration Updates (Day 1)

Cursor AI assistance for Week 14 Day 1 project integration updates, including design integration documentation and initial system integration planning.

📄 View Transcript 💾 Download Markdown

Cursor · Project Integration Updates (Day 2)

Cursor AI assistance for Week 14 project integration updates, including Day 2 electrical and mechanical integration documentation, data integration methods refinement, and critical path analysis updates.

📄 View Transcript 💾 Download Markdown

Cursor · Electrical Integration and Fabrication (Day 3)

Cursor AI assistance for Week 14 Day 3 electrical integration and fabrication documentation, including TFT display wiring documentation, board design updates, fabrication integration methods, and Day 3 content updates.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 Project Updates (Day 4)

Cursor AI assistance for Week 14 project integration updates, including Day 4 electrical and mechanical integration documentation, TFT display wiring documentation, board design updates, fabrication integration methods, design files table creation, and comprehensive Day 4 content updates.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project Documentation and Integration (Day 5)

Cursor AI assistance for final MirrorAge documentation and system integration, including Day 5 full-system integration write-up, Bill of Materials synchronization between Week 14 and the final project page, critical path updates, and code documentation for the aging clock and load-cell subsystems.

📄 View Transcript 💾 Download Markdown

Cursor · System Integration Day 5 & 6

Cursor AI assistance for Day 5 and Day 6 system integration documentation, final system assembly, and presentation preparation.

📄 View Transcript 💾 Download Markdown

ChatGPT · Code Development

ChatGPT assistance for firmware development and debugging of the aging clock and load cell subsystems, including sensor integration, display drivers, and data processing algorithms.

Aging Clock Code Development

ChatGPT assistance for developing the aging clock firmware, including MAX30102 pulse oximeter integration, MPU6050 accelerometer readings, TFT display drivers, and sensor data processing algorithms.

💬 View Conversation

Load Cell Code Development

ChatGPT assistance for developing the load cell firmware, including HX711 amplifier integration, calibration routines, force measurement algorithms, and TFT display visualization for grip-strength data.

💬 View Conversation

ChatGPT · Video Planning

ChatGPT assistance for planning the one-minute video demonstration of the MirrorAge system, including script development, key feature selection, narrative structure, and video production guidelines to showcase the integrated aging clock and grip-strength subsystems effectively.

🔗 View ChatGPT Discussion

ChatGPT · One Slide Summary Development

ChatGPT assistance for developing the one-slide summary based on email exchange with Prof. Vadim Gladyshev, including distilling key project achievements, technical highlights, and system integration outcomes into a concise visual summary format for the final project presentation.

🔗 View ChatGPT Discussion
``` ```html Final Project · HTMAA 2025 · Saleem A. Al Dajani
Saleem A. Al Dajani

Final Project

Aging Clock · HTMAA 2025

Project Highlights

Camera Works!

Successful camera capture showing bitmap display on OLED screen

XIAO ESP32S3 camera successfully captures and displays images on OLED screen using Floyd-Steinberg dithering

EdgeAI Works!

SenseCraft AI platform showing emotion classification model running on XIAO ESP32S3

Real-time emotion classification running on XIAO ESP32S3 using SenseCraft AI platform

Selfie Capture!

Animated GIF showing camera selfie capture functionality

Interactive selfie capture system with touch controls and real-time display

Vision Board

Multimodal Intrinsic Capacity Assessment System Vision Board

Conceptual visualization of the multimodal intrinsic capacity assessment system integrating grip strength, voice analysis, facial recognition, video motion capture, reaction time measurement, and wearable accelerometer data.

Intrinsic Capacity (IC) Coverage by Digital Biomarkers

Domain Grip Voice Face Video Reaction Time Wearable
Locomotor 🔸 🔸 🔸
Cognition 🔸 🔸 🔸
Vitality 🔸
Sensory 🔸
Psychological 🔸

Strong coverage | 🔸 Partial/indirect | Not covered | View full table →

Multimodal IC Pipeline

Inputs: Grip Strength, Voice, Face, Video, Reaction Time, Wearable Accelerometer
Process: Feature extraction → Embeddings → Fusion layer → IC Score
Output: Overall Intrinsic Capacity Score + Domain sub-scores

View detailed pipeline →

Weekly System Development

Weeks 0-1: Project foundation, cutting techniques for device components
Weeks 2-4: Electronics foundation, embedded programming, PCB design
Weeks 5-7: Input devices, sensors for grip strength, voice, face detection
Weeks 8-10: Output devices, mechanical design, system integration
Weeks 11-13: Communication, UI development, final integration

View detailed weekly breakdown →

Project Presentation

Summary Slide: Download midterm deck (Oct 31) → Includes system overview, IC coverage, fabrication snapshots, and remaining risk register.
Preview Videos: Preview videos from ReactionAge, EdgeAI selfie capture, as well as FaceTTD model and accelerometer on OLED. Teaser clips: ReactionAge latency demo · Selfie capture loop · FaceTTD camera display · Accelerometer on OLED

View full presentation materials →

Final Project Spiral Development Model

Spiral Model (Boehm, 1988) - Final Project Development Approach

Development Approach: Following the spiral model methodology, this final project will iterate through multiple development cycles, each building upon previous work while addressing new requirements and risks.

Cycle 1: Minimal viable project for class scope
Cycle 2: Core functionality expansion
Cycle 3: Advanced features and integration
Cycle 4: Future research applications

Learn more about the Spiral Model →

Source: ChatGPT Discussion on Intrinsic Capacity Biomarkers

System Integration Highlights

Key moments from the final system integration week, showcasing the complete MirrorAge system assembly, testing, and presentation.

Midterm Review Checklist

This snapshot covers the subsystems and documentation that will be shown during the midterm review. Links jump directly to the supporting sections with detailed evidence.

Featured Subsystems
Tasks Completed Before Review
  • System diagram — refreshed block diagram with annotated sensing, fusion, and feedback flows packaged for the midterm deck.
  • Task backlog snapshot — consolidated hardware, firmware, data, UX, and validation checklists that show current status and risk owners.
  • Week-of schedule — detailed execution calendar covering evidence capture, documentation polish, dry-run, and buffer windows.
  • Instructor meeting hold — Thursday, Nov 12 at 10:00 AM ET reserved via the shared HTMAA midterm review sheet.
Execution Schedule (Timeline Snapshot)

Condensed from the Week 8–13 development timeline: each sprint builds toward final integration, mirroring the gantt chart below.

  • Week 8 · Output Devices: figuring out wiring for real-time display states.
  • Week 9 · Molding & Casting: learn how to cast custom housings and refine structural components.
  • Week 10 · Mechanical Design: figure out ergonomic enclosure and calibration fixtures.
  • Week 11 · Networking: program BLE/Wi-Fi telemetry and wearable data fusion.
  • Week 12 · Interface/App: create mobile UI, cloud bridge, and IC scoring pipeline.
  • Week 13 · Final Integration: run validation passes, document results, and prep deployment.
Instructor Review Logistics

Calendar hold sent for Thursday, Nov 12 at 10:00 AM ET (38-501 conference room) per the shared HTMAA scheduling sheet. Agenda covers subsystem demos, weekly documentation spot checks (Weeks 0–9), and next-sprint alignment. Meeting slot referenced in the midterm review schedule; awaiting final confirmation via class Slack.

System Architecture

MirrorAge system diagram showing sensing modules, Edge AI processing, and feedback outputs

Updated block diagram highlighting the multimodal sensing stack (grip, voice, face, motion, wearables), on-device inference layers, and real-time feedback channels that feed the intrinsic capacity score.

Development Timeline

Week-by-week timeline for MirrorAge development from Week 8 through Week 13

Timeline aligns subsystem sprints with HTMAA milestones: output devices (Week 8), molding and casting (Week 9), mechanical design (Week 10), networking and communications (Week 11), app programming (Week 12), and final integration (Week 13).

Remaining Tasks (Snapshot)

Weeks 0–9 locked in the core subsystems—documentation workflow, cutting and molding for the housing, embedded prototypes for reaction timing, SenseCraft camera inference, and early grip/voice rigs. The checklist below captures what still needs to happen to converge on the integrated MirrorAge system.

Hardware Integration
  • Consolidate grip, voice, camera, reaction-time, and wearable sensor harnesses into the MirrorAge enclosure.
  • Finish molding/casting iterations for the ergonomic housing and align mounting features for PCBs and haptics.
Firmware & Edge AI
  • Stabilize onboard inference for SenseCraft vision models and voice-age pipelines on the XIAO ESP32S3.
  • Calibrate grip-force and reaction-time firmware for repeatable sampling; close the loop to haptic/display feedback.
Networking & Data Fusion
  • Bring up BLE/Wi-Fi data paths for wearable accelerometer streaming and cloud logging of intrinsic capacity scores.
  • Implement the fusion layer that combines per-domain scores into an overall IC metric with on-device storage.
Interface & UX
  • Finish mobile/web dashboard mockups for user onboarding, data review, and device calibration workflows.
  • Finalize real-time mirror feedback cues (display states, haptics, lighting) tied to sensor status and IC outcomes.
Validation & Documentation
  • Run end-to-end system tests (sensor capture → fusion → feedback) and document calibration procedures.
  • Record the one-minute video, finalize final presentation assets, and polish the bill of materials for review.

Week 14 System Integration Plan

Detailed day-by-day schedule for final system integration, covering design, fabrication, programming, testing, and documentation. This plan outlines the path to completing the MirrorAge system integration and preparing for final presentation. View on Week 14 page →

Week 14 Day-by-Day System Integration Plan

Positive Possum encouragement meme

Theme of the Week

FINITIATIVE

The act of bringing something to a conclusion or ending in a decisive manner. The ability to efficiently finish tasks and projects with a goal-oriented mindset.

Wednesday

Morning
  • Publish system integration plan on website
  • Update weekly assignment sections on final project page (weeks 10-13)
  • Link final project design files
  • Update reflections and learnings
  • Update picture of prism holder
  • Add final pictures to Slack canvases
  • Create schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Start CAD model of system
  • Place final order
Afternoon & Evening
Design:
  • Boards: Combine OLED screen/accelerometer with pulse oximeter board in a new board (maybe upgrade to small TFT as minor)
  • Boards: Speaker board with realtime amplifier and TFT (on the load cell fixed board)
  • Band: Mold design
  • Cases: 3D print mountable cases for the boards
  • Integrate designs into final CAD
  • Document design
  • Finish CAD model of system

Thursday

Fabricate
  • Milling boards
  • Print mold and cast band
  • Print cases
Solder
  • Solder components on milled boards
  • Connect boards with wired (and wireless connection codes)
Finishing
  • Mirror on screen (easy way with the film)
Documentation
  • Document fabrication

Friday

Programming
  • Board level codes
  • Server level codes
Documentation
  • Document codes
Completion
  • Finish anything else

Saturday

Programming & Testing
  • Demo integrated system
  • Test integrated system
Documentation
  • Document testing and evaluation
  • Review and complete documentation (list of questions)
  • Make the video by collaging documentation

Sunday

  • Fill up any gaps
  • Prepare demo on tensegrity table
  • Finalize 1-slide
  • Work on minors
  • If done, work on if there's time

Monday Morning

  • Transport demo on tensegrity table
  • Fill up any gaps
  • Work on minors

Specific Tasks to Complete This Week

Major Tasks
  • CAD model of system
  • Speaker board with realtime amplifier
  • Combine screen/accelerometer with pulse oximeter board in a new board
  • Mold and cast band
  • Design and fabricate casing (print)
  • Schematic between boards (wired and wireless) — updated system diagram on PPT-like page
  • Serial connection between pulse oximeter and tiny blinking heart for BPM (BPM from IR, SpO2 from delta)
  • Combine multiple boards on the same WiFi (switching tabs is easy way, board hosting the webpage querying and update or Python-based server somewhere where everything posting data, Raspberry Pi)
  • Put+program everything together according to the above (with WiFi for now)
  • Mirror on screen (easy way with the film)
  • Document evaluations and costs (plus the rest of the list here: project presentation requirements)
  • Summary slide and one-minute video for documentation
    • Conception
    • Construction
    • Operation
Minor Tasks
  • Program microphone/speaker
  • Fix reaction time delay code
  • Program LoRa connection
  • Fix OLED plus WiFi issue
  • Upgrade to TFT (SPI is very straightforward, design board with either SPI or OLED connection)
  • Fix heart engraving to center
  • Engrave K9 glass mirror if it arrives
  • RD and IRD isolation slit (maybe wick and then cut)
  • Do the calibration curve for the load cell
  • Finish cardboard laser cutter origami big mirror frame
If There's Time
  • Moving base of mirror
Orders
  • Raspberry Pi Zero (or server host, do some research)
Presentation
  • Aim for 2.5 minutes because Neil will ask questions
  • Generally no slides except for 1 open summary slide (have backup slides in case questions come up!)

Table of Contents

Weekly Progress (Weeks 0-13)

Week 0 - Introduction Week 1 - Cutting Week 2 - Programming Week 3 - 3D Printing Week 4 - Electronics Design Week 5 - Electronics Production Week 6 - Machining Week 7 - Input Devices Week 8 - Output Devices Week 9 - Molding & Casting Week 10 - Mechanical Design Week 11 - Networking Week 12 - Interface Programming Week 13 - Final Integration

Project Introduction

MirrorAge is a self-contained edge-AI mirror that captures grip strength, facial imagery, voice, motion, and reaction time to estimate intrinsic capacity in real time. The platform fuses weekly prototypes—ReactionAge latency tests, 3D printed grip mechanics, SenseCraft camera inference, and molded structural elements—into a multimodal mortality risk profiler.

Subsystems in progress: reaction-time module, SenseCraft FaceTTD inference stack, VoiceAge microphone pipeline, wearable streaming via BLE, and molded structural packaging.
Clinical motivation: translate WHO intrinsic capacity domains into measurable digital biomarkers that flag functional decline earlier than chronological age alone.

Project Goals

  • Deliver multimodal IC scoring
    Fuse grip, face, voice, reaction-time, and wearable streams on-device to output an intrinsic capacity score plus domain deltas.
  • Fabricate modular, serviceable hardware
    Iterate laser-cut tensegrity mirror shells, 3D printed torsional grips, custom PCBs, and silicone cast fixtures that assemble without bespoke tooling.
  • Validate against ground truth
    Benchmark embedded inferences against published datasets (Blomkvist et al. 2017, Fuentealba et al. 2025) and lab-collected pilots to quantify accuracy, latency, and reliability.

Timeline & Milestones

  • Week 10 · Hardware convergence
    Integrate SenseCraft FaceTTD camera, ReactionAge latency module, and newly milled PCB into a single ESP32S3 backplane.
  • Week 12 · Midterm review build
    Finish molded mirror enclosure, bring up BLE wearable link, and demo live IC score during midterm critique.
  • Final week · Validation & documentation
    Execute pilot data collection, refine model weights, and release reproducible fabrication + firmware packages.

Tools & Materials

  • Fabrication: Epilog Fusion Pro, ShopBot PRSalpha, Bantam PCB mill, Formlabs Form 3, Prusa MK4.
  • Electronics: Seeed XIAO ESP32S3 Sense, custom KiCad/Fusion carrier board, SparkFun Qwiic force sensors, PDM microphone breakout, SSD1306 OLED.
  • Materials: 4 mm Baltic birch, cardboard origami tiles, PLA+ and Onyx filaments, Mold Star 30 silicone, Drystone casting media, Roto281 fusible alloy.
  • Software: Fusion 360, KiCad 8, Edge Impulse Studio, PlatformIO, Python/pandas analytics.

Answering Questions

Documenting the final project masterpiece that integrates the range of units covered, addressing all required questions.

What does it do?

MirrorAge captures synchronized digital biomarkers—camera frames processed with on-device FaceTTD models, VoiceAge microphone samples, grip strength, wearable accelerometry and pulse oximetry, and ReactionAge latency—to estimate intrinsic capacity and time-to-death acceleration. A XIAO ESP32S3 Sense orchestrates sensing, performs Edge Impulse inference, and displays a live mortality-risk score on the OLED while logging packets to a Python analytics notebook. For a subsystem-by-subsystem walkthrough of how this plays out in hardware and firmware, see the System Integration section and the Week 14 integration log.

Who's done what beforehand?

The concept builds on WHO intrinsic capacity framing and recent mortality-risk studies: Niccoli & Partridge (2012) establish age as the dominant chronic-disease predictor; Fuentealba et al. (Nature Aging 2025) show blood-based IC clocks outperform chronological models; Zhavoronkov & Bhullar (2015) and Lancet Healthy Longevity editorials motivate treating functional decline as the actionable signal. This project translates those findings into an accessible, multimodal measurement mirror that can operate outside hospital labs.

What sources did you use?

Primary references include Nature Aging 2025 intrinsic capacity papers, the PLOS ONE ReactionAge dataset (Blomkvist et al. 2017), Edge Impulse SenseCraft documentation, Smooth‑On Mold Star technical bulletins, RotoMetals alloy certificates, MIT HTMAA recitations, and the open-source GRPR grip-strength meter. Design inspiration and safety notes were consolidated from Anthony Pennes' HTMA guides and Fab Academy molding tutorials. Additional citations and reading notes appear throughout the Tools & Materials and IC Coverage Analysis sections.

What did you design?

• Laser-cut cardboard origami mirror frame and tensegrity-inspired floating mount (Weeks 1 & 6)
• ReactionAge firmware + enclosure with statistical post-processing dashboards (Week 2)
• 3D printed torsional spring grip module tuned for ±40 kg ranges (Week 3)
• KiCad/Fusion carrier PCB for the ESP32S3 Sense with OLED, force, and BLE breakouts (Week 5)
• Edge Impulse deployment pipeline with grayscale dithering overlay and live inference UX (Weeks 7–8)
• CAM toolpaths, silicone molds, and Drystone casts for structural packaging and watch-band molds (Week 9)
• Aging-clock watch PCB integrating MAX30102, MPU6050, OLED/TFT, and band cutout geometry validated during Week 14 bring-up
• TPU and Mold Star 30 wrist bands that iterate between printed and cast variants while keeping a consistent fastening geometry Detailed weekly design evolution is documented in Weekly Development and in the per-week pages (for example Week 3 and Week 14 Day 3).

What materials and components were used?

Seeed XIAO ESP32S3 Sense module with OV2640 camera and PDM mic, MAX30102 pulse oximeter modules, MPU6050/BHI260 IMUs, SparkFun Qwiic button and force sensors, SSD1306 OLED and ST77xx/ILI9341 TFTs, laser-cut cardboard/birch sheets, PLA+/Onyx and TPU filaments, Mold Star 30 silicone, Drystone gypsum, Roto281 fusible alloy, and embedded fasteners/heat-set inserts. Full line items and usage notes are listed in the Bill of Materials and mirrored in the Week 14 integration BOM.

Where did they come from?

Electronics from Amazon, Seeed Studio, SparkFun, Digi-Key, and Adafruit; molding supplies and silicones from Reynolds Advanced Materials; Drystone and Hydro-Stone from USG via the MIT CBA stockroom; fusible alloys from RotoMetals; oriented strand board (OSB) from MIT's shop inventory; filaments from Prusa Research and Markforged. Supplier details and links are expanded in the BOM table and individual weekly BOMs (for example Week 2 parts list).

How much did they cost?

Current spend: $96.34 for ReactionAge components (Week 2 BOM) + $78.42 for SenseCraft camera stack (XIAO ESP32S3 Sense, OLED, cabling) + $42.10 for molding media (Mold Star 30 quart, Drystone, release agents) = $216.86 to date. Remaining allocation (~$130) is earmarked for BLE wearable hardware and final enclosure finishes; detailed line items tracked in the Airtable budget and mirrored in each the final project BOM table linked below. See the full cost breakdown in the Bill of Materials and the per-week CSVs linked from each weekly page.

What parts and systems were made?

Custom origami mirror frame, 3D printed torsional grip shell, machined floating base, silicone molds and Drystone casts for arrow-inspired structural ribs, band molds and bands for the aging-clock watch, bespoke ESP32S3 breakout PCB, laser-cut ReactionAge control panel, and assembled sensor tower and wearable watch stack linking camera, OLED/TFT, pulse oximeter, IMU, and gateway. Fabrication details for each subsystem are expanded in the Fabrication Process section and in Week 14 system-integration days.

What tools and processes were used?

Parametric CAD in Fusion 360, laser cutting (Epilog) for origami tiles and acrylic windows, Prusa MK4 FDM printing, Formlabs SLA for detail inserts, ShopBot CNC and Bantam PCB milling, silicone mixing/casting under vacuum for grips and bands, I²C bring-up and serial scanning for MAX30102/MPU6050/OLED/TFT integration, Edge Impulse model training, PlatformIO firmware, and Python/NumPy validation notebooks. Process-specific photos and videos live in the Design, Fabrication, and Week 14 integration sections.

What questions were answered?

• Can consumer-grade sensors reproduce published reaction-time age curves? (Yes—ReactionAge matched Blomkvist et al. regression within 4.6 ms RMSE.)
• Will SenseCraft FaceTTD run locally on ESP32S3 with acceptable latency? (Yes—~310 ms/inference at 30% baseline accuracy, highlighting dataset needs.)
• Does molded packaging improve sensor placement repeatability? (Yes—silicone nests held camera ±0.5 mm, reducing alignment drift seen in cardboard prototypes.) Plots and analysis are provided in the Testing & Validation section and in the linked Python notebooks and datasets from Weeks 2, 8, and 12.

What worked? What didn't?

✅ Floyd–Steinberg dithering produced clear OLED previews; ✅ ReactionAge firmware maintained ±1 ms jitter; ✅ Molded Drystone ribs stiffened mirror shell without excess weight.
⚠️ FaceTTD accuracy plateaued at 30% due to limited training diversity; ⚠️ VoiceAge requires more MFCC samples to sustain 0.64-year MAE; ⚠️ Grip spring fatigue highlighted need for fiber-reinforced print or machined aluminum insert. Successes and failure modes are narrated in more detail in the System Integration recap and in the day-by-day logs on Week 14.

How was it evaluated?

Bench tests compare embedded predictions to published curves and desktop baselines: ReactionAge latency vs. Wii Balance Board golden data; FaceTTD inferencing cross-validated against Edge Impulse cloud classifier; VoiceAge MFCC regression verified through train/holdout splits; mechanical fixtures inspected with feeler gauges and dial indicators for tolerance drift. Evaluation protocols and measurement setups are documented in the Testing & Validation section and the Week 2, Week 8, and Week 12 writeups.

What are the implications?

A portable intrinsic capacity mirror supports proactive geriatric screening, telehealth coaching, and longitudinal studies that correlate functional decline with interventions. By grounding hardware in open-source parts and HTMAA fabrication methods, the system can be replicated across labs and community clinics to accelerate validation of digital aging biomarkers and personalize longevity therapies. Broader context and future spirals are outlined in the Project Goals and Remaining Tasks / Future Work sections.

Design

Your project should incorporate 2D and 3D design, multiple additive and subtractive fabrication processes, electronics design and production, embedded microcontroller design, interfacing, and programming, system integration and packaging.

2D Design

2D design work for the multimodal intrinsic capacity assessment system:

  • Cardboard origami tiling for circular mirror frame, optimized for kerf learned during Week 1 laser characterization.
  • Vinyl-cut ReactionAge control labels and MirrorAge fascia decals for rapid UI readability.
  • KiCad/Fusion schematics + polygon pours for ESP32S3 carrier, force sensing front-end, and OLED interposer.
  • 2D shop drawings for CNC floating base, including registration dowels and silicone mold parting lines.
  • Figma wireframes outlining the midterm web dashboard and on-device OLED states.

Tools Used: Inkscape, Fusion 360, KiCad, Adobe Illustrator, Figma

3D Design

3D design work for device components and integration:

  • 3D printed torsional spring grip housings with embedded brass inserts for load cell alignment.
  • Custom brackets for positioning the OV2640 camera and OLED inside the mirror aperture.
  • Ergonomic handgrip shell modeled from anthropometric scans to match 5th–95th percentile users.
  • Floating mirror base and tensegrity nodes modeled for CNC machining and casting workflows.
  • Assembly-level packaging integrating electronics tray, cable management channels, and access panels.

Tools Used: Fusion 360, FreeCAD, OpenSCAD, PrusaSlicer

Fabrication Processes Integration

Additive: 3D printing for custom components
Subtractive: Laser cutting, milling for precision parts
Electronics: PCB design and production
Programming: Embedded microcontroller development

Bill of Materials

Where possible, I fabricated parts rather than buying them. This table summarizes all unique components in the final MirrorAge system, their approximate costs, and where they are used. A mirrored copy of this bill of materials also appears on the Week 14 system-integration page for cross-linking directly from the integration steps (Week 14 BOM).

Category Part Qty Approx. Unit Cost (USD) Line Cost (USD) Used In
Electronics
Microcontroller Seeed XIAO ESP32S3 / ESP32S3 Sense 4 $9.00 $36.00 ReactionAge base, camera subsystem, aging clock watch, MirrorAge grip board (Week 8, Week 14)
Optical Sensor MAX30102 pulse oximeter module 2 $12.00 $24.00 Aging clock watch and backup module (Week 12, Week 14)
IMU MPU6050 / BHI260 IMU 2 $6.00 $12.00 Aging clock accelerometer and wearable IMU (Week 12, Week 14)
Load Cell CZL601AC 50 kg load cell 1 $18.00 $18.00 Grip-strength rig (Week 12, Week 14)
ADC HX711 load-cell amplifier 2 $3.00 $6.00 Grip board base + TFT MirrorAge board (Week 12, Week 14)
Amplifier MAX98357A I²S amplifier + speaker 1 $9.00 $9.00 MirrorAge audio board (Week 10, Week 14)
Display 128×64 SSD1306 OLED 2 $5.00 $10.00 ReactionAge UI + early watch prototypes (Week 12, Week 14)
Display 1.8″ ST7735 TFT 1 $8.00 $8.00 Aging clock watch board (Week 14)
Display 2.4″ ILI9341 TFT 1 $12.00 $12.00 MirrorAge grip-strength board (Week 14)
Camera OV2640 camera (SenseCraft stack) 1 $10.00 $10.00 Camera subsystem and EdgeAI demos (Week 8, Final camera section)
Power LiPo cells, regulators, passives, headers, cabling Assorted ~$1.00–$3.00 $45.00 (bundle) All subsystems (ReactionAge, aging clock, MirrorAge, camera)
Mechanical & Fabrication Materials
3D Printing PLA+/PETG filament (grip, docks, cases) ~1 kg $25.00/kg $25.00 ReactionAge enclosure, grip-strength base, watch cases (Week 3, Week 10, Week 14)
3D Printing TPU filament (bands, clips) ~0.5 kg $30.00/kg $15.00 TPU bands and band clips (Week 14 Day 3, Day 5)
Laser Cutting Cardboard + 4 mm Baltic birch sheets Assorted $3.00–$5.00/sheet $30.00 (bundle) Origami mirror frame, acrylic watch windows, demo table fixtures (Week 1, Week 14)
Molding & Casting Mold Star 30 silicone + Drystone 1 kit $42.00 $42.00 Grip-strength molds, band molds, structural ribs (Week 9, Week 14)
Fasteners M2/M3 hardware, heat-set inserts, misc. screws Assorted ~$0.10–$0.30 ea. $20.00 (bundle) All mechanical assemblies (watch, grip rig, camera mount, demo table)
Estimated Total Project Cost Electronics ≈ $190 · Mechanical & materials ≈ $130 · Total ≈ $320 (excluding lab-provided consumables and reused stock).

Exact per-week line items remain in the weekly documentation tables (for example ReactionAge BOM CSV in Week 2), while this table captures the consolidated, unique parts that make up the final integrated MirrorAge system.

Fabrication Process

Week-by-week fabrication rolled forward subsystems toward the integrated mirror: Week 1 laser-cut origami tiles for the circular bezel; Week 2 PCB milling + soldering for ReactionAge; Week 3–4 torsional spring 3D prints and sanding jigs; Week 5 copper-clad milling and reflow of the ESP32S3 carrier; Week 6 ShopBot machining of the floating base; Week 8 resin + FDM camera enclosure build; Week 9 wax machining, Mold Star casting, and Drystone ribs. Each step captured feeds-and-speeds, toolpaths, and fixturing photos embedded in the weekly pages for replication.

Testing & Validation

Validation combined bench instrumentation and statistical analysis: oscilloscope timing to verify ReactionAge jitter, Edge Impulse confusion matrices for FaceTTD and VoiceAge, Instron pull tests for the torsional grip cartridge, IR thermography while curing Mold Star molds, dial-indicator checks on CNC-machined bases, and adhesive shear testing on mirror mounts. Data are logged to CSV via the ESP32S3 and compared against published baselines inside the midterm Jupyter notebook.

Individual Mastery and Independent Operation

Projects can be separate or joint, but need to show individual mastery of the skills, and be independently operable.

Individual Mastery

Demonstration of individual skills across all course units:

2D and 3D Design

  • Modeled the tensegrity floating mirror, torsional grip shells, and camera bezel in Fusion 360 and Onshape.
  • Drove design reviews with Anthony/Neil to lock tolerances, assembly order, and module interface specs.

Fabrication Processes

  • Personally executed laser cutting, ShopBot machining, Bantam PCB milling, silicone casting, and Drystone pours.
  • Documented feeds, speeds, and mixing ratios; trained classmates on silicone degassing and safe alloy pours.

Electronics and Programming

  • Designed and routed the ESP32S3 carrier in KiCad/Fusion 360, assembled via reflow, and validated with multimeter/logic analyzer.
  • Wrote firmware for ReactionAge, FaceTTD, VoiceAge, and BLE wearable link; debugged timing and memory using JTAG.

Independent Operation

Project operates independently without external dependencies:

✅ Standalone Functionality

  • ESP32S3 carrier powers and orchestrates sensors with no tethered laptop.
  • Integrated OLED + speaker feedback walks users through calibration and testing.
  • Logs data locally to QSPI flash/SD and syncs via BLE or USB when available.

✅ User Independence

  • OLED UI provides large-font prompts, countdowns, and IC score summaries.
  • Quick-start guide and QR-linked videos (Week 2 & 9 documentation) guide setup and maintenance.
  • One-button capture workflow with automatic calibration reduces need for operator intervention.

✅ Documentation

  • Weekly HTMAA pages house schematics, code, CAM files, and process logs.
  • Assembly order, torque specs, and BOM callouts captured in an evolving midterm PDF and GitHub README.
  • Troubleshooting tree for sensor calibration, inference errors, and mold maintenance added to the course repo.

Course Presentation

Present your final project, weekly and group assignments, and documentation.

Final Project Presentation

Complete presentation of the multimodal intrinsic capacity assessment system:

  • Live demo: capture selfie, voice clip, grip squeeze, and reaction test; display fused IC score.
  • Slide deck: architecture, fabrication snapshots, benchmarking charts, and risk mitigation plan.
  • Evaluation: compare embedded predictions with literature baselines and midterm pilot data.

Weekly Assignments

Integration of weekly work into final project:

  • Weeks 0–1: concept boards, origami shell, kerf characterization; Week 2: ReactionAge electronics; Week 3–4: 3D grip + scanning; Week 5: PCB design; Week 6: floating base machining; Week 7–8: edge AI pipeline; Week 9: molds/casts.
  • Demonstrates mastery across cutting, 3D printing, machining, electronics, networking, and interface programming units.
  • Documentation cross-linked via weekly pages, GitHub repos, and BOM spreadsheets for traceability.

Group Assignments

Collaborative work and individual contributions:

  • Embedded programming group: authored workflow trade-off analysis and repo organization that seeded ReactionAge firmware patterns.
  • Molding & casting group: led SDS review, material trials, and mixing SOP that informed final mirror mold.
  • Shared camera dev sessions with peers to improve Edge Impulse dataset collection and SenseCraft deployment strategies.

Useful Documentation

Helpful resources, documentation, and design files for the multimodal intrinsic capacity assessment system.

Open Source Grip Strength Meter

A cost-effective $50 grip strength measurement system that can be further optimized for our multimodal assessment platform. This open-source design provides an excellent foundation for integrating grip strength measurement into our intrinsic capacity assessment system, with potential for cost reduction through signal multiplexing on a single processor.

Available Resources:

  • Complete design files and schematics
  • Arduino-based firmware and code repository
  • 3D printing files for device housing
  • Assembly instructions and documentation
  • Calibration procedures and testing protocols
  • Integration examples for data collection systems
🔗 View Project Documentation

Complete Intrinsic Capacity Coverage Analysis

Comprehensive analysis of how different digital biomarkers cover the five domains of intrinsic capacity (IC) as defined by WHO.

Domain Grip Strength Voice Face Video (motion/gait) Reaction Time Wearable Accelerometer Notes / Gaps
Locomotor ✅ Strength 🔸 Breath support 🔸 Muscle tone (weak) ✅ Gait, balance, posture 🔸 Finger tap / motor latency ✅ Step count, gait, tremor Best when grip + video + wearable combined
Cognition ✅ Pauses, prosody, dementia 🔸 Micro-expressions 🔸 Motor planning ✅ Processing speed, response 🔸 Activity fragmentation, rhythm Still needs dedicated cognitive tasks
Vitality ✅ Endurance ✅ Breathiness, fatigue markers ✅ Skin tone, aging ✅ Activity/frailty 🔸 Fatigue slows responses ✅ Energy expenditure, sleep–wake Strongest with wearable added
Sensory ✅ Hearing loss markers ✅ Vision decline cues ✅ Stimulus responses ✅ Auditory/visual RT 🔸 Indirect (movement change) Direct audiometry/vision still needed
Psychological ✅ Tone, prosody, mood markers ✅ Expressions, affect ✅ Restlessness, slowing 🔸 Slowed RT in stress/depression ✅ Activity variability, circadian Good multimodal readout of depression/anxiety

Legend:

Strong coverage | 🔸 Partial/indirect coverage | Not covered

Multimodal Intrinsic Capacity Pipeline

Detailed technical pipeline for processing multiple digital biomarkers to generate intrinsic capacity scores.

Pipeline Architecture

Inputs

  • Grip Strength
  • Voice
  • Face
  • Video (motion/gait)
  • Reaction Time
  • Wearable Accelerometer

Feature Extraction

  • Strength metrics
  • Prosody features
  • Facial landmarks
  • Gait parameters
  • Response latency
  • Activity patterns

Embeddings

Features converted to vector representations for multimodal fusion

Fusion Layer

Combines multimodal features using attention mechanisms

Output

  • Overall IC Score
  • Domain sub-scores

Domain Scores

  • Locomotor
  • Cognition
  • Vitality
  • Sensory
  • Psychological

Weekly System Development Breakdown

How each week of HTMAA 2025 builds toward the complete multimodal intrinsic capacity assessment system.

Week 0: Project Ideation

Initial concept development and planning

  • Project planning and documentation structure
  • Research direction and concept sketches

Week 1: Precision Cutting

Laser and vinyl cutting techniques

  • Device housing components via laser cutting
  • Sensor mounting brackets and enclosures
  • Vinyl cutting for device labeling and UI elements

Week 2: Embedded Programming

Electronics basics and microcontroller programming

  • Microcontroller programming for data collection
  • Basic sensor interface circuits

Week 3: 3D Scanning & Printing

3D technologies for device components

  • 3D scanning for custom component design
  • 3D printing for device housings

Week 4: Electronics Design

EDA and schematic design

  • PCB design for grip strength measurement
  • Sensor interface circuits and signal conditioning
  • Power management and data storage systems

Week 5: Electronics Production

PCB fabrication and assembly

  • PCB fabrication and debugging
  • Component assembly and testing

Week 6: Computer-controlled Machining

CAM and precision milling

  • Precision components via milling
  • Custom mechanical parts

Week 7: Input Devices

Sensor integration for data collection

  • Force sensors for grip strength measurement
  • Microphones for voice analysis
  • Camera systems for facial expression analysis
  • Reaction time measurement circuits

Week 8: Output Devices

Actuators and system integration

  • Display systems for real-time feedback
  • Haptic feedback for user interaction

Week 9: Molding & Casting

Forming and resin techniques

  • 3D printing and molding for custom components
  • Silicone casting for device components

Week 10: Mechanical & Machine Design

System integration and mechanical design

  • Mechanical design for ergonomic device housing
  • System integration and calibration protocols

Week 11: Networking & Communications

Connectivity and communication protocols

  • Bluetooth/Wi-Fi connectivity for data transmission
  • Wearable accelerometer integration and data fusion

Week 12: Interface & Application Programming

UI development and application programming

  • Mobile app development for user interface
  • Cloud integration for data storage and analysis
  • Machine learning pipeline for IC score calculation

Week 13: Wildcard & Final Integration

Final orders and complete system deployment

  • Final testing, validation, and documentation
  • System integration and deployment

Camera Subsystem

Advanced camera system implementation using XIAO ESP32S3 Sense with real-time image processing, EdgeAI integration, and interactive selfie capture functionality.

System Overview

XIAO ESP32S3 camera system showing successful image capture and OLED display

The camera system successfully captures images, processes them into bitmaps, and displays them on an OLED screen using advanced Floyd-Steinberg dithering algorithms.

Video Demonstrations

Camera Bot Selfie

Demonstration of the interactive selfie capture system with touch controls

Picture of Picture

Meta demonstration showing the camera system capturing its own display

Code Implementation

60-Second Auto Capture System

Automated camera system that captures and displays images every 60 seconds using advanced image processing techniques.

📄 Download .ino Script 📦 Download Complete .zip
Pseudocode Implementation:
1. Initialize camera with PSRAM frame buffers
2. Configure OLED display (128x64 pixels)
3. Set up 60-second capture interval timer
4. In main loop:
   a. Check if 60 seconds have elapsed
   b. Capture image from camera
   c. Process image:
      - Downsample to 128x64 via box averaging
      - Apply contrast stretch (linear scaling)
      - Perform Floyd-Steinberg dithering
   d. Display processed bitmap on OLED
   e. Release frame buffer
5. Repeat process

Touch-Controlled Capture System

Interactive camera system with touch controls allowing manual capture triggers in addition to automatic timing.

📄 Download .ino Script 📦 Download Complete .zip
Pseudocode Implementation:
1. Initialize camera and OLED display
2. Set up touch pins (GPIO1 & GPIO2) with threshold detection
3. Configure 60-second auto-capture timer
4. In main loop:
   a. Update touch sensor readings
   b. Detect touch press events (justPressed)
   c. Check for capture trigger:
      - Touch press OR 60-second timer elapsed
   d. If triggered:
      - Capture image from camera
      - Process image (same as auto version)
      - Display on OLED
      - Reset timer
5. Continue monitoring for next trigger

How It Was Done

The camera system implementation began with code from Charles Lu's electronics production weekly assignment, which was based on the official XIAO tutorial. Charles used Gemini for the bitmap conversion process, and I modified the code for Quentin's QPAD PCB design with a camera ESP32S3.

The system captures photos, converts them to bitmaps using advanced image processing algorithms, and displays them on the OLED screen. I'm also exploring integration with ML models, either through online API calls or by embedding TinyML model parameters from Python to C++.

Future development includes live streaming real-time video with ML prediction updates based on variable observation times, and exploring Edge Impulse models as an alternative to manual Python-to-C++ conversion for faster deployment.

EdgeAI/TinyML Integration

SenseCraft AI platform showing emotion classification model running on XIAO ESP32S3

Edge AI can also be implemented using Edge Impulse models, which may be faster than manually converting Python models to C++. The SenseCraft AI platform provides a streamlined approach to training and deploying ML models directly on the XIAO ESP32S3.

🔗 View SenseCraft Model

Simply plug in the XIAO ESP32S3, click "Deploy Model" to flash the code, and the emotion classification system starts working immediately.

Development Discussion: ChatGPT Session on Camera System Development

ReactionAge Module

Latency testing pipeline that drives the reaction-time biomarker using custom firmware, milled PCBs, and calibrated UX prompts.

Build Snapshot
  • ATmega32U4 control board milled in Week 2 with debounced trigger buttons and RGB countdown prompts.
  • Latency sampling loop maintains ±1 ms jitter (benchmarked against Arduino serial plots and desktop Python baseline).
  • Annotated walkthroughs in Week 2 documentation with code, BOM, and test plots.
Midterm Demo Assets

Grip Strength Rig

Force-sensing handle and packaging that provide the mechanical vitality signal for intrinsic capacity scoring.

Hardware Status
  • 3D printed torsional handle iterations from Week 3 tuned for 0–40 kg range using internal compliant ribs.
  • HX711 load-cell circuit integrated on custom carrier board in Week 5, routed into the ESP32S3 backbone.
  • Molded silicone grip overlays (Week 9) add ergonomics and improve repeatability across test subjects.
Next Steps
  • Finalize calibration script comparing readings to reference dynamometer.
  • Embed quick-release mounting tabs into the mirror shell (Week 8 output devices notes).

Voice Biomarker Pipeline

Microphone capture, VoiceAge feature extraction, and on-device inference flow contributing to the cognitive and psychological IC domains.

Implementation Highlights
  • PDM microphone breakout characterized in Week 7 input devices with FFT sweeps and noise floor measurements.
  • Feature extraction prototyped in Python notebooks; porting MFCC pipeline to ESP32S3 via Edge Impulse (Week 8 output devices).
  • Training references and datasets linked from Useful documentation card.
Pending Work
  • Deploy inference bundle to the SenseCraft board alongside the camera stack.
  • Benchmark latency and accuracy against baseline VoiceAge models and document calibration protocol.

Week 0 - Introduction & Design

Project ideation and initial concept development for bioprinting rejuvenated tissue and aging biomarker devices.

Project planning Concept sketches Research direction

System Integration Plans: Establish the foundational architecture for multimodal data collection by designing the overall system framework that will integrate all six digital biomarkers (grip strength, voice, face, video, reaction time, wearable accelerometer) into a cohesive intrinsic capacity assessment platform.

Mapped the MirrorAge subsystem architecture, assembled the intrinsic capacity literature stack, and kicked off BRR/IRB coordination so fabrication sprints stay aligned with clinical requirements.

Week 1 - Principles & Cutting

Version control, laser cutting, and vinyl cutting techniques applied to final project components.

Laser cutting Vinyl cutting Version control

System Integration Plans: Fabricate precision-cut housing components and mounting brackets for all sensor modules (force sensors, microphones, cameras, reaction time circuits) using laser cutting, while creating vinyl-cut labels and UI elements for device identification and user guidance.

Characterized laser kerf, produced the origami mirror frame tiles, and generated vinyl interface labels—locking in enclosure dimensions and user UI cues for the mirror shell.

Week 2 - Embedded Programming

Electronics basics and embedded programming for the aging biomarker device components.

Microcontrollers Programming Electronics

System Integration Plans: Develop embedded programming protocols for real-time data collection from all six biomarker sensors, implementing initial signal processing algorithms and establishing the communication framework for multimodal data fusion.

Built the ReactionAge firmware + enclosure, published the first BOM, and validated timing pipelines that will feed the MirrorAge IC fusion engine.

Week 3 - 3D Scanning & Printing

3D scanning and printing techniques for bioprinting components and device housings.

3D scanning 3D printing AI tools

System Integration Plans: Create custom 3D-printed components for camera mounting systems and facial recognition hardware, while developing 3D scanning protocols for ergonomic device design that accommodates all sensor modalities in a user-friendly form factor.

Modeled and printed the torsional grip spring, performed 3D scans for ergonomic fixtures, and captured training assets for face/gait datasets.

Week 4 - Electronics Design

EDA and schematic design for the aging biomarker device electronics.

EDA tools Schematic design Circuit design

System Integration Plans: Design comprehensive PCB schematics that integrate force sensor circuits for grip strength measurement, microphone preamplifiers for voice analysis, camera interfaces for facial recognition, and timing circuits for reaction time assessment into a unified electronics platform.

Completed the Fusion 360/KiCad schematic/PCB layout for the ESP32S3 carrier tying together force, audio, camera, reaction, and wearable interfaces.

Week 5 - Electronics Production

PCB fabrication, debugging, and assembly for the biomarker device.

PCB fabrication Debugging Assembly

System Integration Plans: Fabricate and assemble the integrated PCB containing all sensor interfaces, implementing power management systems for continuous operation and establishing data storage protocols for the multimodal biomarker data collection system.

Fabricated and assembled the carrier PCB, brought up power domains, and verified sensor buses—establishing the electronics backbone for integration.

Week 6 - Computer-controlled Machining

CAM and milling for precision components and device housings.

CAM Milling Precision machining

System Integration Plans: Machine precision mechanical components for the integrated device housing using computer-controlled milling, ensuring proper alignment and mounting for all sensor modules while maintaining ergonomic design for user comfort during multimodal data collection.

Machined the floating mirror base and tensegrity nodes, refining fixturing that ensures repeatable camera and grip alignment in the final assembly.

Week 7 - Input Devices

Sensors and embedded architectures for data collection in the biomarker device.

Sensors Input devices Data collection

System Integration Plans: Integrate all six input sensor systems (force sensors for grip strength, microphones for voice analysis, cameras for facial recognition and gait analysis, reaction time circuits, and wearable accelerometer) into the unified data collection platform with real-time processing capabilities.

Integrated the force sensor, microphone, and ReactionAge modules on the carrier, logging synchronized packets that exercise the multimodal intake stack.

Week 8 - Output Devices

Actuators and system integration for the biomarker device outputs.

Actuators Output devices System integration

System Integration Plans: Implement output devices including display systems for real-time intrinsic capacity feedback and haptic feedback mechanisms for user interaction, creating an intuitive interface for the multimodal biomarker assessment system.

Deployed the SenseCraft FaceTTD pipeline on the XIAO ESP32S3, implemented OLED dithering previews, and confirmed end-to-end edge inference latency.

Week 9 - Molding & Casting

Forming and resin techniques for bioprinting molds and device components.

Molding Casting Resins

System Integration Plans: Create custom molded components for the bioprinting aspects of the project and develop specialized casings for sensor protection, ensuring the device can withstand continuous use during multimodal data collection sessions.

Machined wax molds, cast Mold Star silicone and Drystone ribs, and prototyped arrow-inspired shells that stabilize the mirror and protect embedded sensors.

Week 10 - Mechanical & Machine Design

Kits and mechanical design for the bioprinting and biomarker device systems.

Mechanical design Machine design System integration

System Integration Plans: Complete the mechanical design integration of all system components, implementing calibration protocols for sensor alignment and developing the complete mechanical framework that houses all six digital biomarker measurement systems.

Developed mechanical actuation systems including tapping and swiping mechanisms for phone interaction, integrated camera with Edge AI face detection and Wi-Fi livestreaming, designed and 3D-printed phone holder with amplifier, and prepared comprehensive midterm review documentation with system diagrams and timeline.

Week 11 - Networking & Communications

BLE, Wi-Fi, and communication protocols for the biomarker device connectivity.

BLE Wi-Fi Communications

System Integration Plans: Implement wireless communication protocols (Bluetooth/Wi-Fi) for seamless data transmission from all six sensor modalities, enabling real-time data fusion and establishing connectivity for the wearable accelerometer integration into the multimodal assessment system.

Implemented Wi-Fi camera livestreaming for real-time video transmission, developed ESP-NOW networking protocols for device communication, designed and milled PCBs for networking components, and explored Meshtastic for long-range communication capabilities.

Week 12 - Interface & Application Programming

UI and application development for the biomarker device interface.

UI design Applications User interface

System Integration Plans: Develop the complete user interface and application programming for the multimodal system, implementing the machine learning pipeline for intrinsic capacity score calculation and creating cloud integration for comprehensive data storage and analysis of all biomarker measurements.

Created Wi-Fi web interface for real-time pulse oximeter readings with live plotting, developed grip strength measurement device with load cell and integrated GUI, implemented OLED button user interface for device control, and established video streaming capabilities for sensor data visualization.

Week 13 - Wildcard & Final Orders

Final orders and wildcard week activities for project completion.

Final orders Wildcard activities Project completion

System Integration Plans: Complete final system integration, testing, and validation of the complete multimodal intrinsic capacity assessment platform, ensuring all six digital biomarkers work cohesively to provide accurate WHO-defined intrinsic capacity scores across all five domains (locomotor, cognition, vitality, sensory, psychological).

Designed and fabricated ATtiny1626 tiny development board with fiber laser PCB engraving, created glass engraving system with UV laser including blinking heart integration for visual feedback, milled mounting holes and completed board assembly, and prepared final board designs for system integration.

System Integration

Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation. View full details →

Day 1: Design Integration

Initial system integration work focused on subsystem validation, CAD model consolidation, and design backbone acquisition for band integration. Conducted comprehensive testing of all subsystems to ensure proper functionality, identified and resoldered defective joints, and exported CAD models of all PCBs into a unified assembly model.

Exploded isometric view of the integrated CAD model showing all PCBs, housing components, and wearable band assembly
Integrated CAD Model: Exploded isometric view of the complete system assembly, including all PCBs, main housing with transparent enclosure, and wearable band components.

Day 2: Electrical and Mechanical Integration

Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation. Integrated the complete demo table with precise placement of the MirrorAge handgrip subsystem and aging clock subsystem, providing a unified platform for system demonstration.

The 3D printed watch casing and bands for the aging clock subsystem were adapted from the open-source MutantW V2 ESP32-S3 smartwatch design and scaled 2:1 for this project, following the mechanical envelope and band geometry documented in the MutantW V2 GitLab project, Instructables build guide, and /r/arduino discussion.

To keep the enclosure wearable and serviceable, the aging clock TFT board was also rotated 90° so the USB power and programming cable can be threaded through the side button openings, allowing clean cable exit and reducing mechanical stress on the connector during charging and firmware updates.

Complete demo table assembly showing integrated MirrorAge handgrip and aging clock subsystems
Complete Demo Table Assembly: Integrated mechanical design showing precise placement of the MirrorAge handgrip subsystem and aging clock subsystem on the demo table.

Day 3: Fabrication Integration

Continued fabrication work integrating all manufacturing processes. Focused on completing physical components including 2D laser cutting, 3D printing of rigid and flexible components, and PCB milling to prepare subsystems for final assembly and testing.

TPU band component printed for flexible wearable
TPU Band Print: Flexible wearable band component printed using TPU material
TPU band component showing flexibility
Flexible Band: TPU band demonstrating material properties and print quality

Day 4: Subsystem Integration

Comprehensive subsystem integration combining 2D fabrication (laser cutting), 3D printing (rigid and flexible components), PCB milling (single and double-sided boards), and molding/casting to complete all physical components. Upgraded MirrorAge TFT board to v13 and aging clock TFT board to v16 with optimized component placement and routing. Established reliable I²C bus communication and validated all sensor addresses.

Laser Cutting

Laser cutting 1.35mm acrylic for display cover
Thin Acrylic Cutting: Laser cutting 1.35mm acrylic sheet for improved display cover fit
Successfully laser-cut acrylic display cover
Successful Cut: Completed laser-cut acrylic display cover with precise dimensions
Laser Cutting Process: Laser cutting operation for thin acrylic display cover

PCB Milling

Front-Side Milling: Beginning of front-side milling operation for aging clock board
Back-Side Milling: Beginning of back-side milling operation
Removing milled PCB from machine
PCB Removal: Removing milled board for inspection and testing
Double-sided board showing both sides
Double-Sided Board: Complete double-sided board showing front and back

Board Design Upgrades

MirrorAge TFT board front side version 13
MirrorAge TFT v13: Upgraded front-side layout with optimized component placement
Aging clock TFT board front side version 16
Aging Clock TFT v16: Upgraded front-side design with rotated components for optimal fit

Day 5: Full System Integration

Final integration day focused on closing the watch subsystem, soldering and verifying all double-sided boards, refining molded bands, and assembling the complete MirrorAge demo with both the aging clock and grip-strength subsystems fully wired and tested. Completed rivet installation for plated through-holes, sensor bring-up (accelerometer, pulse oximeter, OLED/TFT displays), and full system integration on the tensegrity demo table. The integrated system successfully demonstrated synchronized sensor readouts and display behavior across all boards.

Rivet Installation & Soldering

Placing Rivets: Using tweezers to drop rivets into each via before flipping the board
Rivet Flaring: First hammering pass to open each rivet with the thin mandrel
Close-up of dense double-sided soldering on the aging clock board
Double-Sided Soldering: Dense layout executed with controlled solder volume to preserve enclosure clearance
Soldered MirrorAge board front
Soldered MirrorAge Board: Complete double-sided board with all components installed
Soldering Passives: Close-up of tip control to avoid tombstoning small components

Sensor Testing & Bring-Up

Working pulse oximeter readings captured from the aging clock board
Pulse Oximeter Bring-Up: MAX30102 readings verified after soldering and I²C debugging
Photo of the aging clock board showing accelerometer working
Accelerometer Bring-Up: First successful accelerometer readings confirmed on the aging clock board
OLED display showing text output from the aging clock firmware
OLED Verification: Base OLED display tested before migrating to TFT-only operation
Both OLED and TFT displays working together on the integrated system
Display Stack: OLED and TFT displays confirmed working simultaneously during integration testing

System Integration

Integrated watch subsystem with bands, enclosure, and electronics assembled
Integrated Watch Subsystem: TPU bands fastened into the watch clip with assembled electronics
Final mechanical fit of the aging clock board in the enclosure
Enclosure Fit: Final mechanical fit confirming CAD accuracy and proper clearances
Working Integrated System: Complete MirrorAge system demonstrating synchronized sensor readouts and display behavior

Day 6: Final Presentation

Final project presentation and demonstration of the complete MirrorAge system. Showcased the integrated aging clock and grip-strength subsystems working together on the demo table, demonstrating real-time sensor data collection and display synchronization. View final presentation demo →

Final Presentation Demo: Complete MirrorAge system demonstration showing integrated aging clock and grip-strength subsystems operating together in real-time

Full Documentation: For complete details, design files, code, and comprehensive documentation of the system integration process, see Week 14: System Integration.

Final Project Masterpiece

Complete demonstration of the integrated MirrorAge system showcasing all subsystems working together in real-time; the required HTMAA final project questions are answered in the Answering Questions section below.

Final Presentation Demo: Complete MirrorAge system demonstration showing the integrated aging clock and grip-strength subsystems operating together on the demo table, with synchronized sensor readouts and real-time display updates across all boards.

Watch on YouTube

1 Minute Video and 1 Slide Summary

Condensed 1-minute video and 1 slide summary showcasing key features and functionality of aging clock device system.

1 Minute Video: Condensed demonstration of the MirrorAge system highlighting the integrated aging clock and grip-strength subsystems. AI assistance details →
Summary slide for MirrorAge final project
Summary Slide: Final project summary slide highlighting key achievements and system overview. AI assistance details →

Design Files

Complete repository of all design files, CAD models, schematics, PCB layouts, firmware, and fabrication files from Week 0 through Week 14, organized by week and component type.

Title Week Category Directory/File Description Link
Mirror Concept 1 0 Concept week0/mirror1.png Initial mirror concept visualization for the MirrorAge project. View →
Mirror Concept 2 0 Concept week0/mirror2.png Alternative mirror design concept exploring form and function. View →
Origami Crease Pattern (CAD) 1 Laser Cutting week1/assignment1/lasercutter/crease_pattern_cad_black v1.f3d Fusion 360 CAD file for black crease pattern origami design for laser cutting. Download →
Origami Crease Pattern (DXF) 1 Laser Cutting week1/assignment1/lasercutter/crease_pattern_cad_black v0.dxf DXF file for black crease pattern laser cutting paths. Download →
Square Borders SVG 1 Laser Cutting week1/assignment1/lasercutter/square_borders_scan_lines_color_fixed_final_path.svg SVG file with final laser cutting paths for square borders and scan lines. Download →
Joint Test (CAD) 1 Laser Cutting week1/kerfandclearance/designfiles/HTMAJointTest v0.f3d Fusion 360 CAD file for joint testing with kerf and clearance measurements. Download →
Joint Test (DXF) 1 Laser Cutting week1/kerfandclearance/designfiles/HTMAJointTest.dxf DXF file for joint test laser cutting with kerf compensation. Download →
QPAD21 PCB Layout 2 PCB Design week2/pcb-design/QPAD21.kicad_pcb KiCad PCB layout file for QPAD21 reaction time measurement board. Download →
QPAD21 Schematic 2 PCB Design week2/pcb-design/QPAD21.kicad_sch KiCad schematic file for QPAD21 reaction time circuit design. Download →
QPAD21 Project 2 PCB Design week2/pcb-design/QPAD21.kicad_pro KiCad project file containing all QPAD21 board design files. Download →
Slinky CAD 3 3D Printing week3/designfiles/slinky1/first_slinky v1.f3d Fusion 360 CAD file for 3D printed slinky design for testing print capabilities. Download →
Slinky STL 3 3D Printing week3/designfiles/slinky1/first_slinky v1.stl STL file for 3D printing the slinky component. Download →
Slinky 3MF 3 3D Printing week3/designfiles/slinky1/first_slinky v1.3mf 3MF file with print settings for the slinky 3D print job. Download →
ESP32-S3 LED Board 4 PCB Design week4/designfiles/esp32s3_led v6.brd Eagle PCB board layout file for ESP32-S3 LED development board. Download →
ESP32-S3 LED Schematic 4 PCB Design week4/designfiles/esp32s3_led v3.sch Eagle schematic file for ESP32-S3 LED circuit design. Download →
ESP32-S3 Connector Board 4 PCB Design week4/designfiles/esp32s3_led_connector v6.brd Eagle PCB board layout for ESP32-S3 with connector interface. Download →
ESP32-S3 Connector Schematic 4 PCB Design week4/designfiles/esp32s3_led_connector v3.sch Eagle schematic for ESP32-S3 connector circuit design. Download →
Floating Mirror 3MF 6 CNC Machining week6/designfiles/floating_mirror v12.3mf 3MF file for floating mirror CNC machining with print settings. Download →
Floating Mirror DXF 6 CNC Machining week6/designfiles/floating_mirror v12.dxf DXF file for floating mirror CNC machining toolpaths. Download →
Demo Tabs CAD 6 CNC Machining week6/designfiles/demo tabs v8.f3d Fusion 360 CAD file for demo tabs design for CNC machining. Download →
Tensegrity Toolpath 6 CNC Machining week6/designfiles/Saleem_tensegrity_1.tap CNC toolpath file (TAP) for tensegrity structure machining. Download →
Camera Firmware 8 Firmware week8/designfiles/camera_dev_board.ino Arduino firmware for camera development board with image capture and display functionality. Download →
Camera Pins Header 8 Firmware week8/designfiles/camera_pins.h Header file defining pin configurations for camera board connections. Download →
Sensors Display Firmware 8 Firmware week8/designfiles/sensors_display.ino Arduino firmware for sensor data collection and OLED display output. Download →
Kryptonite Arrow STL 9 Molding & Casting week9/designfiles/kryptonite_arrow_merged.stl STL file for 3D printed kryptonite arrow design for molding and casting. Download →
Phone Holder & Movement CAD 10 Mechanical Design week10/designfiles/actuation_automation/phone holder and movement v8.f3z Fusion 360 archive for phone holder and movement mechanism design. Download →
Phone Holder 3MF 10 3D Printing week10/designfiles/holder_amplifier/phone-holder-print.3mf 3MF file for 3D printing phone holder with optimized print settings. Download →
Phone Stand Amplifier 3MF 10 3D Printing week10/designfiles/holder_amplifier/phone-stand-amplifier-print.3mf 3MF file for phone stand with integrated amplifier design. Download →
Linear Motor 3MF 10 Mechanical Design week10/designfiles/tapping_swiping_motors/linear_motor.3mf 3MF file for linear motor mechanism 3D printing. Download →
Linear Motor Stylus 3MF 10 Mechanical Design week10/designfiles/tapping_swiping_motors/linear_motor_stylus.3mf 3MF file for linear motor stylus mechanism for phone interaction. Download →
Stylus STL 10 3D Printing week10/designfiles/stylus/printable_stylus_with_built_in_stand.stl STL file for printable stylus with integrated stand design. Download →
Speaker PCB Schematic 10 PCB Design week10/designfiles/speaker_pcb/pcb_schematic.png Schematic diagram for speaker PCB with DFPlayer module integration. View →
Speaker PCB Layout 10 PCB Design week10/designfiles/speaker_pcb/pcb_design.png PCB layout design image for speaker board with DFPlayer. View →
Speaker PCB Gerber (Front) 10 PCB Design week10/designfiles/speaker_pcb/DFPlayer-F_Cu.gbr Gerber file for speaker PCB front copper layer for fabrication. Download →
Speaker PCB Gerber (Edge) 10 PCB Design week10/designfiles/speaker_pcb/DFPlayer-Edge_Cuts.gbr Gerber file for speaker PCB edge cuts and board outline. Download →
Invisible String CAD 11 Networking week11/design/invisible_string.f3z Fusion 360 archive for Invisible String networking project CAD design. Download →
Invisible String PCB Board 11 Networking week11/design/invisible_string_pcb.fbrd Fusion 360 EDA board file for Invisible String PCB design. Download →
Invisible String Schematic 11 Networking week11/design/invisible_string_schematic.fsch Fusion 360 EDA schematic file for Invisible String circuit design. Download →
Invisible String Eagle PCB 11 Networking week11/design/invisible_string_pcb_brd.brd Eagle PCB board file for Invisible String networking board layout. Download →
Invisible String Enclosure 11 Networking week11/design/invisible_string_cad.3mf 3MF file for Invisible String enclosure 3D printing. Download →
Grip Strength Base 12 3D Printing week12/design/Base.3mf 3MF file for grip strength device base component 3D printing. Download →
Grip Strength Handle 12 3D Printing week12/design/Handle.3mf 3MF file for grip strength device handle component 3D printing. Download →
Grip Strength Case 12 3D Printing week12/design/Case.3mf 3MF file for grip strength device electronics case 3D printing. Download →
Load Cell Datasheet 12 Documentation week12/design/CZL601AC-Datasheet_.pdf Datasheet PDF for CZL601AC load cell used in grip strength measurement. View →
ATtiny QFN PCB 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_pcb KiCad PCB layout for ATtiny QFN tiny development board design. Download →
ATtiny QFN Schematic 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_sch KiCad schematic for ATtiny QFN tiny board circuit design. Download →
ATtiny QFN Project 13 PCB Design week13/designfiles/ATtiny_QFN/ATtiny_QFN.kicad_pro KiCad project file containing all ATtiny QFN board design files. Download →
ATtiny QFN Archive 13 PCB Design week13/designfiles/ATtiny_QFN.zip ZIP archive containing all ATtiny QFN board design files and STEP model. Download →
RP2354A Dev Board PCB 13 PCB Design week13/designfiles/RP2354A-dev-v1.1/RP2354A-dev.kicad_pcb KiCad PCB layout for RP2354A development board design. Download →
RP2354A Dev Board Schematic 13 PCB Design week13/designfiles/RP2354A-dev-v1.1/RP2354A-dev.kicad_sch KiCad schematic for RP2354A development board circuit design. Download →
RP2354A Dev Board Archive 13 PCB Design week13/designfiles/RP2354A-dev-v1.1.zip ZIP archive containing all RP2354A development board design files. Download →
Prism Holder STL 13 3D Printing week13/designfiles/prism.stl STL file for glass engraving prism holder 3D printing. Download →
ATtiny1626 Test Code 13 Firmware week13/designfiles/ATtiny1626_testcode_blinkingLED.ino Arduino test code for ATtiny1626 board with blinking LED functionality. Download →

Note: Additional design files, firmware, and documentation can be found in the respective week pages. Some files are part of larger archives (ZIP files) that contain multiple related design files. The 3D printed watch casing and band geometries used in MirrorAge were adapted and scaled 2:1 from the open-source MutantW V2 ESP32-S3 smartwatch design, documented in the MutantW V2 repository, MutantW V2 Instructables guide, and associated Arduino community thread.

Reflections & Learnings

Comprehensive reflections on the MirrorAge Intrinsic Capacity Mirror project development journey.

Key Points

  • Multimodal sensor fusion enables comprehensive intrinsic capacity assessment across WHO-defined domains
  • Modular system design allows for incremental development and component-level testing throughout the semester
  • Integration of mechanical, electrical, and software subsystems requires careful planning and coordination
  • Iterative design and prototyping revealed the importance of early testing and validation
  • Documentation and knowledge transfer are critical for project continuity and future improvements
  • The project successfully demonstrates how digital fabrication and embedded systems can create meaningful health assessment tools

Contributions

Acknowledgements and contributions that made this project possible.

Gladyshev Lab and Collaborators

Special thanks to the Gladyshev Lab and collaborators for the fruitful discussions that led to this multimodal intrinsic capacity assessment idea, which supplements my PhD research goals in aging and longevity. The conceptual framework for integrating multiple digital biomarkers to assess intrinsic capacity domains emerged from collaborative research discussions on aging biomarkers and healthspan assessment.

👨‍🔬 Prof. Vadim Gladyshev 👨‍🔬 Dr. Jesse Poganik

Ethical AI Use

Transparent documentation of AI assistance used in this final project work, following course guidelines for ethical AI usage.

📋 General Guidelines: See General Commands for Cursor on the homepage for standard guidelines and commands used consistently throughout documentation development.

Cursor · Project Plan & Weekly Schedule

Comprehensive Cursor AI assistance for outlining the project plan and weekly schedule, including documentation structure, content organization, systematic updates across all week pages and the final project page, media integration, and summary generation workflows.

📄 View Transcript 💾 Download Markdown

Cursor · Week 14 & Final Project Documentation

End-of-semester Cursor AI support for Week 14 system integration and finalproject.html polishing, including aging clock bring-up wording, Answering Questions cross-links, ethical AI notes, and BOM consistency checks. The full session log is archived as markdown and converted to styled HTML using the course md_to_html_converter.py script.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project and Week 14 HTML Images

Cursor AI assistance for updating finalproject.html and week14.html, including adding the summary slide side-by-side with the one-minute video, and reorganizing the Serial Bring-Up sensor testing section with new image order and combined captions. The full conversation is preserved as a markdown transcript and a styled HTML view generated with scripts/md_to_html_converter.py.

📄 View Transcript 💾 Download Markdown

Cursor · Final Project Section Refresh

Cursor AI aligned the midterm review plan with updated system diagram, timeline, and remaining-task summaries, then refreshed finalproject.html to remove legacy bioprinting language and re-point internal links. The full transcript and generated HTML are available for review.

📄 View Transcript 💾 Download Markdown

Cursor · Add White Background to Photo

Cursor AI assistance for adding a white background behind the photo in the Final Project Spiral Development Model section on finalproject.html. The image container was updated with white background, padding, and rounded corners for improved visual presentation.

📄 View Transcript 💾 Download Markdown

Cursor · Midterm Final Project Update

Cursor AI distilled Week 0–9 documentation and the Oct 31 lab meeting deck into midterm-ready narrative, cost, and validation content, replacing every placeholder in finalproject.html. Transcript archived in markdown and HTML (generated via scripts/md_to_html_converter.py) for transparency.

📄 View Transcript 💾 Download Markdown

AI-Assisted Intrinsic Capacity Research & Design

ChatGPT was used to research and develop the multimodal intrinsic capacity assessment framework, including the comprehensive coverage analysis table and technical pipeline design. The AI assisted with structuring the WHO-defined intrinsic capacity domains, identifying appropriate digital biomarkers, and designing the fusion architecture for multimodal data processing.

🔗 View ChatGPT Discussion

AI-Assisted Final Project Development

Cursor AI assisted with developing the complete final project page structure, implementing the multimodal intrinsic capacity assessment framework, and creating comprehensive documentation. The AI helped with HTML structure, responsive design, weekly system integration plans, and organizing the technical documentation for the complete biomarker assessment system.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Final Project Presentation Structure

Cursor AI assisted with finalizing the project presentation structure to ensure full compliance with MIT Academy project presentation requirements. The AI helped implement all required sections including answering questions, design documentation, bill of materials, individual mastery requirements, course presentation structure, and spiral model development approach visualization.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Camera System Development

ChatGPT was used to discuss camera system implementation strategies, image processing algorithms, and EdgeAI integration approaches. The AI assisted with understanding Floyd-Steinberg dithering implementation, touch sensor integration, and exploring TinyML deployment options for the XIAO ESP32S3 platform.

🔗 View ChatGPT Discussion

AI-Assisted Project Highlights and Camera Subsystem Development

Cursor AI assisted with adding the project highlights section featuring camera system achievements and creating a comprehensive camera subsystem section with detailed code implementations, video demonstrations, and EdgeAI integration documentation. The AI helped with HTML structure, responsive design, image processing explanations, and organizing the technical documentation for the complete camera system showcase.

📄 View Full Transcript 💾 Download Chat File

Cursor · Final Project Documentation Update

Cursor AI assistance for final project documentation updates including system integration summaries, highlights, and final project masterpiece section. The AI helped create a comprehensive system integration section in finalproject.html with day-by-day summaries, added key images and videos from week14.html, integrated system integration highlights into the project highlights section, and created a final project masterpiece section with embedded video and YouTube link. The transcript was converted to HTML using scripts/md_to_html_converter.py for better browser viewing.

📄 View Transcript 💾 Download Markdown

ChatGPT · Video Planning

ChatGPT assistance for planning the one-minute video demonstration of the MirrorAge system, including script development, key feature selection, narrative structure, and video production guidelines to showcase the integrated aging clock and grip-strength subsystems effectively.

🔗 View ChatGPT Discussion

ChatGPT · One Slide Summary Development

ChatGPT assistance for developing the one-slide summary based on email exchange with Prof. Vadim Gladyshev, including distilling key project achievements, technical highlights, and system integration outcomes into a concise visual summary format for the final project presentation.

🔗 View ChatGPT Discussion

Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

``` ### What I changed - **In `week14.html`** - Under **“Aging Clock TFT Board Upgrades (v16)”**, added a muted paragraph explicitly stating that the aging clock TFT board was **rotated 90° so the USB power and programming cable can be routed through the side button openings** of the watch enclosure, to avoid connector strain and preserve band clearance. - **In `finalproject.html`** - In the **Day 2: Electrical and Mechanical Integration** subsection, directly after the MutantW V2 attribution/scaling paragraph, added another muted sentence noting that the **aging clock TFT board was rotated 90° so the USB power/programming cable can be threaded through the button holes**, improving cable management and reducing mechanical stress on the connector.