Chris Barr, an engineering and 3D printing blogger from Adelaide, Australia, has used magnetic encoders to create a 3D printer error detection system. According to Barr, the modification could be used to minimize errors caused by overheating stepper drivers, belt slips, and accidental filament buildup.

One of the most common problems associated with 3D printing, especially on low-cost machines, is the phenomenon of layer shifting. Layer shifting occurs when the stepper motors of a print head “skip” a step, which can be caused by a number of factors such as excess stress, poor lubrication, or running the 3D printer at too high a speed. Whatever the cause, layer shifting is a big problem, and generally ruins the 3D print in question—once the nozzle becomes misaligned with the printed object, there’s usually no saving it.

When encountering failed prints, it usually makes sense to give the guilty 3D printer a quick tuneup and perhaps change the print settings to something less demanding. Some 3D printers come equipped with dedicated webcams and alert systems for letting users know if something has gone wrong with a print. Chris Barr, however, wanted to give himself an engineering challenge by tackling the problem of 3D printer errors in a more direct way. After some experimentation, the tech expert devised a rudimentary 3D printer error detection and correction system, one which uses magnetic encoders to track axis motion.

Barr’s error detection system consists of an AMS AS5311 linear magnetic encoder IC, a custom PCB, and an ATmega328 microcontroller for tracking axis motion and implementing I2C communication. The tinkerer made changes to his 3D printer Marlin firmware to get everything working together. As the designer’s video evidence demonstrates, the system seems to do a good job of getting the print head back on track when it is forced out of place. In the video, Barr can be seen forcing the X axis out of position, to which the head of the 3D printer responds by returning to its prior position and resuming the print.

Although there are noticeable errors in the print where the 3D printer had to correct itself, Barr’s test prints are still a great deal better than a 3D print which has succumbed fully to layer shifting. So while the error detection system might not be worth employing for prints requiring absolutely perfect surface detail, it could certainly be used for prototype parts, non-aesthetic pieces, non-critical components and such like.

Barr’s demonstration perhaps demonstrates an unrealistic source of layer shifting—grabbing moving parts of the printer—but the engineer suggests that the system could be used to prevent errors caused by the following occurrences: stepper drivers overheating, the print nozzle getting snagged on a print, other cases of insufficient torque, and stretching or slipping of the belt. Depending on the severity of each of these problems, more maintenance might well be needed on the 3D printer in question, but Barr’s system certainly provides a handy on-the-spot solution to minor errors.