Jump to content
Ultimaker Community of 3D Printing Experts
Turbolego

Best method to remotely pause prints on multiple Ultimaker 2+ and 3 extended printers?

Recommended Posts

Hi.

We have 7 UM2+ and 2 UM3 extended printers.

I have found methods to pause prints using python scripts for the UM3 extended printers, but no methods to pause prints on the UM2+ printers over usb.

Is the only option to use a usb relay switch for each UM2+ printer and kill the power remotely if an unexpected spaghetti bonanza appears? :p

Thanks.

Share this post


Link to post
Share on other sites

If I had your problem, I would add a raspberry pi running OctoPrint to each UM2+.

http://octoprint.org/

That way you can send gcode files to the printers over the network, but also control each printer (including pause resume) using a web interface or from inside Cura.

The experience of sending prints to OctoPrint is very similar to sending a print to the UM3.

  • Like 1

Share this post


Link to post
Share on other sites

If I had your problem, I would add a raspberry pi running OctoPrint to each UM2+.

http://octoprint.org/

That way you can send gcode files to the printers over the network, but also control each printer (including pause resume) using a web interface or from inside Cura.

The experience of sending prints to OctoPrint is very similar to sending a print to the UM3.

Cool!

I got octoprint installed on the dedicated streaming computer (windows) now (webcam for each UM2+) So i'll try that.

There's no difference between octoprint on a windows machine and Raspberry pi? I got a raspberry pi available if needed.

Share this post


Link to post
Share on other sites

There's no difference between octoprint on a windows machine and Raspberry pi?

Not much. I would say that getting OctoPrint running on a Raspberry Pi is a bit easier, because there is the dedicated OctoPi images you can flash on an sd card and you're done. I would advise a Raspberry Pi 2 or 3 model over the original or "zero" versions, because the latter are somewhat underpowered.

One tip: in order to print to the UM2+ with OctoPrint, you have to switch the gcode flavor to "Reprap (Marlin/Sprinter)" in the Machine Settings. Otherwise there is no startup code, and the UM2+ will try to start printing without homing or heating up.

  • Like 1

Share this post


Link to post
Share on other sites

There's no difference between octoprint on a windows machine and Raspberry pi?

Not much. I would say that getting OctoPrint running on a Raspberry Pi is a bit easier, because there is the dedicated OctoPi images you can flash on an sd card and you're done. I would advise a Raspberry Pi 2 or 3 model over the original or "zero" versions, because the latter are somewhat underpowered.

One tip: in order to print to the UM2+ with OctoPrint, you have to switch the gcode flavor to "Reprap (Marlin/Sprinter)" in the Machine Settings. Otherwise there is no startup code, and the UM2+ will try to start printing without homing or heating up.

Do i need to switch the gcode to reprap even if i just need to "pause" a print?

We don't need to start prints, we need to just stop or pause them.

Most prints here are 2-3 days long and require a lot of glue and stuff.

Share this post


Link to post
Share on other sites

Any particular reason why not?

UltiGCode handles metadata on filament length, print time estimates from cura, print temps, bed temps, filament diameter, retraction amount and speed, fan speed by material profile, and the start/end is handled by the printer, not gcode.

I don't wanna mess around with using another kind of gcode that could impact usability for my school (novices to 3dprinting) etc.

I might just do something like this instead, just use power relay switch and pause the damn printers if there's spaghetti : https://ultimaker.com/en/community/5912-ip-camera-to-keep-a-remote-eye-on-your-ultimaker#reply-44513

Seems like a hardware solution to this problem might be the easiest approach for me, and less expensive than 7 raspberri pies lol :D

Share this post


Link to post
Share on other sites

I don't wanna mess around with using another kind of gcode that could impact usability for my school (novices to 3dprinting) etc.

I might just do something like this instead, just use power relay switch and pause the damn printers if there's spaghetti : https://ultimaker.com/en/community/5912-ip-camera-to-keep-a-remote-eye-on-your-ultimaker#reply-44513

Seems like a hardware solution to this problem might be the easiest approach for me, and less expensive than 7 raspberri pies lol :D

My 2cents about this

- If you turn off the machine remotely while HOT, the hotend 50% chance will CLOG hard if you leave it off. Just because this stops the 5V fan on the hotend that keeps the heat from going up near the coupler. So also, not only might/will clog, but also the TFM coupler will have less life span (so money). Ofc if it's just an intermited off/on it should be ok since the UM2+ 5V fan turns on/off when the hotend is hot or cold (40C or less = off). But ofc it need's power to do so.

- Reprap flavor is much better than ultigcode for some stuff (not for novice users ofc). Indeed is easier for novice printers to keep all click/print. But ofc, if the novice printers want to learn about 3D printing, they should get their hands dirty on Gcode to learn how it works at some point, how to improve things, etc. Also reprap is a more used along opensource printers, so they will also learn stuff for themselves. But also, once you follow the steps you don't even need to touch the headers or gcode anymore, so once is setup, there's no need to fear the gcode at all, since all is controlled by Cura.

Anyhow, managing 7 printers remotely ain't easy/cheap by default at all. Octoprint is the cheapest way to do it for now.

Make magazine made a simple and easy to reach tutorial about how to integrate Octoprint with latest 2.6 Cura

  • Like 1

Share this post


Link to post
Share on other sites

Note that for the UM2+, there is fairly little difference in the UI in Cura between UltiGCode and Reprap (Marlin/Sprinter). If we're talking "novices to 3dprinting", they are probably using the "Recommended" settings, in which case there is literally no difference in user interface.

For the UM2+, using UltiGCode actually adds one layer of confusion: you have to select the material you use in Cura, you have to select the material you use on the printer, and you have to actually use that material on the printer. The Reprap way eliminates specifying the material type on the printer.

  • Like 1

Share this post


Link to post
Share on other sites

Found a solution using printrun and M25

http://reprap.org/wiki/G-code#M25:_Pause_SD_print

Did not need to shange from UltiGCode! :D

Next step will be to remotely send the M25 to the correct printer remotely.

I'll keep you guys posted on my progress.

Final code/setup/whatever will be shared on GitHub :p

Edited by Guest
Forgot to mention that i did not change from UltiGCode!

Share this post


Link to post
Share on other sites

Tadaaa!

One single Winows 10 computer at our makerspace can now set any usb connected printer on pause if a (approved) viewer on twitch sends for example "stop5" to stop printer number 5! :D

I used printrun (pronsole) and some python scripting.

I'll post the code and a guide on GitHub soon.

Here's a video of me setting two Ultimaker 2+ printers on "pause" from the twitch chat:

Share this post


Link to post
Share on other sites

Tadaaa!

One single Winows 10 computer at our makerspace can now set any usb connected printer on pause if a (approved) viewer on twitch sends for example "stop5" to stop printer number 5! :D

I used printrun (pronsole) and some python scripting.

I'll post the code and a guide on GitHub soon.

Here's a video of me setting two Ultimaker 2+ printers on "pause" from the twitch chat:

Nice, it doesn't pause fast because Marlin need's to purge the Planner's buffer before doing the next injected pause.

Share this post


Link to post
Share on other sites

Nice, it doesn't pause fast because Marlin need's to purge the Planner's buffer before doing the next injected pause.

 

Interesting.

Any suggestions on what I could do to improve this setup?

I would love to be able to connect/disconnect from the printers without them resetting while printing to simplify the code and remove the need to have multiple printrun shells open (one per printer, per usb port). I've only found this thread talking about this issue on linux:

https://ultimaker.com/en/community/6886-um2-controller-reset-reboot-when-opening-usb-port-on-linux

 

There are some ways around the reset, on linux, with stty (you will have to google a bit, you will have to disable all modem control lines). There is no real issue in requesting temperature data very often, if you in a loop "request&wait for reply" you won't run into any issues. The firmware itself cannot buffer more then 4 commands.

This all can be made to work, but it's not the easiest thing in the world.

 

According to this page: https://www.computerhope.com/unix/ustty.htm

 

[-]clocal

Disable modem control signals.

 

And this thread says there is no equivalent for stty on windows:

https://stackoverflow.com/questions/20607004/stty-equivalent-in-windows

FTDI Chip seems to have this problem sorted on windows tho:

http://www.ftdichip.com/Support/Knowledgebase/index.html?disablemodemctrlatstartup.htm

[media=68520]

[/media]

Can I do something similar in device manager by changing the COM settings?

I should be able to change the settings in the terminal tho, I just need to find out which ones.

 

The COM port settings in the Ports option of Control Panel have no effect on COM port settings used in a command prompt window.

https://web.archive.org/web/20150312195553/http://support.microsoft.com/en-us/kb/112841

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Announcements

  • Our picks

    • Architect Design Contest | Vehicles.
      We're open for entries! - Design and submit your 3D designs of architectural entourage - vehicles - for a chance to win a large filament pack. Presenting an idea, an architectural design or something as big as an urban project isn't easy. A scaled model can really help to get your idea across.
        • Like
      • 14 replies
    • What The DfAM?
      I'm Steve Cox, an experienced engineer familiar with 3D printing. I wanted to share some DfAM guidelines with this community to help and make stronger parts.
      I'm also an Autodesk Certified Instructor for Fusion 360, so many of the images in ...
        • Thanks
        • Like
      • 17 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!