Restricted printing?
Hello print enthusiasts!
I'm hoping someone else has run into this and can point me to an answer.
I'm working at a maker space with 13 Prusa printers - 8 Minis, 4 MK4s, and an XL. You have to take an orientation class to use them - starting with the Minis, then working up to the MK4 and XL.
I'm looking for a way to disable the printing function of a printer until a user is authenticated. I can handle the authentication part (like a card reader with a serial interface to feed enable/disable commands to the USB port, or activate a relay to enable/disable operation by way of a GPIO pin or something similar).
I can easily do this with our laser system by interrupting the signal between the chiller and the laser - without that cable connected the laser tube will never power on. It's designed to prevent the system from overheating, but it's also an easy way to keep the system from being used without authorization.
Is there a similar way to disable a Prusa printer? Like the PIN code or badge reader on an office copier? 😏
Custom firmware isn't an option for us. That requires breaking a trace on the main board of the printer and kills any support from Prusa. 😒
I found a service that does this for maker spaces, but it simply controls the power cord of the device using a relay, turning the power on when authorized and turning off when the power use drops below a certain level (Fabman Bridge). Great for a table saw, drill press, etc., but I don't want to just cut the power to the printer when the current goes low enough that the control box thinks the print is done when in reality the system is just waiting for a filament change.
For software possibilities I was looking at the M17/M18 command to enable and disable the steppers, maybe setting the M86 timeout to 1 until a valid card is read then setting it to 90 (or whatever the default setting is), or maybe use M42 to power off the filament sensor and make the machine think there's no filament. Ideally something like an M112 with an undo. 😉 Is there a G-code equivalent of the PIN code on a copy machine?
For a physical interface (like the laser system) I'd prefer just interrupting power somewhere other than the whole unit (like the bed heater, maybe, by way of the fuse block?), or a sensor (filament? limit switch?). I've read about the e-stop , but we run the cool down sequence after a print is complete, which is why I'd like to avoid just killing the power.
Members use USB drives dedicated to each printer that they take to a slicing station and export a binary from Prusa Slicer, then take it back to the printer, so it occurred to me that with the Prusa Minis that I can just break the power line on the USB extension cable going to the front panel to disable the thumb drive, but the other machines don't have that kind of a setup.
Any suggestions would be appreciated ... (as would adding support for something like this to the firmware for maker spaces and libraries!! 😋)
-Ryan
RE: Restricted printing?
Check on Prusa Github see if there is an active request like this, if there is, add your name to the list of interested parties, if there isn't, add a request!
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: Restricted printing?
Thanks for the idea! I dug around in the issues pile (both open and closed) and didn't find anything quite like it, so I put in a feature request. I'm also going to take some time and look at the firmware itself and see if there's an easy way to do something along those lines without adding an immense amount of code. I guess my biggest question is - are there any unused GPIOs on the printers, and if so, how do you find them in the schematics? (Yeah, just a quick question, I'm sure! 😉 )
Check on Prusa Github see if there is an active request like this, if there is, add your name to the list of interested parties, if there isn't, add a request!
regards Joan