This device detects 3D printer jams and filament runout conditions. If detected it can emulate a filament runout sensor, it can signal the printer host to pause the print, it can alert the user, or all the above. It is based on an ESP8266 and incorporates a luminosity sensor and a magnetometer. The magnetometer is attached to the side of the extruder motor and senses when it is driving filament. The luminosity sensor serves as an encoder to detect filament motion. If the motor is driving, but he filament isn't moving, then you have a jam. Info on how to build one can be found here: https://robogardens.com/?p=2220