Filament Sensor Feature for GPIO/Raspberry

Beside the "print from SD" i would additionally request the feature to connect filament sensor to the raspberry GPIO.
If specific pin is triggered (selectable: normally open / normally closed) configurable gcode should be executed.
I am using currently filament sensor on Creality CR-10 connecte to Octoprint because modification on the mainboard would be much more effort (if possible anyhow on some printers).
This feature is mainly for filament sensor but could be also used for other useful mechanism which makes this feature very valuable.

Similar to the "Filament Sensor Reloaded" Plugin for Octoprint (see screenshot attached):

I really like the pretty nice touch UI from RS but those two missing features are blocking points because i do not want to loose those improtant features. Would be great to see those two features beeing implemented soon.


  • Interesting idea for a future version. For now you would need a parallel script testing the pin and then send the pause via wget, which is surely nothing normal users could do.
  • I am not a "normal" user. ;-)

    How to setup the parallel script and the wget code inside?
  • Check this website

    There you see how to remotely execute commands on server. E.g. send command @pause using a simple curl commad. So if you have a script that watches your pin, just send the curl command to pause printer when it toggles low/high or whatever would be the signal.
  • I am also looking for this feature. It also might need to home X and Y for a purge after inserting new filament to avoid inperfection on the outer perimeter if the filament run out during outer periment printing. If it print support or infill then this does not matter much, but if it could have if perimeter=yes then home x/y + purge while if perimeter=no then there is no need for home+purge. That would be more complicated for sure and I am no programmer. 
  • See
    there you see a possible solution using a bash script.

    Next release will also have an improvement that allows a lua script to monitor pins and do things accordingly like adding a pause. That should be an easier solution than having external scripts monitor pins.
  • Funktioniert das jetzt schon mit der 0.91 Version?
  • Yes, that solution from Raabi91 does not depend on server version.

    With you can also write now a more native solution, but that requires 0.91.2.
  • das mi Raabi91 funktioniert bei mir nicht. "command not found"
    Kann das nicht schon irgendwie im Repetierserver Menu eingebaut werden. ohne diese externe Programierung

  • Das ist leider zu speziell für eine allgemeine Funktion. Sinn der externen Schnittstellen ist es ja für solche Sonderprobleme Lösungen zu bieten. Daher ja auch jetzt die neue Lua Schnittselle zum monitoring. mit der solche Probleme sich schneller lösen lassen - insbesondere wenn jemand mal eine ähnliche Lösung gepostet hat.
  • Gibt es dafür eine Anleitung für Leute wie mich. 
    Ich weiß leider nicht was eine Lua Schnittstelle ist.
    Ich weiß nur wo die GPIOs sind.
    Mit dem Link oben kann ich aber leider nichts anfangen.
  • Lua ist eine simple Programmiersprache ähnlich wie javascript. Die wichtigen Grundlagen kann ein Programmiere in einer Stunde lernen und wie man pins abfragt ist ja beschrieben. Aber ich gebe zu das es nur für Programmierer Sinn ergibt. Wenn ich ein paar Beispiele Bekomme werde ich die da auch einfügen um anderen dabei zu helfen. Vielleicht finde auch mal Zeit das für Filemantsensoren zu Schreiben. Ist ja so ähnlich wie das Shutdown script nur das man Pause aufruft im Drucker.

  • Mit was schreibt man die Lua Skripte? 
    Wie bekomme ich die dann auf den Raspberry?

  • Kannst du mit jedem Editor schreiben. Einfach da speichern wo es die Anleitung sagt und server neu starten. Im server.log steht dann ggh. der Syntaxfehler wenn der code nicht läuft.
Sign In or Register to comment.