I just finished installing OctoPrint on a Raspberry Pi to use my Ultimaker 2 remotely. I've done this by following a couple of steps found on the internet so I'll just give you a step by step on how to install it for the Ultimaker 2.

Most of the stuff can be found around the web.

What do you need?

A raspberry Pi:

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.

I'd recommend buying the model B as it has two usb ports which are necessary if you want to make it wireless.

3. Insert the SD card into your SD card reader and check what drive letter it was assigned. You can easily see the drive letter (for example G:) by looking in the left column of Windows Explorer. You can use the SD Card slot (if you have one) or a cheap Adapter in a USB slot.

5. Extract the executable from the zip file and run the Win32DiskImager utility; you may need to run the utility as Administrator! Right-click on the file, and select 'Run as Administrator'

6. Select the image file you extracted above.

7. Select the drive letter of the SD card in the device box. Be careful to select the correct drive; if you get the wrong one you can destroy your data on the computer's hard disk! If you are using an SD Card slot in your computer (if you have one) and can't see the drive in the Win32DiskImager window, try using a cheap Adapter in a USB slot.

8. Click Write and wait for the write to complete.

9. Exit the imager and eject the SD card.

10. You are now ready to plug the card into your Raspberry Pi.

In Windows, the SD card will appear only to have a fairly small size once written - about 55 to 75 MB. This is because most of the card has a partition that is formatted for the Linux operating system that the Raspberry Pi uses which is not visible in Windows. If you don't see this small directory with files such as kernel.img then the copy may not have worked correctly.

Insert the SD Card in the raspberry, plug in a usb keyboard, connect the raspberry to a monitor (i used my TV as the Raspberry has an HDMI output). Connect the power supply. The raspberry should boot.

At this step i got a menu (sorry i don't have the screenshot) where you choose from different options. One of them was to boot directly to the os desktop (which i selected).

I'm not sure if this is what i was supposed to do as the OctoPi page has no information between flashing the SD card an using OctoPrint.

Once this was done the OS booted and i got the desktop displayed. Unfortunately for me i wasn't able to use my usb mouse (not sure why) the os wouldn't boot when i plugged it in. I needed to configure my Wifi access and this is why i had to be able to use the raspberry desktop.

Probably the following steps are optionnal if you have more luck than me but i thought it could be usefull to share this.

There are a lot of settings you can mess with in PuTTY, but we only need to worry about a single thing to connect to our Pi. On the main Session interface, just type in the IP address of your Pi and select SSH below it:

Hit Open at the bottom and PuTTY will launch a terminal window for you, connect to your Pi, and prompt you to log in. Go ahead and log in with:

user: pi

password: raspberry

Remote command line access is awesome, but so is having access to the desktop for GUI-focused activities. Let’s bring the powers of the command line and the powers of the desktop together.

Although we’ve been referring to it as “remote desktop” to this point, the tool we’re actually installing is known as Virtual Network Computing (VNC)—iterations of which many are familiar with such as RealVNC and TightVNC. For this tutorial, we’ll be installing TightVNC on the Pi.

This will download and unpack the installation files; when prompted to continue press Y. After the installation is complete, you’ll be returned to the prompt. You can start the VNC one of two ways. Simply running the command for the server like so:

tightvncserver

Will prompt you enter a password to access your VNC desktop—as seen in the screenshot above. The password needs to be 4-8 characters long. Once you confirm the password, you will be prompted to set a view-only password (you can opt out of the step, as we did).

4. Connect remotely to the raspberry desktop

Now that we have the VNC server up and running, let’s connect into it from our remote desktop. Fire up TightVNC viewer on your computer and plug in the IP address of the Raspberry Pi unit followed by :1 like so:

If you are running Windows, you might need to install “Bonjour for Windows” http://support.apple.com/kb/DL999 first for this to work – or alternatively at its regular IP.

To connect with an Ultimaker 2 set the baudrate to 250000

You can then upload your gcode directly to octoprint and watch all the magic in your web browser.

You'll need to set the gcode flavour to reprap in Cura for this to work (File -> Machine Settings).

I've done all of this yesterday so i thought i would share all this if it can help someone.

Octoprint looks very nice and usefull you can monitor your prints with the gcode visualizer or check your webcam to see if everything is ok.

It is possible to make your OctoPrint available from everywhere but i didn't do this, i don't want to make it possible for anyone to access my beloved ultimaker if i mess something up in the configuration.

Anyway to access it i installed teamviewer on my pc (which has then to stay connected while i'm away and need monitoring), i then access to octoprint remotely by connecting to my pc. It can even be done with your smartphone.

Hope that this little tutorial will help. Any more advices, remarks or insults are appreciated

Share this post

Link to post

Share on other sites

With UltiGCode you get gcode that does not depend on the filament diameter. Usualy when you slice your model, you have to specify the diameter. With UltiGCode the diameter is saved in firmware (menu entry "Material"). Now you could slice a model and print it in different colors (assuming all your different filament brands have the same diameter).

To be honest I am a bit torn on this issue. Filament is rarely consistent reagarding its diameter. But then again if the fluctuations are small enough, they are negligible. I am printing nice models with only one material preset set to 2.9mm diameter... And since presets can't be renamed on the UM2 yet, and you can't select a preset in the tune menu - they are not that useful to me right now.

On the other hand OctoPrint ist extremely useful. Not only do you get a nice interface but your past prints are saved so you can allways come back and take a look at the print settings. It does allow you to track the printing time (vs. the calculated time - something that's a hit or miss issue with Cura).

I wish OctoPrint would do a bit more regarding logging and accountability. It could track for example how much filament you have left because it knows what you have printed. It could also allow rating/taking notes for finished prints so you can later search and re-print your best models (in different colors if it would support UltiGCode). It could automate the "I made one" feature for Thingiverse (or YouMagine) if you have a webcam.

So many cool features. But for now I'll stick with Cura/sd card/walking up to the printer. Since the dreaded filament strand always gets in the way when a print starts, I'll have to be there and snag it off. There is no fully automated click print and come back when done system yet.

Share this post

Link to post

Share on other sites

Ok i don't really understand what bothers you because saved in the firmware or in the gcode doesn't change much does it?

But i must say that pluging the sd card in the pc uploading the gcode directly from cura and printing with the controller is much more confortable if you have the printer next to you. I just like watching the statistics during the print without having to go to the tune menu and stuff ^^

Share this post

Link to post

Share on other sites

Ok i don't really understand what bothers you because saved in the firmware or in the gcode doesn't change much does it?

Oh but it does. With normal gcode when you slice a model in Cura you have to specify the filament diameter. If you then change filament and it has a different diameter, you have to throw away your gcode file and slice it again in Cura. This means take the sdcard out, go to the Mac, slice in Cura, go back, insert card and print.

With UltiGCode you can simply change the filament diameter in the material preset on the UM2 display and start another print.

When the print starts, it starts printing the object immediately. There is no startup procedure like when using ultigcode flavor and starting the print form sd card. So there is no material extruded at all when it starts printing.

This is the start code which is added when changing the flavor to reprap (I am using Cura 14.07):

Link to post

Share on other sites

I really hope it is not that complicated (read: it doesn't take forever because it might not be that far up on the list of priorities) because both OctoPrint the UM2 are awesome and would explode in awesomeness when properly combined

Share this post

Link to post

Share on other sites

Hey I got the OctoPrint setup working directly from my Mac! Thanks Didier for writting all this. It helped quite a bit getting some of the final things together.

I use TeamViewer to remotely connect from my phone to the mac and got my camera and stats running on it.

There is so few things I dont like with octoprint:

- The printer will reset every time I connect to it with octoprint. This mean I cant connect while in the middle of a print :(

- The SD card browser is shit. It doesnt show the names properly ex: 870201~1.GCO(SD) instead of 87290_blablabla.gcode. When you have 5 files starting with the same number its kind of a wild guess to know which one to pick.

Share this post

Link to post

Share on other sites

same here. Just got my UM2 back and now I'd like to use it with OctoPrint.

I think that's not so problematic because if you start a print via OctoPrint you wouldn't need to connect again.

If I remember correctly it is the same (albeit a bit better) with the UM2 display too. But you could file a feature request for OctoPrint.

That's weird. OctoPrint should honor the gcode where the nozzle is primed. With the latest firmware the pre print setup changed (like the bed is moved up first, slow extrusion first, then faster and finally positioning and printing. I hope illuminarti could provide us with his custom gcode (since I know he also uses reprap style gcode from time to time.

I'd say that's expected too. Since you didn't start the print via OctoPrint, it makes no sense to be able to cancel it from there. When OctoPrint is in use, it assumes exclussive usage of the printer.

But why did you install OctoPrint on the Mac? Wouldn't it be way cooler to have a small Raspberry Pi somewhere near the printer and connect to it via the web interface? Because why bother to use OctoPrint if you could print from sd card if the printer is near you?

Share this post

Link to post

Share on other sites

2. Names on the UM2 display are the real names. They get trimmed if too long but at least its the real name. In OctoPrint I do not see the real name. Just the first few characters are ok. The rest is a reduced version ex: 0201~1.GCO

3. Nope. Straith print. Not even waiting for the nozzle temp or bed temp to be reached.

4. I like to monitor the print with octoprint but since of the issues above I dont want to use it for printing just yet.

I installed in on the mac because I dont have a Raspberry Pi and the main goal for now was to be able to monitor prints remotely. Working full time I cant leave long prints unattended. I just need a way to see the print and cancel it if needed. Therefore having my mac connected is enough.

Share this post

Link to post

Share on other sites

2. Names on the UM2 display are the real names. They get trimmed if too long but at least its the real name. In OctoPrint I do not see the real name. Just the first few characters are ok. The rest is a reduced version ex: 0201~1.GCO

There is a whole bunch of techincal reasons for this. But the main thing boils down to "originally the developer that made the SD card support thought the longer filenames where impossible." I proved him wrong, but, starting files trough USB from the SD card still needs the short names, which is why Octoprint displays the short names.

Share this post

Link to post

Share on other sites

Has anyone found a way to just monitor a print job started from the printer? The lack of a printing startup process (heat up, extrude material, then start print) means I have to start from the printer but the UM2 doesn't like that when a USB connection is present.

Share this post

Link to post

Share on other sites

if you connect to the printer first you should be able to monitor it but wont see the progress in percentage. Only temp monitory will be active.

It would be nice if we could insert some extra codes just to give progress feedback. Having the printer to send command reporting percentage of print or layer number and total layer count. Maybe there is already something for this but it would be cool to have something from Octoprint to follow these commands and even automatically send reports as email when print reach some percentage.

Share this post

Link to post

Share on other sites

pm_dude, thanks for that. Strange thing is, when the USB is connected, I can't select a file off the SD card from the front monitor of the UM2. Seems like the USB takes over and starts a print before I can even dial to the file name.

Share this post

Link to post

Share on other sites

Are you connecting to your printer via USB using OctoPrint? It shouldn't trigger a print unless you tell it to once you have connected to it.

When connecting using octoprint it will reset your printer so don't do it while printing... Once its connected it always monitor/change temp, you can move print head and bed, you can extrude filament and browser a gcode to print it.

EDIT: and you can use the UM2 normal controls.

Share this post

Link to post

Share on other sites

I've managed to install octoprint and connect it but i can't seem to make it start a print correctly. Are you really expected to move the build plate to the correct location, heat up the nozzles and then start it? It just starts printing without heating. If I actually heat everything first then it starts printing in mid air

Share this post

Link to post

Share on other sites

Same for me really. I use it as a fail safe more than anything else when remote monitoring a print.

I use TeamViewer to connect to my pc. Check the webcam and if its clogged or failling a print I'll connect to the printer with octoprint. It will cause a reset of the printer and move the head and bed to home position.

Thats all I do with it..

Share this post

Link to post

Share on other sites

OK, I think I have everything set up the same except the webcam. I have mjpg-streamer working and I can access from a browser on another PC. But what are the settings to have the image show in octoprint, and to take time lapse?