OctoPrint Plugins Worth Installing (and Which to Skip)
Which OctoPrint plugins are worth installing on a Raspberry Pi host: what each one fixes, what it costs the host and serial link, and how to check it.
The OctoPrint plugin repository lists 404 plugins, 13 of them flagged as abandoned, so “OctoPrint plugins worth installing” is really a question of which ones fix a problem you actually have at a host cost you can afford. Every plugin runs inside the OctoPrint server process and shares the Pi with the serial stream feeding your printer. This list is short on purpose. Each entry says what the plugin fixes, what it needs, and what it can break.
Install one at a time and print between installs. If a communication error appears after a batch of five, nothing tells you which one caused it, and the disconnect diagnosis then starts with safe mode, which switches every third-party plugin off at once.
Three checks before you install
- Python 3 flag and release date. The repository marks 331 of its 404 listings as Python 3 compatible; skip the rest. An old release is fine for a plugin that only restyles the interface and a warning sign for one that talks to the printer.
- Serial traffic. Anything that sends G-code on a timer, such as
M117progress text, adds load to the channel your print is running on. - Host cost. Video encoding, G-code analysis and mesh maths all run on the Pi. The download page recommends a Pi 3B, 3B+, 4B or Zero 2 and rules out the Zero and Zero W because their Wi-Fi interface stalls under webcam bandwidth. Heavy plugins push a Zero 2 W back toward that territory.
Installation is Settings, then Plugin Manager, from the repository list or by pasting a plugin’s archive URL. From a shell on OctoPi it must be ~/oprint/bin/pip, not the system pip, per the installation guide, or the plugin lands in the wrong Python and never appears.
Calibration and print quality
Bed Level Visualizer turns a probe’s mesh report into a 3D surface. On Marlin the default command is G29 T; Prusa, Klipper and Smoothieware output is parsed too. Two caveats from its own page: wrap the probe command in M155 S30 and M155 S3 if Marlin’s auto temperature reporting is on, and on some Creality boards probing with no SD card inserted can crash the printer. Version 1.1.0 dropped the numpy dependency and with it the 30-minute install older versions hit on a Pi. A tilted plane in the mesh is a tramming problem, not a mesh-density problem; the BLTouch levelling guide on our sister site covers the order of operations.
PrintTimeGenius replaces the built-in estimate with the slicer’s embedded one or with a Marlin or Smoothieware simulation of the file, which the author states is often within 0.2% of the real print time, then corrects itself mid-print. The simulation is host-side work at upload time.
Arc Welder rewrites runs of short G1 segments into G2/G3 arcs at a default resolution of 0.05 mm (±0.025 mm from the original path). The author’s example file came out 56.2% smaller with 75% fewer extrusion and retraction commands, and fewer commands over USB serial is the closest thing to a stutter fix on curved walls that does not involve a reflash. It needs arc support in the firmware. Marlin 2.1.x ships ARC_SUPPORT enabled in Configuration_adv.h, but vendor builds vary, so the Arc Welder README says to check with M115 on recent Marlin or a bare G2 on older builds, and Klipper needs a [gcode_arcs] section. Skip it if you slice in OrcaSlicer with arc fitting on: the OrcaSlicer wiki describes the same conversion at the slicer, with the same warning that arc interpolation loads an 8-bit board’s CPU. SlicerGuide’s OrcaSlicer features roundup covers the rest of that slicer.
Saving a print that is going wrong
Exclude Region lets you draw a rectangle or circle in the G-code viewer, before or during the print, and OctoPrint stops sending moves inside it. That keeps five parts on a six-part plate when one lets go at layer 40. Limits from the plugin page: one hotend, Marlin-style firmware, and nothing running from the printer’s SD card.
Cancel Objects does the same by object rather than by area, using labels the slicer writes into the G-code. Per its README, PrusaSlicer and SuperSlicer need “Label objects” enabled in the Output section. Cura 3.6 and later tags objects with ;MESH: automatically but wants combing off, because combing moves written after the tag confuse the plugin, and Cura’s supports land in one NONMESH object, so cancelling a part does not cancel its supports.
Watching the printer
Obico (formerly The Spaghetti Detective) and OctoEverywhere both tunnel the OctoPrint interface out through their own cloud so you never forward a port, both stream the webcam, both send notifications to phone, Telegram and Discord, and both run a failure detector on the camera feed. Both list a free tier. Pick one, not both, and treat it as an outbound connection from a machine that controls heaters. The remote access guide explains why a tunnel beats a forwarded port and what you are trusting when you use one.
Octolapse parks the head before every snapshot so the timelapse shows the part growing with no toolhead in frame, triggered by layer change, height step, elapsed time or a specific G-code. The cost is host time. Its parser was rewritten in C++, but video rendering still happens on the Pi, and the plugin notes most Pis lack the memory for its H.265 option. Its camera controls need mjpg-streamer and are listed as incompatible with The Spaghetti Detective, so check that note if you run Obico. Each snapshot is a pause with a hot nozzle, so expect a mark at the parking layer on materials that ooze.
Host and printer housekeeping
PSU Control switches the printer’s power supply through a GPIO pin, a G-code command, a system command or a sub-plugin, on when specified commands arrive and off when idle. Sub-plugins cover TP-Link smart plugs and Home Assistant, so no relay wiring is required. It is a convenience, not a safety layer; firmware thermal runaway protection stays on.
Firmware Updater flashes a pre-compiled binary over the same USB cable OctoPrint prints through: avrdude for 8-bit AVR boards (Creality, Anet, RAMPS, Melzi), bossac for the Arduino Due, dfu-util for Printrboard, an lpc1768 method for SKR and MKS SBASE class boards, and stm32flash for STM32. If ARC_SUPPORT is off in your firmware, this is the flashing step.
DisplayLayerProgress puts layer, height and time remaining in the navbar and on the printer’s LCD through M117. It needs layer comments, which Cura, Simplify3D, ideaMaker, KISSlicer and Slic3r write out of the box, and files uploaded before the install must be uploaded again. The LCD output is an extra serial command per update, so if your terminal already shows Resend lines, turn it off and keep the navbar.
Three low-risk extras that only touch the interface:
- Slicer Thumbnails shows the preview embedded by PrusaSlicer, SuperSlicer, Cura 4.9 and later, Simplify3D 5.1 and ideaMaker 2.4.1 in the file list. A larger thumbnail grows the G-code file, so keep the resolution modest.
- Resource Monitor graphs CPU, RAM, disk, network and SoC temperature, which is how you find out whether the host was pegged when a print stuttered.
- Themeify is a dark theme with per-element CSS overrides. Its last release is 1.2.2 from April 2020 and it still works because it never touches the printer, the one category where an old release date is acceptable.
What to skip
- Listings without the Python 3 flag, or one of the 13 marked abandoned, unless you intend to maintain it yourself.
- Two plugins doing one job, such as Obico and OctoEverywhere together, or two power-control plugins fighting over one relay.
- Video rendering or a detection stream on a Zero 2 W while a print runs. The Pi Zero warning is about Wi-Fi bandwidth, and video is bandwidth.
- Timer-driven polling of the printer while communication errors are unresolved. Fix the link first.
How to verify each install
Install, restart, then print a 20-minute part you have printed before, with the Terminal tab’s temperature filter off. New Resend lines, or a Recv: echo:busy gap that was not there last time, mean the plugin is competing for the serial link. If the print fails, restart in safe mode from the System menu and run the same file; safe mode disables every non-bundled plugin, so a clean run there is proof. On the next print, a host near 100% CPU in Resource Monitor during Octolapse rendering or a detection stream is the signal to move that job elsewhere or to a bigger Pi, and the hardware guide sizes that decision.
Sources
- OctoPrint Plugin Repository
- OctoPrint Plugin Repository: installation guide
- OctoPrint download page: recommended Raspberry Pi hardware
- OctoPrint docs: Safe mode
- Arc Welder README: firmware compatibility
- Marlin 2.1.x Configuration_adv.h: ARC_SUPPORT
- OrcaSlicer wiki: Quality settings, Precision (arc fitting)
- Cancel Objects README: slicer setup
- Bed Level Visualizer README
Related
OctoPrint vs Klipper: Which Print Host to Run
OctoPrint and Klipper are not the same kind of software. What each one replaces, what the switch costs you, and how to decide before you commit.
OctoPrint Disconnects Mid-Print: Causes and Fixes
A diagnostic order for OctoPrint disconnects and communication errors, from undervoltage and USB noise to plugin faults and starved serial buffers.
OctoPrint Raspberry Pi Setup: Hardware and First Boot
Which Raspberry Pi to buy for OctoPrint, the power supply and cable choices that actually matter, and how to get through first boot without a stall.