How to add remote control to 3D printer

posted in: Elite | 0

Working with the 3D printer without proper server support is quite cumbersome. You need to connect your computer to the printer via USB cable and keep it connected throughout the print process. Long prints can make your computer tired and put it to “sleep” mode leaving you with a partially printed model.

Another way is to dump the gcode file into the printer SD card and print from it. It is safer than using direct printing from your computer. However, It does involve:

  1. Taking the SD card out of the printer.
  2. Inserting it into your computer.
  3. Dumping the file to it.
  4. Ejecting the SD card.
  5. Placing it into the printer.
  6. Starting the print from the printer control panel.

This process is cumbersome. It slows down your printing activities and reduces your efficiency.

Lucy for us, now it becomes affordable to add a small server device to the 3D printer. First, you will need a proper hardware for that.

Raspberry pi 3 has it all. With 4 cores and 1 GB ram, it is a robust computer that can operate as a desktop computer. It has credit card size and doesn’t need fans to keep it cool. We use it as hardware device – plug in and out in normal operation. Its power consuming is very low so you can keep it plugged in constantly.

Raspberry pi drive 3D printer
Raspberry pi drive 3D printer

Using this device is simple. Just connect it to power, setup your WIFI network name and password. Select static IP for it, install server program and it is ready to go.

Use USB cable to connect your printer to it. From now on you will not have to physically connect to the printer anymore. You will send your commands and prints to it and it will handle everything. Using this device is a classical “Internet of things” device.

You need to setup the Raspberry pi to use your WIFI network, password and IP address. Then you need to install a proper server – see below.

After initial setup, you don’t need to maintain it in any way – it just works. It allows you to remote control your printer from a computer, tablet cell phones etc. Adding a small video cam allows you to see the printer operation from a remote location and verify that the printing process continues as it should. (The model was no detached during print and the printer is not printing in mid-air).

For detailed instructions on setting Raspberry pi device, you can read this article.


Alternative interesting hardware is the FlashAir from Toshiba. It is a system on SD card that runs Linux. You insert it into the printer’s SD port, and it becomes Linux machine with WIFI. This saves you some space near the printer for the Raspberry pi computer and the USB cable running around. Whenever the 3d printer is powered on, the SD card gets power also. I keep my printer powered off between prints because of the fan noise. So, to use this device, you need to power on the printer.
You can read about this device here.

FlashAir- Linux on SD card
FlashAir- Linux on SD card



This concludes the hardware requirements. Now let’s take a look at the software involved.


The available server programs

For controlling the printer and answering your commands, we need to use an “application”. (Formally known as “server” program). There are several programs available that do similar things. All the programs have a web interface. So you can connect to them by using a browser.



This is the software I use, as I use Repetier-Host as the program to load/slice/upload STL and gcode files. It is natively handshake with Repetier-Host. It allows you to fully control your printer from Repetier-Host program on your computer.  I find the Repetier-Host GUI more easy to use than the web interface.  I usually start printing new designed using Repetier-Host on my computer. To save time, I preheat the printer and then upload the gcode to it. Then I issue the command to print it.

It has a web interface, so I can control the printer using tablet/cell phone. This is handy if I want to initiate printing of a part that exists on the server. To open it in a web browser you need to code the printer IP number, colon and the default port which is 3344.

Installing this server on Linux machine might be a little tricky as it needs some dependencies resolved. You can download it from here.

The regular server is free. The “pro” version cost $43.

Repetier-Server web interface
Repetier-Server web interface


And here is the companion program Repetier-Host GUI:

Repetier-Host GUI
Repetier-Host GUI




Open source python program. Allow the operating of the printer (seems to be on low-level basis). You communicate with it through a browser.

You can download it from here.

Pronterface (printrun) GUI




Open-source 3D printer project using Python.

Comes with nice built-in support for a webcam. You can see your printer in action and intervene in a case of an emergency.

The Octoprint server contains software allowing third party vendors to create plugins to it. So it might have a plugin interface to the slicing program you use on your computer.

It contains the ability to upload STL file and slice them to gcode locally on the server. This opens the ability to use tablets/cell phones for the whole cycle of part design. You can design a part in Tinkercad using a tablet. Load it to the server and slice it there.

You can download it here.

Octoprint GUI


So, what did we have?

Using WIFI device for your 3D printer opens a whole new life for us. We don’t need to be hooked to our 3D printer and babysit it while it prints. Setting up Raspberry pi server requires several hours of setting. You might want to save yourself the setup time. I have found a vendor on eBay that sells complete server for just $99.



Leave a Reply