Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Pi-Bot, 3d printing for Raspberry Pi

by Sebastius, published

Pi-Bot, 3d printing for Raspberry Pi by Sebastius Aug 1, 2012


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

37850Views 3872Downloads Found in 3D Printer Accessories


This is a guide on how to set up your Raspberry Pi as a printerserver for your 3d printer!


(note: PDF is attached with better formatting)

This guide is far from complete. In fact, you won’t even get it running the way you really want. Pronterface’s webinterface is not ready for primetime just yet (lacking a lot of necessary features) . But give it a little time and experiment on your own, you might just amaze yourself! If you've got any tips, errors or additions, please let me know! (if you like, use the attached logo for your SD-card)

My endgoal is to make either a distributable image or a script that does all this work on its own, but i'm a long way from getting there. Please help if you can!


Raspberry Pi
4gb SDcard (class 4 or up)
Regular PC (WinMacLin)
Internet connection to PC and to Pi board
Micro USB cable for power and a USB cable to your 3d printer
USB keyboard/mouse
HDMI enabled screen (TV will do fine)

First things first. We need to download a Raspbian image to the SDcard. Get the image at http://www.raspberrypi.org/downloads and follow the guide at http://elinux.org/RPi_Easy_SD_Card_Setup

When the SDcard is complete, connect the Pi to your HDMI screen, network, keyboard, SDcard and last: power.

After a short wait you should get the configuration menu. Check your settings and most importantly: enable SSH connections! Also use the SD card partition resizer. Reboot after you’ve saved your settings by using ‘sudo reboot’

Connect to your Pi using SSH, login as pi/raspberry. Alternatively, if you are sitting comfortably at your Pi-keyboard, just use that.

After login, it’s time to do some updates:

sudo apt-get update
sudo apt-get upgrade

This will take a little while. After that, it’s wise to reboot (sudo reboot) and reconnect a minute or so later.

Now we will install a lot of dependencies and useful tools. This will take some time.

sudo apt-get install python python-dev python-serial python-wxgtk2.8 python-pyglet git-core

The system will ask you if it’s okay to download and use diskspace. Sure it is.
Now we’ve got a complete set of Python tools and the Git system, which will download Pronterface for us!

We’ll need CherryPy for the web-server part.

wget download.cherrypy.org/cherrypy/3.2.0rc1/CherryPy-3.2.0rc1.tar.gz
tar -xf CherryPy-3.2.0rc1.tar.gz
cd CherryPy-3.2.0rc1/
sudo python setup.py install

To test CherryPy you can do the following

cd cherrypy/tutorial
pico tutorial.conf

edit the IP adress to the Pi’s adress, press control+O (writeout, press enter) and control+X (exit)

python tut01_helloworld.py

Use a browser on any computer in the network, visit:

Pi’s IP adress:8080

You should get a hello world. Press control+C afterwards to exit CherryPy’s demo.
Great stuff! Now everything is ready for Pronterface!

cd /home/pi
git clone git://github.com/kliment/Printrun.git

This will download the latest version of Pronterface/Printrun.

But for the webinterface we need the experimental branch:

cd Printrun
git checkout -b experimental origin/experimental

You can check and change the settings for the Webinterface using Pico:

pico http.config (change it to your IP adress!)
pico auth.config

But first we need to edit Pronterface to enable the webinterface:

pico pronterface.py

Find the line ‘webavail = False’ and change it to ‘True’. Save and exit.

At this point you can run pronterface.py from the GUI (using Python) and your webinterface will be waiting for you!

To enable STL slicing, you can install Skeinforge by typing

sudo apt-get install skeinforge

which will install skeinforge to /usr/share/skeinforge. Slic3r should work, but i haven’t got it operational just yet (a lot of dependencies and stuff required).

More from 3D Printer Accessories

view more

All Apps

Upgrade this Thing with Thingiverse Apps

No results.

AstroPrint is pretty great

I get the same problem as c15da. I get as far as adding the experimental branch and it all falls apart. It looks like the experimental branch no longer exists in the kliment printrun git archive. The beardface archive has a web interface that works, but pronterface doesn't :(
Do you know if the experimental fork has been incorporated into the master fork, or has it been removed?

Question: for replicator 2, how to connect with printer by Printrun? Need help

self.webInterface = None

I changed None to True and it tried to
work, but encountered the same error described here:

So, farther, but not quite to the end result.

(on Ubuntu 12.04)

Bug fix submitted https://github.com/kliment/Printrun/pull/345https://github.com/kliment/Pri...
But as I'm new to GIT it may take a while due to me possibly goofing up the process

Just 2 things.
1: I cannot manage to get it establishing a webserver. It does it fine with HelloWorld, but pronerface is not making one, also I don't think there is a webavail in this version, so idk how to turn it on/make it work

2: I was wondering if there was any other web interface that would allow this to work with a Makerbot, given that it does not accept raw gcode input.


I'd like to collaborate on this. How do we do this?

I sent you a private message (i think) so we can talk a bit.

I wrote that code in pronterface to enable web, and now its on the pi! Awesome! That was the whole reason I wrote it initially and never got around to it - I'll give this guide a test.

I installed this on a netbook with ubuntu I had kicking around. I added Motion and Cambozola for a live video stream. Pretty cool to be able to control and watch my printrbot, haven't figured out how to load a file for slicing from the web-gui though.

Very cool. Nice intructions, they brought up the web interface for me! I'll ty printing from the RPi after I get my case (27009) printed. Thanks!

Thank You Very Much!!!

Let me know if you try it and if you got any tips!

ordering a pi, so It will be a While!

Got mine in less than 24 hours, Farnell had them in stock :)