3D Printer Project

Engineering SolidWorks Arduino Marlin Calibration

Project Overview

A CNC 3D printer designed and built by our five-member group (Group C-17) for the course ME 366: Electro-Mechanical System Design and Practice at BUET. Building a printer from tutorials looks easy, but making it print accurately takes a great deal of calibration, so our goal was not only to build the printer but to document how we calibrated it. Most 3D printers used in Bangladesh are imported; we hoped the design could help local makers build their own.

Design and Hardware

  • Design: Modelled in SolidWorks.
  • Frame: 50 mm × 50 mm × 5 mm mild steel square channel, chosen for its low cost, local availability and weldability.
  • Motion: NEMA 17 stepper motors on the X, Y and Z axes, with GT2 pulleys and timing belts for X and Y, and an M8 threaded rod for Z. Mechanical endstops limit the travel on each axis.
  • Print bed: Fiber board, 19 cm × 15 cm.
  • Extrusion: MK8 extruder feeding PLA filament to an E3D V6 hotend.
  • Electronics: Arduino Mega 2560 with a RAMPS 1.4 shield, A4988 stepper drivers (1/16 microstepping) and a 12 V, 20 A power supply.

Programming and Calibration

  • Firmware: Marlin, configured for our endstops, temperature sensor, print bed size and steps/mm on each axis.
  • Workflow: SolidWorks model → STL → G-code in Slic3r → printed through Pronterface.
  • Calibration: Stepper steps/mm for each axis and the extruder, the A4988 driver current (VREF = 0.72 V for a 1.8 A current limit), endstop positions and a steady PLA feed.

Documentation

Our full build and calibration documentation is on the project website here.

Project Metadata

CategoryEngineering
Technologies / BadgesSolidWorks, Arduino, Marlin, Calibration
Project DateJanuary 1, 2023