# Week 14 project updates _Exported on 12/14/2025 at 07:30:15 EST from Cursor (2.1.39)_ --- **User** follow the general guidelines: — for each image or video add a caption and description. — make all the text professional and succinct without losing key details — make the information as organized and as aesthetically pleasing as possible — don't just take my notes from the prompt, refine it before putting it on the page -- for anything step by step, make the steps clear and easy to follow all the images are in week14/day4 specific tasks: (all in week14.html) 1-- update electrical integration section with the content in this chat (refine it as futuring electrical improvements) -- embed the links as resources found a touchscreen schematic: https://forum.arduino.cc/t/esp32-c3-and-ili9341/1412193/9 touch_screen.png touch_screen.png Arduino Forum ESP32-C3 and ILI9341 Yes. With an ESP32-C3 (super mini) and an ILI9341 with touch screen (as yours but 2.8") using these libraries: Additional notes: The diagram includes backlight brightness and ambient light detection (transistors Q4, Q5 and Q6). For simplicity you can ignore all that and simply power the backlight via a say 100R resistor at 3v3. The TFT screen reset pin is not used and is pulled to 3v3 via a 10k resistor. The diagram shows this incorrectly as pulled to 5v. The touch screen uses t... Nov 4th 11:32 potentially here too https://forum.arduino.cc/t/ili9341-tft-display-in-xiao-esp32-seeeduino-miso-issue/1107577/3 Pin connections: VCC -> 5 V GND -> GND CS -> GPIO3 RST -> GPIO4 DC -> GPIO5 MOSI -> GPIO10 SCK -> GPIO8 LED -> 5 V MISO -> GPIO9 T_CLK -> TFT_SCK T_CS -> GPIO21 T_DIN -> TFT_MOSI T_DO -> TFT_MISO Arduino Forum ILI9341 TFT display in XIAO ESP32 Seeeduino MISO issue Well I'm connecting the tft MISO to the esp MISO. I'm not really defining MISO to GPIO9, so I don't know if I can assign MISO to another pin. I looked in different posts and couldn't find a way of assigning it to another pin. I do found that the MISO pin enters bootloading mode after resetting the device. Mar 27th, 2023 Saleem Aldajani 11:41 AM super cool tangent: https://docs.cirkitdesigner.com/project/published/2b874d09-7d4c-4b53-944e-c6cc824a394c/esp32c3-based-thermal-imaging-camera-with-tft-display docs.cirkitdesigner.comdocs.cirkitdesigner.com ESP32C3-Based Thermal Imaging Camera with TFT Display | Cirkit Designer Explore comprehensive documentation for the ESP32C3-Based Thermal Imaging Camera with TFT Display project, including components, wiring, and code. This project is a thermal imaging camera that utilizes an ESP32C3 microcontroller to process thermal data from a GY-MCU90640 sensor and display it on an ili9341 TFT screen. The camera captures temperature variations and translates them into a visual heat map, which is then rendered on the TFT display for real-time monitoring. Perfect for students, hobbyists, and developers, this project can be opened and customized directly in Cirkit Designer. (327 kB) https://docs.cirkitdesigner.com/project/published/2b874d09-7d4c-4b53-944e-c6cc824a394c/esp32c3-based-thermal-imaging-camera-with-tft-display Saleem Aldajani 2:21 PM always check front and back before milling is the lesson learned in schematic and on the machine in the bantam tools software, i forgot to check back on the machine -- future sources for tft touchscreen wiring to esp32 xiao (put links to the other sources i read too just highlight this one as the one i used for pinout mapping to esp32 xiao) tft touch-esp wiring: https://forum.arduino.cc/t/esp32-c3-and-ili9341/1412193/9 https://forum.arduino.cc/t/ili9341-tft-display-in-xiao-esp32-seeeduino-miso-issue/1107577/3 -- thermal imaging camera https://docs.cirkitdesigner.com/project/published/2b874d09-7d4c-4b53-944e-c6cc824a394c/esp32c3-based-thermal-imaging-camera-with-tft-display embed this images and reference it: https://forum.arduino.cc/t/esp32-c3-and-ili9341/1412193/9 touch_screen_wiring_diagram.png 2-- add a new section for day 4 subsystem integration with these subsections 2.1. 2d fabrication: laser cutting and vinyl cutting laser cut thinner acrylic for better fit of clear display cover for aging clock subsystem, embed these images and videos: aging-clock-clips-nice.jpeg laser-cutting-thin-acrylic.mp4 laser-cutting-thin-acrylic-final.mp4 laser-cutting-1.35mm-acrylic.jpeg laser-cut-success.jpeg laser-cut-success-2.jpeg 2.2. 3d printing rigid and flexible components the band clips were printed out of tpu for better fits, embed these images: filed-inserted-clips.jpeg assembly-clips.jpeg aging-clock-clips.jpeg aging-clock-clips-nice.jpeg 2.3. milling single and double-sided boards i milled the design for tft aging clock and will solder and test today. the first mill had traces that were too close and the rivets were under the microcontroller, so i fixed it by hand with the ultrasonic knife and then had time to mill the fixed board at the end of the end when everybody finished, embed these images and videos: mill1-front.mp4 mill1-locate-tool-1.mp4 mill1-front-start.mp4 mill1-locate-tool-2.mp4 mill1-front-start-2.mp4 mill1-back-start.mp4 mill1-back-start-2.mp4 mill1-back-start-3.mp4 mill1-unloading.mp4 mill1-vacuuming.mp4 removing-milled-pcb.jpeg first-side.jpeg missing-traces.jpeg missing-trace-1.jpeg missing-traces-2.jpeg double-sided-mills-1.jpeg sonic-saber-ultrasonic-knife.jpeg utility-knife.jpeg cut-trace-1.jpeg trace-1-cut.jpeg cut-trace-2.jpeg trace-2-cut.jpeg agingclock_board_v1_front.jpeg agingclock_board_v1_back.jpeg tft-fits.jpeg tft-fits-2.jpeg milling3-agingclock-front-1.mp4 milling3-agingclock-front-2.mp4 milling3-agingclock-front-3-locate-tool.mp4 milling3-agingclock-front-4-start.mp4 milling3-agingclock-front-4-tool2.mp4 milling3-agingclock-back-1.mp4 milling3-agingclock-back-2-start.mp4 milling3-agingclock-back-3-start.mp4 milling3-agingclock-vacuuming.mp4 aging_clock_tft_moved_rivets.jpeg aging_clock_tft_moved_rivets_nice.jpeg aging_clock_tft_moved_rivets_holes.jpeg i remilled the base amplifier board that failed yesterday due to polygon pour isolate default set to 0 again after we changed it to 32 on the back and it worked. i also milled the upgraded board to include a tft screen, and now i can solder and test both depending on how much time there is. embed these images and videos: mirrorage_board_v1_front.jpeg mirrorage_board_v1_back.jpeg mirrorage-tft-milling-front.mp4 mirrorage-tft-milling-front-2.mp4 mirrorage-tft-milling-back-1.mp4 missing-trace-1-mirrorage-tft.jpeg mirrorage_tft_front.jpeg double-sided-taping.jpeg mirrorage_tft_worked.jpeg mirrorage_tft_back.jpeg mirrorage_tft_back_nice.jpeg 2.4. molding and casting starting from Anthony's sketch in my midterm review, i designed 3d-printable open molds to cast the watch bands out of moldstar 30. i printed them out of PLA, waxed them, mixed molds, poured, leveled, then moved under lamp for curing, demolded, then tested they fit into each other. i needed to cut out the center part of the printed mold for the part to be removable with an ultrasonic knife before pouring. for backup, i printed an final tpu band since one print failed last time. embed these images and videos: midterm_review_sketch_anthony.jpeg printed-mold-a.jpeg printed-mold-b.jpeg printed-molds.jpeg wax-melting.mp4 wax-melting-2.mp4 wax-painting.mp4 mold-a-cutting-waxing.jpeg mold-b-cutting-waxing.jpeg wax-thinning.mp4 waxed-casting-ready.jpeg a-b-mixing.jpeg mixing-mold.mp4 stirring-mixed-molds.mp4 a-b-mixed.jpeg pouring-1.mp4 poured.jpeg leveling-liquid.mp4 leveling-liquid-2.mp4 level.jpeg heat-lamp-curing.jpeg heat-lamp-curing-2.jpeg demolding-1.mp4 demolding-2.mp4 demolding-tabs.mp4 band-testing.mp4 2.4. aging clock subsystem fabrication tft aging clock board was assembled into the watch enclosure and it fit! embed this image: aging-clock-assembly.jpeg 3. go through week14/system_integration_design_files folder by folder and file by file and put a big table in design files for all the design files that were used so far, include a short title name for the file, brief description, category, link to where it was used on the page if available, and link to download 4. update critical path analysis based on what we have done in the page so far after fully updating tasks 1 and 2 and 3 --- **Cursor** Reviewing the current structure and gathering the necessary files. Searching for the electrical integration and critical path sections: Reading the relevant sections: Searching for the Day 3 section to determine where to add Day 4: Creating a todo list and starting the updates: Updating the electrical integration section with touchscreen wiring and future improvements: ```html
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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), laser-cut acrylic display, aging clock board milling, TFT display wiring documentation, fabrication integration testing
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
MirrorAge board milling (base and TFT versions), TFT-integrated aging clock board milling, component soldering, physical integration (mounting holes, power routing), data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, band mold printing and casting, firmware integration, WiFi/MQTT network setup, system wiring, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
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
The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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
The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.
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.
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.
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.
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.
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.
After milling, inspection revealed traces that were too close together and rivets positioned under the microcontroller. These issues were corrected manually using an ultrasonic knife before remilling the fixed design.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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
The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.
System Integration
Final project integration week focused on bringing together all subsystems into a cohesive MirrorAge system, completing documentation, and preparing for final presentation.
Final integration week focused on bringing all subsystems together, completing hardware fabrication, firmware integration, and documentation for the MirrorAge system presentation.
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.
Related: See the Development Timeline on the final project page for the overall project schedule.
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 any defective joints, verifying that each subsystem operates correctly before proceeding with full system integration.
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.
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.
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.
Physical integration of subsystems into the complete demo table assembly, including mechanical component fabrication and electrical board consolidation.
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.
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 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.
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.
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.
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
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.
| 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:
Reference Resources:
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.
1.8" TFT LCD: ST7735 controller, 128×160 pixels. CAD model reference: GrabCAD ST7735 Model
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.
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.
Comprehensive fabrication integration work combining 2D laser cutting, 3D printing, and PCB milling to create fully integrated subsystems ready for assembly and testing.
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.
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.
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.
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.
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.
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.
Comprehensive subsystem integration work combining 2D fabrication, 3D printing, PCB milling, and molding/casting to complete all physical components for final assembly and testing.
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
The MirrorAge TFT board design was upgraded to version 13, with component rotations and layout optimizations to improve fit and routing efficiency.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
MoldStar 30 was mixed according to specifications, poured into the prepared molds, and leveled to ensure proper distribution and surface quality.
The filled molds were moved under a heat lamp for curing, then demolded and tested to ensure proper fit between the two band halves.
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.
Comprehensive table of all design files used in the system integration, organized by category with descriptions and links to their usage locations.
| 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 |
Project management view of the integration schedule, showing task dependencies, critical milestones, and current progress status.
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
Component soldering (all boards milled and ready), physical integration (mounting holes, power routing), firmware integration, data integration methods documentation (serial, WiFi, MQTT spiral development)
Component soldering, firmware integration, WiFi/MQTT network setup, system wiring, mirror film application, integrated testing, final documentation
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.
Progressive development approach for integrating sensor data streams from multiple subsystems, starting with simple serial communication and evolving to wireless network-based architectures.
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.
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.
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.
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.
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:
Reflections and key learnings from the final project integration week.
Acknowledgments for contributions and collaborations during the final project week.
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.
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.
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.
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.