How to set up a remotely controlled 3D printer
Learn how you can integrate Meshnet into your 3D printing setup for remote control.
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.
Make sure you have the following:
- A 3D printer
- 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.
To enable secure remote connections to your device, you need to install NordVPN and enable Meshnet.
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.
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.
- 1.On any device, log in to your Nord Account dashboard and, under NordVPN Meshnet free, select View details.
- 2.Scroll down until you see Manual setup, and select Set up NordVPN manually.
- 3.Enter the verification code sent to your email address.
- 4.Under Access token, select 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. Examplenordvpn login --token 3fe460cefb8dcf1478c92e45908cec9f9bdbadf7a456a6dfb35dc2c58ee39d5b
You should now see a welcome message.
- 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. Examplenordvpn 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.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.
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.Begin by preparing Ultimaker Cura for use on your device:
- 1.
- 2.Launch UltiMaker Cura.
- 3.Follow the instructions provided in the onboarding dialog.
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.
- 1.
- 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.
- 1.
- 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.
- 6.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.