This document describes the design and implementation of a 3D printer that uses an Arduino board as its controller. It uses a PLA plastic filament fed through a thermoplastic extruder head mounted on a Cartesian XYZ positioning system. The electronics are based on the Arduino development platform and include a custom shield to interface with stepper motors and temperature sensors. The firmware runs on the Arduino and controls the stepper motors and extruder temperature based on G-code instructions generated from 3D models.