OctoPrint is an open source 3D printer web interface written in Python. It provides real-time video streaming during prints, remote printer control, an integrated GCODE visualizer, temperature monitoring, and many other features. A large community-maintained plugin ecosystem is available as well to extend its functionality.
OctoPrint supports a large number of printers out of the box. A listing of printers known to work/not work is available at this post.
The ebuild referenced below was never linked to.
The installation places files in the following locations:
|/var/lib/octoprint||The home folder for the OctoPrint User, containing configuration, log and stored files|
|/etc/init.d/octoprint||RC-Service Script for starting and stopping OctoPrint|
|/etc/conf.d/octoprint||This is where the OctoPrint configuration file should go but currently does not (See the home folder)|
|/usr/bin/octoprint||This is the main Python script that is called by the service. If one calls it, a .OctoPrint folder will be created in the home directory.|
|/usr/libs/python3_11/site-packages||The main installation of OctoPrint Code - one Python version|
The OctoPrint manual recommends creating an OctoPrint user and allowing access to the Serial and Terminal groups. Gentoo provides the tty group for terminal access but this is not really required by OctoPrint. As there is no Serial group, the uucp group is specified in the ebuild.
Note that one must enable USB/Serial communication in the Kernel for these printers to work. 3D Printers communicate with the computer via a serial interface. The Arduino section describes how to set this up. There is a nice entry in the Gentoo Forums that explained this setup as well. The Arduino website further discusses serial connection issues.
Cura is a 3D slicing program which seems to have gone through three major architecture changes roughly coinciding with versions 0.15.x and 2.1.x. OctoPrint 12.1 does not support the 2.1.x implementation and the ebuild locks in the 0.15.6 version.
When OctoPrint calls Cura it might fail with one of the following error codes. This occurred with the 2.1.x version and OctoPrint 12.5.
|Error Code||Error Description|
|1||Cura executed but did not produce a G-Code file. The logs indicate a call arguments issue.|
|6||This call to Cura appears to be mostly meta information about the STL file.|
The Cura Plugin is enabled by default but one must specify the location of the Cura Binary. There are two created by media-gfx/cura - one in /user/bin/cura (user interface), and one in /user/bin/CuraEngine (the slicing engine). The latter path must be provided in the OctoPrint Cura Plugin settings.
The CuraEngine requires a Printer Profile generated from Cura itself. This is done by navigating to Cura → Preferences → Profiles → Profile → Export and saving the resulting file which is then loaded directly into the OctoPrint interface under Settings → CuraEngine → Import → Profile.
Once installed, one may enable an OctoPrint service via OpenRC commands.
When one initially opens the first page in OctoPrint they are asked to create an admin account. Choose a secure password if it is desired to be able to remotely access the printer.
- Gentoo 3D Printer Project - Currently available packages
- https://community.octoprint.org/ - OctoPrint forum