Now that I have my 3D printer running reliably and the RAMPS 1.4 mounted I want to disconnect it from my laptop. At the moment every time I want to print something I need to connect my laptop and leave it connected for the duration of the print. There is an option to add an SD card reader to the RAMPS but that would also require adding a control panel to the printer. It is cheaper to add a Raspberry Pi.
I have been using OctoPrint software on my laptop which also has a pre-made Raspberry Pi ROM called OctoPi that can be loaded directly onto a Pi. OctoPi is designed for a Raspberry Pi 2B or 3B and offers camera support out of the box. Since I am on a budget I decided to just use a Raspberry Pi Zero W. There is several reports of OctoPi not running on a Zero W mostly because the single core processor can’t support running the server and the camera streamer simultaneously. Since I don’t even have a suitable camera I don’t think this is a problem.
After loading OctoPi and running through the setup the printer worked first time exactly as it did from my laptop. The next problem is that I wan’t to print directly from my phone. OctoPi has an option of adding a slicer plugin on the Pi and while looking through the options I came across AstroPrint. AstroPrint is a cloud-based 3D printing system that includes a selection of slicers. Files are uploaded to AstroPrint, sliced in the cloud and then sent to OctoPi via a plugin.
For quick prints of simple models AstroPrint works well enough but if the model needs some fancy slicing then it is better to use a desktop slicer. AstroPrint also does not include many options to control the printer so I still need to use the OctoPi web interface or an android app.
The next problem created by adding the Raspberry Pi is that it needs a seperate 5V power supply as the RAMPS cannot supply enough current for the Raspberry Pi and the Arduino. Now I have 3 power supplies plugged into the printer, a 19V, 12V and now 5V.