How to Set Up and Use OctoPrint on Your Prusa i3 MK3S

Control your MK3S remotely.
John John (304)
55 minutes

The Prusa i3 MK3S is my favorite 3D printer I've used so far. It's got all the bells and whistles and prints wonderfully every time I use it. The only thing its missing is the ability to print remotely, and that's where OctoPrint comes in.

In this guide, we'll show you how to set up OctoPrint for the MK3S. After this guide is complete, we'll have a Raspberry Pi Zero mounted to your MK3S. Then you can copy gcode files to the Pi, initiate prints, and control the printer remotely.

Soldering is optional for this guide! If you don't have a soldering iron, read on before ordering your materials.

Note on MK3S version

This guide was written for the version of the MK3S that includes an Einsy case with a removable back. This version was released within a month of the initial release of the MK3S, so most users should have this version.

If you have the version without the removable back, not to worry–you'll just need to complete an extra step!

Raspberry Pi Zero WRaspberry Pi Zero W ×1
Breakaway Header Strip (19mm)Breakaway Header Strip (19mm) ×1
Soldering IronSoldering Iron ×1
Raspberry Pi CameraRaspberry Pi Camera ×1
Raspberry Pi Camera Ribbon Cable (200cm)Raspberry Pi Camera Ribbon Cable (200cm) ×1
Raspberry Pi Zero Camera CableRaspberry Pi Zero Camera Cable ×1
Adafruit Cable Extender Thingy ×1

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

Octoprint MK3S Raspberry Pi Zero Frame

We'll begin by printing the Raspberry Pi Zero frame. The frame will be used as a spacer and to provide the template for the GPIO pins.

The STL file can be found on Prusa's website, but it takes a few steps to find it.

  1. Go to the Prusa printable upgrades page
  2. Download the STL files for the Original Prusa i3 MK3 (yes, even though there's one labeled MK3S)
  3. Unzip the folder
  4. Open the folder, then navigate to Printed-Parts/stl
  5. The file you're looking for is called rpi-zero-frame.stl

Print settings

Slice and print the model using PrusaSlicer's default settings for the MK3S:

  • Layer height: 0.15mm
  • First layer height: 0.2mm
  • Infill density: 15%
  • Infill type: Rectilinear
  • Adhesion type: Skirt
  • Supports: No
OctoPrint MK3S cut away the removable back

As I mentioned in the introduction, this guide is written for printers that have the Einsy-case with the removable back. When looking at the case, you'll be able to see very clearly where to cut. Use a sharp knife or snips to cut away the removable piece.

Warnings

  • Be extremely careful with this step!
  • Unplug the printer!
  • Do not cut the Einsy board!

Einsy-case without the removable back

If you've got the Einsy-case without the removable back, you can follow the disassembly instructions found here.

Octoprint MK3S GPIO Header

The GPIO header is what creates a connection from the Raspberry Pi to the Einsy board.

To prepare the GPIO header, we need to break away a 7x2 piece from the header strip. Then, using the Pi frame as a template, use needle-nose pliers to remove the pins that are not needed. Use the following image for further guidance.

MK3S Raspberry Pi Zero header

Also, you should use the images in the next two steps to ensure you have the pins configured properly.

No soldering iron? No problem.

If you don't have a soldering iron, purchase the Raspberry Pi Zero WH instead, which comes with a pre-soldered header. Then, use a pair of wire cutters to clip off the pins you don't need. I recommend Hakko Miro Cutters because they're awesome.

Octoprint MK3S Pins, Frame, and Pi Zero

With the frame printed and header prepared, you're ready to put the pieces together. Put the pins through the Pi frame, then connect to the Pi Zero. This step primarily exists to provide a picture of how everything should fit together.

Octoprint MK3S Soldering the GPIO pins

Use your helping hands to secure the Pi and keep the pins in place. Use your soldering iron to carefully solder the pins to the board. If you're new to soldering, I recommend getting some practice in before attempting this process.

Watch the video:

Next we'll install OctoPrint. Specifically, we're going to install an OctoPrint build created by Prusa that comes preconfigured for the MK3S. It's called PrusaPrint. If you'd rather, you can also install the normal OctoPrint build, but it will require some additional configuration to get started.

Download links

Installation instructions

For either build, you can follow our guide on how to install OctoPrint for more details. In short, you need to use a tool like Etcher to flash the disk image onto your Micro SD card.

We also made a YouTube video that details installation:

Watch the video:

In order to use OctoPrint, we need to enable Wi-Fi. To do this, navigate to the root directly on the SD card. You can do this via the command line or using your file browser.

Open the file called octopi-wpa-supplicant.txt.

Uncomment the lines that look like this:

## WPA/WPA2 secured
#network={
#  ssid="put SSID here"
#  psk="put password here"
#}

Add your network name (ssid) and password (psk). Then look for country configuration below. Uncomment your country (or add your country code if it doesn't exist).

As an example, if you're in the United States, you would uncomment:

# country=US

After making these two changes, save the file and exit. You should also eject the SD card at this time.

OctoPrint MK3S camera mount

If you want to add a camera, now is the time. This step will breakdown everything required to mount a camera so you can monitor your prints.

Print the camera mount

I found an amazing camera mount on Thingiverse, but the print comes with a lot of files and is very customizable, so I'll let you know exactly what I did.

Files and quantities

STL File Qty Note
BallNut.stl 1 Use brim.
ffLink_90_support.stl 1
mfLink_90_support.stl 2
mfLink_support.stl 1
raspiCamBack.stl 1 Use brim.
raspiCamCover_NoLense.stl 1 Print if your camera has no lense.
raspiCamCover_Lense.stl 1 Print if your camera has a lense.
Thumb_Bolt.stl 5
Thumb_Nut.stl 4 Use brim.
xAxisBracket.stl 1

Printing advice

First, read the Thingiverse instructions. The author provides the proper print settings. The author recommends using 100% infill. I used 50% to save time, and it works just fine.

Also, the author says "no brim". But I did, in fact, need a brim for some of the components. I identified these components in the table above.

You can try to print everything in a single batch, but I'd recommend breaking it up into multiple batches (so you don't waste your time).

Assemble the camera mount

This part is fairly self-explanatory, and you can use the image as a guide. It's like putting a puzzle together, and the good thing is that you get to assemble it exactly how you'd like. Go ahead and assemble the entire camera mount, and put the camera in position as well.

Using an M3x16 screw, secure the X Axis Bracket to the x-axis motor. This requires only one screw.

You can loosen thumb bolts and thumb nuts to reposition the mount, and tighten them to lock it in place.

Connect the camera

Connect one end of the camera ribbon cable to the Pi, and the other end to the camera. To do so, you'll need to pull the tabs on both sides of the camera connector away. Then, slide the cable into the opening until it's seated firmly in place. Then push the tabs back down to lock the cable in place.

If you look at the ends of the ribbon cable, you'll notice one side has the "teeth" exposed. This is the side that makes the connection, and it should face the board on both the camera and the Pi.

A note on the camera cable

Most of the Raspberry Pi Zero camera cables you'll find are too short for this project, so I recommend getting both the extender thingy and the extension cable as well.

Octoprint MK3S Attaching the Pi to the MK3S

Now, with the SD card inserted in the Pi Zero, attach the Pi directly to the Einsy board. Before doing so, find the female pin connectors on the Einsy board. Carefully align the male (from the Pi) and female connectors. If aligned correctly, this should not require much force.

Octoprint MK3S Enable RPi port in settings

Now, you can plug in and turn on the MK3S. Then, to enable the Raspberry Pi connection, use the controller to go to Settings then find RPi port, and toggle the value to on.

Octoprint MK3S test out octopi.local

With the Raspberry Pi attached and the connection enabled, wait a few minutes. Then open a browser and visit http://octopi.local.

You'll be guided through a setup process, which should only take a few minutes. At this point, you'll have the opportunity to set your OctoPrint username and password.

From here, you can upload your gcode files and start your print remotely! After I set this up, I was pleasantly surprised with how well integrated OctoPrint is with the MK3S. The printer is very responsive to instructions from OctoPrint, which has not always been my experience with other printers.

At this point, you've successfully set up OctoPrint on your Prusa i3 MK3S. You're ready to start printing!

Check out more great OctoPrint guides to get ideas for your next project.

Untether your printer!
30 minutes

Have you ever wanted to control and view your 3D printer from your web browser and print things remotely? Thanks to the amazing OctoPrint software library and a Raspberry Pi, you can!