Repetier-Server Manual


First you should download the latest version of Repetier-Server from our homepage at

  1. Open the downloaded installer.
  2. Click on Yes to start installation.
  3. Click Next > to continue.
  4. Click I Agree to agree to our licence agreement and to continue.
  5. Select the destination folder and click Next > to continue.
  6. Click Finish to close setup.
  7. Repetier-Server starts automatically a new browser window.
    The local URL is: http://localhost:3344


Data Storage

By default the server stores all data in a global directory, which is normally located at C:\ProgramData\Repetier-Server\. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.

Start, Stop and Rerstart Repetier-Server

The Server works as a background service. For this reason, you will never see it in the list of running programs and you never start it directly. It will be started automatically at startup of windows, so you can access it any time with your browser. To start, stop or restart it manually, you can do this in Repetier-Host:

Alternatively, you can follow these steps:

  1. Right click on the Windows Taskbar and start Task Manager.
  2. Click the tab Services.
  3. Right click on RepetierServer and select start, stop or restart. That's all.

  1. Open the downloaded file.
  2. Click Continue to skip introduction page.
  3. You get a read me with short introduction, click on Continue.
  4. You see the EULA, click Continue.
  5. Click Agree to continue.
  6. Choose the install location and click Install.
  7. Enter your username and passwort to allow installation and click Install Software.
  8. Wait a while for the installation to finish.
  9. Click Close to finish installation.


Data Storage

By default the server stores all data in a global directory, which is normally located at /Library/Application Support/Repetier-Server/. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.

Start and Stop Repetier-Server

The server works as a background daemon. For this reason, you will never see it in the list of running programs and you never start it directly. It will be started automatically start with the first initated connection with your browser. To start and stop it manually, open a terminal windows and enter

# Stop server
sudo launchctl unload /Library/LaunchDaemons/com.repetier-server.RepetierServer.plist
# Start server
sudo launchctl load /Library/LaunchDaemons/com.repetier-server.RepetierServer.plist

To install a new version of Repetier-Server download the version matching your computer and open a terminal and go to the download directory. There you enter:

sudo dpkg -i NewRepetierServerVersion.deb

After this, the server should already be running and you can access the interface with http://localhost:3344 or http://<ip address>:3344 if you are running it on a remote linux computer.


Data Storage

By default the server stores all data in a global directory, which is normally located at /var/lib/Repetier-Server/. This directory gets never deleted by updating or uninstalling the server to prevent data loss. If you want to backup your current state, just backup this directory.

Start, Stop and Rerstart Repetier-Server

The Server works as a background daemon. It will be started automatically at startup of linux, so you can access it any time with your browser. To start, stop or restart it, enter the following command in a terminal:

# Start server
/etc/init.d/RepetierServer start
# Stop server
/etc/init.d/RepetierServer stop
# Restart server
/etc/init.d/RepetierServer restart


Upload Config File

The easiest way to set up a new printer is to upload an existing config file. Go to and click on Upload Printer Configuration. Enter a printer name, select the configuration file and click Create Printer. That's all. Maybe you need to change the serial port.

To set the port, select your new printer on the dashboard and go to Printer Settings.

To create a configuration file, go to and click Download Printer Settings in the printer overview.

Configuration Wizard

Another very simple way to add a new printer is our Configuration Wizard. Go to and click on + Add new Printer.

  1. Step 1: Naming
    In the first step you just have to enter the printer name and click Continue with Step 2 .

  2. Step 2: Connecting printer
    Here you have to select, which firmware is used, you have to set the Device / Port. The baud rate can be set to autodetect, which will test the typical rates. In case autodetect fails, you have to set it yourself.

    To speed up communication, the server sends as many commands as possible in a row. To prevent data loss, it is essential to know how many bytes the firmware can store, before the firmware buffer overflows. All known firmwares support at least 63 bytes. Firmwares normally support 127 bytes. If you see a lot of resend requests in the log while printing, the value is too high.

    Click Continue with Step 3 to connect the printer.

    The configuration wizard now tries to read as many data as possible from the firmware. Whatever it detects gets set to the detected values. In the following pages detected values are marked with grene circles.
  3. Step 3: Geometry
    Here you can set the dimensions and bed shape of your printer. Then click Continue with Step 4 .

  4. Step 4: Extruders and bed
    Set the number of extruders and the filament diameter. Typical filament diameters are 1,75 mm and 2,85 mm. Then click Continue with Step 5 .

  5. Step 5: Features
    Check if you have installed a fan, a sd card reader and if you can enable main power with software command. Then click Finizsh Wizard . That's all. Now the most importnant values are set and you should be able to use the printer already. To get most out of your printer, you should visite the printer settings and fine tune the remaining values, e.g. for better time prediction and easier use.

Printer Settings

Select your printer on the dashboard and go to Printer Settings.

Here you can set all printer related parameter. So it is a good idea, to check these settings once your printer works. The settings are split into several categories to make navigation easier. To save the changed settings, press Save Configuration. If you leave settings without saving, you will get a security question to prevent accidential data loss. For parameters which may be difficult to understand you get a popover with detailed information when you click on the text field.

Here you find a manual how to set up a webcam for Windows, Linux and Mac.

Show an Printer LCD Status Line
If your printer has a LCD display, you can select what will be shown in the status line (Do not set status, Show ETA, Show ETE, Show Layer, Rotate).

Reset Script
Here you can set an executable command to reset the printer. Normally not needed as toggling DTR signal will reset printer, but for special solutions you can define a script here.

Heatup and Cooldown Wizard

To calculate exact printing times, you should run the Heatup and Cooldown Wizard. This feature measures heating and cooling speed needed for accurate printing time prediction.

  1. Go to your printer on the dashboard and click Printer Settings Extruder and click Start Wizard.

  2. Make sure your printer has power! Then enter typical temperatures for extruders and beds, then click Start Measurement.

  3. Now you have to wait. The wizard tracks the warming and cooling speeds, which will take some time, especially the cooling of the bed is time intensive.

  4. When sou see Heating and cooling speeds were computed and stored., the wizard is finished. The exact values for Heatup Speed and Cooldown Speed are stored autamatically.

Push Messages

3D printing is cool, but it always takes some time and nobody wants to spend all the time sitting next to the printer. This is where the Repetier-Informer app (the required app is available for Android and iOS devices) enters the scene. This will give you the desired status reports via fast and free push messages to your smartphone and/or tablet.

Click at top right of the browser window on the gear and choose Global Settings Push Messages to configure your push messages. Here you have to enter an informer group you have created in your app and you can specify for which events messages are sent:

  • Print finished
  • Print started
  • Print paused
  • Print stopped
  • Severe error

Preview Images

Repetier-Server creates preview images for all uploaded g-codes and STL files, so that you can easily browse through your models and see them. To set the quality and colors, go to and choose Global Settings Preview Images.

Here you can set the material colors for each extruder. The color settings are used for all printers, so here may be more extruder displayed as you have.

To set the color you can enter the rgb values in hexadecimal format, use our color picker or click Select predefined colors and choose one of our color proposals.

Normally you just have to choose between hard and soft shadows for STL files (G-Codes always have hard shadows). Soft shadows take much more time for rendering. If you select Individual Advanced Settings, you can set all parameters like antialaising quality, shadows, refelctions, colors of bed and horizon, lights, ... manually. Note that some settings can extremely increase the computing time. For all the parameters you will get examples by clicking on .

Printing Costs

With Repetier-Server you can calculate in advance what a print will cost. Click at top right of the browser window on the gear and choose Global Settings Prining Costs to configure your price calculation.

Here you can set your currency, a handling fee (for professional offers) and costs per hour (e.g. electricity prices, hourly usage charge and printer wear). Then you can create any number of filament types and for each a price per kg and a weight per cm³.



With the API key in your Global Settings you can get complete access to the server. This is used to allow servers to communicate with each others or to add connectivity with other software without the use of login/password. Keep it secret or change it if you think it got compromised. To change the API Key, klick the button Replace with new API Key.

If you do not want to give complete access to the server, use the API Key from a User at User Profiles. Here the server gets the same rights as the choosen user.

Alternative Servers

If your server runs on a slow machine, it might be useful to delegate cpu or memory intensive tasks to other Repetier-Server instances on other computers. It is not necessary, that the other instance is configured for any printer. It must be running, that is all that is required. So if you have a pc that runs anyway you might want to add the pc to the list. If no other server in this list is reachable, the server runs the task locally.

To add an new Repetier-Server instance, click the button Add, enter a name, the API key of the instance, the IP address and the port and click the button Apply Changes.

Notice: The server will always try to outsource computations, if there are cloud computers specified. Therefore it is important to enter only more capable and faster computers. The first accessible computer from the top of the list is used, so that the fastest computer should stand at the top.

Server Domain

If you have upset an external route with domain name and port, you can enter the connection data here to show it for example as QR code on the dashboard. Depending on the NAT roules in your router, the port may differ from the port the server really uses.


If a webcam is activated in the printer settings, you can specify that images are taken at predetermined intervals. These images can be played via the website like a video. If you want to export it as an mp4 video, you must install FFMPEG. Free download of FFMPEG (version 1.1 or newer) for all operating systems:

After installing FFMPEG you have to enter the path (eg C:\ffmpeg\bin\ffmpeg.exe or /usr/bin/ffmpeg), that's all. If a remote server is connected, rendering will be outsourced, if the remote server has also FFMPEG installed.

Notice: Alternatively you can install avcanv instead of FFMPEG. Everything will work the same except repeat first/last frame, which will be replaced with no repetition. The executable must be named avconv to be detected automativally.

Threads for Conversion: If you have a multi-core processor, you can specify here how many threads will be used simultaneously to render the video.

Repeat First Frame for: Thus the print does not start immediately on the video, the first picture can be repeated for x seconds.

Repeat Last Frame for: Here the last picture can be repeated for x seconds.

Min. free Disk Space: To avoid that hard disk space runs out while the video is created, here you can specify how much disk space must be at least free, so that the video rendering will start.

Add Watermark: Here you can specify if you want to embed a watermark in the video.

Watermark Position: Here you define, in which corner the watermark appears.

Watermark Image: Here you can upload your own image, which is used as a watermark. The image must be a PNG and may have alpha channel transparency.

Notice: Each webcam has additional settings defined in printer configuration and in the webcam view of the printer.


Here you can register local folders, which you can use to import G-Code or STL files into the server. Typical reasons are usb sticks or frequently used folders to provide new files. You can enter a folder name for each folder. Click Browse to select the folder and Add new Folder to save the folder.

Why Adding a User

Repetier-Server has a user management to assign individual users specific legal rights. Anyone who uses Repetier-Server alone and only in the home network does not necessarily need a user management. But if you would like to have access to Repetier-Server over the internet from anywhere, you should definitely create a user account, otherwise hackers may have access to the your server.

The first created user is a superuser with all rights. Then more users can be created with specialized rights, so that they eg can not change the printer settings.

Add a User

Click at top right of the browser window on the gear and choose User Profiles. To add a new user click Create User. You just have to set a user name and a password, mark the wanted rights and click Create User. The first created user is a superuser with all rights.

After you have created a user, you need to sign in to get access to Repetier-Server.


Every user has an API key. With this API key you can get access to the server with the selected rights. This is used to add connectivity with other software without the use of login/password. Keep it secret or change it if you think it got compromised. To change the API key, click the Edit button for the user and then click the button Create new Key.

Password Forgotten

If you have forgotten a user password, you can reset it if you have another user with configuration rights. As the last radical solution follow these steps:
  1. Stop Repetier-Server (see installation)
  2. Delete the file storagedirectory/database/user.sql
  3. Start Repetier-Server

At the moment Repetier-Server is still in beta status, although there are already a lot of functions implemented and everything is running stable. As long as Repetier-Server is in beta status, you can use all functions without a licence key.

But there are some good reasons to upgrade now from the Free to Pro version:
  • Regular price will be 79,99 €, now you pay 49,99 € and save 30,- €!!!
  • If you upgrade to the Pro version now, you can use the license key for 5 parallel installations.
  • After expiration of the beta status you can use all functions regularly.
  • For updates you automatically receive in the future all the new features.
  • Your contribution helps the programmers to cover a part of the current development costs.
Here you can buy your license key.

To upgrade Repetier-Server to Pro version, go to Register, enter your License Key and click Activate License. To activate the license key an internet connection must exist.

To deactivate an existing license key, click Deactivate License. To activate the license key an internet connection must exist. When the license is deactivated, the key will be stored and displayed in the license key field, so that you can activate it at any time easily.

Access a device from everywhere is a bit tricky, if you haven't done it before. First you should make sure that the computer running the server always has the same ip address. You can give it a static ip address or you teach your DHCP server to give it always the same ip address. For this, DHCP servers can bind a ip address to the computers MAC address. You can see the MAC on the dashboard . For those still wondering where this DHCP server is - it is typically a part of your network router connecting you to the internet. You should run this step even you do not want a worldwide access, simply to make it easy to access your printer and your webcam inside your house with the same URL.

Your router has only one external ip, so it is normally not possible to access any device behind this from outside. Most routers allow a trick called network address translation. Lets assume your server computer always gets the local ip address and runs there on port 3344. Now we add a new entry in the NAT table on your router. We say it should map port 2000 to From this time it is now possible to enter your external ip with port 2000 and you will see the server user interface.

If you do not have a static ip address, like most of us, you are still in trouble. Your ip might change any time and then you can not connect from outside. The solution here is DynDNS. It allows a nameserver to change the ip, when your router gets a new ip address. Most routers support DynDNS out of the box for some systems. If it does not or if you want a free DynIP solution, have a look at They provide a free entry and also show how to set it up for many platforms. Once you have set up your DynDNS solution, you have a simple url that works as long as your router is online and the server computer running. It could then look like The name comes from your DynDNS setup and the 2000 is the port you have set in your router NAT table.

Note: Since IP V4 address pool is used up, providers start using IP V6 to IP V4 mappings. Depending on the used solution, port forwarding may not work for you.

Notice: When a printer is marked as active, the server will automatically connect to the printer. This implicates that you can not connect with any other software like Repetier-Host to the printer. We recommend to connect Repetier-Host to Repetier-Server, what gives you even more advantages. If you want to use the printer with another software, deactivate the printer on the dashboard .

Printer Control

In the top navigation bar, you can access the following menu items:
  • : Click here to go to the dashboard.
  • : Here you can switch between all printers. You also see the current printer status of all printers.
  • : Here you get messages for special events like print finished or paused. You need to delete them in the menu by clicking the red button. In case of a paused message, the print will continue when you click on the red button.
  • : Here you can switch between full screen and normal view in the browser.
  • : Here you get to the main configurations, register the pro version, open the manual and you can log out.
  • : Here you can select your language.

This is the starting point where you get a quick overview of all printer activities. For each printer you see:
  • The color of the headline indicates the connection status (green = online, red = offline, grey = deactivated, orange = connected, but no communication).
  • The menu allows you to Activate / Deactivate the printer, edit Printer Settings, Download Printer Settings or Replace Printer Settings and Remove Printer.
  • The temperature graph shows the temperature of the current extruder.
  • The progress bar shows the printing progress and job being processed.
  • The Go to Printer button sends you directly to the printer control page.
Above you see how much disk space is still available, so that you can act in time if it is running out.

Under Network you can see your IP address, MAC address and the URL to access the server with a different PC, smartphone or tablet. Also you can scan the QR Code with a smartphone or tablet to open the URL.

All G-Codes are stored in groups, so that related objects can be managed clearly in a separate group. If no group is assigned, the group DEFAULT is used automatically. Click Add Group to create a new group and Delete Group to delete the selected group. If the group is not empty, you get a security question. Here you have to chose if the files shall be moved to default group or if the fils in this group shall get deleted.

Important: All imported files get stored in the selected group. If the current group is ALL, it will be stored in the DEFAULT group.

To upload new G-Codes click the Upload G-Code button. To upload and start printing directly, use the Direct Print button.

Click on the right side of the Upload G-Code button to open the dropdown menu. Here you have three more options to import G-Codes:
  1. Enter an URL to download and import a G-Code from the internet.
  2. Click Dropbox to open your Dropbox online account. This fiels only appears, if the domain is localhost or If you are not online, this field will not also appear. If not already done, you have to log in with your Dropbox access data. The selected files will get downloaded and imported.
  3. If you have defined folders in Global Settings Folders, they are displayed here. Click on the folder to browse through the folder content.

    Here you can import multiple G-Codes. Use double click to import a single file.

The search box allows you to search by file name in the selected group. The results are automatically displayed as you type.

Here you can select the display types of your G-Codes:

G-Code information without images
G-Code information with small images
256 pixel wide images without G-Code information
512 pixel wide images without G-Code information

By clicking a heading you can sort all entries ascending or descending.

Click to start printing. If a job is already running, this will add the job to the print queue.
Click to get a G-Code preview.
Click to get detailed information including price calculation:

When a job is running, you see a progress bar with ETA (Estimated Time of Arrival) and ETE (Estimated Time Enroute) and you can pause or stop the job.

If you start more than one job, you get a print queue. After a job is finished, you have to start the next job by clicking .

G-Code Preview

Here you can check and visualize your G-Code before you print. In 2D Preview you always see the currently selected single layer. That way we can visualize even very big G-Codes, which normally would not fit into RAM. The server also only downloads the currenty viewed layer to minimize traffic.

With you can slide through the layers or use for exact layer navigation.
With you see the move order for this layer.

Click Download to download the G-Code. Click 3D Preview to see a rendered image of the model.

When you click on G-Code you see the complete G-Code of the current layer. To switch back to preview click 2D Preview.

You find these basic controls on all printer pages ( Print, Control, Console and Webcam):

If you click on the respective button, the corresponding control panel will open.


You can quickly change the speed with the round slider or by clicking on the number in the middle. The speed is relative to the G-Code speed, so 100 means original speed and 150 means 50% faster than planned. Changing the speed will not changed the calculated times correctly. If you have changed your speed, you do not have to change the flow. Increasing speed may reduce the print quality.


You can quickly change the flow with the round slider or by clicking on the number in the middle. The flow changes the amount of extruded filament. If you see that you get not enough extrusion, you can increase the value. If you see filament piling up to high you should reduce it. Ideally your slicer should contain the right flow multiplier, so that you always print with 100%. If you change the speed, you do not have to change the flow.


You can quickly change the fan speed with the round slider or by clicking on the number in the middle. If you are printing, the G-Code may contain fan controlling commands which can overwrite your settings. Below the slider you can switch the fan power on and off without changing the value.


You can quickly change the temperature of the current extruder with the round slider or by clicking on the number in the middle. If you have defined temperature values in your printer settings, they get displayed below, so that you can click them directly.
To set these predefined values go to Printer Settings Extruder Predefined Extruder Temperatures.

Heated Bed

You can quickly change the bed temperature with the round slider or by clicking on the number in the middle. If you have defined temperature values in your printer settings, they get displayed below, so that you can click them directly.
To set these predefined values go to Printer Settings Extruder Predefined Bed Temperatures.

On this page you can control and visualize your printer. The left top shows your print bed with current coordinates. If you are not printing, you also see three sliders which you can use to move your head. Make sure you have homed before you do this!

On this page you find these additional controls:
  • Zooms to fit the complete bed.
  • Zoom in
  • Zoom out
  • Enables scroll wheel for zooming.
  • Homes one or all axes axis.
  • Turns motors off.
Click to see the temperature curves of your extruders and heating bed. You can quickly change the temperatures with the round slider or by clicking on the temperature in the middle. Each heater has also a menu, where you can select a predefined temperature, turn heater off and in case of extruders open the Extrude & Retract dialog.

The console gives you direct access to the firmware. With the Commands and ACK switch you can set which part of the communication you want to see. You will always see special firmware responses.

ACK filters background handshake which is normally of no interest.
If Commands is enabled, you will see all comands send to the printer.
The Pause Log switch pauses logging until disabled. This allows you to scroll through the last stored lines.

Below the switches comes the command input. Enter your G-Code and enter Return or click Send to submit your G-Code. The Commands menu allows you to send predefined scripts to the firmware.

If you have configurated a webcam in your printer settings (see configurations for Windows, Linux and Mac), you can watch your printer at work from everywhere. You can choose Video or Single Images to save traffic.


Another really cool feature is our timelapse function. To use this you have to set the Static Image URL for your printer in Printer Settings Webcam (see configurations for Windows, Linux and Mac). Here you also can set the orientation of your webcam ( ), so that it gets displayed correctly.

To make timelapse videos click Webcam in your printer and click Timelapse:

Here you see the Timelapse Video Settings for your printer.

You can set Timelapse Recording to Off (no images get stored), Next Print (only for the next print images get stored) or Always (images get always stored). While capturing the image is displayed on the webcam video.

Under Shoot Images you can set how often an image shall be saved. You can can save pictures every x layer, seconds or mm in height. Notice: Every x layer will not work if you print in vase mode.

If you have entered the path to FFMPEG in Global Settings Timelapse, you can define a Framerate and a Bitrate for the generated mp4 video. If you did not install FFMPEG, you can still record images and view them like a video with our image player.


To view, download or delete existing records, click Records.

Here you see all captured timelapse videos, images and the current capturing.

View video, images and details
Download mp4 video
Delete images and videos
Stop running record

To delete multiple videos, you can select them and click Delete Selected. Use to select all and to deselect all.


If you click in Records you will see some details and the image video player below.

Click Video to download the mp4 video and Images to download all captured jpg images in a zip file. If you want to render the video with new bitrate and/or framerate settings again, click Recreate Video. Delete will delete the video and all images.

Below you see the image video player, where you can scroll through using the buttons:

Stops playback
Plays the video at normal speed
Plays the video at normal speed backwards
Plays the video quickly
Plays the video backwards quickly
Shows at pause the next image
Shows at pause the previous image

With Images and Video you can switch between image and video player.
If your printer runs Repetier-Firmware, you can change many firmware options in the printer EEPROM page. Click Printer EEPROM in your current printer. This option appears only if your printer runs Repetier-Firmware.

Changed values are marked in green, as long as they have not been saved. Incorrectly entered values he will be marked red. Click Save to save changes.

If you want to change some values, you should export and save your current eeprom settings. Click Export EEPROM Data to save the current settings as .epr file. If you want to load saved settings into the editor, click Import EEPROM Data. The loaded settings that match position and type of the viewed settings will be replaced by the loaded values. To store them into eeprom, click Save.
Sometimes it is needed to check what exactly happend. For this reason the server can log the communication with the printer. The standard log is called connected and gets only created if you have selected Log communication when idle. If you have a running job, the communication gets logged into a file with the name of the job, if Log communication when printing is selected. You reach your logs in your printer pages over Print Logs.

With these printer logs it is easy to find the log which contains the communication you are interested in. The number of logs is limited to 5, so if the limit is reached and a new log gets created, the oldest log gets deleted automatically. The log which is currently being written is marked by a before log name. To see a log you have to download it and watch it with an external text editor. The text file is with unix file separators, so you need a text editor that handles this correctly (not Notepad, but WordPad works).

Normally you can not upload a new firmware to your printer while the server is connected with your printer. To make it easy, we have added a firmware uploader that takes care of this. In addition you now do not need to connect your printer to your pc for uploading firmware if you had connected it to a diferent computer like a Raspberry Pi. Go to the printer you want to update an click Firmware Upload.

Here you have to select your printer board type, upload your new firmware hex or bin file and wait until it is finished. Firmware updating has never been easier.

Where to get your firmware hex or bin file?

If you have a preassembled printer, you might get it directly from your printer vendor. If you have sources, you most probably need to compile it yourself using the Arduino IDE. Follow the normal instructions for your firmware. The only difference is, that at the end you do not hit the upload button, but the Verify button left to the upload button. This will compile the firmware and create the image file. If you had enabled Show verbose output during compiation in Arduino IDE preferences, the log will show you the storage directory.

In the case of an emergency, a hardware reset is the best and quickest solution. If the printer does not have a reset button or you are not near your printer, you can use our Emergency Stop. This will send a M112 command to your printer. The command is not processed until the buffer is empty, it may therefore take a few seconds to affect. For M112 different actions can be set in the firmware. Please test in advance what happens when you click Emergency Stop.

Advanced Themes

If you have a printer with touchscreen, the operability of the regular pages of Repetier-Server can be too complicated and depending on hardware and screen resolution too complex and memory intensive. For this reason we have developed customized interfaces for common touchscreen sizes with different resolutions.

The surfaces are optimized for the selected resolution and can be operated intuitively. The design can be easily adapted in size and design with HTML and CSS knowledge, which is particularly interesting for printer manufacturers who want to offer this with their own branding. More about adapting can be found on our website.

The touchscreen web pages can be accessed at the following URLs:

800 x 480 pixels: http://localhost:3344/mod/front/800x480/index.html
1024 x 600 pixels: http://localhost:3344/mod/front/1024x600/index.html
1024 x 800 pixels: http://localhost:3344/mod/front/1024x800/index.html
1280 x 800 pixels: http://localhost:3344/mod/front/1280x800/index.html

Important: As soon as a user has been created, the touchscreen interface can only be accessed with http://localhost:3344. For all other IP addresses automatic authorization is missing.

Note: Repetier-Server runs smoothly on Windows tablets like Dell Venue 8 Pro. Since the resolution relative to the size is very high, this can partially better be handled using this touchscreen inteface.

On this page we show you how to set up a Linux pc like Raspberry Pi to boot and start the front end on a connected display.

Calling External Commands

Sometimes it is usefull to be able to call some external commands from the web interface. For example if you are running the server from a Raspberry-PI and want to shut it down, it would b econvenient to do so savely without opening a ssh terminal. For that reason you can extend the top right menu with external commands, which then appear there. On the other side you might want to run some commands on special positions of the print. The server therefor has the @execute command allowing to call an external programm. For security reasons it is not possible to call arbitrary commands. Instead you have to write a extcommands.xml file which you drop in your databbase subdirectory inside your storage directory (see installation where this is for your os).

Below you see an example of such a code. After adding/changing the file, you need to restart the server. Make sure your file keeps valid!

       If you want to run external commands, enter them in this configuration with
       full path. You will see them in the main menu. Copy this file into the
       <storage>/database directory.

       Security consideration: The reason there is no online editor for this is simply
       security. The commands you enter here are executed with the privileges of the
       daemon running the server. If you would allow online configuration, a hacker could
       simply add any command he needs to hack your system.
		<name>Shutdown Server</name>
		<execute>sudo /sbin/shutdown -h now</execute>
		<confirm>Really shut down the server?</confirm>
		<name>Reboot Server</name>
		<execute>sudo /sbin/shutdown -r now</execute>
		<confirm>Really reboot the server?</confirm>

        G-code files can contain
        @execute cmd param1 param2
        commands. To prevent external users from executing unwanted or dangerous commands,
        only commands defined here are allowed to execute. More over, only the shortcuts
        defined here are to be used as cmd in @execute. Prevent parameter where ever possible.
	<execute name="play" allowParams="true">/usr/bin/afplay</execute><!-- play the sound file on moc os x -->

All commands get executed with the user account and privileges the server daemon runs. So if you want to allow it to shutdown your computer, you need to add RepetierServer to the list of allowed users. To do this, open a shell and enter the following commands:

# sudo -s
# echo "repetierserver ALL=NOPASSWD: /sbin/shutdown" > /etc/sudoers.d/repetierserver-shutdown

Alternative Startup Configuration Settings

By default the installer creates a startup configuration file RepetierServer.xml, which defines most important start parameter like storage location and a port to listen to. Because this gets overwritten with each update, we provide a mechanism to change these parameters permanently. In addition to this config file, the server tries to load two more config files if present. These files are RepetierServer-extra.xml at the same location where RepetierServer.xml resides (installation directory/bin/ for Windows and intsallation directory/etc/ for Linux and Mac) and storage directory/database/RepetierServer.xml.

Sometimes you might want to initate actions at special positions of the G-Code beeing send. To allow this, you can add server commands inside the code. Server commands start with @ or ;@. Use the latter if the code should also woek without the server. Then it would be handled as a simple comment and gets ignored. You can also send these commands over the console panel.

@pause some text

Use this to pause at a predefined position. Add some text to give a hint on why you did pause. If push messages are enabled for pauses you will get also a message on your smartphone.

@message some text

Puts the message into the message queue. Usefull to get some timings or why ever you might want a message.

@pushmessage some text

Sends a push message if enabled with the text.

@execute cmd param1 param2

If you have set up a extcommands.xml with some execute statements, you can run them with @execute. cmd should match the name given with name attibute. Additional parameters are only added if this was allowed in extcommands.xml.


Marks the current position as at home coordinates. Usefull if your printer has no endstops yet.


This command tries to reset the printer with the DTR/RTS signal toggle. Not all printers can be reset that way!


Writes the IP address on the LCD display.


Creates a communication error.


Starts the next job in the print queue automatically as soon as the currently running job is completed.
Note: This is intended for printers that clear the bed automatically, because otherwise it will be printed on the full printing bed, which can cause damage!


Disables @autostart_next_job.


Displays important communication variables.


Send this to log extended communication behavior. Send it again to stop it.

Rendering Commands

Rendering commands have no influence on the print itself. They only influence how the G-Code renderer creates the preview images.


Ignore next print moves for object size calculation. This is interesting if you make a extrusion at a fixed position. Then the server will include that into the size and that may lead teh rendere to show a much too small object.


Stops the @nosize command from neglecting size computation. Never forget this if you use @nosize. They should always come as a pair.

@extruderColor <extrId> #RRGGBB

Forces the G-Code renderer to use the given color for extruder ID (extrID). Extruder ID starts with 0 for extruder 1. Example: @extruderColor 0 #ff0000


  • G0 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
    Coordinated Movement X Y Z E, S1 disables boundary check, S0 enables it
  • G1 X<xpos> Y<ypos> Z<zpos> E<epos> F<feedrate>
    Coordinated Movement X Y Z E, S1 disables boundary check, S0 enables it
  • G4
    Dwell S<seconds> or P<milliseconds>
  • G10 S<1 = long retract, 0 = short retract = default>
    Retracts filament accoridng to stored setting
  • G11 S<1 = long retract, 0 = short retract = default>
    Undo retraction according to stored setting
  • G20
    Units for G0/G1 are inches.
  • G21
    Units for G0/G1 are mm.
  • G28
    Home all axis or named axis.
  • G29 S<0..2>
    Z-Probe at the 3 defined probe points. S = 1 measure avg. zHeight, S = 2 store avg zHeight
  • G30 P<0..3>
    Single z-probe at current position P = 1 first measurement, P = 2 Last measurement P = 0 or 3 first and last measurement
  • G31
    Write signal of probe sensor
  • G32 S<0..2> P<0..1>
    Autolevel print bed. S = 1 measure zLength, S = 2 Measue and store new zLength
  • G90
    Use absolute coordinates
  • G91
    Use relative coordinates
  • G92
    Set current position to cordinates given
  • G131
    Set extruder offset position to 0 - needed for calibration with G132
  • G132
    Calibrate endstop positions. Call this, after calling G131 and after centering the extruder holder.
  • G133
    Measure steps until max endstops for deltas. Can be used to detect lost steps within tolerances of endstops.
  • G134 Px Sx Zx
    Calibrate nozzle height difference (need z probe in nozzle!) Px = reference extruder, Sx = only measure extrude x against reference, Zx = add to measured z distance for Sx for correction.

RepRap M Codes

  • M104
    Set extruder target temp
  • M105
    Read current temp
  • M106
    Fan on
  • M107
    Fan off
  • M109
    Wait for extruder current temp to reach target temp.
  • M114
    Display current position

Custom M Codes

  • M20
    List SD card
  • M21
    Init SD card
  • M22
    Release SD card
  • M23
    Select SD file (M23 filename.g)
  • M24
    Start/resume SD print
  • M25
    Pause SD print
  • M26
    Set SD position in bytes (M26 S12345)
  • M27
    Report SD print status
  • M28
    Start SD write (M28 filename.g)
  • M29
    Stop SD write
  • M30 <filename>
    Delete file on sd card
  • M32 <dirname>
    Create subdirectory
  • M42 P<pin number> S<value 0..255>
    Change output of pin P to S. Does not work on most important pins.
  • M80
    Turn on power supply
  • M81
    Turn off power supply
  • M82
    Set E codes absolute (default)
  • M83
    Set E codes relative while in Absolute Coordinates (G90) mode
  • M84
    Disable steppers until next move, or use S<seconds> to specify an inactivity timeout, after which the steppers will be disabled. S0 to disable the timeout.
  • M85
    Set inactivity shutdown timer with parameter S<seconds>. To disable set zero (default)
  • M92
    Set axisStepsPerMM - same syntax as G92
  • M99 S<delayInSec> X0 Y0 Z0
    Disable motors for S seconds (default 10) for given axis.
  • M104 S<temp> T<extruder> P1 F1
    Set temperature without wait. P1 = wait for moves to finish, F1 = beep when temp. reached first time
  • M105 X0
    Get temperatures. If X0 is added, the raw analog values are also written.
  • M112
    Emergency kill
  • M115
    Capabilities string
  • M116
    Wait for all temperatures in a +/- 1 degree range
  • M117 <message>
    Write message in status row on lcd
  • M119
    Report endstop status
  • M140 S<temp> F1
    Set bed target temp, F1 makes a beep when temperature is reached the first time
  • M163 S<extruderNum> P<weight>
    Set weight for this mixing extruder drive
  • M164 S<virtNum> P<0 = dont store eeprom,1 = store to eeprom>
    Store weights as virtual extruder S
  • M190
    Wait for bed current temp to reach target temp.
  • M200 T<extruder> D<diameter>
    Use volumetric extrusion. Set D0 or omit D to disable volumetric extr. Omit T for current extruder.
  • M201
    Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
  • M202
    Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000)
  • M203
    Set temperture monitor to Sx
  • M204
    Set PID parameter X => Kp Y => Ki Z => Kd S<extruder> Default is current extruder. NUM_EXTRUDER=Heated bed
  • M205
    Output EEPROM settings
  • M206
    Set EEPROM value
  • M207 X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
    Changes current jerk values, but do not store them in eeprom.
  • M209 S<0/1>
    Enable/disable autoretraction
  • M220 S<Feedrate multiplier in percent>
    Increase/decrease given feedrate
  • M221 S<Extrusion flow multiplier in percent>
    Increase/decrease given flow rate
  • M228 P<pin> S<state 0/1>
    Wait for pin getting state S. Add X0 to init as input without pullup and X1 for input with pullup.
  • M231 S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove>
    Set OPS parameter
  • M232
    Read and reset max. advance values
  • M233 X<AdvanceK> Y<AdvanceL>
    Set temporary advance K-value to X and linear term advanceL to Y
  • M251
    Measure Z steps from homing stop (Delta printers). S0 - Reset, S1 - Print, S2 - Store to Z length (also EEPROM if enabled)
  • M280 S<mode>
    Set ditto printing mode. mode: 0 = off, 1 = 1 extra extruder, 2 = 2 extra extruder, 3 = 3 extra extruders
  • M281
    Test if watchdog is running and working.
  • M300 S<Frequency> P<DurationMillis>
    Play frequency
  • M302 S<0 or 1>
    Allow cold extrusion. Without S parameter it will allow. S1 will disallow.
  • M303 P<extruder/bed> S<printTemerature> X0
    Autodetect pid values. Use P<NUM_EXTRUDER> for heated bed. X0 saves result in EEPROM.
  • M320
    Activate autolevel
  • M321
    Deactivate autolevel
  • M322
    Reset autolevel matrix
  • M323 S0/S1
    Enable disable distortion correction P0 = not permanent, P1 = permanent = default
  • M340 P<servoId> S<pulseInUS>
    servoID = 0..3, Servos are controlled by a pulse with normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
  • M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1>
    Set microstepping on RAMBO board
  • M355 S<0/1>
    Turn case light on/off, no S = report status
  • M360
    Show configuration
  • M400
    Wait until move buffers empty.
  • M401
    Store x, y and z position.
  • M402
    Go to stored position. If X, Y or Z is specified, only these coordinates are used. F changes feedrate fo rthat move.
  • M450
    Reports printer mode
  • M451
    Set printer mode to FFF
  • M452
    Set printer mode to laser
  • M453
    Set printer mode to CNC
  • M500
    Store settings to EEPROM
  • M501
    Load settings from EEPROM
  • M502
    Reset settings to the one in configuration.h. Does not store values in EEPROM!
  • M513
    Clear all jam marker.
  • M600
    Change filament
  • M601 S<1/0>
    Pause extruders. Paused extrudes disable heaters and motor. Unpausing reheats extruder to old temp.
  • M602 S<1/0> P<1/0>
    Debug jam control (S) Disable jam control (P). If enabled it will log signal changes and will not trigger jam errors!
  • M908 P<address> S<value>
    Set stepper current for digipot (RAMBO board)

We offer manufacturers and vendors the possibility to create a custom branding for Repetier-Server with own name, logo and colors and to distribute this customized version to their customers. For this a license code is required in any case. On request we offer licence codes for resellers at reduced rates.

Here we show how to create your own branding of Repetier-Server.

If you want to customize the touchscreen interface, click here.

About Us | Privacy Policy