Saleem A. Al Dajani

Update Week Pages with New Links

Cursor AI Transcript · HTMAA 2025

Table of Contents

Overview

Cursor AI session for adding helpful documentation links to all week pages and creating week7.html

Full Conversation

User Unknown

make a copy of week-template.html called week7.html and link it from index.html.

populate all the relevant information in week7.html from @https://academy.cba.mit.edu/classes/input_devices/index.html (also include a link to the class page in helpful documentation, with a brief summary of what can be found there)

now go back to each week page in my repo and add links to the class week page in helpful documentation with a summary of what can be found in each link:

in week0.html lecture info: @https://academy.cba.mit.edu/classes/principles_practices/index.html @https://academy.cba.mit.edu/classes/computer_design/index.html recitation info: @https://alfonso.pages.cba.mit.edu/recitations/parametric_design.html

in week1.html lecture info: @https://academy.cba.mit.edu/classes/project_management/index.html @https://academy.cba.mit.edu/classes/computer_cutting/index.html recitation info: @https://863-25-git-recitation-7c105c.pages.cba.mit.edu/

in week2.html lecture info: @https://academy.cba.mit.edu/classes/embedded_programming/index.html recitation info: @https://docs.google.com/presentation/d/1yi74tyA7pndkprdBvipFG7vPN_mt5oaKWDUpzZvqBeQ/edit

in week3.html lecture info: @https://academy.cba.mit.edu/classes/scanning_printing/index.html recitation info: @https://docs.google.com/presentation/d/10yLj4u--XAi-gHZ4cRi4DcqqCQWzhSXXZoImDHVmA_U/edit

in week4.html lecture info: @https://academy.cba.mit.edu/classes/electronics_design/index.html recitation info: @https://vimeo.com/1124302535/cbe009f9f5?ts=0&share=copy

in week5.html lecture info: @https://academy.cba.mit.edu/classes/electronics_production/index.html

recitation info: @https://docs.google.com/presentation/d/1rCjAHXTtOT6wu7UAMmudnBsidMiCNB94gpR2nMy-xGw/edit?slide=id.p#slide=id.p @https://vimeo.com/1126203103

in week6.html lecture info: @https://academy.cba.mit.edu/classes/computer_machining/index.html

recitation info: @https://gitlab.cba.mit.edu/classes/863.25/site/-/blob/main/doc/CAM/readme.md

Assistant Unknown

I'll help you create week7.html and add the helpful documentation links to all the week pages. Let me start by creating the todo list and then work through each task.

Let me start by reading the week-template.html file to understand its structure, then create week7.html:

Now let me create week7.html by copying the template and updating it with input devices information:




  
  
  Week 7 · Input Devices
  
  


  
[Profile Image Placeholder]

Week 7

Input Devices

Week Highlights

Exploring various input devices and sensors for microcontroller projects.

Sensor Types

Overview of different sensor categories

Measurement

Adding sensors to microcontroller boards

Applications

Real-world sensor applications

Table of Contents

Input Devices

This week focuses on exploring various input devices and sensors that can be integrated with microcontroller boards. We'll learn about different sensor types, measurement techniques, and how to read sensor data.

Understanding sensor categories and applications
Learning measurement and signal processing techniques
Implementing sensors on custom microcontroller boards

This Week's Goals

  • Explore Sensor Types
    Learn about switches, magnetic field sensors, potentiometers, step response sensors, temperature sensors, light sensors, motion sensors, distance sensors, and more
  • Measurement Techniques
    Understand analog and digital signal processing, filtering, and sensor calibration
  • Implementation
    Add sensors to microcontroller boards and successfully read sensor data

Assignments

  • Group Assignment
    Probe an input device's analog levels and digital signals
  • Individual Assignment
    Measure something: add a sensor to a microcontroller board that you have designed and read it

Tools & Materials

  • Microcontroller Boards
  • Various Sensors
  • Oscilloscope
  • Multimeter
  • Programming Environment

Training Documentation

Training materials and documentation for input devices and sensor integration.

Input devices training video

Useful Documentation

Essential resources for input devices and sensor integration.

Class Page

Input Devices - MIT Academy

Comprehensive resource covering all input device categories including switches, magnetic field sensors, potentiometers, step response sensors, temperature sensors, light sensors, motion sensors, distance sensors, and more. Includes detailed tutorials, code examples, and implementation guides for various sensor types.

Sensor Exploration

Exploring different types of input devices and sensors.

Sensor exploration image

Various sensor types and applications

Sensor Categories

  • Switches and buttons
  • Magnetic field sensors
  • Temperature sensors
  • Light sensors

Applications

  • Motion detection
  • Distance measurement
  • Environmental monitoring
  • Touch interfaces

Measurement Project

Implementing sensors on custom microcontroller boards and reading sensor data.

Design Files

Links to sensor schematics, PCB designs, and code files.

Reflections & Learnings

Key insights and learnings from working with input devices and sensors.

Contributions

Acknowledgements and team roles for input devices projects.

Ethical AI Use

Brief note on AI tool usage for input devices and sensor integration.

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Now let me read the index.html file to add the week7.html link:

I can see that week7.html is already linked in the index.html file (lines 96-99). Let me update the todo and move on to adding the helpful documentation links to all the week pages. Let me start with week0.html:

Now let me read week0.html to add the helpful documentation links:

Now I need to add the helpful documentation links to week0.html. I'll add a new section after the resources section:




  
  
  Week 0 · HTMAA 2025 · Saleem A. Al Dajani
  
  


  
Saleem A. Al Dajani

Week 0

Course Introduction & Setup · HTMAA 2025

Week Highlights

Course orientation and initial project exploration, including safety training completion and initial concept development for the final project.

Final Project Concept - Mirror Design

Initial concept sketch for final project - exploring bioprinting rejuvenated tissue and aging biomarker devices

Table of Contents

Course Introduction

Welcome to How to Make (Almost) Anything! This week focuses on course orientation, safety training, and setting up the foundation for the semester ahead.

📚 Course orientation 🛡️ Safety training ⚙️ Tool setup 📋 Documentation

This Week's Goals

  • Complete safety training
    Shop orientation, machine checkouts, PPE requirements
  • Set up documentation workflow
    Git repo, web hosting, weekly documentation structure
  • Explore the lab space
    Familiarize with tools, materials, and workflow

Assignments

  • Course agreement
    Review and sign the course agreement
  • Safety training
    Complete all required safety modules
  • Documentation setup
    Create personal documentation site
  • Final project proposal
    Initial ideas and research direction

Resources

  • Course websiteMAS.863
  • Lab location — EDS 38‑501
  • Safety protocols — Machine checkouts, PPE requirements
  • Documentation examples — Past student projects for reference

Helpful Documentation

Essential resources for course introduction, design principles, and parametric design.

Lecture Information

  • Principles and Practices - MIT Academy

    Course overview covering digital fabrication principles, project management, version control, and web development. Includes links to various CAD programs, simulation tools, and AI-assisted design workflows.

  • Computer-Aided Design - MIT Academy

    Comprehensive guide to 2D and 3D design tools including raster/vector graphics, CAD programs, simulation, and AI-assisted design. Covers everything from basic sketching to advanced parametric modeling.

Recitation Information

  • Parametric Design Recitation - Alfonso Parra Rubio

    Hands-on tutorial for Fusion 360 covering parametric design principles, CAD basics, importing/exporting, and design for manufacturing. Includes step-by-step guidance for getting Autodesk Educational access.

Final Project Sketch

Initial concept sketches for the final project - exploring ideas for bioprinting rejuvenated tissue and aging biomarker devices.

Reflections & Notes

Early ideation and planning takeaways for the final project and weekly milestones.

Concepts Under Consideration

  • Mirror conceptreference video
    • Motorized tilt; potential face recognition
    • On‑board camera connected to the internet; model outputs shown on screen
    • Voice capture for age; display results and, if possible, text‑to‑speech
    • Integrate conversational layer (e.g., “Mirror, mirror on the wall…” for interpreting metrics)
  • Rejuvenated tissue idea — to define scope and feasibility (TBD)
  • Multimodal aging biomarker idea — sensor fusion + ML pipeline (TBD)
  • Dome idea — structural/form exploration (TBD)
  • Shuriken idea — mechanism/prototyping study (TBD)

Planning & Course Requirements

  • Design as modular subsystems so components can be swapped or removed and still pass
  • Fabricate custom parts and build my own electronics; target at least two PCBs
  • Sequence work so each week contributes a testable piece toward the final build

Contributions

Acknowledgements for the help I received this week from my classmates and instructors.

Alfonso Parra Rubio - Fusion Office Hours

Thank you to Alfonso for providing helpful Fusion office hours and guidance on CAD modeling techniques.

Dan Gilbert - CBA Shop

Thank you to Dan Gilbert for assistance with the CBA shop facilities and equipment access.

Tolga Durak - SHED Bioprinter Access Discussion

Had extensive discussions with Tolga Durak about accessing the SHED bioprinter for potential final project work. Tolga provided detailed guidance on the BRR (Biological Research Registration) process through MIT's CAB/ESCRO committee, including requirements for MIT PI involvement, research proposal structure, and timeline considerations. He explained that the bioprinter is currently limited to approved research projects due to existing commitments, and that any access would need to be scheduled around three ongoing research projects. Prof. Gershenfeld agreed to serve as the MIT PI for the proposal, and I'm working through the BRR forms to submit the necessary documentation for committee review.

Ethical AI Use

Transparent documentation of AI assistance used in this week's work, following course guidelines for ethical AI usage.

AI-Assisted Web Development in Cursor IDE

This week's webpage development was assisted by Cursor AI to create the initial page structure, styling, and content organization. The AI helped with HTML/CSS implementation and responsive design patterns.

AI-Assisted Section Organization and Content Updates

Cursor AI assisted with organizing webpage sections, cleaning up HTML structure, and updating content for both week 0 and week 1 pages. The AI helped with code refactoring, section reorganization, and maintaining consistent styling across pages.

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Now let me read week1.html and add the helpful documentation links:

Let me continue reading week1.html to find where to add the helpful documentation section:

Let me read the section around line 372 to see the current useful documentation section:

Now I need to add the helpful documentation links to week1.html. I'll add them after the existing useful documentation section:




  
  
  Week 1 · HTMAA 2025 · Saleem A. Al Dajani
  
  


  
Saleem A. Al Dajani

Week 1

Principles & Cutting · HTMAA 2025

Week Highlights

📁 Design Files Available

Download CAD files, view SVG patterns, and access all design assets from this week's assignments

📄 View Design Files

Table of Contents

CAD/CAM, Laser, Vinyl

This week focuses on the fundamentals of digital fabrication: computer-aided design (CAD), computer-aided manufacturing (CAM), laser cutting, and vinyl cutting. We'll learn the complete workflow from design to finished parts.

🎨 CAD design ⚡ Laser cutting 📄 Vinyl cutting 🔧 CAM toolpaths

This Week's Goals

  • Master CAD fundamentals
    Parametric design, constraints, and best practices
  • Laser cutting workflow
    Design → CAM → cut → test → iterate
  • Vinyl cutting techniques
    Vector graphics, weeding, application

Assignments

  • Parametric construction kit
    Design and fabricate a modular construction kit
  • Vinyl cutting project
    Create a vinyl sticker or decal
  • Documentation
    Document the complete design and fabrication process
  • Safety training
    Complete laser cutter and vinyl cutter training

Tools & Materials

  • CAD software — Fusion 360, Onshape, or similar
  • Laser cutter — Epilog or similar CO2 laser
  • Vinyl cutter — Roland or similar plotter
  • Materials — Cardboard, acrylic, vinyl sheets

Training Documentation

Comprehensive training notes and media from laser cutter and vinyl cutter sessions.

Laser Cutter Training

Focusing Process

  • Focus view follows the laser beam
  • Use zoom in/zoom out to get better view
  • Press Z, the number with checkmark shows how much to move
  • Use focusing stick until it just hits the edge of the material
  • Bed moves during focusing process

Cutting Process

  • Control P to print, use max power with fast speed
  • Go to universal program for cutting
  • Turn on power for air compressor
  • Press green button to start cutting

Vinyl Cutter Training

Software Setup

  • Use Chrome browser
  • Go to modsproject.org
  • Select Program → Open Program
  • Choose Roland vinyl cutter: cut program
  • Load image (SVG or PNG format)
  • Change dimensions with DPI settings
  • For PNG: be careful with curves as it changes pixels
  • Can invert to change where black areas are cut
  • Set origin (defaults are usually fine)
  • Blue lines = cut, red lines = rapids (knife lifts up)

Machine Setup

  • Lever sets tension on drive wheels
  • Clamp down at the end
  • Wheel needs to be in white sections
  • Press power (if just turned on)
  • Select sheet and press enter
  • Use arrow keys to move around
  • Hold origin for new origin point

Connection & Starting

  • Get device and connect properly
  • Can change cut force but probably not necessary
  • Send file to cutter

Weeding Process

  • Weed early - pick out pieces you don't want
  • Fold vinyl over itself, don't go straight up
  • Use tweezers for precision
  • Use transfer paper to lay front of vinyl on transfer paper
  • Peel backing of vinyl off carefully
  • Don't just plop things down to avoid air bubbles
  • Use squeegee as you lay down to prevent air bubbles
  • Consider sticker vs stencil applications

Useful Documentation

Additional resources and guides from Anthony Pennes for laser cutting, vinyl cutting, and image compression workflows.

Anthony's HTMA Guides

Comprehensive guides covering essential digital fabrication techniques, parameter optimization, and workflow best practices.

Image Compression Guide

Essential techniques for optimizing image file sizes, setting up batch processing tools, and maintaining repository efficiency.

📖 View Guide

Laser Cutting Guide

Complete laser cutting workflow including safety, parameter optimization, joint design, and troubleshooting techniques.

📖 View Guide

Vinyl Cutting Guide

Detailed vinyl cutting techniques, software setup, machine operation, and weeding processes for professional results.

📖 View Guide

Note: These guides were created by Anthony Pennes and are maintained as supplementary resources for the HTMAA course. View original Slack message for context.

Class Week Resources

Official course resources for project management, computer cutting, and Git recitation materials.

Lecture Information

  • Project Management - MIT Academy

    Comprehensive guide to project management including file synchronization, version control (Git, GitHub, GitLab), web development, and documentation workflows. Covers essential tools for managing digital fabrication projects.

  • Computer Cutting - MIT Academy

    Complete resource for computer-controlled cutting including laser cutting, vinyl cutting, and other cutting technologies. Covers safety, machine operation, material selection, and design considerations.

Recitation Information

  • Git Recitation - HTMAA 2025

    Hands-on Git tutorial covering version control fundamentals, repository management, collaboration workflows, and best practices for digital fabrication projects.

Laser Cutter Characterization Group Assignment

Systematic testing and documentation of laser cutter parameters for optimal cutting performance. Assignment started: September 11, 2025 Assignment completed: September 16, 2025

Machine Specifications

Available Lasers

  • CO₂ Laser: 75W (large machine)
  • CO₂ Laser: 60W (small machine)
  • Fiber Laser: Back of lab

Test Parameters

  • Rate: 500 pulses per inch (PPI)
  • Power: 100%
  • Speed: 30% (increased by 2.5% each test)

Laser Cutter System Details

Universal Laser Systems CO2 Laser Specifications

Hardware & Software
  • Laser System: Universal Laser Systems CO2 Laser
  • Control Software: Universal Control Software
  • Design Software: Inkscape for vector design and cutting
  • File Transfer: Inkscape used to send cuts directly to laser
Print Settings & Color Coding
  • Red Line (0.001"): Vector cut - full power cutting
  • Blue Line (0.001"): Engraving - raster engraving
  • Optimization: Used weak vector cut for engraving to save time
  • Line Weight: 0.001" for both cutting and engraving operations

Workflow Note: The Universal Control Software provides precise control over laser parameters, while Inkscape serves as the design interface for creating and sending cutting jobs. The color-coded line system allows for efficient batch processing of both cutting and engraving operations in a single job.

Focus & Positioning

  • Focus Point: Cut at the focal length (white part of the focusing stick)
  • Kerf Measurement: Measure deltas between intended and actual cut dimensions
  • Focus Accuracy: Critical for achieving clean, precise cuts

Joint Design & Clearance

Joint Type

Finger joint - interlocking design for structural connections

Clearance Definition

Size of the slot that provides tight enough fit for assembly

Material Considerations

Cardboard Limitations: Generally produces no good joints due to material properties and laser cutting characteristics

Material choice significantly impacts joint quality and assembly precision

Key Learnings

  • Speed increment of 2.5% provides systematic testing progression
  • Focus accuracy is critical for dimensional precision
  • Kerf measurement essential for compensating cut width in designs
  • Material selection directly impacts joint quality and assembly success
  • Systematic parameter testing reveals optimal settings for different materials

Results

Comprehensive analysis of kerf and clearance measurements from systematic laser cutter testing.

Interactive Data Analysis

View and interact with the complete dataset in Google Sheets:

Open in Google Sheets | Data includes kerf measurements, clearance analysis, and statistical calculations

Measurement Methods

Systematic measurement approach for characterizing laser cutter kerf and joint clearance using precision calipers.

Peg and hole measurement setup

Peg and hole measurement setup

Top measurement view

Top measurement view

Bottom measurement view

Bottom measurement view

Measurement Protocol
  • Kerf Analysis: Three measurements were taken for each prescribed cut dimension on the joint gadget during laser cutter training
  • Clearance Analysis: Three measurements were taken for both hole and peg dimensions
  • Clearance Calculation: Clearance = Hole Size - Peg Size (negative values indicate interference fit)
  • Statistical Analysis: Averages and standard deviations calculated for precision assessment

Kerf Concept Diagram

Kerf diagram showing laser cut width measurement

Kerf Definition: The width of material removed by the laser beam during cutting. Measured as the difference between prescribed cut dimensions and actual cut dimensions.

Download Diagram PDF Download Data Tables Download Keynote | Complete analysis diagrams and data tables

Kerf Analysis Results

Prescribed Cut (in) Actual Cut #1 (in) Actual Cut #2 (in) Actual Cut #3 (in) Average (in) Std Dev (in) Avg Kerf (in)
0.136 0.142 0.1405 0.1445 0.1423 0.0020 0.0032
0.137 0.142 0.1475 0.149 0.1462 0.0037 0.0046
0.138 0.148 0.1495 0.147 0.1482 0.0013 0.0051
0.139 0.146 0.146 0.1475 0.1465 0.0009 0.0038
0.143 0.155 0.1555 0.1545 0.1550 0.0005 0.0060
0.144 0.1535 0.153 0.15 0.1522 0.0019 0.0041
0.152 0.163 0.1655 0.165 0.1645 0.0013 0.0063
0.153 0.166 0.169 0.168 0.1677 0.0015 0.0073

Clearance Concept Diagram

Clearance diagram showing peg and hole fit analysis

Clearance Definition: The dimensional difference between hole and peg sizes. Negative values indicate interference fit (hole smaller than peg), while positive values indicate clearance fit.

Download Diagram PDF Download Data Tables Download Keynote | Complete analysis diagrams and data tables

Clearance Analysis Results

Measurement Sample #1 (in) Sample #2 (in) Sample #3 (in) Average (in) Std Dev (in)
Peg Size 0.1505 0.1535 0.1505 0.1515 0.0017
Hole Size 0.156 0.1575 0.1545 0.1560 0.0015
Clearance -0.0055 -0.004 -0.004 -0.0045 0.0009

Key Findings

Average Kerf

0.0049 inches (4.9 thousandths)

Average Clearance

-0.0045 inches (interference fit)

Kerf Std Dev

±0.0017 inches (high precision)

Clearance Std Dev

±0.0009 inches (very consistent)

Parametric Construction Kit Individual Assignment: 3D Parametric Design

Design and fabricate a modular construction kit using laser cutting and vinyl cutting techniques. Assignment started: September 10, 2025. Assignment completed: September 15, 2025

Preparation & Planning

Initial research and clarification discussions with instructors and classmates to understand assignment requirements and technical constraints.

Key Clarifications

Assignment Scope: Construction kit using laser cutter + separate vinyl cutting project (not crease patterns on cardboard)
File Formats: DXF for laser cutting, PNG/SVG for vinyl cutting
CAD Requirements: Must use Fusion 360 for laser cutting to develop CAD familiarity
Materials: Lab cardboard available, or personal materials (if safe to cut)

Technical Insights

Vinyl Cutting: Zero thickness lines for crease patterns, black and white images for cutting
Mountain vs Valley Folds: Opposite sides for thick materials, same side possible for thin materials
Design Differentiation: Dashed lines for fold lines, solid lines for cuts (though challenging in software)

Acknowledgments

Special thanks to Erik Demaine for guidance on vinyl cutting crease patterns and fold differentiation techniques, and Anthony Pennes for clarifying assignment requirements, file formats, and material options. Their expertise was invaluable in understanding the technical constraints and design possibilities for this project.

Design Process

  1. Research and ideation for construction kit design
  2. Create parametric CAD model with adjustable parameters in Fusion 360
  3. Generate CAM toolpaths for laser cutting
  4. Test cut on cardboard to verify fit and function
  5. Iterate design based on test results
  6. Final cut on appropriate material
  7. Design and cut vinyl project (separate from construction kit)

Hand‑folded Prototype Assembly

I hand‑folded the crease pattern to validate the assembly. The parts do come together when the folds are reasonably close to the intended lines. A second, refolded gadget produced a noticeably cleaner assembly.

Single Gadget

Double Gadget

Assembly Detail

Full Pattern Failure

We tried cutting the full crease pattern on one side. It failed when layers with opposite cuts overlapped and had to be push‑folded through during the final folding step — the piece broke.

First Success Folded Single Gadget

First assembly of two gadgets. Folds were smooth after separating mountain and valley cuts onto opposite sides to avoid breaking during push‑folds over multiple layers. The shop cardboard was tight in the assembly pocket; thinner Amazon box cardboard folded by hand fit better. Next step: make the laser‑cut pattern more exact.

Cut Strategy Videos

Left to right: clear mountain cut, flip and cut the opposite side, clear valley cut.

Mountain vs Valley Sides

Measurements confirming mountain vs valley sides.

First Gadget Assembly

Side profile and insertion step demonstrating clean folds without tearing.

Double Gadget Cut Variations

Exploring double‑part strategies: sequential cuts, flips between sides, and opposite‑side cuts.

Double Gadget — Rubber Band Assist

Temporary rubber band used to hold alignment while completing final folds.

First Success Assembly

Switched to thinner Amazon cardboard because the shop cardboard was too thick for the assembly pocket. The Amazon box folded by hand fit perfectly and assembled smoothly. Three gadgets worked with the thinner material. Rubber bands are just for compression — they assemble without them, though the bands make it easier to keep them as one unit during insertion into the next gadget.

Quadruple Cut Strategy

Scaling up to quadruple cuts: sequential cuts, flips between sides, and opposite-side cutting strategies.

Double Gadget — Amazon Cardboard (No Support)

Three views of the double gadget assembled with Amazon cardboard, showing clean folds and proper fit.

Assembly Process with Support

Assembly sequence showing compression, support positioning, and insertion process for stable construction.

Triple Gadget — Final Assembly

The culmination: triple gadget assembly demonstrating successful scaling with Amazon cardboard and support techniques.

Further Refinements: Thick Origami

Applying thick‑origami concepts to avoid layer collisions and enable folding with real material thickness.

Guidance from Erik Demaine

From a discussion with Erik Demaine: double each crease into parallel offsets and open vertex regions as polygons to prevent collisions. A uniform spacing works for a first pass, but for correctness the spacing between the doubled creases should depend on how many layers lie between faces in the final folded state. I plan to estimate per‑crease layer counts from an unfolded model and adjust offsets accordingly.

Citation: Jason S. Ku and Erik D. Demaine, “Folding Flat Crease Patterns With Thick Materials”, Journal of Mechanisms and Robotics, 8(3), June 2016, pp. 031003‑1–6. View paper

Thickened Crease Patterns
  • Estimate: double each crease with a uniform offset and add regular polygons at intersections.
  • Exact: compute sector‑aware offset polygons at vertices using incident crease angles.
How the Estimate Works
Input: crease segments with mountain/valley labels; sheet size S; target thickness t
offset = t / S  (or a chosen fraction)
for each crease c:
  draw two lines parallel to c at ±offset
for each vertex (intersection of original creases):
  place a small regular polygon (e.g., octagon) centered at the vertex
Output: doubled creases + vertex holes
            
How the Exact Method Works
Input: crease lines; sheet size S; target thickness t
offset = t / S
for each crease c:
  compute unit direction v and normals n1,n2
  define two infinite offset lines at ±offset along n1/n2
for each vertex:
  collect incident creases; sort by angle into cyclic order
  for each adjacent pair (i, j):
    pick the offset side that lies inside the angular sector
    intersect those two offset lines → one polygon vertex
  connect all vertices in order → convex vertex polygon
trim faces/creases by polygons as needed
Output: doubled creases + exact vertex polygons
            
Next Step — Layer‑Aware Offsets

Following Erik's advice, offsets should scale with the number of layers between faces in the folded state. Plan: estimate per‑crease layer counts and set per‑crease offset = k × thickness × layers(c), while keeping vertex polygons valid to avoid collisions.

Vinyl Cutter Individual Assignment: 2D Parametric Design

Design and cut vinyl stickers and stencils using the vinyl cutter. Assignment started: September 15, 2025 Assignment completed: September 15, 2025

Project Overview

Planned to vinyl cut lab logo stickers at first. Collected .png or .svg for each logo for the vinyl cutter software, and executing the complete workflow from cutting to final application. I hope to come back to the lab logos when there is less traffic on the vinyl cutter, I was more excited to see the fine detail of the vinyl cutter with the 2D parametric design at first!

Lab Logo Designs

2D Parametric Sticker Design

Used a parametric sticker design that can be infinitely customized through an interactive web application. The design demonstrates the power of parametric modeling in creating personalized vinyl stickers with adjustable parameters for size, complexity, and visual elements. The assignment demonstrated both successful execution and troubleshooting when equipment issues arose.

Interactive Design Generator

This web-based generator was created as a final project in 6.5310 last semester and was used to download a PNG of the default design shown above. Generate unlimited variations of this parametric design by adjusting parameters in real-time to create custom stickers for any application.

🎨 Generate Custom Designs

Successful Cut and Transfer

Complete workflow from vinyl cutting through final sticker application, demonstrating the full process from design to finished product.

Vinyl Cutting Process

Vinyl cutter in action, cutting the Gladyshev Lab logo design with precise blade control and proper tension settings.

Completed Vinyl Cut

Clean vinyl cut showing precise cuts with proper registration and no tearing or incomplete cuts.

Weeding Process

Systematic weeding process: starting from center, progressing through unwanted sections, and finishing with clean weeded vinyl ready for transfer.

Transfer Paper Application

Transfer paper application process: carefully applying transfer paper to hold vinyl design, then removing it to prepare for final application.

Vinyl Application Process

Final application steps: positioning vinyl on target surface, using tweezers for precise removal of the broken thin vinyl strip, and achieving clean final application.

Completed Takehome Sticker

Final result: applied laptop vinyl sticker and takehome vinyl sticker ready for use, demonstrating successful completion of the vinyl cutting workflow.

Motor Failure

Encountered and resolved a motor failure during the vinyl cutting process, demonstrating troubleshooting skills and equipment maintenance knowledge.

Motor Error Display

Vinyl cutter displaying motor error, indicating a mechanical issue that prevented normal operation.

Roll Failure Analysis

Side-by-side comparison showing the vinyl roll before and after the failure. The roll ran out of material and then fell, causing the vinyl to kink under the cutting wheel.

Troubleshooting Solution

Simple fix process:

  1. Turn off the vinyl cutter
  2. Remove tape from the fallen roll to get the weight off
  3. Readjust vinyl in between the wheels to ensure proper tension
  4. Start again (or load a new roll if needed)

This common issue occurs when the vinyl roll runs out or becomes misaligned, causing the cutting mechanism to fail. The solution involves proper material handling and machine setup.

Design Files

Download or view design files from this week's assignments.

Laser Cutter Design Files

Kerf and Clearance Design Files

Vinyl Cutter Design Files

Reflections & Learnings

Key insights and challenges encountered during this week.

Reflections will be added here as the week progresses...

Contributions

Acknowledgements for the help I received this week from my classmates and instructors.

Katrina Li - Training Documentation

This week's training was well-documented by Katrina Li, thank you!

📄 View Slack message

Camron Blackburn - Website Review & Table of Contents Suggestion

Camron reviewed the website and provided valuable feedback on navigation and user experience. She suggested implementing a table of contents to make it easier for visitors to navigate through the different sections of the weekly documentation. This suggestion led to the creation of the sleek, organized table of contents that now appears on both Week 0 and Week 1 pages, significantly improving the overall user experience and accessibility of the documentation.

Mariam Fitaihi - Photos and Videos

Photos and videos of this week's training were taken by Mariam Fitaihi, thank you!

📄 View Slack message

Anthony Pennes - Kerf and Clearance Design Files

Anthony Pennes provided the kerf and clearance design files (HTMAJointTest v0.f3d and HTMAJointTest.dxf) as part of the laser cutter training. These files were essential for understanding joint tolerances and clearance requirements when working with laser-cut materials.

📄 View Slack message 📁 View Design Files

Erik Demaine - Thick Origami Guidance

Erik reviewed my approach to folding thick materials and suggested using the Ku & Demaine thick‑origami method. He pointed me to the paper and emphasized that doubled creases should be spaced according to the number of layers between faces in the final fold. This feedback led me to implement two variants (estimate and exact) of thickened crease patterns and to plan a next step for layer‑aware offsets.

📄 Ku & Demaine (2016) — Thick Folding Paper

Jesse de Alva - Laser Cutting Assistance

Jesse helped me with laser cutting while figuring out how to do it, providing valuable guidance and support during the learning process. His assistance was crucial for understanding the laser cutting workflow and techniques.

Personal Notes - Laser Cutter Characterization

I took notes on the individual group assignment for characterizaing the laser cutter. :-)

📄 View Slack message

Ethical AI Use

Transparent documentation of AI assistance used in this week's work, following course guidelines for ethical AI usage.

AI-Assisted Web Development in Cursor IDE

This week's webpage development, training documentation, and assignment preparation were assisted by Cursor AI. The AI helped with HTML/CSS implementation, content organization, and structuring technical documentation.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Section Organization and Content Updates

Cursor AI assisted with organizing webpage sections, cleaning up HTML structure, and updating content for both week 0 and week 1 pages. The AI helped with code refactoring, section reorganization, and maintaining consistent styling across pages.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Documentation and Link Integration

Cursor AI assisted with adding Anthony's HTMA guides to the Week 1 page, creating a new "Useful Documentation" section, and integrating external resource links with proper styling and organization.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Week 1 Results Section Development

Cursor AI assisted with creating a comprehensive Results section for the Laser Cutter Characterization Group Assignment, including kerf and clearance analysis tables, measurement methodology documentation, concept diagrams, and downloadable resources. The AI helped integrate Google Sheets data, create professional data tables, and include the complete measurement analysis workflow.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Week 1 Highlights Section Development

Cursor AI assisted with creating an interactive highlights section for Week 1, including visual improvements to the results display, clickable navigation links to detailed sections, table of contents integration, and enhanced user experience features. The AI helped implement hover effects, proper section linking, and visual hierarchy improvements for better navigation.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Thick Origami Conversion

A separate chat was used to convert a flat crease pattern into a thick‑origami version following Ku & Demaine. The AI doubled each crease into parallel offsets and generated vertex polygons (estimate = regular polygons; exact = sector‑aware polygons) and explained how to map desired thickness by setting OFFSET_FRAC = thickness / sheet_size.

🔗 View Chat Transcript

AI-Assisted Repository Management and Content Organization

Cursor AI assisted with repository size management by breaking down large commits into smaller, manageable chunks under 10MB each. The AI helped organize media files into logical commits, added the Vinyl Cutter Individual Assignment section with proper styling and image sizing, and provided guidance on git workflow optimization to work within platform size limits.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Vinyl Cutter Assignment Documentation

Cursor AI assisted with updating the vinyl cutter individual assignment section with comprehensive documentation including successful cut and transfer workflow, motor failure troubleshooting, and 2D parametric design integration. The AI helped structure the content with proper media organization, descriptive captions, and consistent styling throughout the section.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Design Files Integration

Cursor AI assisted with adding a comprehensive Design Files section to the Week 1 page, including table of contents integration, organized file listings with download and view links, and contextual hyperlinks throughout the page for easy access to design assets. The AI helped structure the files by category (laser cutter CAD files, SVG patterns, vinyl cutter images) with appropriate styling.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Design Files Integration for Laser Cutter Training

Cursor AI assisted with adding kerf and clearance design files from Anthony Pennes to the Week 1 Design Files section, creating a new subsubsection for joint test files, and properly attributing the contribution in the contributions section with links to both the Slack message and design files section.

📄 View Full Transcript 💾 Download Chat File

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

Now let me work on week2.html. Let me first find the useful documentation section:

Let me search for a different pattern to find where to add the helpful documentation section:

Let me read around line 209 to see the structure:

Let me continue reading to find the end of the training section:

I can see there's already a "Helpful Documentation" section at line 529. Let me read that section:

I can see there's already a helpful documentation section. Let me add the class week resources to it. Let me find the end of this section:

Now I'll add the class week resources to the existing helpful documentation section. Let me add it before the closing of the section:




  
  
  Week 2 · HTMAA 2025 · Embedded Programming
  
  


  
Profile Image

Week 2

Embedded Programming · HTMAA 2025

Week Highlights

Key achievements and insights from the embedded programming week, including successful microcontroller programming, sensor integration, and the development of the ReactionAge reaction time measurement system.

ReactionAge

ReactionAge system in action - measuring reaction time and predicting age

ChatGPTMario2D

AI-powered Mario-style platformer with touch controls and adaptive gameplay

CircleSquareShapeSongSwingalong

Collaborative multiplayer game with geometric shape interactions

Embedded Programming Design Trades

Comprehensive analysis of critical design decisions in embedded system development

💻 Design Files Available

Download Arduino code, view circuit diagrams, and access all embedded programming assets from this week's assignments

📄 View Design Files

Table of Contents

Embedded Programming

This week focuses on embedded programming fundamentals, exploring how to program microcontrollers and create interactive electronic systems. We'll dive into the world of digital electronics, sensors, and real-time programming to build responsive devices that can sense, process, and react to their environment.

• Introduction to microcontrollers and embedded systems
• Programming fundamentals for real-time applications
• Sensor integration and data processing

This Week's Goals

  • Master Embedded Programming
    Learn microcontroller programming, sensor integration, and real-time system design
  • Build Interactive Systems
    Create responsive electronic devices that can sense and react to environmental inputs
  • Develop ReactionAge Project
    Implement a reaction time measurement system based on research methodologies

Assignments

  • Group Assignment
    Collaborative embedded programming project focusing on sensor integration and real-time data processing
  • Individual Assignment: ReactionAge
    Build a reaction time measurement system based on research methodologies from cognitive science literature

Tools & Materials

  • Microcontrollers
    Arduino, ESP32, or similar development boards
  • Development Environment
    Arduino IDE, PlatformIO, or VS Code with embedded extensions
  • Sensors & Components
    Buttons, LEDs, displays, accelerometers, and other input/output devices
  • Prototyping Tools
    Breadboards, jumper wires, resistors, and basic electronic components

Training Documentation

Essential training materials and resources for embedded programming fundamentals, microcontroller setup, and sensor integration techniques.

Electronics & Soldering Training

Soldering Fundamentals

Comprehensive guide to soldering techniques for embedded electronics, covering both wire soldering and solder paste methods.

Wire Soldering
  • Temperature: 720-800°F
  • Melt pad onto electrode first
  • Anchor arms for precision control
  • Use appropriate tip size for part
  • Work from low to high profile parts
Solder Paste
  • Use gloves for protection
  • Highest magnification possible
  • Temperature: 270-330°C
  • Heat all sides together
  • Required for SMD components

Safety First:

Always wear safety glasses and use proper ventilation. Lead-free solder requires extra caution due to flux crystallization at high temperatures.

How to Solder (Almost) Anything

Step-by-step video demonstrations of essential soldering techniques for embedded electronics, covering both wire soldering and surface-mount component assembly.

Wire Soldering Technique

Learn the proper technique for soldering wires to components, starting with one edge to keep the part in place, then soldering the rest easily by keeping your wrist stable and the solder tip on the pad to heat it up with the part, and slowly bringing in solder.

Wire soldering demonstration showing proper technique and wrist stability

Solder Paste Assembly

Complete process for surface-mount component assembly: apply solder paste first, place the component, then heat up with a heat gun to create strong, reliable connections.

Applying solder paste to PCB pads

Placing microcontroller on prepared solder paste

Using heat gun to reflow solder paste and complete the connection

Pro Tips:

For detailed soldering guides and advanced techniques, refer to the Electronics & Soldering Training section above for comprehensive documentation and resources.

Microcontroller Programming Basics - Introduction to embedded programming concepts and development environments
Sensor Integration Workshop - Hands-on training for connecting and programming various sensors
Real-time System Design - Principles of creating responsive embedded systems
Debugging Techniques - Tools and methods for troubleshooting embedded code

QPAD Development Boards Programming Guide

Complete programming setup and workflow for QPAD development boards, covering bootloader configuration, IDE setup, and code deployment for different microcontroller architectures.

QPAD-XIAO (RP2040)

The QPAD-XIAO features a Raspberry Pi RP2040 microcontroller with built-in bootloader support. No bootloader burning required - simply configure your IDE and start programming!

Programming Steps:
  1. Connect QPAD-XIAO to your computer via USB-C
  2. In Arduino IDE, select Tools → Board → Raspberry Pi RP2040 Boards → XIAO RP2040
  3. Select the correct COM port under Tools → Port
  4. Write your code and click Upload - the board handles everything automatically!
QPAD21 (SAMD21)

The QPAD21 uses an ATSAMD21 microcontroller that requires bootloader programming using a XIAO programmer chip. Follow these steps to get it ready for development.

Bootloader Programming Steps:
  1. Connect XIAO programmer to QPAD21 using the programming header
  2. Connect XIAO programmer to your computer via USB
  3. In Arduino IDE, select Tools → Board → Arduino SAMD (32-bits ARM Cortex-M0+) → Arduino MKR WiFi 1010
  4. Select the correct COM port for the XIAO programmer
  5. Configure bootloader settings:
    • Bootloader: Adafruit Circuit Playground Express
    • Clock: 48 MHz (USB)
    • USB Stack: Arduino
    • Debug Level: None
    • Erase Flash: All Flash Contents
    • Bootloader Version: 1.0.0
  6. Click Burn Bootloader and wait for completion
Programming Steps (After Bootloader):
  1. Disconnect XIAO programmer and connect QPAD21 directly via USB
  2. Select Tools → Board → Arduino SAMD (32-bits ARM Cortex-M0+) → Arduino MKR WiFi 1010
  3. Select the correct COM port for QPAD21
  4. Write your code and click Upload
QPAD-XIAO-ESP32S3 (ESP32-S3)

The QPAD-XIAO-ESP32S3 features an ESP32-S3 microcontroller with built-in WiFi and Bluetooth capabilities. No bootloader burning required - just configure your IDE and start programming!

Programming Steps:
  1. Connect QPAD-XIAO-ESP32S3 to your computer via USB-C
  2. In Arduino IDE, select Tools → Board → ESP32 Arduino → XIAO_ESP32S3
  3. Select the correct COM port under Tools → Port
  4. Configure additional settings:
    • Upload Speed: 921600
    • CPU Frequency: 240MHz (WiFi/BT)
    • Flash Mode: QIO
    • Flash Size: 8MB (64Mb)
    • Partition Scheme: Default 4MB with spiffs
  5. Write your code and click Upload
💡 Pro Programming Tips:
  • Always test your code first: Use Verify/Compile to check for errors before uploading
  • Debug without uploading: You can compile and check your code without identifying the specific chip
  • Ready to deploy: Once your code compiles successfully, hit Upload to program your board
  • Serial Monitor: Use Tools → Serial Monitor to debug and monitor your program's output
  • Board Manager: Install board support packages through Tools → Board → Boards Manager if needed

Helpful Documentation

Comprehensive documentation covering embedded programming fundamentals, electronics theory, and practical implementation guides.

HTMA Electronics Slides

Official course slides covering microcontroller architecture, I/O techniques, sensor integration, and real-time system design.

Key Topics Covered

  • Microcontroller Programming
    Architecture and fundamentals
  • Sensor Integration
    Data processing methods
  • Real-time Systems
    Design principles and optimization

Board Design Documentation

Essential resources for designing custom PCBs and development boards for embedded programming projects, covering schematic design, layout principles, and manufacturing considerations.

USB-C Board Design Layout

USB-C board design showing proper connector placement, power routing, and signal integrity considerations for embedded development boards

Design Principles

  • USB-C connector placement and orientation
  • Power distribution and ground plane design
  • Signal integrity and trace routing
  • Component placement optimization

Manufacturing Considerations

  • Layer stackup and via design
  • Silkscreen and assembly markings
  • Test point placement
  • Design rule checking (DRC)

Design Files Available:

Complete KiCad project files, schematics, and PCB layouts are available in the Design Files section below for download and modification.

Common Troubleshooting

Essential troubleshooting techniques for embedded development boards, covering power supply verification and connector testing using multimeter measurements.

Voltage Regulator Troubleshooting

Verify that your voltage regulator is functioning correctly by measuring output voltages with a multimeter when power is connected to the board.

Voltage Regulator Testing Points

Voltage regulator testing points showing input, output, and ground connections for multimeter verification

Testing Steps:
  1. Connect power to your development board
  2. Set multimeter to DC voltage mode
  3. Measure input voltage (VIN) - should match your power supply voltage
  4. Measure output voltage (VOUT) - should be the regulated voltage (e.g., 3.3V or 5V)
  5. Check ground continuity between input and output ground pins
  6. Verify no voltage drop under load conditions

💡 Pro Tip:

Use a portable multimeter for easy on-the-go testing and debugging of embedded circuits.

USB-C Pinout Troubleshooting

Verify USB-C connector functionality by testing power delivery, data lines, and ground connections using multimeter measurements.

USB-C Pinout Testing Diagram

USB-C pinout diagram showing power, data, and ground connections for multimeter testing and verification

Testing Steps:
  1. Connect USB-C cable to your development board
  2. Set multimeter to DC voltage mode
  3. Measure VBUS (pin A4/B4) - should read 5V when connected to power
  4. Test ground continuity (pins A1/B1, A12/B12) - should show 0Ω resistance
  5. Check CC1/CC2 pins (A5/B5) for proper connection detection
  6. Verify D+ and D- data lines (A6/A7, B6/B7) for continuity
  7. Test both orientations of the USB-C connector

🔧 Troubleshooting Tips:

  • If VBUS shows 0V, check cable and power source
  • If ground shows high resistance, check solder joints
  • If data lines show no continuity, verify connector orientation
  • Test with known working USB-C cable for comparison

Class Week Resources

Official course resources for embedded programming and electronics fundamentals.

Lecture Information

  • Embedded Programming - MIT Academy

    Comprehensive resource covering microcontroller programming, I/O techniques, sensor integration, and real-time system design. Includes tutorials, code examples, and hardware interfacing methods.

Recitation Information

Group Assignment: Embedded Programming Design Trades

Comprehensive analysis of design tradeoffs in embedded programming, covering language selection, development workflows, and microcontroller choices. This collaborative project examines the critical decisions that shape embedded system development and their impact on project success.

Design Tradeoffs Summary

Architecture Example Boards Toolchain / Workflow Strengths Limitations
AVR (8-bit) ATtiny44, ATmega328 (Arduino Uno) avr-gcc, avrdude; Arduino IDE for simplified workflow Mature ecosystem, simple to program, widely taught Limited memory & speed, not ideal for complex tasks
ARM Cortex-M SAMD21, STM32, Teensy arm-none-eabi-gcc, OpenOCD, PlatformIO; Arduino or CircuitPython support High performance, industry standard, strong debugging tools Toolchain setup can be complex
RP2040 Raspberry Pi Pico, XIAO RP2040 Pico SDK (C/C++), MicroPython, Arduino IDE; custom PIO assembly for peripherals Flexible, inexpensive, unique PIO hardware for custom protocols Requires learning PIO for advanced features
ESP8266 / ESP32 NodeMCU, Sparkfun/Adafruit ESP boards Espressif SDK/IDF, Arduino IDE, MicroPython Built-in Wi-Fi/Bluetooth, large community support, IoT-ready Higher power usage, less deterministic timing
RISC-V HiFive boards, experimental dev kits riscv-gnu-toolchain, GDB, newer SDKs Open-source ISA, growing ecosystem, academic/educational interest Toolchain less mature, fewer libraries & examples

Comprehensive comparison of microcontroller architectures and their tradeoffs in embedded programming

Language Tradeoff

Programming Language Tradeoffs in Embedded Systems

Programming language tradeoff analysis showing performance vs development speed considerations

As illustrated in the language tradeoff diagram above, the choice of programming language involves critical tradeoffs between performance and development speed. The analysis shows how different languages balance factors like memory efficiency, execution speed, development time, and ecosystem support for embedded system development.

High Performance Languages

  • C/C++: Maximum control, minimal overhead
  • Rust: Memory safety with performance
  • Assembly: Direct hardware control

Rapid Development Languages

  • Python: Fast prototyping, rich libraries
  • JavaScript: Web integration capabilities
  • MicroPython: Python for microcontrollers

Development Workflow Tradeoff

Development Workflow Tradeoffs in Embedded Systems

Development workflow tradeoff analysis comparing different methodologies and their impact on project outcomes

The development workflow tradeoff diagram above demonstrates how different methodologies balance project timeline, code quality, and team collaboration. This visual analysis compares traditional waterfall approaches with agile methodologies, showing the impact of various toolchains, testing strategies, and deployment processes on embedded system development success.

Traditional Approaches

  • Waterfall: Sequential, documentation-heavy
  • V-Model: Testing integrated with design
  • Spiral: Risk-driven iterative approach

Modern Approaches

  • Agile: Iterative, customer-focused
  • DevOps: Continuous integration/deployment
  • Test-Driven Development: Quality-first

Microcontroller Tradeoff

Microcontroller Selection Tradeoffs

Microcontroller tradeoff analysis showing performance vs power consumption and cost considerations

The microcontroller tradeoff diagram above illustrates the critical balance between performance, power consumption, and cost in embedded system design. This visual analysis evaluates different architectures, processing capabilities, memory configurations, and peripheral options, providing a clear framework for selecting the optimal platform based on specific application requirements.

Low-Power Options

  • ARM Cortex-M0+: Ultra-low power
  • PIC: Simple, cost-effective
  • MSP430: Energy-efficient design

High-Performance Options

  • ARM Cortex-M4: DSP capabilities
  • ESP32: WiFi/Bluetooth integrated
  • STM32: Rich peripheral set

Use Case Analysis

Architecture Workflow Process Key Characteristics
SAMD21 (ARM Cortex-M) • Write code in C/C++ (Arduino IDE or PlatformIO)
• Compile with arm-none-eabi-gcc
• Upload using OpenOCD via USB or SWD debugger
• Debug with GDB or serial monitor
Professional-grade debugging, industry standard tools
RP2040 (Raspberry Pi Pico) • Write code in C/C++ (Pico SDK) or MicroPython
• Compile with CMake + GCC toolchain
• Drag-and-drop .uf2 file to Pico's USB mass storage device
• (Optional) Use custom PIO assembly for hardware interfaces
Accessibility and flexibility, drag-and-drop + PIO

Workflow examples showing different development approaches for ARM and RP2040 architectures

The example workflow table above provides specific recommendations for different embedded system applications, showing how the tradeoff analyses from the previous sections translate into practical implementation strategies. This comprehensive table demonstrates the relationship between project requirements and optimal technology choices.

Key Findings

As demonstrated in the workflow table above, ARM workflows emphasize professional-grade debugging with industry-standard tools, while RP2040 workflows emphasize accessibility and flexibility through drag-and-drop deployment and unique PIO capabilities. The comprehensive architecture comparison shows that optimal design choices depend heavily on project constraints, performance requirements, and development timeline. High-performance applications favor ARM Cortex-M with professional toolchains, while rapid prototyping benefits from RP2040's flexible development environment and built-in features.

Individual Assignment: ReactionAge

Build a reaction time measurement system based on research methodologies from cognitive science literature. This project combines embedded programming with scientific measurement principles to create a tool for studying human cognitive performance.

Core Features

  • Stimulus Generation
    Visual/auditory stimuli with precise timing
  • Response Detection
    Accurate measurement using buttons/sensors
  • Data Analysis
    Statistical processing and visualization

Research Foundation

Based on PLOS ONE study (2017) examining reaction time variability and cognitive decline.

Repository: github.com/saleemaldajani/reaction-timer-saleemaldajani

Reaction Time vs Age Model

Reaction time model showing the relationship between age and cognitive performance, based on research from PLOS ONE (2017)

Related Research

Parts List / Bill of Materials

Download BOM
# Image Part Description Qty Unit Price Datasheet Price
1 ATmega32 Microcontroller ATmega32 Microcontroller 8-bit AVR MCU, 32 KB Flash, 2 KB SRAM, ADC, timers, USART 1 $7.50 PDF $7.50
2 OLED Display Module 0.96″ OLED Display Module (SSD1306) 128×64 mono OLED, I²C/SPI interface 1 $2.50 PDF $2.50
3 Male Header Pins Male Header Pins (2.54 mm) Breakaway straight male headers 2 $0.20 PDF $0.40
4 Dual-Row Header Dual-Row Header (2×5, 2.54 mm) 10-pin dual-row header, unshrouded 1 $0.50 PDF $0.50
5 SMD MOSFET SMD MOSFET (AO3400A example) N-channel MOSFET, SOT-23 2 $0.15 PDF $0.30
6 SMD Capacitor SMD Capacitor (MLCC 0603 example) Ceramic capacitor, value TBD 5 $0.03 PDF $0.15
7 SMD Resistors SMD Resistors – 1 kΩ (code '1001') Precision SMD resistors 5 $0.02 PDF $0.10
8 SMD LED SMD LED (0603, color TBD) Indicator LED 2 $0.05 PDF $0.10
9 USB-C Connector USB-C Receptacle Surface-mount USB Type‑C connector 1 $0.60 PDF $0.60
10 Custom PCB Custom PCB (Capacitive-Touch Board) Project-specific PCB 1 $10.00 N/A $10.00
TOTAL $22.15

Complete bill of materials for the ReactionAge embedded programming project. All prices are in USD and subject to supplier variations.

Nintendo Switch Controller Training for Toddlers

An interactive training module designed for young children, utilizing Nintendo Switch controller input to create an engaging letter-matching game that develops motor skills and cognitive recognition.

Game Mechanics

  • Button Mapping
    A, B, X, Y in inverted layout
  • Visual Stimulus
    Flashing letters with bright colors
  • Progressive Difficulty
    Adapts based on performance

Educational Benefits

  • Motor Skills
    Hand-eye coordination
  • Letter Recognition
    Alphabet learning
  • Attention Building
    Focus and concentration

Technical Features

  • Controller Support
    Pro Controller & Joy-Con
  • Display System
    Large, colorful letters
  • Progress Tracking
    Analytics & feedback

ChatGPTMario2D

An AI-powered Mario-style platformer game built with ChatGPT assistance, featuring touch controls, adaptive gameplay mechanics, and classic 2D platforming elements optimized for embedded systems.

Mario-style platformer gameplay with touch controls and adaptive difficulty

ChatGPT-assisted development process and code generation demonstration

Source Code: qpad_d21_mario_touch_v12_clean.ino

Download .ino
Game Features
  • Touch-based controls (P3=LEFT, P4=RIGHT, P0=JUMP)
  • Adaptive difficulty thresholds
  • Collision detection and physics
  • Coin collection and enemy interaction
  • Coyote time and jump buffering
Technical Implementation
  • OLED Display (SSD1306) rendering
  • Adafruit FreeTouch library integration
  • State machine architecture
  • Offscreen watchdog protection
  • Robust collision detection system
Touch Button Mapping
P4(6) right
P3(5) left
P5(7) up
P2(4) down
P0(2) jump
P1(3) not working

Button mapping obtained using QPAD21 Touch Monitor utility in Design Files

CircleSquareShapeSongSwingalong

A collaborative multiplayer game featuring geometric shape interactions, synchronized gameplay between two ESP32 devices, inspired by educational content in Shape Song Swing Along.

Shape Song Swing Along educational content integration and gameplay

Circle and square shape interaction gameplay mechanics

Source Code: TwoSquares_XiaoESP32S3_Touch_ReadySplash_MACFix.ino

Download .ino
Multiplayer Features
  • ESP-NOW wireless communication
  • Dual ESP32-S3 device support
  • MAC address-based player identification
  • Synchronized game state management
  • Ready state coordination
Educational Integration
  • Shape recognition and interaction
  • Touch-based geometric learning
  • Visual feedback systems
  • Collaborative problem solving
  • Real-time synchronization
Device MAC Addresses
MAC Address 1
D8:3B:DA:75:05:AC
MAC Address 2
D8:3B:DA:75:E1:9C

MAC addresses obtained using Get MAC Address utility in Design Files

Design Files

Source code, circuit diagrams, and documentation files for embedded programming projects.

ReactionAge Arduino Code

Download .ino
Developed with ChatGPT

This code was developed collaboratively with ChatGPT. View development transcript

Key Features

Hardware Integration
  • OLED Display (SSD1306)
  • RGB LED indicators
  • Capacitive touch sensors
  • State machine architecture
Reaction Time Analysis
  • Multiple prediction models
  • Statistical data collection
  • CSV export functionality
  • Real-time age prediction
Code Preview
// Reaction time prediction models
const float A_POOLED = -35.392393f, B_POOLED = 0.1930446f;
const float A_MALE = -58.123019f, B_MALE = 0.2640664f;
const float A_FEMALE = -31.603679f, B_FEMALE = 0.176111015f;

float predictAgeFromRT(unsigned long rt_ms) { float x = (float)rt_ms; float a, b, c; switch (currentModel) { case SX_MALE: a=A_MALE; b=B_MALE; c=C_MALE; break; case SX_FEMALE: a=A_FEMALE; b=B_FEMALE; c=C_FEMALE; break; default: a=A_POOLED; b=B_POOLED; c=C_POOLED; break; } return a + bx + cx*x; }

ChatGPTMario2D Arduino Code

Download .ino
Developed with ChatGPT

This code was developed collaboratively with ChatGPT. View development transcript

Key Features

Game Mechanics
  • Touch-based controls (P3=LEFT, P4=RIGHT, P0=JUMP)
  • Adaptive difficulty thresholds
  • Collision detection and physics
  • Coin collection and enemy interaction
  • Coyote time and jump buffering
Technical Implementation
  • OLED Display (SSD1306) rendering
  • Adafruit FreeTouch library integration
  • State machine architecture
  • Offscreen watchdog protection
  • Robust collision detection system
Code Preview
// Touch control mapping and adaptive thresholds
#define N_TOUCH   6
#define THRESHOLD 500
uint8_t touch_pins[N_TOUCH] = {2,3,4,5,6,7};  // P0..P5 -> pins (2,3,4,5,6,7)

// Game state management enum GameState { MENU, PLAYING, PAUSED, GAME_OVER }; GameState currentState = MENU;

// Player physics and collision detection struct Player { float x, y, vx, vy; bool onGround, canJump; int lives, coins; };

// Adaptive difficulty system #define USE_ADAPTIVE_THRESH 1 int adaptive_thresholds[N_TOUCH] = {500, 500, 500, 500, 500, 500};

void updateGame() { // Physics update player.vy += GRAVITY; player.y += player.vy;

// Collision detection with platforms for (int i = 0; i < N_PLATFORMS; i++) { if (checkCollision(player, platforms[i])) { player.onGround = true; player.vy = 0; } } }

CircleSquareShapeSongSwingalong Arduino Code

Download .ino
Developed with ChatGPT

This code was developed collaboratively with ChatGPT. View development transcript

Key Features

Multiplayer Communication
  • ESP-NOW wireless protocol
  • MAC address-based player identification
  • Real-time state synchronization
  • Ready state coordination
  • Dual ESP32-S3 device support
Educational Features
  • Shape recognition and interaction
  • Touch-based geometric learning
  • Visual feedback systems
  • Collaborative problem solving
  • Real-time synchronization
Code Preview
// ESP-NOW communication setup
#include 
#include 

// Player state structure for network synchronization struct PlayerState { int x, y, vx, vy; bool onGround; };

struct NetPacket { PlayerState st; bool ready; };

// MAC address-based player identification uint8_t macP1[] = {0xD8, 0x3B, 0xDA, 0x75, 0x05, 0xAC}; uint8_t macP2[] = {0xD8, 0x3B, 0xDA, 0x75, 0xE1, 0x9C};

// Touch controls for shape interaction #define N_TOUCH 6 #define THRESHOLD 100000UL int touch_pins[N_TOUCH] = {9, 8, 7, 2, 3, 1}; #define IDX_LEFT 1 #define IDX_RIGHT 0 #define IDX_JUMP 2

// ESP-NOW callback for receiving data void OnDataRecv(const uint8_t mac, const uint8_t incomingData, int len) { memcpy(&otherState, incomingData, sizeof(otherState)); otherReady = true; }

QPAD21 Touch Monitor Arduino Code

Download .ino

A touch monitoring utility developed with ChatGPT assistance for debugging and calibrating touch sensor inputs on the QPAD21 development board. This tool provides real-time visualization of touch sensor values and helps optimize touch thresholds for embedded applications.

Developed with ChatGPT

This code was developed collaboratively with ChatGPT. View development transcript

Key Features

Touch Monitoring
  • Real-time touch sensor value display
  • Multi-channel touch input monitoring
  • Threshold calibration assistance
  • Serial output for data logging
  • Visual feedback on OLED display
Debugging Tools
  • Touch state visualization
  • Raw sensor value output
  • Threshold testing interface
  • Performance monitoring
  • Calibration guidance
Code Preview
// Touch monitoring and calibration utility
#include 
#include 
#include 

#define N_TOUCH 6 #define THRESHOLD 500 uint8_t touch_pins[N_TOUCH] = {2,3,4,5,6,7}; Adafruit_FreeTouch* touch_devices[N_TOUCH];

int touch_values[N_TOUCH] = {0,0,0,0,0,0}; bool pin_touched[N_TOUCH] = {false,false,false,false,false,false};

void updateTouchMonitor() { for (int i = 0; i < N_TOUCH; i++) { int value = touch_devices[i]->measure(); touch_values[i] = value; pin_touched[i] = (value > THRESHOLD);

// Serial output for debugging Serial.print("Touch "); Serial.print(i); Serial.print(": "); Serial.print(value); Serial.print(" "); Serial.println(pin_touched[i] ? "PRESSED" : "RELEASED"); } }

Get MAC Address Arduino Code

Download .ino

A utility developed with ChatGPT assistance for retrieving and displaying MAC addresses on ESP32 devices. This tool is essential for ESP-NOW communication setup, allowing developers to identify device MAC addresses for peer-to-peer networking configuration in multiplayer embedded applications.

Developed with ChatGPT

This code was developed collaboratively with ChatGPT. View development transcript

Key Features

MAC Address Retrieval
  • WiFi STA MAC address extraction
  • Bluetooth MAC address retrieval
  • Serial output for easy copying
  • OLED display visualization
  • Multiple format output options
ESP-NOW Integration
  • Device identification for networking
  • Peer-to-peer communication setup
  • MAC address validation
  • Network configuration assistance
  • Multi-device coordination
Code Preview
// MAC address retrieval utility for ESP32
#include 
#include 

void setup() { Serial.begin(115200);

// Get WiFi STA MAC address uint8_t mac[6]; esp_read_mac(mac, ESP_MAC_WIFI_STA);

Serial.print("WiFi STA MAC: "); for (int i = 0; i < 6; i++) { if (i > 0) Serial.print(":"); if (mac[i] < 16) Serial.print("0"); Serial.print(mac[i], HEX); } Serial.println();

// Get Bluetooth MAC address esp_read_mac(mac, ESP_MAC_BT); Serial.print("Bluetooth MAC: "); for (int i = 0; i < 6; i++) { if (i > 0) Serial.print(":"); if (mac[i] < 16) Serial.print("0"); Serial.print(mac[i], HEX); } Serial.println(); }

Project Resources

Circuit Diagrams

  • Microcontroller connection schematics
  • Sensor integration diagrams
  • Power supply and signal conditioning circuits

Board Design Files

Complete KiCad project files for custom PCB design, including schematics, PCB layouts, and project configurations for embedded development boards.

File Type Description Download
KiCad Project Complete KiCad project file containing all design data and settings .kicad_pro
Schematic Circuit schematic showing component connections and electrical design .kicad_sch
PCB Layout Physical PCB layout with component placement and trace routing .kicad_pcb

Design Documentation:

For detailed board design principles, USB-C connector placement, and manufacturing considerations, refer to the Board Design Documentation section above.

Reflections & Learnings

[Reflection notes placeholder.]

Contributions

Acknowledgments for collaborative support and technical assistance during the embedded programming project development.

Course Staff

Quentin Bolsée

Helped me so much with the ESP32S3 code development with his awesome examples. Also assisted with resoldering the microcontroller when we were debugging the USBC QPAD issues. Couldn't have done it without you!

Anthony Pennes

Spent so many hours helping me debug my USBC QPAD while resoldering the USBC port. Eventually it turned out the problem was that we crashed the board with XIAO code on a D21! Too much to say and so little time until class. Couldn't have done it without you.

Jesse de Alva

Helped me test the boards after programming them, providing valuable assistance with debugging and validation of the embedded programming projects. Your support was crucial for ensuring everything worked correctly.

Technical Support & Collaboration

Eghosa Ohenehn

Contributed valuable insights and technical discussions about microcontroller tradeoffs during the group assignment development. Provided expertise in evaluating different microcontroller architectures and their suitability for various embedded programming applications.

Anthony Pennes

Engaged in extensive discussions throughout the embedded programming design trades section, providing valuable technical insights and collaborative support during the group assignment development process.

Quentin Bolsée

Participated in numerous office hours discussions about embedded programming design trades, contributing significantly to the technical analysis and collaborative development of the group assignment content.

Alex Hu

Thank you for showing me Flappy Bird and inspiring me to push through the game development part of my plan this week. Your demonstration and encouragement were instrumental in motivating me to complete the ChatGPTMario2D and CircleSquareShapeSongSwingalong projects, helping me overcome technical challenges and stay focused on the embedded programming goals.

Tushar Kanade

Thank you for taking videos of the soldering training! Your documentation of the training process was incredibly helpful for understanding the techniques and procedures. The visual reference you provided made it much easier to follow along and learn the proper soldering methods for the embedded programming projects.

Special thanks to the collaborative learning environment that enabled knowledge sharing and technical problem-solving throughout the embedded programming week.

Ethical AI Use

Transparent documentation of AI assistance used in this week's work, following course guidelines for ethical AI usage.

AI-Assisted Template Generation and Task Planning

Used ChatGPT to generate the weekly template HTML structure and styling framework, and created structured task prompts for week 2 embedded programming content development.

📄 View ChatGPT Transcript 📋 View Task Prompt

AI-Assisted Content Development and Page Structure

Used Cursor AI for iterative content development, page structure optimization, and aesthetic improvements. The AI helped with HTML/CSS implementation, content organization, and maintaining consistent styling across the embedded programming documentation.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted BOM Table Implementation

Used Cursor AI to implement the comprehensive BOM table with clickable images, datasheet links, and full-width responsive design. The AI helped with HTML table structure, CSS styling, and integration of CSV data into an aesthetically pleasing table format.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Image Recognition and BOM Creation

Used ChatGPT for image recognition of electronic components to identify parts and construct the bill of materials CSV file. The AI analyzed component images and provided detailed part specifications, descriptions, and pricing information for the embedded programming project.

📄 View Full Transcript

AI-Assisted Project Content Updates and Documentation

Used Cursor AI for comprehensive project content updates, documentation improvements, and HTML structure optimization. The AI assisted with content organization, styling consistency, and integration of multimedia elements for the embedded programming documentation.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Arduino Programming and Code Development

Used ChatGPT for Arduino programming assistance based on the ReactionAge project code from GitHub repository and Quentin Bolsée's QPAD documentation available on the course website embedded system assignment page. The AI provided guidance on embedded programming concepts, code optimization, and integration with the QPAD-xiao board design.

📄 View ChatGPT Transcript 🔗 GitHub Repository 🔗 QPAD-xiao Documentation

AI-Assisted Group Assignment Content Development and Table Implementation

Used Cursor AI for comprehensive development of the embedded programming design trades group assignment section. The AI assisted with creating structured subsections for language, development workflow, and microcontroller tradeoffs, implementing professional HTML tables with data extracted from PowerPoint presentations, and integrating download links for PDF and PPTX files.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Training Section Development and Documentation

Used Cursor AI for comprehensive development of the training section, including soldering techniques, QPAD programming guides, board design documentation, and troubleshooting procedures. The AI assisted with creating structured subsections, implementing video demonstrations, adding download links for design files, and developing comprehensive troubleshooting guides with multimeter testing procedures.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Git Workflow Optimization

Used Cursor AI to analyze file sizes and break down large changes into smaller, manageable commits to avoid exceeding Git's 25MB commit size limit. The AI helped organize files by size, created a logical commit strategy, and automated the commit and push process for better version control practices.

📄 View Full Transcript 💾 Download Chat File

AI-Assisted Game Development: ChatGPTMario2D

Used ChatGPT for collaborative development of the ChatGPTMario2D platformer game, including touch control implementation, adaptive difficulty systems, collision detection, and game physics. The AI provided guidance on embedded programming concepts, state machine architecture, and optimization for the QPAD21 development board.

📄 View ChatGPT Transcript

AI-Assisted Multiplayer Game Development: CircleSquareShapeSongSwingalong

Used ChatGPT for collaborative development of the CircleSquareShapeSongSwingalong multiplayer game, including ESP-NOW wireless communication, MAC address-based player identification, synchronized game state management, and educational content integration. The AI provided guidance on embedded networking, real-time synchronization, and touch-based geometric learning systems.

📄 View ChatGPT Transcript

AI-Assisted Touch Monitoring Utility Development

Used ChatGPT for collaborative development of the QPAD21 touch monitoring utility, including real-time sensor value display, threshold calibration assistance, debugging tools, and serial output for data logging. The AI provided guidance on touch sensor integration, calibration procedures, and embedded debugging techniques for the QPAD21 development board.

📄 View ChatGPT Transcript

AI-Assisted MAC Address Utility Development

Used ChatGPT for collaborative development of the get_mac_address utility for ESP32 devices, including WiFi STA and Bluetooth MAC address retrieval, serial output formatting, and ESP-NOW integration support. The AI provided guidance on embedded networking concepts, MAC address extraction methods, and device identification techniques for multiplayer embedded applications.

📄 View ChatGPT Transcript

AI-Assisted Toddler Training Subsections Development

Used Cursor AI for comprehensive development of toddler training subsections, including ChatGPTMario2D and CircleSquareShapeSongSwingalong game implementations. The AI assisted with creating structured subsections, implementing video demonstrations, adding download links for Arduino code files, and developing comprehensive documentation for embedded programming educational content.

📄 View Transcript 💾 Download Markdown

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

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Now let me work on week3.html. Let me find the useful documentation section:

Let me search for a different pattern:

Let me search for any section that might be a good place to add helpful documentation:

Let me read the structure of week3.html to understand where to add the helpful documentation:

Let me find a good place to add the helpful documentation section. Let me look for the end of the file structure:

Let me find where the training section ends and add the helpful documentation section there:

Let me find the section before "Design Files" to add the helpful documentation:

Let me add the helpful documentation section before the Design Files section:




  
  
  Week 3 · HTMAA 2025 · 3D Scanning and Printing
  
  


  
Profile Image

Week 3

3D Scanning and Printing

Week Highlights

Exploring the capabilities and limitations of additive manufacturing through hands-on design and printing experiments.

Table of Contents

3D Scanning and Printing

This week focuses on additive manufacturing processes and 3D scanning technologies. We'll explore the differences between subtractive and additive processes, learn about various 3D printing materials and techniques, and understand the design constraints and capabilities of 3D printing systems.

Key Concepts: Additive vs subtractive manufacturing, design for 3D printing, material properties, scanning technologies

This Week's Goals

  • Test 3D printer design rules
    Group assignment: Test design rules for available 3D printer(s)
  • Design additive-only object
    Individual: Design and print object that cannot be made subtractively
  • 3D scan an object
    Individual: Scan an object and optionally print it

Assignments

  • Group Assignment
    Test design rules for 3D printer(s)
  • Individual Assignment
    Design, document, and 3D print object that could not be made subtractively
  • 3D Scanning
    3D scan an object (and optionally print it)

Tools & Materials

  • 3D Printers
    FDM, SLA, SLS systems
  • Materials
    PLA, PETG, ABS, specialty materials
  • Scanning Equipment
    Photogrammetry, structured light, laser scanning
  • Software
    Slicers, mesh editing, scanning software

3D Printing Processes

Understanding different additive manufacturing technologies and their applications.

Fused Deposition Modeling (FDM/FFF)

Most common desktop 3D printing method using thermoplastic filament

Stereolithography (SLA)

UV-cured resin printing for high detail and smooth surfaces

Selective Laser Sintering (SLS)

Powder-based printing for complex geometries without supports

Digital Light Processing (DLP)

Similar to SLA but uses digital light projection for faster printing

Binder Jetting

Powder and binder system for full-color printing

Material Jetting

Inkjet-style printing with multiple materials and colors

Materials

Common 3D printing materials and their properties.

PLA (Polylactic Acid)

Plant-based, biodegradable, easy to print, glass transition ~60°C, more brittle

PETG (Polyethylene Terephthalate Glycol)

Oil-based recyclable, glass transition ~80°C, tougher, better UV resistance

ABS (Acrylonitrile Butadiene Styrene)

Strong, impact-resistant, requires heated bed, more difficult to print

TPU (Thermoplastic Polyurethane)

Flexible material for rubber-like properties

PVA (Polyvinyl Alcohol)

Water-soluble support material

Specialty Materials

Wood-filled, metal-filled, carbon fiber, conductive materials

Design Rules for 3D Printing

Key constraints and guidelines for designing printable objects.

Overhangs & Supports

  • Overhang angle
    Typically 45° maximum without supports
  • Bridging
    Short spans can be printed without supports
  • Support types
    Tree, linear, and custom support structures

Geometry Constraints

  • Wall thickness
    Minimum thickness depends on nozzle size
  • Clearance
    Gaps between moving parts need proper spacing
  • Infill patterns
    Affects strength, weight, and print time

3D Scanning Methods

Various technologies for capturing 3D geometry of physical objects.

Photogrammetry

Multiple photos from different angles, processed with software like Meshroom, Polycam

Structured Light

Projects patterns onto object, captures deformation for 3D reconstruction

Laser Scanning

Time-of-flight or triangulation-based distance measurement

Stereo Vision

Two cameras for depth perception, similar to human vision

CT Scanning

X-ray tomography for internal structures and complex geometries

LIDAR

Light detection and ranging for large-scale scanning

3D Scanning Training

Comprehensive guide to 3D scanning techniques and best practices using structured light scanning systems.

Scanning Equipment

CrealityScan 4.1.2.8

Structured light 3D scanner with advanced scanning capabilities and user-friendly interface

Creality Ferret Pro

Professional-grade 3D scanner with high-resolution capture and precision scanning features

Step-by-Step Scanning Process

Initial Setup

  • Create new project
    Start with a fresh project in CrealityScan software
  • Select face scanner mode
    Choose appropriate scanning mode for object type
  • Optimize lighting conditions
    Ensure green indicator for optimal scanning conditions
  • Activate turntable
    Enable automatic rotation for 360° scanning

Scanning Configuration

  • Test optimal settings
    Experiment with different configurations to find best results
  • Adjust fuse/resolution
    Use default settings as starting point, then optimize
  • Position object correctly
    Face away from windows and close shades for better results
  • Add reference objects
    Include random items like booklets and USB dongles for better recognition

Post-Processing Workflow

Mesh Processing Steps

  • Import to Meshmixer
    Use Meshmixer for advanced mesh editing and cleanup
  • Delete unwanted geometry
    Remove scanning artifacts, background elements, and noise
  • Fill holes and gaps
    Repair incomplete areas using Meshmixer's hole-filling tools
  • Export final model
    Save in appropriate format (STL, OBJ, PLY) for further use

Best Practices & Tips

Lighting Optimization

Ensure consistent, diffused lighting. Avoid direct sunlight and harsh shadows that can interfere with structured light scanning.

Object Preparation

Clean the object thoroughly. For dark or reflective surfaces, consider applying scanning spray or powder for better light reflection.

Reference Objects

Place small, recognizable objects around the main subject to help the scanner track movement and improve alignment accuracy.

Multiple Angles

Capture the object from multiple angles and positions to ensure complete coverage and minimize blind spots in the final mesh.

3D Printing Training

Comprehensive guide to 3D printing techniques, software configuration, and best practices for optimal print quality and efficiency.

Software & Hardware Configuration

PrusaSlicer 2.9.3

Advanced slicing software with comprehensive print settings and optimization tools

Prusament PLA

High-quality PLA filament with consistent properties and reliable printing characteristics

Purse CORE One HF0.4

0.4mm nozzle diameter for balanced detail and print speed

Build Volume

Maximum height: 10 inches - consider this constraint for tall prints

Plater Settings & Layer Configuration

Layer Height Optimization

  • 0.2mm Default
    Great balance between quality and speed
  • Lower Heights
    Prettier surface finish, longer print times
  • Higher Heights
    Faster printing, rougher surface finish
  • Speed vs Quality
    Balance based on application requirements

Structural Considerations

  • Wall Count
    More walls = stronger parts, longer print time
  • Infill Density
    Adjust based on strength requirements
  • Print Speed
    Can often increase speed without quality loss
  • Vertical Shells
    Critical for part strength and appearance

Advanced Print Settings

Surface Quality & Aesthetics

  • Seams
    Control where layer changes occur for better appearance
  • Fuzzy Skin
    Adds texture to surfaces for improved grip or aesthetics
  • Surface Finish
    Optimize for intended application and post-processing

Best Practices & Tips

Layer Height Strategy

Start with 0.2mm for most prints, reduce to 0.15mm for detailed parts, increase to 0.3mm for prototypes.

Speed Optimization

Test higher speeds gradually - many printers can handle faster speeds than default settings suggest.

Wall Configuration

Use 2-3 walls for most applications, increase for structural parts, decrease for decorative items.

Build Volume Awareness

Remember the 10-inch height limit when designing tall objects - consider splitting large prints.

File Formats

Common file formats used in 3D printing and scanning workflows.

3D Model Formats

  • STL
    Most common for 3D printing, triangular mesh
  • OBJ
    Includes texture and color information
  • 3MF
    Modern format with metadata and multiple objects
  • STEP
    CAD exchange format with precise geometry

Printing Formats

  • G-code
    Machine instructions for 3D printer
  • PLY
    Point cloud format for scanning
  • AMF
    Additive Manufacturing Format with materials
  • VRML/X3D
    Web-based 3D formats

Group Assignment: Test Design Rules

Test the design rules for your 3D printer(s) by creating a comprehensive test print that evaluates various design constraints and capabilities.

Download Detailed Slides: PDF Version | Keynote Version

Comprehensive presentation covering all design rule tests, results, and analysis methodology.

Supported Design Rule Tests

These tests evaluate features that should print reliably without additional support structures:

Overhang Testing (Supported)
  • Test Result: Supported right angle overhang was successful with snug support (default)
    We didn't need to try organic support for this test
  • Support Removal: Successfully removed support with pliers
    Clean removal without damaging the part
  • Printer Used: Prusa Core One with white generic PLA
    Standard settings provided good results
Clearance Testing
  • Minimum Clearance: 0.2mm is the minimum clearance for an object to be separable
    Tight fit, hard to rotate at this clearance
  • Optimal Clearance: Above or equal to 0.3mm is looser and more functional
    Better for moving parts and assemblies
  • Non-functional: Below 0.2mm is not separable
    Parts fuse together at this clearance
Helical Support Thickness Testing
  • Too Fused: 0.48 revolutions/mm — too fused (28 revolutions over 60mm with 6mm diameter, 2mm thickness)
    Parts become inseparable at this density
  • Optimal Range: 0.35 revolutions/mm — works (21 revolutions over 60mm with 6mm diameter, 2mm thickness)
    Good balance between support and separability
  • Sweet Spot: Optimal exists between 0.35-0.48 revolutions/mm
    Fine-tuning within this range for specific applications

Unsupported Design Rule Tests

These tests push the boundaries of what the printer can achieve without additional support structures:

Angle Testing (Unsupported)
  • Minimum Angle: 20 degrees is minimum overhang angle (defined as degrees above right angle)
    Below this angle, the print quality degrades significantly
  • Good Quality: 30 degrees and above are nicely formed
    Reliable print quality at these angles
  • Poor Quality: 10 degrees and below result in spaghetti
    Printer cannot maintain structural integrity at these angles
Overhang Testing (Unsupported)
  • Maximum Distance: 2-3mm is maximum unsupported overhang distance before spaghetti
    Beyond this distance, the print quality fails
  • Acceptable Range: Below 2-3mm is fine
    Good print quality within this range
  • Failure Point: After 2-3mm becomes awkward
    Structural integrity is compromised beyond this point
Bridging Testing
  • Maximum Bridge: 18mm is maximum bridge size
    Reliable bridging performance up to this length
  • Acceptable Performance: 20mm is actually not too bad
    Slight degradation but still functional
  • Test Method: Horizontal unsupported spans
    Evaluates printer's bridging capabilities without support
Wall Thickness Testing
  • Minimum Thickness: 0.6mm is the minimum wall thickness that is sturdy
    Below this thickness, walls are too fragile
  • Fragile Range: Thinner walls just break off if you touch them
    Not suitable for functional parts
  • Design Implication: Use 0.6mm+ for structural elements
    Critical for load-bearing applications
Dimensional Accuracy Testing
  • Outer Distance: 20.05mm measured (one offset from 20mm design)
    0.05mm offset in outer dimensions
  • Inner Distance: 9.90mm measured (twice offset from 10mm design)
    0.10mm total offset in inner dimensions
  • Height Variation: Dimensions actually slightly differ as a function of height
    Z-axis accuracy varies with print height
Anisotropy/Orientation Testing
  • Quantification Method: Use filament width (w, XY) and layer height (h, Z) for geometric approximation
    A ≈ w/h where A > 1 indicates anisotropy
  • Unsupported Results: w=730, h=545, A=730/545=1.339
    Significant anisotropy in unsupported prints
  • Supported Results: w=20.11, h=20.16, A=20.11/20.16=0.998
    Much more isotropic with proper support
Surface Finish Testing
  • Layer Visibility: With default surface finish settings, layers are clearly visible
    Further optimization necessary for smoothing
  • Nozzle Tracking: Can see the track of the nozzle during step height process
    Step height can be adjusted and tuned for curvature needed
  • Roundedness Limitation: Limited roundedness, flat at the top
    Can be adjusted from the step height settings
Infill Testing
  • Optimal Density: 15% infill is optimal
    Good balance between strength and material usage
  • Interior Quality: There is spaghetti in the interior, but very minimal
    Acceptable level of internal defects
  • Application Guidelines: Higher infill for stiffer structures, lower infill for flexible structures
    Further characterization of other infills can be done

Additional Tests (To Be Determined)

Additional design rule tests planned for future evaluation:

  • Tapers/Corners
    Testing sharp corner capabilities and taper angles
  • Z Offset, Leveling, Measurement
    Evaluating bed leveling and Z-axis calibration effects
  • Adhesion, Warping, Rafts, Brims
    Testing bed adhesion strategies and warping prevention
  • Post-processing, Plating
    Exploring surface finishing and post-processing techniques

Design Test Files

Comprehensive STL files for testing various 3D printing design rules and constraints:

Design Rule Prints

To optimize print time and material usage, we strategically grouped all supported and unsupported tests into two separate prints, allowing for comprehensive evaluation of printer capabilities.

All supported design rule tests printed together

Supported tests print - grouped for efficient testing

All unsupported design rule tests printed together

Unsupported tests print - challenging geometry evaluation

Print Strategy: By grouping all supported tests in one print and all unsupported tests in another, we were able to efficiently evaluate printer capabilities while minimizing material waste and print time. This approach allowed for direct comparison between different test geometries and provided comprehensive data on the printer's performance across various design constraints.

The supported tests focused on features that should print reliably, while the unsupported tests pushed the boundaries of what the printer could achieve without additional support structures.

References

Individual Assignment: Additive-Only Design

Design, document, and 3D print an object that could not be made subtractively. The object should be small (few cm³) and limited by printer time.

Design Requirements

  • Complex geometry
    Must have features impossible with subtractive manufacturing
  • Size constraint
    Small object, few cm³ volume
  • Print time
    Consider reasonable print time for testing
  • Documentation
    Document design process, print settings, and results

3D Scanning Component

  • Scan object
    Use available scanning method to capture 3D geometry
  • Process mesh
    Clean and prepare scanned mesh for printing
  • Optional printing
    Print the scanned object if desired

Handgripper for Locomotive Age Assessment

I hope to design and fabricate a handgripper to measure age based on hand grip strength. This builds on our aging biomarker research by focusing on locomotive age assessment.

The idea is to measure functional decline due to aging across multiple modalities:

  • Cognition: Memory, attention, reasoning, and problem-solving
  • Locomotion: Mobility, balance, and muscle strength
  • Sensory: Vision, hearing, and touch
  • Vitality: Energy levels, nutrition, and sleep
  • Psychological: Emotional well-being, resilience, and social connections

Last week we measured cognition with reaction time - this week we focus on locomotive age through grip strength.

Proposed 3D Printable Components

Untanglable Slinky

Complex interlocking geometry that cannot be manufactured subtractively. Tests printer's ability to create intricate, self-supporting structures with minimal overhangs.

Single Torsion Spring

Helical spring mechanism for grip force measurement. Demonstrates additive manufacturing's capability to create functional mechanical components in one piece.

Double Torsion Spring

Nested spring system with different spring constants. Tests printer's ability to create complex, multi-component mechanisms with varying material properties.

Coil Mechanism

Spiral coil for force transmission and measurement. Explores the limits of printable coil geometries and their mechanical properties for sensor integration.

Untanglable Slinky

A complex 3D printable design that demonstrates additive manufacturing capabilities through intricate geometry that cannot be manufactured subtractively.

Human-AI Co-Design

This design was co-developed through iterative discussion with ChatGPT, exploring various approaches to create an untanglable slinky geometry.

Design Iterations

The design process involved multiple iterations, with the first two attempts resulting in tangled slinkies that failed to maintain proper coil separation:

Final Successful Design

The third iteration successfully achieved the desired untanglable geometry:

Final untanglable slinky design

Final design: Untanglable slinky with proper coil geometry

Design Description: This design shows an untanglable slinky with flat, oval coils, tiny spacers between turns, and solid end caps, so it collapses neatly without knots. The geometry enforces orderly stacking while preventing coils from slipping past each other.

This design was co-created through iterative discussion with ChatGPT, demonstrating effective human-AI collaboration in 3D design. View the full conversation transcript in the Ethical AI Use section →

First Slinky Design

My initial exploration into creating a 3D printable slinky design, inspired by the classic magic spring concept.

First slinky design - initial exploration

First slinky design - exploring the magic spring concept

Design Description: This first slinky design represents my initial exploration into creating a 3D printable magic spring. The design focuses on creating a helical structure that can collapse and expand while maintaining its structural integrity.

This design was inspired by the classic slinky toy and the concept of creating a "magic spring" that can be 3D printed in one piece, demonstrating the unique capabilities of additive manufacturing.

Inspiration & Resources

This design draws inspiration from several sources and builds upon existing work in 3D printable magic springs:

Video Demonstration

Watch the slinky in action: YouTube Video - Magic Spring Demonstration

3D Printable Magic Spring

Download the original design: Printables - Slinky Magic Spring

Hackaday Project

Explore the technical details: Hackaday - 3D Printed Magic Spring

The Hackaday project provides comprehensive documentation including Java code for generating G-code, print parameters, and detailed instructions for creating 3D printable magic springs. The project includes multiple iterations of the code with different features like temperature control, spiral priming, and delta printer compatibility.

Design Files

Design files are available for download in the Design Files section.

First Slinky Print

Bringing the first slinky design to life through 3D printing, testing the design's printability and mechanical properties in real-world conditions.

Print Process Documentation

The printing process involved careful preparation, parameter optimization, and real-time monitoring to ensure successful fabrication of the complex slinky geometry.

First slinky print in progress showing 3D printing process

First slinky print in progress - demonstrating 3D printing of complex helical geometry

Print Process Description: The printing process successfully demonstrated the capability of FDM 3D printing to create complex helical geometries. The slinky was printed using PETG material with optimized settings for layer adhesion and dimensional accuracy. The print required careful support structure management and precise temperature control to achieve the desired mechanical properties.

Key printing parameters included: 0.4mm nozzle diameter, 0.2mm layer height, PETG material, and optimized print speed for complex geometry. The print time was approximately 55 minutes for the complete slinky structure.

Printing Video Demonstration

Watch the complete printing process in action, showing the layer-by-layer construction of the slinky's complex helical structure.

Complete printing process video showing layer-by-layer construction of the slinky

Video Analysis: This video demonstrates the successful 3D printing of the complex slinky geometry, showing how the printer handles overhangs, bridging, and intricate details. The printing process reveals the importance of proper support structures and temperature management for achieving functional mechanical properties.

Notable aspects: smooth layer transitions, successful overhang printing, proper bridging between coil segments, and consistent material flow throughout the complex geometry.

Optimization Goal & Hypothesis

The primary goal of this project is to optimize the number of revolutions that are printable in a single slinky design, pushing the limits of 3D printing capabilities for complex helical geometries.

Key Hypothesis: Since this is a slinky design, the flexible nature of the printed object should allow for pulling and stretching to remove support material from between the coils. This hypothesis drives the design optimization process, testing how many revolutions can be successfully printed while maintaining the ability to remove internal supports through mechanical manipulation.

This approach challenges traditional 3D printing constraints by leveraging the inherent flexibility of the slinky geometry to overcome support removal limitations, potentially enabling more complex and longer helical structures than would otherwise be printable.

First Success and Failure

Documenting the initial printing results and the challenges encountered with support removal, leading to refined techniques for successful slinky fabrication.

Removing Support

The first attempts at support removal revealed that simple breaking methods were insufficient for the complex internal geometry of the slinky design.

Breaking Support - Failed Method

Breaking support fails - insufficient for complex internal geometry

Razor Method - Successful Approach

Razor method works but requires caution and carefulness

Support Removal Analysis: Initial attempts at simply breaking support material proved ineffective due to the complex internal geometry of the slinky coils. The support material was too tightly integrated with the helical structure to be removed through mechanical breaking alone.

The razor method, while effective, requires extreme caution and carefulness to avoid damaging the delicate slinky structure. This process demands patience and precision to successfully remove internal supports without compromising the print quality.

Successful Results

After refining the support removal technique, the slinky prints achieved successful results with proper mechanical functionality.

First successful slinky print result

First successful slinky print - demonstrating proper mechanical functionality

Multiple successful slinky prints

Multiple successful slinky prints - validation of design and process

Success Analysis: The successful slinky prints demonstrate the viability of 3D printing complex helical geometries with proper support removal techniques. The prints maintain their structural integrity and exhibit the expected slinky behavior, validating both the design approach and the fabrication process.

Key achievements: successful support removal, maintained geometric accuracy, functional mechanical properties, and reproducible results across multiple prints.

First Full Slinky

The final iteration of the slinky design achieved full functionality with proper mechanical behavior and successful support removal.

Fine Snipping

The final step in support removal required precise snipping to achieve clean separation and proper slinky functionality.

Fine snipping process - precise support removal for clean slinky functionality

Snipping Process: The final support removal required careful snipping with precision tools to achieve clean separation between the slinky coils and support material. This delicate process was essential for maintaining the structural integrity while enabling proper slinky movement.

Key considerations: maintaining coil geometry, avoiding damage to the helical structure, and ensuring smooth movement between coils.

Staircase Test

The completed slinky successfully passed the classic staircase test, demonstrating proper mechanical functionality and slinky behavior.

Complete full slinky ready for testing

Complete full slinky - ready for staircase test

Slinky staircase test - demonstrating proper mechanical functionality

Test Success: The slinky successfully passed the staircase test, demonstrating proper mechanical functionality with smooth coil movement and the characteristic slinky behavior. This validates both the design approach and the 3D printing process for creating functional mechanical objects.

Key achievements: proper coil separation, smooth movement, maintained structural integrity, and classic slinky behavior.

Design Files

Design files and G-code are available for download in the Design Files section.

Print Success Analysis: The first slinky print successfully demonstrated the viability of 3D printing complex helical geometries. The printed slinky maintained its structural integrity and demonstrated the expected mechanical properties, proving that additive manufacturing can create functional objects with intricate geometries that would be impossible to manufacture using traditional subtractive methods.

Key achievements: successful overhang printing, proper layer adhesion, maintained geometric accuracy, and functional mechanical properties suitable for the intended slinky behavior.

3D Scanning Component

Using 3D scanning technology to capture and digitize physical objects, demonstrating the capabilities of structured light scanning systems.

Object Selection: Darth Vader Sculpture

For the 3D scanning component, I selected a detailed Darth Vader sculpture as the target object. This choice was strategic - the sculpture's complex geometry, dark surface, and intricate details would test the scanning system's capabilities and limitations.

Darth Vader sculpture selected for 3D scanning

Darth Vader sculpture - complex geometry with dark surfaces and intricate details

Object Description: This detailed Darth Vader sculpture features complex geometry including flowing cape details, helmet ridges, and facial features. The dark surface material and intricate details present an excellent challenge for 3D scanning technology, testing both the system's ability to capture fine details and handle challenging surface properties.

The sculpture's combination of organic curves, sharp edges, and dark surface finish makes it an ideal test subject for evaluating scanning system performance across different surface types and geometric complexities.

Initial Scanning Attempt: Default Settings

The first scanning attempt used default scanner settings, which proved insufficient for capturing the complex geometry and dark surfaces of the Vader sculpture.

Failed 3D scan with default scanner settings

Failed scan result using default scanner settings - insufficient detail capture

Scan Failure Analysis: The default settings failed to capture sufficient detail from the dark Vader sculpture. The resulting mesh shows significant gaps, missing geometry, and poor surface reconstruction. This demonstrates the importance of optimizing scanner settings for specific object characteristics.

Key issues identified: insufficient lighting for dark surfaces, inadequate resolution settings, and suboptimal scanning angle coverage for complex geometry.

Optimization Process

The optimization process involved adjusting scanner settings and scanning parameters to achieve better results with the challenging Vader sculpture.

Video demonstration of scanner optimization process and parameter adjustment

Optimization Process: This video demonstrates the iterative process of adjusting scanner settings, lighting conditions, and scanning parameters to achieve optimal results. The process involved multiple attempts with different configurations to find the best balance between detail capture and scanning efficiency.

Key optimization steps included: adjusting lighting intensity, modifying scanning resolution, optimizing turntable speed, and fine-tuning surface detection parameters for dark materials.

Successful Scan Result

After optimization, the scanning process successfully captured the complex geometry of the Vader sculpture with significantly improved detail and surface reconstruction.

Successful 3D scan of Darth Vader sculpture

Successful 3D scan result with optimized settings - improved detail capture and surface reconstruction

Successful Scan Analysis: The optimized scan successfully captured the complex geometry of the Vader sculpture, including fine details like helmet ridges, cape folds, and facial features. The resulting mesh shows good surface reconstruction with minimal gaps and accurate geometric representation.

Key improvements achieved: enhanced detail capture, better surface reconstruction, reduced scanning artifacts, and improved geometric accuracy for complex organic shapes.

Scan Printing

Converting the scanned Vader model into a printable 3D object required extensive post-processing and optimization for 3D printing constraints.

Post-Processing Workflow
  1. Initial Processing: Start with fused STL from scanner software
  2. MeshLab Alignment: Use MeshLab to align model to axes for proper orientation
  3. Meshmixer Cleanup: Import to Meshmixer, select Vader, and remove background elements
  4. Edge Smoothing: Smooth edges using Meshmixer tools (advice from ChatGPT consultation)
  5. Platform Removal: Remove floating platform to create full surface Vader
  6. Solid Conversion: Make model solid for 3D printing compatibility
  7. Final Alignment: Return to MeshLab for final alignment adjustments
  8. Export & Slice: Export as 3MF, slice with support everywhere (failed without support)
Successfully printed Vader sculpture from 3D scan

Successfully printed Vader sculpture - demonstrating 3D scan to print workflow

Print Success: The printed Vader sculpture successfully demonstrates the complete workflow from 3D scanning to 3D printing. Despite the complex post-processing requirements, the final print maintains good detail and structural integrity, proving the viability of scanning-to-printing workflows for complex organic shapes.

Key achievements: successful mesh cleanup, proper alignment, effective support generation, and successful printing of complex scanned geometry.

Helpful Documentation

Essential resources for 3D scanning, printing, and design optimization.

Lecture Information

  • 3D Scanning & Printing - MIT Academy

    Comprehensive resource covering 3D scanning techniques, 3D printing technologies, design for additive manufacturing, and post-processing methods. Includes tutorials on photogrammetry, structured light scanning, and various 3D printing processes.

Recitation Information

Design Files

Links to CAD files, STL files, and other design assets for this week's assignments.

Group Assignment - 3D Printing Design Rules Test Files

Comprehensive STL files for testing various 3D printing design rules and constraints:

angle.stl

Tests overhang angles from 0° to 60°

📥 Download

anisotropy.stl

Evaluates directional strength properties

📥 Download

bridging.stl

Tests unsupported bridge capabilities

📥 Download

clearance.stl

Tests minimum clearance between parts

📥 Download

dimension.stl

Validates dimensional accuracy

📥 Download

finish.stl

Tests surface finish quality

📥 Download

free.stl

Tests unsupported geometry

📥 Download

infill.stl

Tests different infill patterns

📥 Download

overhang.stl

Tests overhang capabilities

📥 Download

thickness.stl

Tests minimum wall thickness

📥 Download

Slinky Design Optimization

Complete set of slinky design files and G-code for testing printable revolution limits and support removal hypothesis:

3MF Design Files

first_slinky_28 v1.3mf

Initial slinky design with 28 coil iterations - testing maximum printable length

📥 Download

first_slinky_28_2 v1.3mf

Refined version of the 28-coil slinky design with optimized geometry

📥 Download

third_slinky_21 v1.3mf

Third iteration with 21 coils - balanced design for printability and functionality

📥 Download

fourth_slinky_7 v1.3mf

Fourth iteration with 7 coils - compact version for testing support removal hypothesis

📥 Download

G-code Files

first_slinky_28_2 v1.bgcode

G-code for 28-coil slinky (51 minutes print time) - maximum length test

📥 Download

second_slinky_14 v1.bgcode

G-code for 14-coil slinky (58 minutes print time) - mid-range optimization

📥 Download

third_slinky_21 v1.bgcode

G-code for 21-coil slinky (55 minutes print time) - optimal balance

📥 Download

fourth_slinky_7 v1.bgcode

G-code for 7-coil slinky (57 minutes print time) - support removal test

📥 Download

Design Iteration Strategy: These files represent a systematic approach to optimizing printable slinky designs. Each iteration tests different coil counts to find the maximum number of revolutions that can be successfully printed while maintaining the ability to remove internal supports through mechanical manipulation of the flexible slinky structure.

The progression from 7 to 28 coils allows for testing the limits of 3D printing capabilities while validating the hypothesis that slinky flexibility enables support removal in complex internal geometries.

First Slinky Design

Design files for the first slinky exploration project:

first_slinky v1.stl

3D printable STL file for the first slinky design

📥 Download

first_slinky v1.f3d

Fusion 360 CAD source file for the first slinky design

📥 Download

first_slinky v1.3mf

3MF file with metadata for the first slinky design

📥 Download

Reflections & Learnings

Key insights and lessons learned from working with 3D printing and scanning technologies.

Reflections will be added as work progresses

Contributions

Acknowledgements and team roles for this week's work.

Contributions will be documented as work progresses

Ethical AI Use

Documentation of AI tool usage for this week's assignments and design work.

Week 3 - 3D Scanning and Printing Development

This session covers the development of the Week 3 page for 3D scanning and printing, including content population from MIT Academy resources, navigation updates, and design file integration.

Key Activities

  • Week 3 page creation from template
  • Content population from MIT Academy
  • Navigation button integration
  • Design file organization

AI Tools Used

  • Cursor AI for code generation
  • Content structuring and formatting
  • File organization and linking
  • Design consistency maintenance

Untanglable Slinky Co-Design Session

This session documents the iterative co-design process for creating an untanglable slinky using ChatGPT. The conversation shows multiple design iterations, from initial failed attempts to the final successful geometry.

Design Process

  • Initial geometry exploration
  • Iterative refinement process
  • Problem-solving for tangling issues
  • Final successful design

AI Collaboration

  • ChatGPT for geometry suggestions
  • Iterative feedback and refinement
  • Problem diagnosis and solutions
  • Design validation and testing

This session documents the comprehensive refactoring of the entire web development repository to make it fully responsive and mobile-friendly. The conversation covers the implementation of modern CSS techniques, responsive design patterns, and mobile-first development approaches.

Key Activities

  • Responsive CSS framework creation
  • Mobile-first design implementation
  • Video container optimization
  • Typography and spacing refactoring

AI Collaboration

  • Cursor AI for responsive design
  • CSS framework architecture
  • Mobile optimization strategies
  • Cross-browser compatibility

First Slinky Design Integration

This session documents the integration of the first slinky design into the untanglable slinky section, including adding the image, description, inspiration resources, and design file links.

Key Activities

  • First slinky design integration
  • Image and caption addition
  • Resource links implementation
  • Design files section restructuring

AI Collaboration

  • Cursor AI for content integration
  • HTML structure optimization
  • Design file organization
  • User experience enhancement

Vader Scan Post-Processing Consultation

This session documents the consultation with ChatGPT for optimizing the Vader scan post-processing workflow. The conversation focused on edge smoothing techniques in Meshmixer and best practices for preparing scanned meshes for 3D printing.

Technical Focus

  • Meshmixer edge smoothing techniques
  • Mesh cleanup optimization
  • 3D printing preparation
  • Surface quality improvement

AI Collaboration

  • ChatGPT for technical guidance
  • Software-specific recommendations
  • Workflow optimization advice
  • Problem-solving assistance

Week 3 Individual Assignment Development & Updates

This session documents the development and updates to the Week 3 individual assignment focusing on 3D scanning and printing. The conversation covers 3D scanning techniques, Vader model processing, slinky design iterations, and individual project implementation.

Individual Project Focus

  • 3D scanning workflow development
  • Vader model post-processing
  • Slinky design iterations
  • Individual assignment documentation

AI Collaboration

  • Cursor for individual project structuring
  • 3D scanning guidance and troubleshooting
  • Design iteration support
  • Technical implementation assistance

Week 3 Group Assignment Development & Updates

This session documents the comprehensive development and updates to the Week 3 group assignment focusing on 3D printing design rule testing. The conversation covers group collaboration, design rule testing methodology, PDF content extraction, and group project implementation.

Group Project Focus

  • 3D printing design rule testing
  • Group assignment documentation
  • PDF content extraction and integration
  • Collaborative design methodology

AI Collaboration

  • Cursor for group project structuring
  • PDF content extraction assistance
  • Design rule testing guidance
  • Group collaboration workflow optimization

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

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Now let me work on week4.html. Let me find the useful documentation section:

Let me read the useful documentation section in week4.html:

I can see there's already a useful documentation section. Let me add the class week resources to it. Let me find the end of this section:

Let me add the class week resources to the existing useful documentation section:




  
  
  Week 4 · Electronics Design
  
  


  
[Profile Image Placeholder]

Week 4

Electronics Design

Week Highlights

This week focuses on electronics design using EDA tools to create embedded microcontroller systems. We'll learn schematic design, PCB layout, design rule checking, and simulation techniques.

Test Equipment

Test Equipment Setup

Test equipment operation observation

PCB Design

ESP32S3 dev board design & simulation

PCB Simulation

Wokwi circuit simulation & verification

Table of Contents

Electronics Design Week

This week introduces Electronic Design Automation (EDA) tools for creating embedded microcontroller systems. We'll learn to design schematics, create PCB layouts, perform design rule checks, and simulate circuit operation before fabrication.

• Understanding microcontroller architectures and embedded systems
• Learning EDA tool workflows for schematic capture and PCB design
• Implementing design rule checks for successful fabrication
• Using simulation tools to verify circuit operation

This Week's Goals

  • Master EDA Tools
    Learn KiCad or Eagle for schematic capture and PCB layout design
  • Design Embedded System
    Create a complete microcontroller system using parts from the Fab inventory
  • Simulate & Verify
    Use simulation tools to verify circuit operation before fabrication
  • Test Equipment Proficiency
    Learn to use oscilloscopes, multimeters, and other test equipment

Assignments

  • Group Assignment
    Use test equipment to observe embedded microcontroller operation
  • Individual Assignment
    Design embedded system with EDA tool, check design rules, and simulate

Tools & Materials

  • EDA Software
    KiCad, Eagle, or Altium Designer
  • Test Equipment
    Oscilloscope, multimeter, function generator
  • Simulation Tools
    LTspice, ngspice, Wokwi
  • Fab Inventory Parts
    Microcontrollers, passive components, connectors

Training Documentation

Essential training materials for electronics design, EDA tools, and test equipment operation.

Introduction to EDA tools and schematic design

EDA Tool Training

  • KiCad schematic capture
  • PCB layout and routing
  • Design rule checking
  • Footprint libraries

Test Equipment

  • Oscilloscope operation
  • Multimeter measurements
  • Function generator setup
  • Probe calibration

Useful Documentation

Essential resources for electronics design, EDA tools, and embedded systems development.

EDA Tools & Software

Simulation & Testing

Test Equipment Guides

Design Guidelines & EDA Tools

Key design rules and EDA tool recommendations from course Slack discussions.

PCB Design Rules
  • 1 mil = 0.001 inches (not millimeters!)
  • Trace width: >10mil minimum
  • Trace spacing: >16mil between traces
  • Component sizes: ~1206 or larger recommended
  • Flexibility: Break out extra pins, multiple power/ground copies
Microcontroller Options
  • Xiao: All-in-one, multiple footprint choices
  • ATtiny/SAMD: More parts but powerful and cheap
  • Note: Tape-bottomed components need Kapton tape
EDA Tool Options
Leo's Open Source Tool

Easiest starting point for this class

KiCad

Open source, widely used, improved UI

Fusion 360

Cloud-synced part libraries, team access

Feedback Available: Send schematic/PCB files and screenshots for design review. View Design Guidelines DiscussionView EDA Tools Discussion

Class Week Resources

Official course resources for electronics design and EDA tools.

Lecture Information

  • Electronics Design - MIT Academy

    Comprehensive resource covering electronics design principles, EDA tools, circuit simulation, PCB design, and embedded systems development. Includes tutorials on KiCad, Eagle, and other EDA platforms.

Recitation Information

  • Electronics Design Recitation - Vimeo

    Hands-on tutorial covering electronics design workflows, EDA tool usage, circuit simulation techniques, and PCB design best practices for embedded systems development.

Group Assignment: Test Equipment Operation

Use the test equipment in your lab to observe the operation of an embedded microcontroller. This assignment focuses on understanding how to use oscilloscopes, multimeters, and other test equipment to analyze microcontroller behavior and circuit operation.

Group Assignment Link: View Complete Group Assignment Summary

Test Equipment Available

The following test equipment was utilized to observe and analyze microcontroller operation. Multimeter and oscilloscope provide 99% of the information needed for comprehensive analysis.

Multimeter

Essential for basic measurements - voltages (slow, twice a second), resistances, and current (in series)

Oscilloscope

High-speed analysis - voltages (fast, 5 million times a second) and digital signal decoding

Logic Analyzer

Digital signal analysis - both cheap and professional models available, can also be done on oscilloscope

Function Generator

Signal generation for testing receiving ends of boards - most scopes have built-in generators

Power Supply

Controlled power delivery for stable microcontroller operation

Breadboard

Circuit prototyping and testing platform

Test Equipment Procedures & Observations

Detailed procedures and observations using various test equipment to analyze microcontroller operation:

Multimeter Measurements

  • Voltage Measurements: Slow sampling rate (twice per second) for steady-state analysis
  • Resistance Testing: Component and trace resistance verification
  • Current Measurement: Series connection required for accurate current readings
  • Continuity Testing: Resistance mode then 'select' for continuity (beeps under 50 ohms)

Oscilloscope Analysis

  • High-Speed Sampling: 5 million times per second for detailed signal analysis
  • Probing Technique: Ground alligator clip to ground, main probe to signal pins
  • 5V Supply Analysis: Measured 4.96V actual with ~300mV noise/ripple
  • 3.3V Supply Analysis: Measured 3.23V actual with similar ~300mV ripple

Serial Communication Analysis

Digital signal decoding and serial communication protocol analysis using oscilloscope capabilities.

Serial Communication Signal Analysis

Serial Signal Analysis: Oscilloscope capture showing digital serial communication signals with clear 1s and 0s pattern, enabling ASCII character decoding and protocol verification.

I2C Communication Analysis

  • SCL Clock Line: 400 kHz square wave observed (falling edge trigger)
  • SDA Data Line: Serial data stream of 1s and 0s
  • Protocol Verification: Proper start/stop conditions and addressing observed

ECG Signal Testing

  • Low-Pass Filter Setup: Configure oscilloscope with low-pass filter
  • Probe Placement: Shoulder-to-shoulder probe positioning
  • Signal Observation: Clear electrocardiogram waveform captured
I2C SCL Clock Signal Analysis

SCL Clock Signal: I2C SCL line showing clean 400kHz square wave

I2C SDA Data Signal Analysis

SDA Data Signal: I2C SDA line showing data bits changing on SCL falling edges

Key Findings & Practical Applications

Comprehensive analysis of test equipment effectiveness and real-world applications:

Power Supply Analysis

  • 5V Rail: Measured 4.96V with ~300mV noise/ripple
  • 3.3V Rail: Measured 3.23V with similar ripple characteristics
  • Application: Understanding noise characteristics for stable operation

Equipment Effectiveness

  • Multimeter: Essential tool providing 99% of needed information
  • Oscilloscope: High-speed sampling (5MHz) for detailed analysis
  • Integration: Most oscilloscopes include built-in signal generators

Test Equipment Setup Procedures

Oscilloscope Probing Setup:

  1. Plug alligator clip of ground probe to ground reference
  2. Use main probe clip to probe signal pins
  3. Adjust oscilloscope view for optimal signal display
  4. Start with 5V supply pin for initial voltage verification

Multimeter Continuity Testing:

  1. Set multimeter to resistance mode
  2. Press 'select' function for continuity mode
  3. Device beeps when resistance is under 50 ohms
  4. Press function twice for portable multimeter operation

Key Learnings

Understanding how to properly probe circuits, interpret oscilloscope traces, and use test equipment to diagnose embedded system operation. This foundation is essential for debugging and verifying circuit designs before and after fabrication. The systematic approach starting with basic power supply verification and progressing to complex signal analysis ensures comprehensive coverage of all critical operational aspects.

Individual Assignment: EDA Design & Simulation

Use an EDA tool to design an embedded microcontroller system using parts from the inventory, check its design rules for fabrication, and simulate its operation. This assignment involves complete schematic capture, PCB layout, design rule checking, and circuit simulation.

Fusion360 Design Process

Complete step-by-step workflow for designing embedded systems in Fusion360 EDA:

Schematic Design Steps

  1. 1
    Add board outline and define board dimensions
  2. 2
    Add switch component and configure properties
  3. 3
    Add LED component with proper orientation
  4. 4
    Add resistor for current limiting
  5. 5
    Add net connectors for dev board integration

PCB Layout Steps

  1. 6
    Switch to PCB view and arrange components
  2. 7
    Ensure no component overlaps
  3. 8
    Route traces (flip and add holes if needed)
  4. 9
    Resize board and create polygon pour
  5. 10
    Add mounting holes and finalize design

Simulation: After completing the PCB design, remake the circuit in simulation websites like Wokwi to verify operation before fabrication.

Board Designs

Two ESP32S3-based designs created using Fusion360 EDA: a standalone LED board and a dev board connector with LED on the back.

ESP32S3 LED Base Design

Standalone LED board design for ESP32S3 microcontroller with integrated LED and supporting circuitry.

ESP32S3 LED PCB Schematic
Schematic Design
📥 Download .sch file
ESP32S3 LED PCB Layout
PCB Layout with Polygon Pour
📥 Download .brd file

ESP32S3 Dev Board Connector Design

Development board connector design with LED mounted on the back for easy integration with ESP32S3 development boards.

ESP32S3 LED Connector PCB Schematic
Schematic Design
📥 Download .sch file
ESP32S3 LED Connector PCB Layout
PCB Layout with Polygon Pour
📥 Download .brd file

Design Process

  • Schematic capture
  • Component selection
  • PCB layout design
  • Design rule checking

Simulation & Verification

  • Circuit simulation
  • Timing analysis
  • Power consumption
  • Signal integrity

Design Requirements

  • Use components from Fab inventory
  • Include microcontroller and supporting circuitry
  • Pass design rule checks for fabrication
  • Simulate operation before fabrication

Circuit Simulation & Verification

Interactive circuit simulations created using Wokwi to verify the ESP32S3 LED circuit designs before fabrication. These simulations demonstrate the button-controlled LED functionality and help validate the circuit operation.

ESP32S3 LED Circuit Simulation 1

Primary simulation showing button-controlled LED circuit with ESP32S3 microcontroller.

ESP32S3 LED Circuit Simulation 1

Interactive Simulation: Button-controlled LED circuit with ESP32S3

ESP32S3 LED Circuit Simulation 2

Alternative simulation configuration with the same circuit functionality.

ESP32S3 LED Circuit Simulation 2

Alternative Configuration: Same circuit with different simulation setup

Arduino Code Explanation

The same Arduino code is used for both simulations, implementing a simple button-controlled LED circuit.

#define BUTTON_PIN  5   // button pin
#define LED_PIN     4   // LED pin (but currently miswired in series with button)

void setup() { Serial.begin(115200); Serial.println("Hello, ESP32-S3!");

pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); // drive LED pin actively }

void loop() { int buttonState = digitalRead(BUTTON_PIN);

if (buttonState == LOW) { // button pressed digitalWrite(LED_PIN, HIGH); // push current out GPIO 3 Serial.println("Button pressed -> LED ON"); } else { digitalWrite(LED_PIN, LOW); // no current Serial.println("Button released -> LED OFF"); }

delay(10); }

Code Functionality
  • Button Input: GPIO 5 with internal pullup resistor
  • LED Output: GPIO 4 drives LED directly
  • Serial Monitor: Debug output at 115200 baud
  • State Detection: LOW = pressed, HIGH = released
Circuit Behavior
  • Press Button: LED turns ON, serial message
  • Release Button: LED turns OFF, serial message
  • Real-time: 10ms loop delay for responsiveness
  • Debugging: Serial output for troubleshooting

EDA Tools & Workflow

Overview of Electronic Design Automation tools and the complete design workflow from schematic to fabrication.

Schematic Design

  • Component library management
  • Symbol creation and editing
  • Netlist generation
  • Electrical rule checking

PCB Layout

  • Component placement
  • Routing and trace optimization
  • Design rule checking (DRC)
  • Gerber file generation

Recommended EDA Tools

KiCad

Open-source, full-featured EDA suite with excellent community support

Eagle

Professional PCB design tool with extensive component libraries

Altium

Advanced PCB design with integrated simulation capabilities

Design Files

All design files, schematics, PCB layouts, and simulation files for the electronics design assignments.

Schematic Files

PCB & Simulation

Reflections & Learnings

Key insights and learnings from the electronics design week, including challenges faced and skills developed.

Technical Learnings

  • EDA tool workflow mastery
  • Design rule checking importance
  • Simulation before fabrication
  • Test equipment proficiency

Design Insights

  • Component selection strategies
  • PCB layout best practices
  • Signal integrity considerations
  • Fabrication constraints

Contributions

Acknowledgements and team contributions for the electronics design week assignments.

Group Assignment

  • Collaborative test equipment setup
  • Shared measurement techniques
  • Documentation of procedures

Individual Work

  • Complete EDA design workflow
  • Simulation and verification
  • Design file documentation

Ethical AI Use

AI tools used to assist with electronics design, EDA tool learning, and circuit simulation guidance.

AI-Assisted Tasks

  • EDA tool workflow guidance and troubleshooting
  • Circuit simulation setup and parameter optimization
  • Design rule checking interpretation and fixes
  • Component selection and datasheet analysis

Week 4 HTML Template Creation

Cursor AI assistance for creating the week4.html template with comprehensive electronics design content, including EDA tools, assignments, and documentation resources.

Focus: HTML template creation, electronics design content population, assignment structure, and documentation integration

Individual Assignment Enhancement

Cursor AI assistance for updating the individual assignment section with detailed Fusion360 design process, board design images, and improved visual presentation.

Focus: Fusion360 design process documentation, board design image integration, visual alignment improvements, and highlights section updates

Week 4 Group Assignment Update

Cursor AI assistance for updating the Week 4 group assignment section with comprehensive test equipment details, image link updates, and group page integration.

Focus: Group assignment content integration, test equipment documentation, image path updates, and group page link addition

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

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Now let me work on week5.html. Let me find the useful documentation section:

Let me read the useful documentation section in week5.html:

Let me continue reading to find the end of this section:

Now I'll add the class week resources to the existing useful documentation section:




  
  
  Week 5 · Electronics Production
  
  


  
Profile Image

Week 5

Electronics Production

Week Highlights

This week focuses on electronics production, covering PCB fabrication techniques, assembly processes, and creating functional embedded microcontroller systems. We explore both in-house production methods and board house services.

PCB Milling Design Rules

Characterize design rules for in-house production

Double-Sided PCB Success

Functional double-sided PCB with toddler-friendly interface

Board House

Submit PCB to board house for production

Table of Contents

Electronics Production

This week covers the practical aspects of electronics production, including PCB fabrication methods, assembly techniques, and creating functional embedded microcontroller systems. We explore both in-house production capabilities and board house services.

🔧 PCB Fabrication 🔌 Assembly & Soldering 🏭 Board House Services 🐛 Debugging & Testing

This Week's Goals

  • Characterize PCB production process
    Test design rules for in-house PCB fabrication and understand limitations
  • Design and fabricate embedded system
    Create custom microcontroller board and test functionality
  • Submit to board house
    Learn boardhouse PCB production workflow and design rules

Assignments

  • Group Assignment
    Characterize design rules for in-house PCB production process; submit PCB design to board house
  • Individual Assignment
    Make and test embedded microcontroller system; extra credit for alternative process

Tools & Materials

  • PCB Materials — FR4, FR1, Kapton, copper foils
  • Fabrication Tools — CNC mill, etching chemicals, drill bits
  • Assembly Tools — Soldering iron, microscope, flux, solder
  • Testing Equipment — Multimeter, oscilloscope, power supply

PCB Fabrication Methods

Understanding different approaches to PCB production, from traditional etching to modern machining and boardhouse services.

In-House Methods

  • Etching — Ferric/cupric chloride, ammonium persulfate
  • Machining — CNC milling with 1/64", 1/32", V-bits
  • Vinyl Cutter — Flex connections and encapsulation
  • Laser Engraving — Combined LIG processes

Boardhouse Services

  • Board Houses — JLCPCB, PCBWay, OSH Park
  • Design Rules — 15/5 mil width/spacing
  • Layers — 1, 2, 4+ layer options
  • Assembly — Pick-and-place, reflow soldering

Assembly & Soldering

Essential techniques for assembling and soldering electronic components, from through-hole to surface-mount devices.

Soldering Techniques

  • Manual Soldering — Iron station, fume extractor, microscope
  • Reflow Soldering — Hot plate, convection oven, IR
  • Hot Air — For SMD components and rework
  • Wave Soldering — For through-hole components

Component Types

  • Through-Hole — Traditional components with leads
  • Surface-Mount — SMD components, smaller footprint
  • Chip-Scale — BGA, QFN, CSP packages
  • Headers — Connectors and interface components

Board House Services

Boardhouse PCB production services offer higher precision, better quality, and advanced features compared to in-house methods.

Popular Board Houses

  • JLCPCB — Low-cost, fast turnaround, good for prototypes
  • PCBWay — Professional quality, assembly services available
  • OSH Park — Open source friendly, purple soldermask
  • Aisler — European service, good for EU projects

Debugging & Testing

Systematic approach to troubleshooting and verifying electronic systems functionality.

Debugging Checklist

  • Inspect and reflow solder joints
  • Check component orientation and values
  • Verify datasheet specifications
  • Confirm connector orientation
  • Measure supply voltages
  • Probe I/O signals with oscilloscope

Training

Essential training materials and procedures for PCB milling using the Othermill machine.

Standard Operating Procedure (SOP)

Equipment Specifications

Software: Bantam Tools
Machine: The Othermill
End Mill: Carbide (latin coating)
Board Material: FR-1 (copper clad)

Pre-Processing

  1. Power on the machine using the rear power button
  2. Initialize homing sequence through Bantam Tools software
  3. Load design file: Export from Fusion as .brd (Eagle 9.x compatible) or generate Gerber files from fabrication outputs
  4. Configure hole types: Click PTH first; NPTH (non-plated through holes) requires edge cuts for proper origin alignment - process in second mill unless using vias for rivets

Workpiece Setup

  1. Activate loading sequence to position machine at front
  2. Remove magnetic panels and prepare workpiece area
  3. Apply double-sided tape across entire board surface
  4. Position board left-justified with 1mm buffer from origin
  5. Set Z-offset 5mm from origin point

Tool Configuration

  1. Add 1/64" end mill as secondary tool in tool list
  2. Install tool by aligning end mill shoulder with collar
  3. Select appropriate tool size and confirm installation

Milling Operation

  1. Install acrylic safety panels (required for operation)
  2. Verify hall effect sensor detects magnetic panel closure
  3. Execute "Mill All Visible" command to begin fabrication
  4. Monitor process completion (estimated 14 minutes to 2 hours)

Post-Processing

  1. Retract machine using loading controls
  2. Remove completed board from work area
  3. Clean debris using CleanView Deluxe vacuum system
PCB Milling Process

PCB milling process using the Othermill machine

Double-Sided Milling

Process for creating double-sided PCBs using the Othermill machine with fixture installation and proper alignment techniques.

Double-Sided Fixture Installation

Double-sided fixture bracket installation for precise board alignment and milling

  1. Software Configuration: Select double-sided mill option in the software interface
  2. Fixture Installation: Add fixture under Fixture menu and follow installation steps using Allen wrench
  3. Top Side Setup: Align base material to bottom left corner, run workflow for top setting (click outline to shade out cut-out traces)
  4. Board Flip: Flip the board left to right upside down for bottom side processing
  5. Bottom Side Setup: Align board to bottom right corner, run same workflow for bottom setting (click outline again to cut out border traces)

Installing Rivets

Critical process for installing copper rivets to create electrical connections between board layers in double-sided designs.

Copper Rivets for Double-Sided Connections

Copper rivets used for creating electrical connections between board layers

⚠️ Important Safety Note

Handle rivets carefully - there are thousands available but they are relatively expensive. Avoid spilling them during the installation process.

  1. Rivet Placement: Use tweezers to carefully place rivets in the vias
  2. Board Flip: Flip the board without dropping it to access the opposite side
  3. Small Conic Tool: Use the small conic tool inside the rivet (on opposite side) and lightly hammer to open and secure it
  4. Large Conic Tool: Use the large conic tool on the rivet and lightly hammer to flatten it on the surface
  5. Soldering: Add solder when soldering to secure the connections between rivet and board copper

Reference Materials

Source: Original hand-typed training notes

Detailed training notes from MIT HTMAA Slack channel with comprehensive SOP and pro tips

Pro Tips & Best Practices

Design Optimization

  • Single-sided boards: Prefer zero-ohm resistors over double-sided designs when possible
  • Flexible alternatives: Consider vinyl cutter for translucent board applications
  • Feature control: Toggle traces, holes, and outlines independently for selective milling

Workflow Efficiency

  • Tool management: Store wrenches on machine tip; use left hand for small wrench operations
  • Time estimation: Short jobs ~14 minutes, long jobs ~2 hours (automatic tool switching not available)
  • Process monitoring: Time estimates are approximate; monitor progress manually

Advanced Techniques

  • Solder resist: UV-cure solder resist available (process development ongoing with lab staff)
  • Rivet alternatives: Avoid copper rivets (1mm/0.6mm sizes) - complex installation requiring conical hammering and dual-side soldering

Group Assignment

Characterize the design rules for in-house PCB production process and submit a PCB design to a board house.

Part 0: Design Rule Test Pattern

Comprehensive PCB design rule test pattern created to characterize in-house production capabilities and validate design constraints for successful fabrication.

Group Assignment Design Rule Test Pattern

Design rule test pattern showing trace widths, spacing tolerances, and hole sizes for characterization

Design Files

KiCad PCB: Complete PCB design file with test patterns and design rules.
Gerber Files: Front copper layer, edge cuts, and drill holes for PCB fabrication.

Part 1: Design Rule Characterization

Comprehensive testing of in-house PCB production capabilities through systematic evaluation of trace widths, spacing tolerances, and mechanical durability.

Characterized Design Rules

Minimum Trace Width:
4 mil (0.004") pre-test
9 mil (0.009") post-durability test
Trace Spacing:
16 mil (0.016") minimum
Based on 1/64" tool width

Note: Design rules are guidelines; actual tolerances may vary based on material and process conditions

Durability Testing Results

PCB Before Durability Test

Pre-test: Initial trace pattern

PCB After Durability Test

Post-test: Surviving traces after mechanical stress

Part 2: Boardhouse Submission

Evaluation of boardhouse PCB manufacturing services through JLCPCB submission to compare design rules, pricing, and production capabilities with in-house methods.

JLCPCB Submission Workflow

  1. Access JLCPCB online platform and create account
  2. Upload PCB design files (Gerber format)
  3. Select aluminum substrate (preferred over FR4 for machining compatibility)
  4. Configure production parameters and place order

JLCPCB Order Documentation

JLCPCB Order Confirmation

JLCPCB order confirmation showing PCB specifications, pricing, and production parameters

PCB Simulation Results
PCB Simulation Top View
PCB Simulation Bottom View

Detected 2 layer board of 100x100mm(3.94x3.94 inches).

Order Documentation

PCB Specifications: Detailed technical specifications, design rules, and manufacturing parameters for the PCB order.
Order Checkout: Complete order details including pricing breakdown, shipping options, and payment confirmation.

Production Specifications

Thickness:
1.6 mm (standard)
Solder Mask:
Multiple colors (adds processing time)
Solder Type:
Various options available

Individual Assignment

Make and test an embedded microcontroller system that you designed, with extra credit for using an alternative production process.

Project Overview

Design and fabricate custom embedded microcontroller systems using single-sided PCB milling techniques, focusing on ESP32-S3 based development boards with comprehensive testing protocols.

Development Sequence

  1. Phase 1: ESP32-S3 LED PCB - Basic microcontroller board with LED control
  2. Phase 2: ESP32-S3 LED Connector PCB - Enhanced version with additional connectivity

Functional Testing Protocol

Load Cell Integration
  • Interface with load cell and amplifier board
  • Design two-layer PCB with compatible header connections
  • Develop data acquisition and processing code
Accelerometer Network
  • Integrate accelerometer sensor module
  • Establish wireless communication between ESP32-S3 nodes
  • Implement data tethering and synchronization protocols

Advanced Manufacturing Exploration

Laser Cutter Application

Develop origami-style PCB design that mechanically activates LED through folding mechanism

Vinyl Cutter Application

Create flexible PCB using copper ring material for accelerometer integration

Successes and Failures

Key challenges encountered during FR1 soldering and solutions developed through experimentation and peer collaboration.

Problem Solution Source
Can't heat for too long otherwise you burn off the copper Preheating helped with flame retardant boards, but doesn't work with FR1 Personal experience
Can't use too much solder, otherwise it flies off onto other parts Extra solder bunches up on flame retardant boards, but FR1 requires precise control Personal experience
Poor solder sticking to copper grooves Careful sand papering for the grooves to help with solder sticking Omar Aldajani (previous HTMAA student)
Poor thermal transfer and solder adhesion Using flux on the copper for better thermal transfer and solder sticking Omar Aldajani (previous HTMAA student)
Extra solder on copper is annoying and hard to remove Add more solder and remove it again, or carve away some copper so the short doesn't matter Anthony (lab instructor)

Reference Materials

Source: MIT HTMAA Slack Discussion

Additional insights and peer collaboration on FR1 soldering challenges and solutions

Project Documentation

First Milling Design Attempt

Initial PCB milling design showing early layout and trace patterns

Successful Milling Design

Final successful PCB milling result with clean traces and proper spacing

Xiao ESP32-S3 Working

Successfully assembled Xiao ESP32-S3 microcontroller board with LED functionality

Diode Test Failure

Diode testing failure highlighting soldering challenges and component orientation issues

Summary

FR1 soldering presents unique challenges compared to flame retardant boards, requiring precise heat control and solder management. Through peer collaboration and systematic problem-solving, effective techniques were developed including careful sanding, flux application, and strategic solder removal methods.

Remilling and Soldering After Copper Solder Insights

After gathering copper solder insights from peer collaboration and lab experience, I prepared all necessary components and tools for assembly. With boards ready, solder wick prepared, and pen flux available, I proceeded with the soldering process.

Soldering Setup with Components and Tools

Complete soldering setup showing boards, components, solder wick, and pen flux ready for assembly

Following soldering, I conducted comprehensive testing including resistivity measurements, diode tests, and continuity tests to diagnose and resolve minor issues. This systematic approach helped identify and fix problems such as additional solder needed from rivet to board connections and removing shorts (e.g., 10k resistor bridges).

Front LED Diode Works on Base Dev Board Design

The front LED functionality was successfully implemented on the base development board design. However, the button remains shorted despite multiple troubleshooting attempts including solder wicking and microscopic inspection for bridges.

Front LED diode test demonstrating successful LED functionality on base development board

Base LED Board Programmed and Working

Base LED development board successfully programmed and operational with LED control functionality

The board functions correctly without the button, and the LED has been successfully programmed. The button shorting issue continues to be investigated, as standard troubleshooting methods have not yet resolved the problem.

Back LED Works on Connector Dev Board Design with Full Pinout

After practicing with two base LED development board soldering attempts, this fabrication process proceeded smoothly with all components functioning correctly, including the button. The systematic approach of verifying button lead connections before and after pressing, both before and after soldering, proved essential for success. This design uses the ESP32-S3 LED Connector v6 design.

Back LED Diode Test on Connector Board

Back LED diode test showing successful functionality on the connector development board design

Double-sided development board demonstration showing full functionality with LED control and button operation

Double-Sided Dev Board Working Animation

Animated demonstration of the double-sided development board in operation with LED and button functionality

Toddler-friendly button test demonstrating the interface's usability and reliability for young users

Success! The double-sided development board for ESP32-S3 with LED on the back is fully functional. The board passed comprehensive testing including the toddler-friendly interface test. With the LED successfully implemented on the back, substantial real estate is available for additional components such as four buttons and a screen for reaction time and other prototype applications.

Design Note: For one USB-C cable, I needed to trim the connector edge because the microcontroller is positioned further into the board. I found a thinner cable that connects without modification. In future design iterations, it would be beneficial to redesign the board to position the microcontroller closer to the edge, maintaining the same distance as the base LED design for improved accessibility.

Dev Board Testing

I set up a Seeed XIAO ESP32-S3 with an MPU6050 accelerometer, HX711 load cell amplifier, and SSD1306 OLED display, all sharing 3.3V power. The OLED never displayed anything, and both the sensors and display returned repeated I²C timeout errors. I corrected power from 5V to 3.3V, verified wiring, and confirmed that SDA = GPIO 5 (A4) and SCL = GPIO 6 (A5), but the I²C scanner still detected no devices. The MPU6050 powers on, yet no readings appear in the Serial Monitor. The load cell connects and gives intermittent readings, requiring improved connections in future iterations towards the final project.

Connected Dev Board with Sensors

Development board setup with MPU6050 accelerometer, HX711 load cell, and SSD1306 OLED display

Full Dev Board Setup

Complete development board configuration showing all sensor connections and power distribution

Component Pinout Configuration

Component VCC GND SDA SCL Other Pins
MPU6050 5 or 3.3V GND A4 (GPIO 5) A5 (GPIO 6)
OLED (SSD1306) 5 or 3.3V GND A4 (GPIO 5) A5 (GPIO 6)
HX711 + Load Cell 5V GND A0 (DT) A1 (SCK) Logic 3.3V-safe
Load Cell Pinout and Amplifier Board

HX711 load cell amplifier board pinout configuration (Amazon product page)

MPU6050 Accelerometer Pinout

MPU6050 accelerometer pinout diagram (Wokwi simulation reference)

Troubleshooting Results

Issue 1: I²C Communication Failure

SDA and SCL were shorted to ground, suspected connector or XIAO board. After removing connector, the short persisted, indicating the XIAO board itself was the issue. The accelerometer still powered on despite the communication failure.

Accelerometer Power Status

MPU6050 accelerometer showing power indication despite I²C communication issues

Issue 2: Load Cell Connection Problems

The load cell had intermittent connection issues but still provided some readings. Since it uses analog outputs, I was able to capture several data points for analysis.

Load Cell Serial Plotter Output

Serial plotter showing load cell data visualization

Load Cell Serial Monitor Output 1

Serial monitor displaying load cell readings and status

Load Cell Serial Monitor Output 2

Additional serial monitor output showing load cell data patterns

Dev Board Development Process

Step-by-step process for creating custom jumper cable assemblies, demonstrating proper wire preparation, soldering techniques, and heat shrink application.

Wire Preparation Before Assembly

Initial wire preparation showing individual conductors ready for assembly

Twisted Wire Joint

Twisted wire joint preparation before soldering

Soldered Wire Joint

Completed soldered joint showing proper connection and heat distribution

Heat Shrink Applied to Joint

Heat shrink tubing applied for insulation and strain relief

Pro Tip: Heat Shrink Application

Apply heat shrink tubing early in the process to use smaller diameter tubing that's easier to position and provides better insulation coverage.

Early Heat Shrink Application Technique

Demonstration of early heat shrink application for optimal cable assembly

Useful Documentation

Essential resources and detailed guidance for electronics production processes and design rules.

PCB Fabrication Process Details

Source: Anthony Pennes - Slack Message

Detailed guidance on the three available PCB fabrication processes and design rules for successful board production.

Available Fabrication Methods

  • Othermill PCB Mill — Preferred method, easiest to get started
  • Roland SRM-20 — Runs through MODS interface
  • Fiber Laser — Super small traces/spaces, single-sided only, no outlines/holes

Design Rules for Milling

  • Trace Width: Keep traces big (>10mil), smaller traces should be kept short
  • Spacing: Spaces should be larger than 16mil for reliable production
  • Holes: Must be larger than 32mil for the bigger tool (slimmer tool not suitable)
  • Vias: Use 0.9mm or 1.5mm holes for copper rivets, avoid holes under components

File Preparation

  • Fusion: File → Export → Eagle 9.x compatible .brd file
  • KiCad: Fabrication outputs → Gerber files (topcopper, edgecuts, holes, bot copper)

Post-Milling Inspection

Critical: Always perform optical inspection before soldering components. Look for stray copper strands and address them with light sanding, steel scraper, or utility knife.

  • Check for copper strands and milling artifacts
  • Clean up any issues before component placement
  • Much easier to fix problems before soldering

Class Week Resources

Official course resources for electronics production and PCB fabrication.

Lecture Information

  • Electronics Production - MIT Academy

    Comprehensive resource covering PCB fabrication methods, milling processes, soldering techniques, and electronics assembly. Includes tutorials on design rules, file preparation, and production workflows.

Recitation Information

Design Files

Complete design files, schematics, PCB layouts, and firmware for the ESP32-S3 development board projects.

ESP32-S3 Development Board Designs

Two complete ESP32-S3 development board designs created using Fusion360 EDA, featuring LED control and button input functionality. View detailed design process and simulation in Week 4.

ESP32-S3 LED Base Design

Standalone LED development board with integrated LED control and button input functionality.

ESP32-S3 LED Connector Design (v6)

Enhanced development board with LED mounted on the back and full pinout connectivity for easy integration with ESP32-S3 development boards.

Arduino Firmware

Button-controlled LED firmware for ESP32-S3 development boards with serial debugging capabilities.

Code Functionality

Pin Configuration:
• BUTTON_PIN (GPIO 4) - Input with internal pullup resistor
• LED_PIN (GPIO 3) - Output for LED control
Operation Logic:
• Read button state continuously (10ms loop delay)
• Button pressed (LOW) → LED ON + Serial message
• Button released (HIGH) → LED OFF + Serial message
• Serial output at 115200 baud for debugging
Features:
• Real-time button state monitoring
• Immediate LED response to button press
• Serial debugging output for troubleshooting
• Optimized 10ms loop delay for responsiveness

File Formats & Standards

  • PCB Files — Eagle 9.x compatible .brd format for Othermill fabrication
  • Firmware — Arduino IDE compatible .ino files for ESP32-S3
  • Design Process — Fusion360 EDA workflow with schematic capture and PCB layout
  • Simulation — Wokwi online circuit simulation for verification

Reflections & Learnings

Key insights and lessons learned from this week's electronics production work.

Production Process Insights

  • Understanding the trade-offs between in-house and boardhouse production
  • Importance of design rule checking and manufacturability
  • Soldering techniques for different component types
  • Systematic debugging approach for electronic systems

Contributions

Acknowledgements for help received during this week's electronics production work.

Lab Staff & Instructors

  • Anthony — Help fixing traces to 16 mil and making the default traces 16 mil in Fusion360
  • Jesse — Walking through the double-sided PCB milling process
  • Srikanth — Advice on optimal 760°C solder temperature settings

Classmates & Peers

  • Katherine Yan — Peer support during remilling and soldering processes
  • Collaborative learning with classmates on design rule characterization, component selection, and troubleshooting techniques

Ethical AI Use

Transparent documentation of AI assistance used in this week's electronics production work.

AI-Assisted Individual Assignment Refinement

This individual assignment section was significantly enhanced by Cursor AI to transform informal challenges and solutions into professional documentation. The AI assisted with creating structured tables for FR1 soldering problems and solutions, organizing project documentation images with proper captions, and updating highlight images with improved visual presentation and linking functionality.

AI-Assisted Week 5 Assignment and Production Updates

This week's individual assignment and production process documentation was significantly enhanced by Cursor AI to transform informal project notes into comprehensive professional documentation. The AI assisted with creating detailed subsections for remilling/soldering processes, front and back LED testing, double-sided milling procedures, rivet installation, and complete design files documentation with proper linking and technical descriptions.

AI-Assisted Content Refinement

Cursor AI helped transform informal training notes into professional SOP documentation, restructure design rule characterization results with improved visual presentation, develop comprehensive individual assignment plans with clear testing protocols, and create structured tables for documenting FR1 soldering challenges and solutions with proper attribution to peer contributors.

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

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Finally, let me work on week6.html. Let me find the useful documentation section:

Let me search for a different pattern:

Let me find a good place to add the helpful documentation section by looking at the structure:

Let me read around line 490 to find a good place to add the helpful documentation:

Let me add the helpful documentation section after the training section:




  
  
  Week 6 · Computer-Controlled Machining
  
  


  
Profile Image

Week 6

Computer-Controlled Machining

Week Highlights

This week focuses on computer-controlled machining, covering CAM workflows, CNC milling techniques, and creating large-scale projects. We explore subtractive manufacturing processes and learn to make something big (~meter-scale).

Group Assignment

CNC router characterization: runout and clearance measurements

Design Completed!

Floating mirror tensegrity design process

Assembled Results

3D printed and wood floating mirrors

3D Printed Horizontally Stable

3D printed assemblies demonstrating horizontal stability

Wood Horizontally Stable

Wood assembly showing horizontal stability progression

Floating Mirror

Final floating mirror configuration

Table of Contents

Computer-Controlled Machining

This week covers computer-controlled machining processes, focusing on subtractive manufacturing techniques for creating large-scale projects. We explore CAM workflows, CNC milling operations, and learn to make something big (~meter-scale) using precision machining tools.

🔧 CNC Milling 💻 CAM Workflows 📏 Large-Scale Projects ⚙️ Precision Machining

This Week's Goals

  • Characterize CNC machining process
    Test design rules, speeds, feeds, and toolpaths for CNC milling
  • Make something big
    Design, mill, and assemble a meter-scale project using CNC machining
  • Master CAM workflows
    Learn computer-aided manufacturing processes and toolpath generation

Assignments

  • Group Assignment
    Do your lab's safety training; test runout, alignment, fixturing, speeds, feeds, materials, and toolpaths for your machine
  • Individual Assignment
    Make (design+mill+assemble) something big (~meter-scale); extra credit for no fasteners/glue, curved surfaces, and three-axis toolpaths

Tools & Materials

  • CNC Machines — ShopBot, Tormach, Haas, Shapeoko, Maslow
  • Stock Materials — MDF, plywood, OSB, HDPE, aluminum
  • Tooling — End mills, V-bits, drills, router bits
  • CAM Software — Fusion 360, VCarve Pro, Mastercam

Recitation Notes: How to Make (Almost) Anything Big!

Comprehensive technical overview of subtractive manufacturing processes, CAM workflows, and design strategies for large-scale fabrication.

MIT CBA Academy Technical Documentation

Expert instruction from MIT CBA Academy covering subtractive processes, safety protocols, manufacturing workflows, and advanced machining techniques.

Reference Documentation

Live Discussion:

MIT HTMAA Slack Message

Complete Documentation:

GitLab CAM Documentation

Part 1 — Alfonso: Subtractive Manufacturing Fundamentals

Comprehensive overview of subtractive manufacturing processes, from basic 2-axis operations to advanced 5-axis machining capabilities.

Axis Control Configurations

Basic Operations
  • 2-Axis: Water jetting, laser cutting — surface path operations
  • 2.5-Axis: Primary focus — controlled depth cutting
Advanced Operations
  • 3-Axis: Full XYZ coordination (limited by stock depth)
  • 5-Axis: Advanced — tilt and cut normal to surface

Subtractive Manufacturing Advantages

Scale & Materials

  • Larger scale projects
  • New material capabilities

Precision & Quality

  • Better tolerances
  • Superior precision

Production & Capability

  • Production capabilities
  • Overcoming additive limitations

Critical Safety Protocols

⚠️ Mandatory Safety Requirements
  • Spindle Range: 7k-15k RPM operation
  • Continuous Monitoring: Listen, smell, observe
  • Never Alone: Always supervised operation
  • Personal Safety: Secure hair, sleeves, no jewelry
  • Focus Required: No distractions during operation
  • Emergency Stop: Know location and procedure

Tooling Selection & Applications

Primary Tools
  • Flat End Mill: General purpose cutting operations
  • Ball End Mill: Tool change speed optimization
Specialized Tools
  • V-Bits: Detailed work and engraving
  • Drills: Precision hole making operations

Feeds and Speeds Optimization

Critical parameters for successful machining operations, tool life optimization, and surface quality control.

Computer-Aided Manufacturing Workflow

Fusion 360 manufacturing mode provides comprehensive CAM workflow for toolpath generation, simulation, and machine control.

Joint Design Solutions

Essential Tools:

NIFTY DOGBONE (60-day free trial)

Critical Fusion 360 add-in for joint design optimization

Download for Mac

Part 2 — Dan: Advanced Manufacturing Techniques

Advanced manufacturing strategies covering design optimization, process control, and quality assurance for large-scale fabrication.

Design Optimization for Large-Scale Fabrication

Design Considerations
  • Appropriate scale and proportions
  • Material selection optimization
  • Design for manufacturability
  • Assembly and joining strategies
Setup & Configuration
  • Workpiece fixturing and alignment
  • Tool selection and installation
  • Coordinate system establishment
  • Safety checks and verification

Process Control & Optimization

Speeds & Feeds
  • Spindle speed optimization
  • Feed rate calculations
  • Chip load considerations
  • Tool life management
Geometry & Toolpaths
  • 2D contour operations
  • Pocket clearing strategies
  • Roughing and finishing passes
  • Toolpath optimization

Advanced Machining Strategies

Heights & Passes
  • Clearance height planning
  • Step-down strategies
  • Multiple pass operations
  • Depth control and safety
Linking & Finishing
  • Toolpath linking strategies
  • Lead-in and lead-out optimization
  • Surface finish requirements
  • Post-processing considerations

Simulation & Quality Assurance

Fusion 360 CAM Simulation Tools

Time Analysis:

  • Simulate → Statistics → Estimated completion time
  • Toolpath efficiency optimization

Quality Verification:

  • Right-click stock → save as .STL for diagnosis
  • Toolpath verification and collision detection
  • Material removal simulation

Training

Essential training materials and procedures for computer-controlled machining and CAM workflows.

CAM Tutorial

Comprehensive CAM tutorial in Fusion 360 covering toolpath generation, machining strategies, and workflow optimization for CNC operations.

Anthony's comprehensive CAM tutorial in Fusion 360 covering toolpath generation and machining strategies

Helpful Documentation

Essential resources for computer-controlled machining and CAM workflows.

Lecture Information

  • Computer-Controlled Machining - MIT Academy

    Comprehensive resource covering CNC machining principles, CAM workflows, toolpath generation, and machine operation. Includes tutorials on design for machining, fixturing, and safety procedures.

Recitation Information

  • CAM Documentation - GitLab

    Detailed documentation covering CAM workflows, toolpath strategies, machining parameters, and best practices for computer-controlled machining operations.

Group Assignment: EECS Shop CNC Router Characterization

Characterize the design rules for the EECS shop CNC router through systematic testing of runout, alignment, fixturing, speeds, feeds, materials, and toolpaths.

Characterization Parameters

Comprehensive testing of CNC router capabilities to establish design rules and manufacturing parameters for successful machining operations.

Reference Materials

Source: MIT HTMAA Slack Discussion

Detailed notes from Anthony's training session on CNC router characterization and design rules

Critical Parameters for Characterization

  • Runout: Tool concentricity deviation affecting kerf width and dimensional accuracy
  • Alignment: Workpiece positioning accuracy for final part dimensional control
  • Fixturing: Workholding methods using plastic/steel nails for secure stock positioning
  • Speeds & Feeds: Optimized parameters balancing tool life, material removal, and surface finish
  • Materials: OSB only (other materials require approval and additional cost)
  • Toolpath Generation: 3HP spindle (2.2kW) with strict safety protocols

Expert Guidelines from Anthony

Design & Joints
  • OSB Joints: Slots and tabs optimal; other joints challenging due to material structure
  • Component Strategy: Design joints in-place; create components from bodies for joint features
  • Finishing: File/rasp for non-filletable edges; expect multiple days for sanding
Tooling & Safety
  • Tool Selection: Two-tool strategy: small for detail, large for rough cuts
  • Safety Protocol: No jewelry/loose items; secure tool mounting critical
  • Preparation: Arrive with CAD complete and CAM attempted; post-process before machining
⚠️ Critical Safety Note

Tool Security: Fires can occur from excessive depth or steep angles. Previous incidents involved frame contact. Always verify tool tightness before operation.

Post-Processing Check: Verify TAB_FIT_CHECK, tool diameter, corner radius (cr), and minimum height (zmin) parameters.

EECS Shop CNC Router Design Rules

Succinct guidelines derived from our characterization to ensure predictable outcomes on the EECS shop CNC router.

Runout

Measured at the tool: joints loosen with usage; fresh cuts are tighter.

Metric Value (in)
Average runout 0.0036
Standard deviation 0.0020
Median (freshly machined) 0.0020

Use average + 1σ (~0.0056 in) as a conservative clearance allowance for press fits that will be tested repeatedly.

Runout measurement setup and results

Dial/runout measurement indicating consistent concentricity with slight loosening after fit tests.

Clearance

Press-fit clearance tests across increments; loosened joints increase effective clearance over time.

Peg length [in] Hole size [in] Clearance [in] Joint type Fit type
1.995 2 -0.005 Interference Press
2 2 0 Line-to-line Transition
2.005 2 0.005 Clearance Slip

Use 0.005 in clearance for slip fits; interference fits require press assembly.

Clearance measurement setup and results

Clearance measurement setup showing press-fit testing across different peg sizes and hole clearances.

Full Runout Measurements
Measurement Value [in] Notes
Fresh cut 1 0.002 Initial measurement
Fresh cut 2 0.002 Consistent
After fit test 1 0.004 Joint loosening
After fit test 2 0.005 Increased wear
After fit test 3 0.006 Maximum observed
Full Clearance Measurements
Test Peg [in] Hole [in] Result
Tight fit 1.995 2.000 Press required
Nominal 2.000 2.000 Snug fit
Loose fit 2.005 2.000 Slip fit

Alignment

  • Square stock to the bed; use probe to set origin at stock bottom-left.
  • Match this origin in Fusion CAM manufacturing setup.

Fixturing

  • Use plastic nails via plastic nail gun; place outside final contours where possible.
  • Removal: crowbar to pop parts; slide to shear remaining nails; clean all nails from bed.

Speeds & Feeds

  • Spindle: 10,000 RPM; Feed: 90–100 in/min; other values per Fusion defaults.
  • Reference video: Anthony's CAM tutorial.

Materials

  • OSB only. Other materials require prior approval and incur additional cost.

Toolpath Generation (Fusion CAM)

  1. Create a manufacturing model; convert bodies to components.
  2. Sketch stock size; use Arrange to nest components within the stock.
  3. Create a manufacturing setup aligned to stock bottom-left origin.
  4. Define parameters for each tool. Use two 2D contour toolpaths:
    • 3/8 in (0.375) tool for primary contours.
    • 1/4 in (0.25) tool for detail features.
  5. Simulate, post-process, and export for the router as required.

Systematic Test Part Design

Designed test part featuring 2-inch slots with 0.005" incremental clearances to systematically evaluate joint tolerances and press-fit characteristics.

Press Fit Clearance Matrix
1.995"
-0.005"
Tight Fit
2.000"
0.000"
Nominal
2.005"
+0.005"
Loose Fit

Manufacturing Process Documentation

Systematic documentation of the CNC router characterization process from design to measurement, capturing key parameters for design rule establishment.

Demo Tabs Design for CNC Characterization

Demo tabs design featuring 2-inch slots with 0.005" clearance increments for systematic joint tolerance testing

CNC Router Active Cutting Operation

CNC router executing characterization cuts with 3HP spindle at optimized speeds and feeds for OSB material

Completed Test Part with Joint Clearances

Completed test part showing three joint clearance variations (1.995", 2.000", 2.005") for press-fit tolerance analysis

Post-Machining Cleanup Process

Post-machining cleanup using vacuum system to remove OSB dust and debris from work area and test parts

Bandsaw Cutting and Precision Measurement

Bandsaw cutting for part separation and precision measurement using calipers to determine actual joint clearances and runout characteristics

Design Files

Demo Tabs v8.f3d: Complete Fusion 360 design file for CNC router characterization test parts with various joint clearances and tab configurations.

Characterization Completion Checklist

Priority Action: Measure runout using calipers based on test part design, then systematically complete all characterization parameters.

Measurement & Analysis
  • ✓ Measure runout with calipers
  • ✓ Complete alignment testing
  • ✓ Document dimensional accuracy
Process Validation
  • ✓ Verify fixturing methods
  • ✓ Document speeds and feeds
  • ✓ Validate toolpath generation

Individual Assignment: Floating Mirror

Design and fabricate a floating mirror using tensegrity principles, exploring both 3D printing and CNC machining approaches for large-scale fabrication.

0. Design Inspiration

Research and inspiration from various tensegrity table designs and floating mirror concepts to inform the project approach.

Tensegrity Resources

Hook Alternatives

Note: We decided to go without hooks or screw hooks if needed, focusing on clean design integration.

Design Board Discussion with Anthony

Design board discussions with Anthony during the floating mirror design process, exploring tensegrity principles and manufacturing considerations

1. Computer-Aided Design (CAD)

Design process for the floating mirror using Fusion 360, incorporating tensegrity principles and ensuring manufacturability for both 3D printing and CNC machining.

3D Design of Floating Mirror

3D design of the floating mirror showing tensegrity structure and mirror integration

Design Process Videos

Design process from side view showing structural development

Design process from front view showing mirror integration

Nifty Dogbone Configuration

Important: When using Nifty Dogbone in Fusion, click the face, not the tab! Input our tool diameter as 0.25 in and clearance as 0.001 in.

Download: Nifty Dogbone for Fusion 360

Note: If using Mac, you may need to go to Privacy and Security settings to unblock the installation. See Autodesk support article for troubleshooting.

Design Requirements

  • No sharp edges: Used modify → fillet for all edges that can be cut
  • Meter height: Steep angle 500mm legs for total height of ~800mm
  • Integrated legs: Made the legs the tables themselves by cutting them into top and bottom surfaces
  • Tension cables: 10mm holes in legs for double loops of 4mm cable, two 7mm holes (minimum size cuts) for surface-to-surface tension cables
  • Two-layer surface: Upper layer cuts space for finger adjustment and has channel between holes; bottom layer has two holes per cable

2. Computer-Aided Manufacturing (CAM)

CAM workflow following the tutorial video with specific modifications for our project requirements and machine capabilities.

Process Overview

Everything same as in the tutorial video: Anthony's CAM Tutorial

Except for the modifications listed below for our specific project requirements.

Key Modifications

  • Create components from bodies: Either in design or manufacturing (nicer workflow)
  • 2D contour: Removed lead-in and lead-out for cleaner cuts
  • Tab frequency: Reduced to 1 per 5 inches instead of 1 per 3 inches, with manual tabs added where needed
  • Arrange setup: Moved to the front to make best use of the stock (instead of center)

Overall Process

  1. Go to manufacturing tab
  2. Create components from bodies
  3. Make a fixed stock manufacturing model with the stock size
  4. Click modify → arrange on it
  5. Click the components to arrange them on the stock
  6. Set up parameters for 2D contours per edge mill (big size and small size, so two tool paths)
  7. Generate the .ncl files (numerical control files)
  8. Machine takes .tap which is a postprocessed .ncl file

Note: The .tap extension is a historical carryover from the era of tape-driven machinery. Early numerical control (NC) machines used perforated paper or card stock, known as "tape," to store and transfer program data.

3. Small Model for Assembly

Testing assembly process and configuration using 3D printed models to validate design before CNC machining.

3D Printing Process

I 3D printed both altogether which failed and also printed flat as the output of the machining process to test the assembly. I used glow in the dark PLA!

Failing 3D Print

Initial 3D print attempt showing failure mode

Failed 3D Print

Failed print result highlighting design issues

Printed Parts

Successfully printed parts for assembly testing

Stratasys Printing

Slice and print on Stratasys software, dissolve support, then remove and wash parts after support is dissolved.

Stratasys print in progress

Stratasys print in progress with support material

Dissolving support material

Dissolving support material in solution

Cleaned parts after support removal

Cleaned parts after support material dissolution

4. Cutting

CNC machining process with careful attention to safety and proper tab removal techniques.

Machining Process

Run the job with care (see training section for details). When removing tabs, use the battery-powered flat drill. For the circles, drill off both sides of the tabs, then use a crow bar gently around the perimeter until it pops off.

Wood Cutting Process

CNC machining process showing wood cutting operation

Cut Parts

Completed cut parts ready for assembly

5. Assembling

Part 1: Assembling 3D Printed for Right Configuration

Testing tension cable ratios and angles using 3D printed components. We used fishing rod line because it's mostly transparent and makes the levitation effect more effective as shown in this Instructables guide, especially when imaged in night mode as glow in the dark assembly!

Prusa CoreOne Assembly

Testing tension cable ratios and angles using 3D printed components with glow-in-the-dark PLA for enhanced levitation effect.

Night Mode Assembly

Glow-in-the-dark assembly in night mode showing levitation effect

Color Test

Color testing of the glow-in-the-dark components

Phone Test

Phone testing of the floating mirror assembly

Wall Mounted

Wall-mounted floating mirror demonstration

Succulent Plant Test

Succulent plant test showing the assembly can hold plants

Kevlar Assembly

Initial threading used a sewing needle; the Kevlar line fractured the needle, so we re‑threaded using a smaller carrier thread. The assembly was completed and wall‑mounted. For rapid iteration we temporarily set tension with tape; for final installations, secure with knots to eliminate slip and creep.

Fully threaded Kevlar assembly

Fully threaded Kevlar assembly with smaller thread

Assembled Kevlar tensegrity

Completed Kevlar tensegrity assembly

Kevlar threading process demonstration

Wall mounted Kevlar assembly

Wall-mounted Kevlar tensegrity assembly

Stratasys Assembly

Assembled with only knots because tape doesn't work on Stratasys printed filament -- works even better than tape anyway.

Stratasys assembly with knots only

Stratasys assembly using only knots for tension cable attachment

Part 2: Assembling OSB (Oriented Strand Board)

What is OSB? Oriented Strand Board is an engineered wood product made from layers of wood strands (or wafers) bonded together with resin and high heat. The strands are "oriented" in specific directions, and each layer is aligned in various directions to enhance the board's strength and stability. It is a popular, more affordable alternative to plywood for applications like sheathing and subflooring.

Here we're using 1000ft-rated 4mm paracord from Amazon for the tension cables.

1. Removing Parts After Machining
  1. Use a small saw tool to cut through the tabs connecting the machined parts to the stock material
  2. Apply full pressure with the saw tool, positioning the blade as close to the part edge as possible for clean cuts
  3. For circular parts, cut through both sides of the tab to ensure complete separation
  4. After cutting the tabs, use a crow bar to gently pry up the part, working around the perimeter until all plastic nails are released from the stock
  5. Carefully remove the part from the CNC bed, ensuring no damage to the machined surfaces
Cutting tabs with saw tool

Cutting tabs with saw tool for part removal

Tab removal process demonstration

Vacuuming bed after part removal

Cleaning the CNC bed with vacuum after part removal

2. Assembling Without Glue
  1. Use a file to refine the press fit joints until they insert smoothly into the dogbone holes with a snug, secure fit
  2. Insert the leg components into the circular bottom panels, aligning with the pre-drilled paracord holes
  3. Thread the paracord through the edge holes, ensuring proper alignment for the tension system
  4. Route the paracord in a straight line across the top surface to the corresponding inner circle hole, then thread back to the leg side
  5. Repeat this threading pattern for all four corner holes to establish the complete tension network
  6. Insert paracord between the two leg assemblies and adjust tension to achieve the desired vertical or semi-vertical spacing
  7. Lift the assembly from the top and adjust paracord tension until achieving a stable, balanced floating configuration
  8. Mark the optimal knot positions using a permanent marker or ziptie for reference
  9. Lay both subsystems horizontally on a flat surface and tie secure knots at the marked positions
  10. Secure each knot with zipties positioned between the knot and hole to prevent slippage and maintain tension integrity
  11. Trim excess ziptie material flush with the knot for a clean, professional appearance
Filing joints for press fit

Filing joints to achieve proper press fit

Inserting leg into circular panel

Inserting leg into circular bottom panel

Threading paracord through holes

Threading paracord through edge holes

Measuring paracord length

Measuring paracord for proper tension

Tightening to marked position

Tightening paracord to marked position

Tightened assembly without glue

Completed assembly without glue

Horizontal assembly view

Horizontal assembly configuration

Holding top configuration

Holding floating configuration from top

Horizontal assembly without glue

Horizontal assembly without glue showing stability

3. Gluing for Mirror
  1. Prepare the work surface with protective paper to prevent glue contamination and ensure easy cleanup
  2. Gather an adequate number of clamps to secure all joints during the gluing process
  3. Apply wood glue around the press fit joint edges and within the joint interface to reinforce the connection for horizontal wall mounting applications
  4. Position clamps at the critical edge locations between the leg and circle perimeter, as this area represents the weakest structural point and is most susceptible to failure under horizontal stress
  5. Apply adhesive to the mating surfaces of the upper and lower circles, taking care to minimize contact with paracord channels (any excess glue can be removed and cleaned up later)
  6. Carefully position the second layer components onto the upper and lower circles, ensuring paracord routing remains unobstructed through the designated channels
  7. Secure the glued layers with clamps, applying even pressure across all joint surfaces
  8. For mirror attachment, apply appropriate adhesive (silicone glass adhesive recommended, though wood glue is acceptable) and secure with clamps
  9. Allow complete adhesive cure time before applying any stress to the joints to ensure maximum bond strength
Wood gluing mirror with clamps

Wood gluing mirror with clamps for secure bonding

Cured glue after 24 hours

Cured glue after 24-hour wait period

4. Tightening After Gluing
  1. Verify that paracord remains freely movable and is not bonded to the wood surfaces by adhesive
  2. If paracord is stuck, apply gentle pulling force or carefully use a utility knife to separate any adhesive bonds between paracord and wood surfaces
  3. Execute the tensioning procedure following the same methodology established in step 2, utilizing knots and zipties for secure fastening
  4. Apply tension to the paracord until achieving equilibrium where opposing forces are balanced
  5. Mark the optimal tension point using a permanent marker or ziptie for precise reference
  6. Create a secure knot at the marked position to maintain the desired tension
  7. Install zipties between the knot and hole to prevent slippage, continuing until the system reaches a stable, non-adjustable state
Horizontal mirror after gluing

Horizontal mirror configuration after gluing

Horizontal mirror side view

Horizontal mirror side view showing stability

Ziptie tightening process

Ziptie tightening for final tension adjustment

Mirror tight configuration

Final tight mirror configuration

Tight assembly with mirror

Final tight assembly with mirror properly mounted

5. Final Assembly
  1. Complete the final assembly process and conduct comprehensive stability testing to verify structural integrity
  2. Perform load testing with various weights (monitor, laptop, iPad) to validate the assembly's load-bearing capacity and safety margins
  3. Verify horizontal stability and confirm the levitation effect is functioning correctly under different load conditions
  4. Trim excess ziptie material flush with the assembly for a clean, professional finish
Working stable assembly

Final working stable assembly

Monitor weight test

Monitor weight test showing stability

Laptop stability test

Laptop stability test demonstrating load capacity

iPad stability test

iPad stability test showing versatility

Baby for scale demonstration

Baby for scale showing actual size

Baby happy with assembly

Baby happy with the floating mirror assembly

Final trimmed neat assembly

Final trimmed neat assembly ready for use

6. Scaling Up Design

Scaled to about 160cm in length, exactly double the current arrangement! The plan is to machine this scaled up version after class because of the limited wood stock in the class.

Scaling Design Steps (Estimated Time: 30-50 minutes)

  1. Apply non-uniform scaling to all components using modify → scale → non-uniform, maintaining original thickness (circles: scale x,y axes only; legs: scale x,z axes only)
  2. Reposition plate components along the z-axis, then align leg components with their corresponding mounting holes
  3. Remove existing joint holes and dogbone features from the design timeline to prepare for recreation
  4. Recreate extrusion cuts and apply dogbone modifications to the new scaled geometry
  5. Return to CAM workflow using the same procedures outlined in Anthony's CAM Tutorial

Design scale-up timeline showing the scaling process in Fusion 360

Future Parametric Design

In the future, will create parametric design by defining the lengths in terms of other lengths and then can scale by setting values to the base parameters of the design.

Design Files

Complete design files, CAD models, and manufacturing files for the floating mirror tensegrity project.

CAD Design Files

Complete Fusion 360 design files and manufacturing models for the floating mirror tensegrity structure.

Fusion 360 Project

HTMA Team Link: Floating Mirror v12.3mf Project

Download Links

3MF Model: Complete 3D model for 3D printing and visualization.
DXF File: 2D drawing file for CNC machining and laser cutting.
Flat 3MF: Flat configuration for 3D printing assembly testing.

Manufacturing Files

G-Code: For our shop's printer for flat configuration (0.4mm nozzle, 0.2mm layer height, PLA, 1h52m print time).
TAP File: For our shop's CNC router (postprocessed numerical control file).

Group Assignment Demo Tabs for CNC Router Characterization

Design files for the CNC router characterization test parts used in the group assignment to determine design rules and manufacturing parameters.

Demo Tabs Design

Demo Tabs v8.f3d: Complete Fusion 360 design file for CNC router characterization test parts with various joint clearances (1.995", 2.000", 2.005") and tab configurations for testing runout, alignment, and fixturing parameters.

Reflections & Learnings

Key insights and lessons learned from this week's computer-controlled machining work.

Machining Process Insights

  • Understanding the importance of proper CAM workflow and toolpath optimization
  • Learning the critical role of tab placement and removal in CNC machining
  • Appreciating the precision and capabilities of subtractive manufacturing
  • Understanding the relationship between design and manufacturability

Contributions

Acknowledgements for help received during this week's computer-controlled machining work.

Course Staff & Instructors

  • Alfonso — Comprehensive recitation on subtractive processes and CAM workflows
  • Dan — Advanced techniques and optimization strategies
  • Anthony — CAM tutorial and workflow guidance

Ethical AI Use

Transparent documentation of AI assistance used in this week's computer-controlled machining work.

AI-Assisted Week 6 Documentation

This week's documentation was significantly enhanced by Cursor AI to transform project notes into comprehensive professional documentation. The AI assisted with creating structured sections for recitation notes, design inspiration resources, CAD process documentation, CAM workflow details, and complete design files organization with proper linking and technical descriptions.

AI-Assisted Individual Assignment Documentation

The individual assignment section was significantly enhanced by Cursor AI to transform project notes into comprehensive professional documentation. The AI assisted with creating structured subsections for OSB assembly processes, organizing step-by-step procedures, integrating media files, and developing professional technical descriptions for all assembly stages.

AI-Assisted CNC Router Design Rules Documentation

The EECS Shop CNC Router Design Rules section was enhanced by Cursor AI to transform characterization notes into comprehensive professional documentation. The AI assisted with creating structured sections for runout and clearance measurements, formatting measurement tables, organizing design rules, and integrating download links for data files.

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

© Saleem A. Al Dajani
Made for HTMAA 2025 • Built with vanilla HTML/CSS

Perfect! I have successfully completed all the tasks. Let me provide a summary of what was accomplished:

Summary

I have successfully completed all the requested tasks:

Week 7 Creation and Setup

1. Created week7.html from week-template.html with input devices information 2. Added week7.html link to index.html (it was already present) 3. Populated week7.html with comprehensive input devices content including: - Week highlights and goals - Course introduction and assignments - Tools & materials - Helpful documentation section with link to the MIT Academy input devices page - Project sections for sensor exploration and measurement

Added Helpful Documentation Links to All Week Pages

Week 0:
  • Principles and Practices - MIT Academy
  • Computer-Aided Design - MIT Academy
  • Parametric Design Recitation - Alfonso Parra Rubio
  • Week 1:
  • Project Management - MIT Academy
  • Computer Cutting - MIT Academy
  • Git Recitation - HTMAA 2025
  • Week 2:
  • Embedded Programming - MIT Academy
  • HTMA Electronics Slides - Google Slides
  • Week 3:
  • 3D Scanning & Printing - MIT Academy
  • 3D Scanning & Printing Recitation - Google Slides
  • Week 4:
  • Electronics Design - MIT Academy
  • Electronics Design Recitation - Vimeo
  • Week 5:
  • Electronics Production - MIT Academy
  • Electronics Production Recitation - Google Slides
  • Electronics Production Recitation - Vimeo
  • Week 6:
  • Computer-Controlled Machining - MIT Academy
  • CAM Documentation - GitLab
  • Each helpful documentation section includes:

  • Lecture Information with links to official MIT Academy course pages
  • Recitation Information with links to specific recitation materials
  • Brief summaries of what can be found in each resource
  • Consistent styling that matches the existing page design
  • All pages now have comprehensive helpful documentation sections that provide students with easy access to official course resources, lecture materials, and recitation information for each week of the course.

    Download Options

    For the complete technical details and full conversation transcript: