In an effort to move services off my PC has led me to offload several services we rely on to the various Raspberry Pis we have laying around. Which is more than you'd likely guess as I use them for all sorts of tasks. Mostly Kodi boxes for playing media from the media server (also running off the PC but with requirements beyond a pi for running, so for now, not going anywhere else.)
Our home automation is built around an Openhabian server running on a RPi 3. I've dropped a few additional services on there, the Rocket.Chat homeserver being the main resource user, so when it came to getting octoprint off the PC and making the Printrbot a bit more modular and able to be moved the natural conclusion was to get it on a Pi of it's own.
Thankfully, I have the perfect Pi for the job. Underpowered for most tasks I level at the Pi, my original Pi 1 Model B has been a dust collector for the last couple years. Of course, it took me longer to find a SD card with a decent enough capacity ( or rather a SD Adapter and a microSD) to hold the large stls and gcode for the printer. I found a 64GB micro SD that would work perfectly and assembled the rest of the materials.
Materials
- Raspberry Pi 1 Model B
- 64GB PNY Micro SD
- SD Card Adapter
- 5v 1.8A AC Adapter + 3' micro USB cord
- 6' USB to micro USB
- 3D Printed Pi 1 Case
Procedure
The installation of Octoprint by image was painless and easy. I used etcher-cli to write the image, it has become my defacto tool for all the image writing I do in linux and windows.
Out of the box, Octoprint supports a Cura slicer, which is non-optimal for me. I've come to be familiar with the slicer sub-dialogue box in Repetier-host and know how to get what I want out of it. While it and Cura are feature comparable at the moment, when we started on this adventure there was way more control options available in Slic3r.
Now comes the adventure of compiling Slic3r on the Pi. Instructions were alright but there is a lot of failure when trying to compile big projects on tiny computers. Firstly there seemed to be a battle of wits with packages perl.5.24 and libExtutils. The latter went in as a cpan module and things could proceed. The CPAN module selection failed until I increased the swap file memory (happy I used a 64gb mSD) to 2048. That allowed the modules to be installed, though the aggregate command needed to be run several times before it gave the OK.
Wait, those aren't the instructions I used at all. hmmm
I simply commented out the apt and cpan commands from the install script and ran it. The first fail seemed like a generic issue so a re-run with no changes went ahead and as I type is nearly finished compiling!
I'm getting:
Running Slic3r under Perl >= 5.16 is not supported nor recommended
At each component test, but since I'm clearly running perl, I'm not to worried. perl -v output:
This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
...
Not sure it finished. I really need to close the second ssh terminal and minimize RAM usage.