OctoPrint
Last updated: 2021 February 13
This is my setup/usage for OctoPrint on a Raspberry Pi 3B+ connected to a Prusa i3 MK3S.
Installation
- Download the latest OctoPi image
- Run a checksum on the zip file to make sure the file is valid. It should make the MD5sum shown on the OctoPrint website right below the download button.
md5sum octopi-stretch-lite-XXXXXX.zip
- Extract the
.img
file from the zip file (either with GUI orunzip
command) - Insert your micro SD card and find its location. You can do this with the Gnome Disks GUI or with
sudo fdisk -l
. You’ll get something like/dev/sdx
- Unmount the disk, either with the GUI or
sudo umount /dev/sdx*
- Copy the image file contents to the SD card:
sudo dd bs=1M if=your_image_file_name.img of=/dev/sdx
- Remove and reinsert the SD card so it shows up correctly.
- Set up the WiFi.
- Look for the SD card to show up as something like “boot”. Open the file
octopi-wpa-supplicant.txt
. - Uncomment the
WPA/WPA2 secured
section and add the network name and password. - At the bottom of the file, uncomment the line with your country (probably US).
- Look for the SD card to show up as something like “boot”. Open the file
Setup
- Insert the SD card into the Pi and connect it to a decent power supply (at least 2 A, preferably 2.5 A).
- Log in via SSH: (default password:
rasberry
)pi@octopi.local
If you can’t connect, check the WiFi troubleshooting guide.
- Run
sudo raspi-config
for initial configuration- Use “Change User Password” to set a more secure than the default
- Use “Localisation Options” > “Timezone” to set the time zone
- (Optional) Use “Network Options” > “Hostname” to change the hostname from
octopi
. (Your device will then be accessed atHOSTNAME.local
instead ofoctopi.local
.)
- In your browser, go to
octopi.local
(or whatever you set in the previous step) or the Pi’s IP address, and follow the setup wizard. - In the “Set up your printer profile” step, use the following values for the Prusa i3 MK3S (from the OctoPrint forum):
- Form factor: Rectangular
- Origin: Lower Left
- Heated bed: yes
- Width (X): 250 mm
- Depth (Y): 210 mm
- Height (Z): 210 mm
- Custom bounding box: X: 0/250, Y: -4/210, Z: 0/210
- Maximum X speed: 6000 mm/min
- Maximum Y speed: 6000 mm/min
- Maximum Z speed: 200 mm/min
- E (extruder) feed rate: 300 mm/min
- Nozzle: 0.4 mm
- Number of Extruders: 1 (See step 9 if you’re using MMU.)
- After the wizard, obey the pop up and update OctoPrint!
- If you connect a Raspberry Pi camera or a supported webcam, it should just work with no additional configuration. (In my case, I had to reboot for it to show up, though. I’m using a Logitech C270.)
- Depending on the camera, you may also benefit from modifying the camera settings. Run
sudo nano /boot/octopi.txt
and edit thecamera_usb_options
. Suggested values can also by found on the OctoPrint Webcams wiki. For my C270, I set mine as:
camera_usb_options="-r 1280x720 -f 30"
.
- Depending on the camera, you may also benefit from modifying the camera settings. Run
- Install any plugins you want. I have a list of the ones I use in this OctoPrint Plugins section. For some reason, I had to disable connectivity checking (under Settings > Server) in order for it to connect to/find the plugin server, even though the connectivity check passes. (See this forum post.)
- If you’re using the MMU2S: You’ll need to modify the configuration (or else your filament won’t switch). Under Settings > Printer Profile, click the pencil to edit the configuration. Under “Hotend & extruder,” set “Number of Extruders” to 5, and check the box next to “Shared nozzle.” Don’t forget to click “Confirm” when you’re finished.
Sources: Raspberry Pi StackExchange, All3DP OctoPrint Setup Guide, OctoPrint Download & Setup
Plugin Configuration
Firmware Updater
SSH into the Raspberry Pi and install avrdude:
sudo apt install avrdude
Open Settings (wrench) and under “Plugins,” select “Firmware Updater.” Click the wrench in the upper right to get the plugin configuration, and set the following settings:
Item | Setting |
---|---|
Flash method | avrdude (Atmel AVR family) |
AVR MCU | ATmega2560 |
Path to avrdude | /usr/bin/avrdude (and test it) |
AVR Programmer type | wiring |
And you don’t need to do anything for the advanced settings.
Now you can get the latest firmware from Prusa and flash the HEX file with “Flash from File.”
Source: PrusaPrinters forum
Octolapse
Edit Main Settings > Uncheck “Always Display Navbar”
Print Time Genius
Set it to use the output from PrusaSlicer (because all of the others seem to be terrible estimators).
PrusaSlicer Thumbnails
You can add thumbnails for you prints in Octoprint with this plugin. However, you need to also make PrusaSlicer generate the thumbnails with the GCode. By default, PrusaSlicer only does this for the Mini.
For PrusaSlicer ≥2.3
Within PrusaSlicer, go the “Printer Settings” tab. Within “General”, look for “G-code thumbnails” under “Firmware.” Set the value to 16x16, 220x124
. To save this you’ll also need to save this as a custom printer profile.
If you already set this in PrusaSlicer <2.3, it should already show up here.
For PrusaSlicer <2.3
- Within PrusaSlicer, go to the menu: Help > Show Configuration Folder. This should open the folder containing the configuration/profile files.
- Within the
printer
subfolder, open your desired printer profile in a text file. - Find the line that says
thumbnails =
and replace it with:thumbnails = 16x16,220x124
- Save the file and restart PrusaSlicer to see it take effect.
Tab Order
These are my tab settings (all with the color set to white, and the label unchecked):
Icon | Tooltip | Tab identifier |
---|---|---|
fas fa-camera | Webcam | control |
fas fa-thermometer-half | Temperature | temperature |
far fa-clock | Octolapse | plugin_octolapse |
fas-fa-terminal | Terminal | terminal |
fas fa-draw-polygon | GCode Viewer | gcodeviewer |
fas fa-folder | File Manager | plugin_filemanager |
fas fa-clock | Timelapse | timelapse |
fas fa-layer-group | Mesh Map | plugin_PrusaMeshMap |
Themeify
Enable customization and add the following rule to correct the color of the temperature in the navbar:
.navbar-text {
color: #ffffff
}
Connect PrusaSlicer to OctoPrint
- On OctoPrint, go to Settings (wrench icon) > Features > API and copy the API Key
- In PrusaSlicer, go to the “Printer Settings” tab and switch the “Advanced” or “Expert” configuration levels.
- Under “General” modify the “Print Host upload” with the following settings:
- Hostname, IP or URL: octopi.local (or whatever you modified it to be)
- API Key/Password: The API key you copied above
- Save as a new profile (mine is “Original Prusa i3 MK3S (OctoPrint)”) and use this whenever you want to be able to directly upload to the printer.
Source: PrusaPrinters Forum
Things to do
- Add a self-signed certificate to get access over https
- Set up for access outside the local network (see this guide)