
Not too long ago I posted an article here on the tech blog about 3D printing. Since then I have spent quite a bit making all kinds of things with the Printrbot and now have an upgrade package coming in the mail. In the time since my first post I have experimented with all kinds of different configurations and filaments and have had a wide range of results, mostly bad. Although I have been trying different combinations of hardware and software I have found that the most successful prints (both in quality and speed) have actually come from my Raspberry Pi.
If you are unfamiliar with 3D printing you can read my article about how the future is here and my initial first impressions with the Printrbot Simple 2014 here.
What is the Raspberry Pi?
If you are not familiar with the Raspberry Pi you might be confused about how that can help drive high quality prints. The Raspberry Pi is a single board computer that is both inexpensive and open. The device is geared towards kids who want to learn about Linux and electronics, low income countries who need access to computers, and hobbyists like myself who like to tinker with hardware and build small low power consumption servers. The boards are developed by the Raspberry Pi foundation and since they are open have been the inspiration for boards like the Banana Pi which aim to further improve the hardware.

How Does This Apply to 3D Printing?
You might be wondering, how on earth is the Raspberry Pi responsible for or even capable of producing high quality 3D prints. I started using the Printrbot by becoming comfortable with a piece of software called Repetier. This is software that is recommended by most of the 3D printing community which worked at first for me. Repetier uses a program called Slic3r to slice up the 3D model and turn it into code which the printer can use to print. I then tried a piece of software called Cura which does the same thing as Repetier and I was able to print some good stuff with it but I ended up getting annoyed that I had to have my printer hooked up to a computer constantly for the codes to be sent to the machine (I am not a fan of sending the code to an SD card).
After I got tired of having my Mac Book tied to my desk for an hour while I printed a Tardis or a case for my Arduino I decided that I wanted to set up a small print server. This is where the Raspberry Pi comes in and truly shines. Printrbot actually sells a Raspberry Pi kit to accomplish what I did but I have several Pis (even the new Model B+, check out my review) and I generally dual purpose them. I installed a piece of software called OctoPrint which doesn’t necessarily have to be installed on a Raspberry Pi but there is even an official OctoPi image to accomplish the same thing.
Octoprint offers a similar interface to Repetier or Cura but is actually running as a web interface to the remote print server. You can upload the sliced code directly or if you install Cura on the same device you can upload your STL file and Octoprint will have Cura slice it directly. Uploaded files are stored on the device for repeat prints and you can edit all the settings to make sure you are printing correctly. I have been slicing up the models using Slic3r on Repetier and uploading the gcode to the OctoPrint server.
Quality
Since switching to the Raspberry Pi to control the printer I have noticed that the accuracy greatly increased, I can now print a lot tighter and I have a lot less damaged prints. I don’t have exact specs but the main benefit to this process is I can monitor the prints from my Chromebook or Nexus 7 which makes it really nice to be in the next room and monitor the print using a web cam or just the terminal output on OctoPrint.

Install OctoPrint
You have 2 options when setting up your OctoPrint Raspberry Pi. There is a supported Raspbian image called OctoPi which is maintained on GitHub and has everything you need to get started right on it. If you like the more manual set up you can easily install the software as well. The process doesn’t take long so you can get to printing right away.
To install on your Pi you will need to have a basic understanding of a Debian based Linux terminal. The first thing you will have to do is install the requirements in requirements.txt. You will also need Python 2.7 and pip which should be installed by default. To get started you will need to run a few commands.
cd ~ sudo apt-get install python-pip python-dev git git clone https://github.com/foosel/OctoPrint.git cd OctoPrint sudo pip install -r requirements.txt |
You may need to add the pi user to the dialout group to connect to devices on serial ports (USB).
sudo usermod -a -G tty pi sudo usermod -a -G dialout pi |
You can now start the server by changing to the OctoPrint directory and running the run command.
pi@raspberrypi ~/OctoPrint $ ./run * Running on http://0.0.0.0:5000/ |
Your server should now be running. I generally run the start command manually by connecting through SSH and using the screen command to open another session and then detaching from the screen session so the server continues to run. If you need to have the server automatically run you can get instructions here.
Final Thoughts
If you were looking for another reason to buy a Pi, this might be it. It is incredible what a couple pieces of open hardware can do. You can pick up a Pi on their swag store (Powered by Shopify!) and the Printrbot on their official website. Let me know what you think about all this hardware wizardry, or ask any questions you might have below.
Looking for more Raspberry Pi? Check out some articles from my Tech Blog:
Here is a short video showing the printer making a TARDIS.
The post 3D Printing And The Raspberry Pi appeared first on Bold Apps Tech Blog.