This document describes an IoT-based 3D printer that can be remotely monitored and controlled using a Raspberry Pi computer running Octoprint software. Key aspects that can be controlled remotely include starting print jobs, monitoring extruder temperature, turning the printer on/off, and watching live video of prints. The 3D printer uses a MKS-BASE control board connected to stepper motor drivers and a hot end assembly to extrude plastic filament in layers based on G-code instructions generated from a CAD model. Octoprint allows sending G-code over USB to control the 3D printer and monitor print jobs from a web interface.