3D Printing

3 min read

3D Printing

I use 3D printing primarily as a practical prototyping tool—not for artistic or decorative objects, but for functional parts that solve specific problems. It’s a quick way to turn a CAD sketch into something physical and validate whether a design actually works.

Why I Find It Useful

The feedback loop is fast. I can design something in the morning, print it in the afternoon, and know by evening whether the design was right. If it wasn’t, I iterate. This is similar to how I think about software development, except the output is physical.

3D printing has taught me things about design that translate back to software:

  • Tolerances matter. A hole that’s theoretically the right size for a bolt won’t actually fit the bolt if you don’t account for printing tolerances. Similarly, software designs that look correct on paper often fail when they meet real-world inputs.

  • Material properties are constraints. Different materials have different strengths, heat tolerances, and behaviors. Choosing the wrong material for a job creates problems. This is analogous to choosing the wrong technology for a software problem.

  • Simple designs are more reliable. The more complex the print, the more failure modes. I’ve learned to prefer simple, robust designs over clever ones.

Current Projects

Mostly practical stuff:

  • Enclosures for electronics — Custom cases for microcontrollers, sensors, and small circuit boards. The Home Assistant setup has several ESP32 and ESP8266 boards that needed weatherproof or mountable enclosures.

  • Lab organization — Cable management, tool holders, parts bins. Nothing exciting, but functional.

  • Mounting hardware — Brackets, adapters, and fixtures for things that don’t quite fit together otherwise.

  • Robotics fixtures — Parts and jigs for the FTC robotics work.

What I Focus On

Repeatable prints. I want the same model to print the same way every time. This means dialing in settings and resisting the urge to tweak constantly.

Clean tolerances. Parts that fit together properly, holes that accept the right fasteners, surfaces that mate cleanly.

Material selection. Understanding when PLA is fine (most indoor applications), when PETG is needed (heat or outdoor exposure), and when ABS or other materials are worth the extra hassle.

Maintainable models. Parametric designs where I can change a dimension and have the rest of the model adjust. This is the CAD equivalent of well-factored code.

Modding for Performance

I enjoy modding printers for maximum performance capacity. My Creality K1 Max is heavily modified:

  • Linear rail mod — Replaces stock motion system for improved precision and speed
  • Mandala Roseworks machined aluminum bed — Better flatness and thermal properties than stock
  • Manta M8P board — Upgraded control board for more capable firmware and expansion
  • Custom Hellfire tool head from MackinsVII with Chube hotend — High-flow, high-temp capable extrusion

What I find compelling about modding is experiencing the design tradeoffs that mechanical limitations impose. Every upgrade shifts the balance between speed, accuracy, reliability, and cost. Understanding where those tradeoffs lie—and deciding which ones matter for a given use case—is the same kind of reasoning that makes engineering interesting in any domain.

  • Robotics — Prints parts and fixtures for the FTC teams
  • Home Assistant — Prints enclosures for custom sensors