Cursor AI Transcript · HTMAA 2025
Cursor AI session for adding helpful documentation links to all week pages and creating week7.html
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
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
Week 7
Input Devices
Week Highlights
Exploring various input devices and sensors for microcontroller projects.
Table of Contents
Course Content
Training & Documentation
Assignments & Projects
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
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.
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.
Sensor integration setup
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.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
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.
Initial concept sketch for final project - exploring bioprinting rejuvenated tissue and aging biomarker devices
Table of Contents
Course Content
Documentation & Reflection
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 website — MAS.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 concept — reference 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.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
Week 1
Principles & Cutting · HTMAA 2025
Week Highlights
Laser Cutter Characterization Results
Project Deliverables
🔧
3D Parametric Design: Origami Assembly Construction Kit
Successfully fabricated and assembled parametric design modular construction kit based on laser cutting origami crease patterns on cardboard.
🏷️
2D Parametric Design: Laptop Vinyl Stickers
Applied vinyl stickers and completed takehome assignment
📁 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
Course Content
Training & Documentation
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
-
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
Top 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 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 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
- Research and ideation for construction kit design
- Create parametric CAD model with adjustable parameters in Fusion 360
- Generate CAM toolpaths for laser cutting
- Test cut on cardboard to verify fit and function
- Iterate design based on test results
- Final cut on appropriate material
- 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:
- Turn off the vinyl cutter
- Remove tape from the fallen roll to get the weight off
- Readjust vinyl in between the wheels to ensure proper tension
- 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
CAD Files
SVG Files
Cut Files
Kerf and Clearance Design Files
Joint Test 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!
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!
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.
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.
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. :-)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
Course Content
Training & Documentation
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:
- Connect QPAD-XIAO to your computer via USB-C
- In Arduino IDE, select Tools → Board → Raspberry Pi RP2040 Boards → XIAO RP2040
- Select the correct COM port under Tools → Port
- 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:
- Connect XIAO programmer to QPAD21 using the programming header
- Connect XIAO programmer to your computer via USB
- In Arduino IDE, select Tools → Board → Arduino SAMD (32-bits ARM Cortex-M0+) → Arduino MKR WiFi 1010
- Select the correct COM port for the XIAO programmer
- 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
- Click Burn Bootloader and wait for completion
Programming Steps (After Bootloader):
- Disconnect XIAO programmer and connect QPAD21 directly via USB
- Select Tools → Board → Arduino SAMD (32-bits ARM Cortex-M0+) → Arduino MKR WiFi 1010
- Select the correct COM port for QPAD21
- 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:
- Connect QPAD-XIAO-ESP32S3 to your computer via USB-C
- In Arduino IDE, select Tools → Board → ESP32 Arduino → XIAO_ESP32S3
- Select the correct COM port under Tools → Port
- Configure additional settings:
- Upload Speed: 921600
- CPU Frequency: 240MHz (WiFi/BT)
- Flash Mode: QIO
- Flash Size: 8MB (64Mb)
- Partition Scheme: Default 4MB with spiffs
- 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 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 showing input, output, and ground connections for multimeter verification
Testing Steps:
- Connect power to your development board
- Set multimeter to DC voltage mode
- Measure input voltage (VIN) - should match your power supply voltage
- Measure output voltage (VOUT) - should be the regulated voltage (e.g., 3.3V or 5V)
- Check ground continuity between input and output ground pins
- 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 diagram showing power, data, and ground connections for multimeter testing and verification
Testing Steps:
- Connect USB-C cable to your development board
- Set multimeter to DC voltage mode
- Measure VBUS (pin A4/B4) - should read 5V when connected to power
- Test ground continuity (pins A1/B1, A12/B12) - should show 0Ω resistance
- Check CC1/CC2 pins (A5/B5) for proper connection detection
- Verify D+ and D- data lines (A6/A7, B6/B7) for continuity
- 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
-
HTMA Electronics Slides - Google Slides
Official course slides covering microcontroller architecture, programming fundamentals, sensor integration, and real-time system design principles.
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 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 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 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 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
8-bit AVR MCU, 32 KB Flash, 2 KB SRAM, ADC, timers, USART
1
$7.50
PDF
$7.50
2
0.96″ OLED Display Module (SSD1306)
128×64 mono OLED, I²C/SPI interface
1
$2.50
PDF
$2.50
3
Male Header Pins (2.54 mm)
Breakaway straight male headers
2
$0.20
PDF
$0.40
4
Dual-Row Header (2×5, 2.54 mm)
10-pin dual-row header, unshrouded
1
$0.50
PDF
$0.50
5
SMD MOSFET (AO3400A example)
N-channel MOSFET, SOT-23
2
$0.15
PDF
$0.30
6
SMD Capacitor (MLCC 0603 example)
Ceramic capacitor, value TBD
5
$0.03
PDF
$0.15
7
SMD Resistors – 1 kΩ (code '1001')
Precision SMD resistors
5
$0.02
PDF
$0.10
8
SMD LED (0603, color TBD)
Indicator LED
2
$0.05
PDF
$0.10
9
USB-C Receptacle
Surface-mount USB Type‑C connector
1
$0.60
PDF
$0.60
10
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
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
Course Content
3D Printing & Scanning
Assignments & Projects
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.
Supported tests print - grouped for efficient testing
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
- Lecture Notes
Course materials and technical documentation
- Office Hours Insights
Instructor guidance and troubleshooting discussions
- Week 3 Course Website: https://academy.cba.mit.edu/classes/scanning_printing/index.html
Official course resources and additional materials
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:
First attempt: Tangled slinky with improper coil geometry
Second attempt: Still resulted in tangled geometry
Final Successful Design
The third iteration successfully achieved the desired untanglable geometry:
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 - 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 - 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 - demonstrating proper mechanical functionality
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 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 - 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 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 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
- Initial Processing: Start with fused STL from scanner software
- MeshLab Alignment: Use MeshLab to align model to axes for proper orientation
- Meshmixer Cleanup: Import to Meshmixer, select Vader, and remove background elements
- Edge Smoothing: Smooth edges using Meshmixer tools (advice from ChatGPT consultation)
- Platform Removal: Remove floating platform to create full surface Vader
- Solid Conversion: Make model solid for 3D printing compatibility
- Final Alignment: Return to MeshLab for final alignment adjustments
- Export & Slice: Export as 3MF, slice with support everywhere (failed without support)
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
-
3D Scanning & Printing Recitation - Google Slides
Hands-on tutorial covering 3D scanning workflows, 3D printing setup and optimization, design rules for additive manufacturing, and troubleshooting common issues.
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:
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:
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
Responsive Design Repository Refactoring
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
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
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.
Table of Contents
Course Content
Training & Documentation
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
- KiCad — Open-source EDA suite
- Eagle — Professional PCB design
- Altium Designer — Advanced PCB design
- Wokwi — Online Arduino simulator
Simulation & Testing
- LTspice — Circuit simulation
- ngspice — Open-source SPICE
- Falstad Circuit — Interactive simulation
- Fab Inventory — Available components
Test Equipment Guides
- Oscilloscope Basics — Tektronix tutorial
- Multimeter Usage — SparkFun guide
- MIT Academy Electronics Design — Course reference
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 Discussion •
View 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 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
SCL Clock Signal: I2C SCL line showing clean 400kHz square wave
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:
- Plug alligator clip of ground probe to ground reference
- Use main probe clip to probe signal pins
- Adjust oscilloscope view for optimal signal display
- Start with 5V supply pin for initial voltage verification
Multimeter Continuity Testing:
- Set multimeter to resistance mode
- Press 'select' function for continuity mode
- Device beeps when resistance is under 50 ohms
- 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
Add board outline and define board dimensions
-
2
Add switch component and configure properties
-
3
Add LED component with proper orientation
-
4
Add resistor for current limiting
-
5
Add net connectors for dev board integration
PCB Layout Steps
-
6
Switch to PCB view and arrange components
-
7
Ensure no component overlaps
-
8
Route traces (flip and add holes if needed)
-
9
Resize board and create polygon pour
-
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.
Schematic Design
📥 Download .sch file
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.
Schematic Design
📥 Download .sch file
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.
Interactive Simulation: Button-controlled LED circuit with ESP32S3
Simulation Links
Code Files
ESP32S3 LED Circuit Simulation 2
Alternative simulation configuration with the same circuit functionality.
Alternative Configuration: Same circuit with different simulation setup
Simulation Links
Code Files
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
- schematic.kicad_sch — KiCad schematic
- schematic.pdf — PDF schematic
- bom.csv — Bill of materials
PCB & Simulation
- pcb.kicad_pcb — KiCad PCB layout
- gerber.zip — Gerber files for fabrication
- simulation.asc — LTspice 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
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
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.
Table of Contents
Course Content
Production Methods
Assignments & Projects
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
- Power on the machine using the rear power button
- Initialize homing sequence through Bantam Tools software
- Load design file: Export from Fusion as .brd (Eagle 9.x compatible) or generate Gerber files from fabrication outputs
- 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
- Activate loading sequence to position machine at front
- Remove magnetic panels and prepare workpiece area
- Apply double-sided tape across entire board surface
- Position board left-justified with 1mm buffer from origin
- Set Z-offset 5mm from origin point
Tool Configuration
- Add 1/64" end mill as secondary tool in tool list
- Install tool by aligning end mill shoulder with collar
- Select appropriate tool size and confirm installation
Milling Operation
- Install acrylic safety panels (required for operation)
- Verify hall effect sensor detects magnetic panel closure
- Execute "Mill All Visible" command to begin fabrication
- Monitor process completion (estimated 14 minutes to 2 hours)
Post-Processing
- Retract machine using loading controls
- Remove completed board from work area
- Clean debris using CleanView Deluxe vacuum system
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 bracket installation for precise board alignment and milling
- Software Configuration: Select double-sided mill option in the software interface
- Fixture Installation: Add fixture under Fixture menu and follow installation steps using Allen wrench
- Top Side Setup: Align base material to bottom left corner, run workflow for top setting (click outline to shade out cut-out traces)
- Board Flip: Flip the board left to right upside down for bottom side processing
- 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 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.
- Rivet Placement: Use tweezers to carefully place rivets in the vias
- Board Flip: Flip the board without dropping it to access the opposite side
- Small Conic Tool: Use the small conic tool inside the rivet (on opposite side) and lightly hammer to open and secure it
- Large Conic Tool: Use the large conic tool on the rivet and lightly hammer to flatten it on the surface
- 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.
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
Pre-test: Initial trace pattern
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
- Access JLCPCB online platform and create account
- Upload PCB design files (Gerber format)
- Select aluminum substrate (preferred over FR4 for machining compatibility)
- Configure production parameters and place order
JLCPCB Order Documentation
JLCPCB order confirmation showing PCB specifications, pricing, and production parameters
PCB Simulation Results
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
- Phase 1: ESP32-S3 LED PCB - Basic microcontroller board with LED control
- 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
Initial PCB milling design showing early layout and trace patterns
Final successful PCB milling result with clean traces and proper spacing
Successfully assembled Xiao ESP32-S3 microcontroller board with LED functionality
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.
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 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 showing successful functionality on the connector development board design
Double-sided development board demonstration showing full functionality with LED control and button operation
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.
Development board setup with MPU6050 accelerometer, HX711 load cell, and SSD1306 OLED display
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
HX711 load cell amplifier board pinout configuration (Amazon product page)
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.
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.
Serial plotter showing load cell data visualization
Serial monitor displaying load cell readings and status
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.
Initial wire preparation showing individual conductors ready for assembly
Twisted wire joint preparation before soldering
Completed soldered joint showing proper connection and heat distribution
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.
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
-
Electronics Production Recitation - Google Slides
Hands-on tutorial covering PCB fabrication workflows, milling machine operation, soldering techniques, and electronics assembly best practices.
-
Electronics Production Recitation - Vimeo
Video tutorial demonstrating PCB fabrication processes, machine setup, and assembly techniques for electronics production.
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.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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
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).
Table of Contents
Course Content
Machining & CAM
Assignments & Projects
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:
Complete 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
Reference Resources:
Essential Tools:
NIFTY DOGBONE (60-day free trial)
Critical Fusion 360 add-in for joint design optimization
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
-
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.
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 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)
- Create a manufacturing model; convert bodies to components.
- Sketch stock size; use Arrange to nest components within the stock.
- Create a manufacturing setup aligned to stock bottom-left origin.
- 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.
- 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 featuring 2-inch slots with 0.005" clearance increments for systematic joint tolerance testing
CNC router executing characterization cuts with 3HP spindle at optimized speeds and feeds for OSB material
Completed test part showing three joint clearance variations (1.995", 2.000", 2.005") for press-fit tolerance analysis
Post-machining cleanup using vacuum system to remove OSB dust and debris from work area and test parts
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
- How to Make Floating Tensegrity Table — Comprehensive guide with step-by-step instructions
- Tensegrity Table Build Video — Visual demonstration of construction process
- Advanced Tensegrity Techniques — Advanced construction methods and tips
- Tensegrity Physics Explanation — Understanding the underlying physics principles
- Basic Tensegrity Table — Fundamental tensegrity table design
- 3D Printed Tensegrity Model — Small-scale 3D printed tensegrity structures
- Tensegrity Table with Swappable Top — Modular tensegrity design with interchangeable surfaces
- Impossible Table Reddit Post — Community discussion and build examples
- Tensegrity Mirror Concept — Specific tensegrity mirror implementation
- MIT Fab Academy Tensegrity Project — Previous MIT student tensegrity work
- Tensegrity Construction Tips — Practical construction advice and techniques
- Tensegrity Table Assembly — Detailed assembly process demonstration
- DIY 3D Printed Tensegrity Tables — Complete DIY guide for 3D printed tensegrity
- MIT HTMAA Week 6 Project — Previous MIT HTMAA student CNC machining project
Hook Alternatives
- Hook Design Video — Hook design and implementation techniques
- 3D Printable Hooks — Various hook designs for 3D printing
- Pattern Holes in Fusion 360 — Creating patterned holes for hardware integration
Note: We decided to go without hooks or screw hooks if needed, focusing on clean design integration.
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 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
- Go to manufacturing tab
- Create components from bodies
- Make a fixed stock manufacturing model with the stock size
- Click modify → arrange on it
- Click the components to arrange them on the stock
- Set up parameters for 2D contours per edge mill (big size and small size, so two tool paths)
- Generate the .ncl files (numerical control files)
- 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!
Initial 3D print attempt showing failure mode
Failed print result highlighting design issues
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 with support material
Dissolving support material in solution
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.
CNC machining process showing wood cutting operation
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.
Glow-in-the-dark assembly in night mode showing levitation effect
Color testing of the glow-in-the-dark components
Phone testing of the floating mirror assembly
Wall-mounted floating mirror demonstration
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 with smaller thread
Completed Kevlar tensegrity assembly
Kevlar threading process demonstration
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 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
- Use a small saw tool to cut through the tabs connecting the machined parts to the stock material
- Apply full pressure with the saw tool, positioning the blade as close to the part edge as possible for clean cuts
- For circular parts, cut through both sides of the tab to ensure complete separation
- 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
- Carefully remove the part from the CNC bed, ensuring no damage to the machined surfaces
Cutting tabs with saw tool for part removal
Tab removal process demonstration
Cleaning the CNC bed with vacuum after part removal
2. Assembling Without Glue
- Use a file to refine the press fit joints until they insert smoothly into the dogbone holes with a snug, secure fit
- Insert the leg components into the circular bottom panels, aligning with the pre-drilled paracord holes
- Thread the paracord through the edge holes, ensuring proper alignment for the tension system
- Route the paracord in a straight line across the top surface to the corresponding inner circle hole, then thread back to the leg side
- Repeat this threading pattern for all four corner holes to establish the complete tension network
- Insert paracord between the two leg assemblies and adjust tension to achieve the desired vertical or semi-vertical spacing
- Lift the assembly from the top and adjust paracord tension until achieving a stable, balanced floating configuration
- Mark the optimal knot positions using a permanent marker or ziptie for reference
- Lay both subsystems horizontally on a flat surface and tie secure knots at the marked positions
- Secure each knot with zipties positioned between the knot and hole to prevent slippage and maintain tension integrity
- Trim excess ziptie material flush with the knot for a clean, professional appearance
Filing joints to achieve proper press fit
Inserting leg into circular bottom panel
Threading paracord through edge holes
Measuring paracord for proper tension
Tightening paracord to marked position
Completed assembly without glue
Horizontal assembly configuration
Holding floating configuration from top
Horizontal assembly without glue showing stability
3. Gluing for Mirror
- Prepare the work surface with protective paper to prevent glue contamination and ensure easy cleanup
- Gather an adequate number of clamps to secure all joints during the gluing process
- Apply wood glue around the press fit joint edges and within the joint interface to reinforce the connection for horizontal wall mounting applications
- 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
- 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)
- Carefully position the second layer components onto the upper and lower circles, ensuring paracord routing remains unobstructed through the designated channels
- Secure the glued layers with clamps, applying even pressure across all joint surfaces
- For mirror attachment, apply appropriate adhesive (silicone glass adhesive recommended, though wood glue is acceptable) and secure with clamps
- Allow complete adhesive cure time before applying any stress to the joints to ensure maximum bond strength
Wood gluing mirror with clamps for secure bonding
Cured glue after 24-hour wait period
4. Tightening After Gluing
- Verify that paracord remains freely movable and is not bonded to the wood surfaces by adhesive
- If paracord is stuck, apply gentle pulling force or carefully use a utility knife to separate any adhesive bonds between paracord and wood surfaces
- Execute the tensioning procedure following the same methodology established in step 2, utilizing knots and zipties for secure fastening
- Apply tension to the paracord until achieving equilibrium where opposing forces are balanced
- Mark the optimal tension point using a permanent marker or ziptie for precise reference
- Create a secure knot at the marked position to maintain the desired tension
- Install zipties between the knot and hole to prevent slippage, continuing until the system reaches a stable, non-adjustable state
Horizontal mirror configuration after gluing
Horizontal mirror side view showing stability
Ziptie tightening for final tension adjustment
Final tight mirror configuration
Final tight assembly with mirror properly mounted
5. Final Assembly
- Complete the final assembly process and conduct comprehensive stability testing to verify structural integrity
- Perform load testing with various weights (monitor, laptop, iPad) to validate the assembly's load-bearing capacity and safety margins
- Verify horizontal stability and confirm the levitation effect is functioning correctly under different load conditions
- Trim excess ziptie material flush with the assembly for a clean, professional finish
Final working stable assembly
Monitor weight test showing stability
Laptop stability test demonstrating load capacity
iPad stability test showing versatility
Baby for scale showing actual size
Baby happy with the floating mirror 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)
- 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)
- Reposition plate components along the z-axis, then align leg components with their corresponding mounting holes
- Remove existing joint holes and dogbone features from the design timeline to prepare for recreation
- Recreate extrusion cuts and apply dogbone modifications to the new scaled geometry
- 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.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
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.
For the complete technical details and full conversation transcript: