Desktop fused filament fabrication (FFF) 3D printers have been growing in popularity among hobbyist and professional users as a prototyping and low-volume manufacturing tool. One issue these printers face is the inability to determine when a defect has occurred rendering the print unusable. Several techniques have been proposed to detect such defects but many of these approaches are tailored to one specific fault (e.g., filament runout/jam), use expensive hardware such as laser distance sensors, and/or use machine vision algorithms which are sensitive to ambient conditions, and hence can be unreliable. This paper proposes a versatile, reliable, and low-cost system, named MTouch, to detect millimeter-scale defects that tend to make prints unusable. At the core of MTouch is an actuated contact probe designed using a low-power solenoid, magnet, and hall effect sensor. This sensor is used to check for the presence, or absence, of the printed object at specific locations. The MTouch probe demonstrated 100% reliability, which was significantly higher than the 74% reliability achieved using a commercially available contact probe (the BLTouch). Additionally, an algorithm was developed to automatically detect common print failures such as layer shifting, bed separation, and filament runout using the MTouch probe. The algorithm was implemented on a Raspberry Pi mini-computer via an Octoprint plug-in. In head-to-head testing against a commercially available print defect detection system (The Spaghetti Detective), the MTouch was able to detect faults 44% faster on average while only increasing the print time by 8.49%. In addition, MTouch was able to detect faults The Spaghetti Detective was unable to identify such as layer shifting and filament runout/jam.