/Octoprint-Filament-Reloaded

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

OctoPrint-FilamentReloaded

OctoPrint plugin that integrates with a filament sensor hooked up to a Raspberry Pi GPIO pin and allows the filament spool to be changed during a print if the filament runs out.

Future developments are planned to include multiple filament sensors and pop-ups.

Initial work based on the Octoprint-Filament plugin by MoonshineSG.

Required sensor

Using this plugin requires a filament sensor. The code is set to use the Raspberry Pi's internal Pull-Up resistors, so the switch should be between your detection pin and a ground pin.

This plugin is using the GPIO.BOARD numbering scheme, the pin being used needs to be selected by the physical pin number.

Features

  • Configurable GPIO pin.
  • Debounce noisy sensors.
  • Support normally open and normally closed sensors.
  • Execution of custom GCODE when out of filament detected.
  • Optionally pause print when out of filament.

An API is available to check the filament sensor status via a GET method to /plugin/filamentreload/status which returns a JSON

  • {status: "-1"} if the sensor is not setup
  • {status: "0"} if the sensor is OFF (filament not present)
  • {status: "1"} if the sensor is ON (filament present)

Installation

Configuration

After installation, configure the plugin via OctoPrint Settings interface.