How to set up a remotely controlled 3D printer

Learn how you can integrate Meshnet into your 3D printing setup for remote control.

Introduction

With the availability of 3D printers swiftly increasing, more and more people have decided to start learning, experimenting, and working with 3D printers. The printers are often used as cost-efficient prototyping tools and supplement many home and office setups.

Leaving a 3D printer unattended can be considered a hazard. However, with adequate supervision, having remote access to your printer can make printing more time-efficient. By implementing Meshnet into your network configuration, you can forego port forwarding and easily access your 3D printer while not being physically present.

This guide showcases how you can turn a Linux device into a remotely accessible 3D printer controller and how to remotely initiate print jobs using slicers over Meshnet.

Before you begin

Make sure you have the following:

  • A 3D printer

  • A Linux device running a supported distribution that will function as the 3D printer controller

  • Installed 3D printer firmware on the Linux device

An example device and firmware pair you may use could be a Raspberry Pi running Klipper or Octoprint.

Note

For firmware installation instructions, refer to your selected firmware’s documentation.

Setting up Meshnet

To enable secure remote connections to your device, you need to install NordVPN and enable Meshnet.

Install NordVPN

Follow these steps to install NordVPN on your controller device:

  1. Download and install the NordVPN Linux client by running the command below.

    sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)

  2. Log in to your NordVPN account.

Log in to NordVPN

You can log in to your NordVPN account without the use of a graphical user interface (GUI) in two ways:

  • By running the nordvpn login command with the --token flag

  • By running the nordvpn login command with the --callback flag

Instructions for both methods are outlined below.

Log in using a token
  1. On any device, log in to your Nord Account dashboard and select the Meshnet (by NordVPN) card.

  2. Under Manual setup, select Set up NordVPN manually.

  3. Enter the verification code sent to your email address.

  4. Under Access token, click Generate new token.

  5. In the dialog that appears, choose either a token that expires in 30 days or one that never expires, and then select Generate token.

  6. Select Copy and close.

  7. On your controller, run the nordvpn login --token <your_token> command, replacing <your_token> with the copied token. Example

    nordvpn login --token 3fe460cefb8dcf1478c92e45908cec9f9bdbadf7a456a6dfb35dc2c58ee39d5b

You should now see a welcome message.

Log in using a URL
  1. Run the following command:

    nordvpn login

  2. Open the provided link on any device in your browser.

  3. Complete the login procedure.

  4. Right-click the Continue button and select Copy link address.

  5. Run the nordvpn login --callback "<URL>" command, replacing <URL> with the previously copied link address. Example

    nordvpn login --callback "nordvpn://login?action=login&exchange_token=MGFlY2E1NmE4YjM2NDM4NjUzN2VjOWIzYWM3ZTU3ZDliNDdiNzRjZTMwMjE5YjkzZTNhNTI3ZWZlOTIwMGJlOQ%3D%3D&status=done"

You should now see a welcome message.

Tip

To preserve your token when logging out of the NordVPN app, use the nordvpn logout --persist-token command. Otherwise, your token will be revoked.

Note

If you encounter the error message “Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock,” enter sudo usermod -aG nordvpn $USER. Then, reboot your controller and log back in.

Enable Meshnet

Upon logging in, you can enable Meshnet on Linux by typing this command:

nordvpn set meshnet on

To check your device’s Nord name and the Meshnet IP address, enter the following command:

nordvpn meshnet peer list

Example

You will also see your Meshnet peer devices with their corresponding permissions.

Setting up 3D slicer software

A slicer is an intermediary that transforms a 3D design file into G-code — a set of instructions that a 3D printer understands. While many printers come with their own slicers, there are various other options that you may choose to use.

This section covers the process of adding the remote Meshnet 3D printer controller using the following slicers on desktop devices:

Note

Certain firmware might limit controller access exclusively to its local network. In these situations, you will need to include the Meshnet IP range 100.64.0.0/10 as a trusted network within your controller's configuration. Refer to the firmware's documentation on how to make such changes.

UltiMaker Cura

Set up Ultimaker Cura

Begin by preparing Ultimaker Cura for use on your device:

  1. Download and install the latest version of UltiMaker Cura for your OS.

  2. Launch UltiMaker Cura.

  3. Follow the instructions provided in the onboarding dialog.

Add your printer controller

For this part, a controller running Klipper is used. By default, such controllers are not recognized by Cura. Due to this, an additional plug-in must be installed.

  1. In the upper-right corner, click Marketplace.

  2. Search for Moonraker and install the Moonraker connection plugin.

  3. Accept the license agreement and restart Cura.

  4. From the menu bar, select Settings > Printer > Manage printers.

  5. In the Preferences window, click Connect Moonraker.

  6. In the Address (URL) field, enter http://, followed by the Nord name or the Meshnet IP address of your controller, and click Create. Example

The printer is now added. After uploading and slicing your model file, choose the Upload to printer option in the lower-right corner of the app to print over Meshnet.

PrusaSlicer
  1. Download and install the latest version of PrusaSlicer for your OS.

  2. Launch PrusaSlicer.

  3. From the main app screen, switch to the Printer settings tab and click the gear button.

  4. In the pop-up dialog, fill in the details of your 3D printer.

    • In the Descriptive name for the printer field, enter a custom name for your 3D printer.

    • From the Host type dropdown menu, select the firmware of your controller.

    • In the Hostname, IP or URL field, enter the Nord name or Meshnet IP address of your controller. Example

  5. Click Test to check whether the connection to the controller can be established successfully.

  6. Select OK to save the changes and close the dialog. Whenever you want to print over Meshnet, select your Meshnet printer option from the Printer dropdown menu on the right of the main app window.

Slic3r
  1. Download and install the latest version of Slic3r for your OS from the Slic3r downloads page.

  2. Launch Slic3r.

  3. From the top menu bar, select Settings > Printer settings. Alternatively, you can click Ctrl + 3 on your keyboard.

  4. Under the Print server upload, fill in the details of your 3D printer.

    • From the Host type dropdown, select the firmware of your printer’s controller.

    • In the Host or IP field, enter your controller’s Nord name or Meshnet IP address. Example

  5. Click Test to check whether the connection to the controller can be established successfully.

Whenever you want to print over Meshnet, select your Meshnet printer profile from the Printer dropdown menu on the right of the main app window.

With the slicer setup completed, you can securely manage your 3D printer without any network or distance restrictions using Meshnet.

Last updated

© 2024 Nord Security. All Rights Reserved.