<p>The obvious, a bit expensive but probably best and most common solution is to use Octopi. (it's so common it took me a while to realize you're running Octoprint from a PC!)</p>
<p>You get a Raspberry Pi 3b, or 4, or any of a large number of cheaper and more available alternatives (I personally use Orange Pi zero 2) - then you install Linux with Octoprint on it. You power it up from the printer's power through some sort of regulator, connect the printer with it over a stub of USB cable, and connect it to your home LAN over Ethernet or Wifi. It's powered on and running while the printer is running. You link up Cura to it to upload gcode to its sd card (over LAN, so very fast) and you control it over web interface. That means the PC can be in another room (with Octoptint page displaying camera view of the print bed on second screen, in case anything goes wrong), you can design and slice your projects in silence and shut down your PC when you're done, while the small Pi works overnight feeding the printer gcode over its USB connection.</p>
<p>Configuration:</p>
<ul>
<li>From Cura Marketplace install Octoprint Connection.</li>
</ul>
<p><a href="https://i.sstatic.net/VB3Jh.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/VB3Jh.png" alt="enter image description here" /></a></p>
<ul>
<li>in Octoprint: wrench icon, Features &gt; Application Keys</li>
<li>Generate key, name: cura.</li>
</ul>
<p><a href="https://i.sstatic.net/PhxaS.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/PhxaS.png" alt="enter image description here" /></a></p>
<ul>
<li>In Cura, Setings, printer, manage printers, select the printer, 'Connect Octoprint'.</li>
</ul>
<p><a href="https://i.sstatic.net/rK8ho.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/rK8ho.png" alt="enter image description here" /></a></p>
<ul>
<li>Select the Octopi from list, paste the application key in the key field.</li>
</ul>
<p><a href="https://i.sstatic.net/mCmtF.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/mCmtF.png" alt="enter image description here" /></a></p>
<p>From then on the PC is connected to Octopi over the net, so the transmission between the two is vastly faster than over serial, and after slicing you get the drop-down option &quot;Print with Octoprint&quot; besides &quot;Save to disk&quot;. Selecting &quot;Print with Octoprint&quot; allows you to type in the directory on Pi, edit the file name, and pick whether to select and start the print immediately - without that it will just be placed in the storage medium of the Octoprint device, to be started from Octoprint at a later time.</p>
<p><a href="https://i.sstatic.net/1FZWn.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/1FZWn.png" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2024-01-30T12:24:00.813Z
No he has a Raspberry Pi that runs OctoPrint, the problem is that OctoPrint is used through Cura, if so then when you shut down the PC, the print stops. So although it appears he is using OctoPrint, the instructions are send by Cura, so, when you shutdown the PC the instructions stop being sent and the print stops.
0scar
CC BY-SA 4.0
2024-01-31T07:54:58.893Z
@MarkBooth In my case "Send to Octoprint" takes maybe 5 seconds to complete, so you'd have to really speedrun putting your PC to sleep while it's still in progress.
SF.
CC BY-SA 4.0
2024-02-01T06:47:22.760Z
@MarkBooth I sent the overnight print to the printer, watched the first layer, closed Cura, shut down the PC completely, went home, and in the morning came back to completed print with the PC dark and silent.
SF.
CC BY-SA 4.0
2024-02-05T16:14:05.007Z
Ok, so it turns out this is a Cura version issue. Without changing the "OctoPrint Connection" plugin, updating Cura made my "Connect OctoPrint" configuration dialogue look like yours, with the option to select "Start print job after uploading" now being present, so the plugin itself must have different behaviour depending on the version of Cura it is running under. Thanks, your answer may not have answered my question, but the differences between your screenshots and what I was seeing, did help me find the answer.
Mark Booth
CC BY-SA 4.0
2024-01-30T12:15:13.797Z
2024-01-31T08:10:55.043Z
2024-01-31T08:10:55.043Z
SF.
<p>The answer turned out to be to update Cura to the latest version.</p>
<h4>Why does the Cura version matter?</h4>
<p>Older versions of Cura (some time before v5.6.0) would stream commands to the <a href="https://github.com/fieldOfView/Cura-OctoPrintPlugin" rel="nofollow noreferrer"><em>OctoPrint Connection</em> plugin</a> rather than upload the G-Code to OctoPrint and let <em>it</em> stream the commands to the printer.</p>
<p>This is probably because <em>OctoPrint Connection</em> started out as a fork of <a href="https://github.com/Ultimaker/Cura/tree/2.4/plugins/UM3NetworkPrinting" rel="nofollow noreferrer">UM3NetworkPrinting plugin</a> which provided the Cura interface to UM3 networked printers, so inherited that heritage.</p>
<p>Because it was Cura itself that was streaming the commands, if the machine running Cura was put to sleep, it would stop streaming those commands. With the latest version of Cura, it behaves as you would expect. It uploads the G-Code to OctoPrint (not the printer, which would be very slow) and then lets OctoPrint stream the commands to the printer, so if the PC running Cura goes to sleep, the Raspberry Pi running OctoPrint keeps sending the commands to the printer.</p>
<h4>Alternative solution</h4>
<p>If you cannot upgrade your Cura version, for some reason, there appear to be several other options which could work.</p>
<h5>Export &amp; Upload the G-code file to OctoPrint</h5>
<p>Export the G-code in Cura to a file and upload the file to the Web-UI of OctoPrint, it's then fully stored on the storage of OctoPrint. There you can then select the file and start the print.</p>
<h5>Watch a folder on my NAS</h5>
<p>If you have network attached storage, you could save files into a network share, then mount that folder on the OctoPrint Raspberry Pi as it's <code>watched</code> folder, as detailed in <a href="https://www.apalrd.net/posts/2022/octopi_nas/" rel="nofollow noreferrer">Network Mounting OctoPrint Data from a NAS</a>, then monitor progress on the OctoPrint web interface rather than in Cura.</p>
<h5>Switch to another slicer.</h5>
<p>Another option is to switch to another slicer. It looks like the OctoPrint integration in other slicers support print once uploaded too. Looking at <a href="https://all3dp.com/2/prusaslicer-octoprint-tutorial/" rel="nofollow noreferrer">PrusaSlicer &amp; OctoPrint: How to Use Them Together</a>, I can see one of the steps is to check the &quot;Start printing after upload&quot; checkbox, but I haven't tested this yet.</p>

CC BY-SA 4.0
2024-02-06T13:50:05.323Z
Thanks for the updates, great answer. Please remember to accept your solution as the answer to the question!
0scar
CC BY-SA 4.0
2024-03-11T12:05:38.880Z
I'm generally uncomfortable with accepting a self-answer @0scar, but since you asked nicely.
Mark Booth
CC BY-SA 4.0
2024-03-11T13:08:52.840Z
You really shouldn't be uncomfortable! Even SE endorses self answered questions! Sharing knowledge and experience is very important, it may help others. Even you got inspired by an answer that did not answer the question!
0scar
CC BY-SA 4.0
2024-03-11T14:43:24.850Z
It's amusing how often the solution to 3D printing problems is just "Don't use Cura, it's 2024".
towe
CC BY-SA 4.0
2024-03-11T19:09:46.153Z
Thanks @Oscar but I generally feel the community is best placed to indicate a 'correct' answer than the question asker, and acceptance is far more valuable when it isn't a self-answer anyway.
Mark Booth
CC BY-SA 4.0
2024-01-29T23:00:13.880Z
2024-03-11T13:10:20.787Z
2024-03-11T13:10:20.787Z
Mark Booth
<h5>What I saw</h5>
<p>Last night, I sliced a <em>Califlower</em> in <em>Cura</em>, used the &quot;Send to OctoPrint&quot; option to send it to the printer via the <em>OctoPrint Connection</em> plugin (the standard Cura OctoPrint plugin at v3.7.3), made sure the first layer printed fine, and then put my PC to sleep.</p>
<p>That's when I noticed the print had stopped.</p>
<h5>What I expected to see</h5>
<p>I expected the print to carry on in the background, as I thought the print had already been sent to the OctoPrint 'server'.</p>
<p>It seems that rather than Cura uploading the G-code to OctoPrint (running on a Raspberry Pi 5<sup>†</sup>, plugged into the printer via USB) telling it to print and then just monitoring progress, it streams the whole G-code in real time, using OctoPrint as a glorified network attached USB serial port, which rather defeats the purpose of having a print 'server' at all<sup>‡</sup>.</p>
<h5>What I tried</h5>
<p>I tried setting the option to &quot;Store G-code on the SD card of the printer&quot;, but the <em>Note:</em> wasn't kidding when it said this would take a long time. Since there was no option to cancel, I ended up restarting OctoPrint, forcing a disconnect.</p>
<h5>What I want to understand</h5>
<p>Is there any way to get Cura to upload the G-code to OctoPrint and then tell it to print rather than stream it to the printer?</p>
<p>I would prefer my power efficient Raspberry Pi pushing G-code commands to the printer for hours, not my power hungry gaming PC.</p>
<hr>
<sup>&dagger; Specifically a Raspberry Pi 5, running Raspberry Pi OS the from 2023-13-05 Image, fully `apt` upgraded, and running OctoPrint 1.9.3, installed using the recommended `octoprint_deploy` script.</sup>
<p><sup>‡ When I send a 50 page document to my networked HP printer, I don't expect <em>that</em> to stop printing after I put my PC to sleep either!</sup></p>

CC BY-SA 4.0
2024-01-29T12:32:02.453Z
Searching for an answer to this question, I found, https://3dprinting.stackexchange.com/q/15935/63 but while the question was alluding to this question, the answers were answered it directly, missing the obvious frame challenge. This question aims to be a practical, answerable equivalent of that arguably *Opinion Based* question.
Mark Booth
CC BY-SA 4.0
2024-01-29T17:33:35.090Z
Where is Octoprint running? It needs to be on the device that will remain on and connected to the printer (in your case that sounds like the RPi), not on your gaming PC. The whole point of it having a web UI is that you can *access it from* your PC while it runs on a more appropriate device that remains online and dedicated to a particular role.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2024-01-29T19:44:55.580Z
Sorry @R..GitHubSTOPHELPINGICE, I thought that it was obvious that Octoprint was running on a Pi attached to the printer, but I've updated my question to make that clear.
Mark Booth
CC BY-SA 4.0
2024-01-29T19:47:06.690Z
@MarkBooth then you probably refer to OctoPi instead?
Bob Ortiz
CC BY-SA 4.0
2024-01-29T21:32:19.757Z
@MarkBooth Good you made that clear it was running on a RPi, I really thought to read in between the lines you ran it from the PC... My bad. I now fully understand the question.
0scar
CC BY-SA 4.0
2024-01-29T22:10:03.660Z
OctoPi is a distribution image @BobOrtiz, an old version of Raspberry Pi OS with OctoPrint pre-installed on it, it's not a generic name for any OctoPrint instance installed on a Raspberry Pi. I'm running a Raspberry Pi 5, which isn't supported by OctoPi, which is why it is no longer listed as an option in the Raspberry Pi Imager, for the Pi 5. As recommended, I installed up to date Raspberry Pi OS, then used `octoprint_deploy` on that.
Mark Booth
CC BY-SA 4.0
2024-01-30T01:39:14.493Z
Ohh, OP is using some weird Cura plugin that streams gcode from Cura to OctoPrint, rather than uploading the job to OctoPrint and being done with it? I thought the latter was the standard workflow...
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2024-01-30T23:37:35.110Z
I'm using the standard, recommended Cura plugin to integrate with OctoPrint @R..GitHubSTOPHELPINGICE, the fact that it works in this weird way is what confused me. If there were a Cura plugin which behaved the way we obviously both expected, I would absolutely use it, and I'd be happy to donate some of my reputation to reward that answer.
Mark Booth
CC BY-SA 4.0
2024-01-31T00:04:16.633Z
The behaviour of the OctoPrint plugin is very strange, I can see now why you might have assumed that @Oscar. Thanks for trying to help anyway.
Mark Booth
CC BY-SA 4.0
2024-01-31T15:04:52.650Z
The edits I made were in line with the standards for the site. In addition, formatting was adjusted to make it easier for users who are visually impaired and/or using a screen reader.
agarza
CC BY-SA 4.0
2024-02-01T01:57:31.710Z
I will be more careful about capitalisation in the future @agarza, but I disagree that bold is more accessible than italic. In terms of screen readers it has exactly the same 'breakout' effect, and for many people people, bold is too jarring, so italic provides a way to add emphasis without that effect. I am open to convincing on this, but chat or meta would be a better place for that.
Mark Booth
CC BY-SA 4.0
2024-02-01T02:19:35.757Z
@MarkBooth Please see [How do I write an accessible Stack Exchange post?](https://meta.stackexchange.com/questions/394687/how-do-i-write-an-accessible-stack-exchange-post).
agarza
CC BY-SA 4.0
2024-02-04T23:16:14.830Z
I am aware of that post @agarza and your edits were no more consistent with that guide than my original post was. In fact, replacing italics with bold was arguably more jarring, but than you for engaging in a constructive way.
Mark Booth
<ultimaker-cura><octoprint>
Getting OctoPrint to continue printing when I put my PC to sleep?
Mark Booth
# Getting OctoPrint to continue printing when I put my PC to sleep?

(Asked by: username_0 on 2024-01-29)

##### What I saw

Last night, I sliced a *Califlower* in *Cura*, used the "Send to OctoPrint" option to send it to the printer via the *OctoPrint Connection* plugin (the standard Cura OctoPrint plugin at v3.7.3), made sure the first layer printed fine, and then put my PC to sleep.

That's when I noticed the print had stopped.

##### What I expected to see

I expected the print to carry on in the background, as I thought the print had already been sent to the OctoPrint 'server'.

It seems that rather than Cura uploading the G-code to OctoPrint (running on a Raspberry Pi 5†, plugged into the printer via USB) telling it to print and then just monitoring progress, it streams the whole G-code in real time, using OctoPrint as a glorified network attached USB serial port, which rather defeats the purpose of having a print 'server' at all‡.

##### What I tried

I tried setting the option to "Store G-code on the SD card of the printer", but the *Note:* wasn't kidding when it said this would take a long time. Since there was no option to cancel, I ended up restarting OctoPrint, forcing a disconnect.

##### What I want to understand

Is there any way to get Cura to upload the G-code to OctoPrint and then tell it to print rather than stream it to the printer?

I would prefer my power efficient Raspberry Pi pushing G-code commands to the printer for hours, not my power hungry gaming PC.

---

† Specifically a Raspberry Pi 5, running Raspberry Pi OS the from 2023-13-05 Image, fully `apt` upgraded, and running OctoPrint 1.9.3, installed using the recommended `octoprint\_deploy` script.

‡ When I send a 50 page document to my networked HP printer, I don't expect *that* to stop printing after I put my PC to sleep either!

**Tags:** ultimaker-cura, octoprint
> **Comments:**
> **username_0**: Searching for an answer to this question, I found, https://3dprinting.stackexchange.com/q/15935/63 but while the question was alluding to this question, the answers were answered it directly, missing the obvious frame challenge. This question aims to be a practical, answerable equivalent of that arguably *Opinion Based* question.  
> **username_1**: Where is Octoprint running? It needs to be on the device that will remain on and connected to the printer (in your case that sounds like the RPi), not on your gaming PC. The whole point of it having a web UI is that you can *access it from* your PC while it runs on a more appropriate device that remains online and dedicated to a particular role.  
> **username_0**: Sorry @R..GitHubSTOPHELPINGICE, I thought that it was obvious that Octoprint was running on a Pi attached to the printer, but I've updated my question to make that clear.  
> **username_2**: @MarkBooth then you probably refer to OctoPi instead?  
> **username_3**: @MarkBooth Good you made that clear it was running on a RPi, I really thought to read in between the lines you ran it from the PC... My bad. I now fully understand the question.  
> **username_0**: OctoPi is a distribution image @BobOrtiz, an old version of Raspberry Pi OS with OctoPrint pre-installed on it, it's not a generic name for any OctoPrint instance installed on a Raspberry Pi. I'm running a Raspberry Pi 5, which isn't supported by OctoPi, which is why it is no longer listed as an option in the Raspberry Pi Imager, for the Pi 5. As recommended, I installed up to date Raspberry Pi OS, then used `octoprint_deploy` on that.  
> **username_1**: Ohh, OP is using some weird Cura plugin that streams gcode from Cura to OctoPrint, rather than uploading the job to OctoPrint and being done with it? I thought the latter was the standard workflow...  
> **username_0**: I'm using the standard, recommended Cura plugin to integrate with OctoPrint @R..GitHubSTOPHELPINGICE, the fact that it works in this weird way is what confused me. If there were a Cura plugin which behaved the way we obviously both expected, I would absolutely use it, and I'd be happy to donate some of my reputation to reward that answer.  
> **username_0**: The behaviour of the OctoPrint plugin is very strange, I can see now why you might have assumed that @Oscar. Thanks for trying to help anyway.  
> **username_4**: The edits I made were in line with the standards for the site. In addition, formatting was adjusted to make it easier for users who are visually impaired and/or using a screen reader.  
> **username_0**: I will be more careful about capitalisation in the future @agarza, but I disagree that bold is more accessible than italic. In terms of screen readers it has exactly the same 'breakout' effect, and for many people people, bold is too jarring, so italic provides a way to add emphasis without that effect. I am open to convincing on this, but chat or meta would be a better place for that.  
> **username_4**: @MarkBooth Please see [How do I write an accessible Stack Exchange post?](https://meta.stackexchange.com/questions/394687/how-do-i-write-an-accessible-stack-exchange-post).  
> **username_0**: I am aware of that post @agarza and your edits were no more consistent with that guide than my original post was. In fact, replacing italics with bold was arguably more jarring, but than you for engaging in a constructive way.  

---

## 2 answers

### Answer by username_0 on 2024-01-29. Score: 7 | Accepted answer

The answer turned out to be to update Cura to the latest version.

#### Why does the Cura version matter?

Older versions of Cura (some time before v5.6.0) would stream commands to the [*OctoPrint Connection* plugin](https://github.com/fieldOfView/Cura-OctoPrintPlugin) rather than upload the G-Code to OctoPrint and let *it* stream the commands to the printer.

This is probably because *OctoPrint Connection* started out as a fork of [UM3NetworkPrinting plugin](https://github.com/Ultimaker/Cura/tree/2.4/plugins/UM3NetworkPrinting) which provided the Cura interface to UM3 networked printers, so inherited that heritage.

Because it was Cura itself that was streaming the commands, if the machine running Cura was put to sleep, it would stop streaming those commands. With the latest version of Cura, it behaves as you would expect. It uploads the G-Code to OctoPrint (not the printer, which would be very slow) and then lets OctoPrint stream the commands to the printer, so if the PC running Cura goes to sleep, the Raspberry Pi running OctoPrint keeps sending the commands to the printer.

#### Alternative solution

If you cannot upgrade your Cura version, for some reason, there appear to be several other options which could work.

##### Export & Upload the G-code file to OctoPrint

Export the G-code in Cura to a file and upload the file to the Web-UI of OctoPrint, it's then fully stored on the storage of OctoPrint. There you can then select the file and start the print.

##### Watch a folder on my NAS

If you have network attached storage, you could save files into a network share, then mount that folder on the OctoPrint Raspberry Pi as it's `watched` folder, as detailed in [Network Mounting OctoPrint Data from a NAS](https://www.apalrd.net/posts/2022/octopi_nas/), then monitor progress on the OctoPrint web interface rather than in Cura.

##### Switch to another slicer.

Another option is to switch to another slicer. It looks like the OctoPrint integration in other slicers support print once uploaded too. Looking at [PrusaSlicer & OctoPrint: How to Use Them Together](https://all3dp.com/2/prusaslicer-octoprint-tutorial/), I can see one of the steps is to check the "Start printing after upload" checkbox, but I haven't tested this yet.

> **Comments:**
> **username_3**: Thanks for the updates, great answer. Please remember to accept your solution as the answer to the question!  
> **username_0**: I'm generally uncomfortable with accepting a self-answer @0scar, but since you asked nicely.  
> **username_3**: You really shouldn't be uncomfortable! Even SE endorses self answered questions! Sharing knowledge and experience is very important, it may help others. Even you got inspired by an answer that did not answer the question!  
> **username_6**: It's amusing how often the solution to 3D printing problems is just "Don't use Cura, it's 2024".  
> **username_0**: Thanks @Oscar but I generally feel the community is best placed to indicate a 'correct' answer than the question asker, and acceptance is far more valuable when it isn't a self-answer anyway.  

---

### Answer by username_5 on 2024-01-30. Score: -2

The obvious, a bit expensive but probably best and most common solution is to use Octopi. (it's so common it took me a while to realize you're running Octoprint from a PC!)

You get a Raspberry Pi 3b, or 4, or any of a large number of cheaper and more available alternatives (I personally use Orange Pi zero 2) - then you install Linux with Octoprint on it. You power it up from the printer's power through some sort of regulator, connect the printer with it over a stub of USB cable, and connect it to your home LAN over Ethernet or Wifi. It's powered on and running while the printer is running. You link up Cura to it to upload gcode to its sd card (over LAN, so very fast) and you control it over web interface. That means the PC can be in another room (with Octoptint page displaying camera view of the print bed on second screen, in case anything goes wrong), you can design and slice your projects in silence and shut down your PC when you're done, while the small Pi works overnight feeding the printer gcode over its USB connection.

Configuration:

* From Cura Marketplace install Octoprint Connection.

[![enter image description here](https://i.sstatic.net/VB3Jh.png)](https://i.sstatic.net/VB3Jh.png)

* in Octoprint: wrench icon, Features > Application Keys
* Generate key, name: cura.

[![enter image description here](https://i.sstatic.net/PhxaS.png)](https://i.sstatic.net/PhxaS.png)

* In Cura, Setings, printer, manage printers, select the printer, 'Connect Octoprint'.

[![enter image description here](https://i.sstatic.net/rK8ho.png)](https://i.sstatic.net/rK8ho.png)

* Select the Octopi from list, paste the application key in the key field.

[![enter image description here](https://i.sstatic.net/mCmtF.png)](https://i.sstatic.net/mCmtF.png)

From then on the PC is connected to Octopi over the net, so the transmission between the two is vastly faster than over serial, and after slicing you get the drop-down option "Print with Octoprint" besides "Save to disk". Selecting "Print with Octoprint" allows you to type in the directory on Pi, edit the file name, and pick whether to select and start the print immediately - without that it will just be placed in the storage medium of the Octoprint device, to be started from Octoprint at a later time.

[![enter image description here](https://i.sstatic.net/1FZWn.png)](https://i.sstatic.net/1FZWn.png)

> **Comments:**
> **username_3**: No he has a Raspberry Pi that runs OctoPrint, the problem is that OctoPrint is used through Cura, if so then when you shut down the PC, the print stops. So although it appears he is using OctoPrint, the instructions are send by Cura, so, when you shutdown the PC the instructions stop being sent and the print stops.  
> **username_5**: @MarkBooth In my case "Send to Octoprint" takes maybe 5 seconds to complete, so you'd have to really speedrun putting your PC to sleep while it's still in progress.  
> **username_5**: @MarkBooth I sent the overnight print to the printer, watched the first layer, closed Cura, shut down the PC completely, went home, and in the morning came back to completed print with the PC dark and silent.  
> **username_0**: Ok, so it turns out this is a Cura version issue. Without changing the "OctoPrint Connection" plugin, updating Cura made my "Connect OctoPrint" configuration dialogue look like yours, with the option to select "Start print job after uploading" now being present, so the plugin itself must have different behaviour depending on the version of Cura it is running under. Thanks, your answer may not have answered my question, but the differences between your screenshots and what I was seeing, did help me find the answer.  

---

