In the summer of 2022, I completed an internship at Modix3D, an industry leader in large-format 3D printers. My work centered on designing, assembling, and programming a custom printer platform that could serve as a testbed for hot end configurations, motion parameters, and reliability testing.
My first assignment was to construct a fully functional printer using spare parts from retired machines. While the mechanical assembly was straightforward, the real challenge lay in the electronics. At the time, Modix3D was transitioning from Duet 2 to the newer Duet 3 control boards, and I had to navigate the complexities of reconfiguring motors, sensors, and hotend assemblies on this new platform.
To enable modularity, I integrated both a Duet Mini 5+ daughter board and a Duet 3 Tool Board 1LC, connected via CAN bus communication, to simplify hotend and extruder swaps. This required not only software configuration but also diagnosing and solving power delivery issues and even repairing control board PCBs when needed. Through this process, I gained a deep familiarity with the Duet ecosystem and CAN bus communication protocols.
Once the printer was successfully running on the Duet 3 system, I began developing custom G-Code macros to automate testing and ensure consistent results.
Bed leveling macros: Updated and refined to guarantee reliable first-layer adhesion.
Motion testing routines: Designed to safely push maximum speed and acceleration limits, while maintaining smooth motion profiles. Using the onboard IMU of the tool board, I measured acceleration and jerk values on the X and Y axes to calibrate the fastest speeds that still produced high-quality prints.
I wrote routines that automatically cycled through different combinations of nozzle temperatures, extrusion factors, and cooling fan strengths across multiple materials. These macros created consistent, repeatable datasets that could be compared across different hotend and extruder configurations.
By the end of my internship, I had:
Developed a deep technical understanding of 3D printer electronics, from control board configuration to motor tuning.
Simplified printer architecture by removing redundant sensors and boards, creating a lean, modular testbed.
Established a platform where any hotend, extruder, or cooling system could be easily swapped and validated.
Created reliable, repeatable G-Code macros for testing motion limits, material parameters, and print quality across multiple configurations.
This work not only expanded my knowledge of 3D printer systems but also contributed to Modix3D’s ability to evaluate and optimize hotend configurations more efficiently.