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:
Download and install the NordVPN Linux client by running the command below.
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 logincommand with the--tokenflagBy running the
nordvpn logincommand with the--callbackflag
Instructions for both methods are outlined below.
Log in using a token
On any device, log in to your Nord Account dashboard and select the Meshnet (by NordVPN) card.

Under Advanced settings, select Get access token.

Enter the verification code sent to your email address.
Under Access token, click Generate new token.

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

Select Copy and close.
On your controller, run the
nordvpn login --token <your_token>command, replacing<your_token>with the copied token. Example
You should now see a welcome message.
Log in using a URL
Run the following command:
Open the provided link on any device in your browser.
Complete the login procedure.
Right-click the Continue button and select Copy link address.
Run the
nordvpn login --callback "<URL>"command, replacing<URL>with the previously copied link address. Example
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:
To check your device’s Nord name and the Meshnet IP address, enter the following command:
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:
Download and install the latest version of UltiMaker Cura for your OS.
Launch UltiMaker Cura.
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.
In the upper-right corner, click Marketplace.
Search for
Moonrakerand install the Moonraker connection plugin.
Accept the license agreement and restart Cura.
From the menu bar, select Settings > Printer > Manage printers.

In the Preferences window, click Connect Moonraker.
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
Download and install the latest version of PrusaSlicer for your OS.
Launch PrusaSlicer.
From the main app screen, switch to the Printer settings tab and click the gear button.

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

Click Test to check whether the connection to the controller can be established successfully.
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
Download and install the latest version of Slic3r for your OS from the Slic3r downloads page.
Launch Slic3r.
From the top menu bar, select Settings > Printer settings. Alternatively, you can click Ctrl + 3 on your keyboard.

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

Click Test to check whether the connection to the controller can be established successfully.
Under the Printer settings tab, click the Save current printer settings button, enter a custom name for the profile, and click OK to create the new profile.

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
Was this helpful?