Sunday, December 27, 2020

Building an OctoPrint Server

 This is a followup to the 2018 post which documented the build of a RPi3 OctoPrint server for a Lulzbot Mini.  This post documents a new 2020 build to upgrade the device.

Hardware:

Software:

The OctoPrint server was downloaded from here.  Upon installing 0.17.0 and booting, I was greeted with a set of 4 long blinks followed by 4 short blinks on the system LED.  Its a bit like decoding Morris Code, with the blink patterns documented here. In my case, I was receiving an "unsupported board" message.  Luckily the following disclaimer appears on the download page, and I was glad it was documented (saving me the time of tracking down the problem):

There have been some reports regarding current revisions of the Raspberry Pi 4 1/2/4 GB refusing to boot with the stable OctoPi 0.17.0 image. If that affects you, please try the OctoPi 0.18.0 release candidate.

The problem was resolved by downloading and installing the 32 bit 0.18.0 release candidate. 

Setup:

Directions on the download page were followed to change the Pi's password, hostname, network configuration, and time-zone.  Rather than wasting time configuring the Pi with a static IP address, I instead chose the route of hacking an entry into the hosts file of my laptop (%WINDIR%\system32\drivers\etc).  I installed one additional plugin, a resource monitor for OctoPrint:


which provides a "Windows Process Manager-like" display for the RPi:

After initial configuration, everything was working as expected except for the connection from my slicing software (Cura for the Lulzbot Mini).  I needed to update the OctoPrint configuration to account for the new IP address as well as API Key.

In OctoPrint:




In Cura:


It appears there is a new option for creating a "non-global" access key, but that will be an enhancement for another day...