Repetier-Host Documentation
Installation
Prerequisites
Before you start with the installation, you should check if your computer meets the requirements. Currently available computers should have no problems at all. If you have an old computer running Windows XP you may have difficulties. The Host works on Windows XP and later and on Linux. If you have a Macintosh computer, check for the Repetier-Host Mac on this site. All you need is .NET framework 3.5 or a recent Mono installation, if you are running Linux. The only other requirement is a graphic card with OpenGL. For a good rendering performance OpenGL 1.5 or higher is needed. With lower versions you may have speed issues with live preview.
Getting the software
Go to the download page and fetch the latest version for your os.
Windows installation
The windows version comes with a installer. After downloading run the installer and you are done. The installer already contains Slic3r and Skeinforge for slicing and python and pypy, which are needed to run Skeinforge.
Linux installation
The linux version comes as gzipped tar file. Move it to where you want your files and unpack its contents and run the post installation script:
tar -xzf repetierHostLinux_0_70b.tgz cd RepetierHost sh configureFirst.sh
After that you have a link in /usr/bin to the installation, so you can start it with repetierHost. Make sure you have all required Mono libraries installed. If you are in doubt, install Mono develop, which has all needed libraries as dependency.
One problem that most linux distributions have is, that the normal users are not allowed to connect to a serial console. You need to put your user into the right group. On Debian you can call:
usermod -a -G dialout yourUserName
to add your user to the group dialout.
Configuration
First start
After the first start a dialog may pop up asking you, where your work directory should be. The latest windows versions skip this step, because the installer already created a work directory for you. You can select any directory, where you have write privileges, but it is advised to use a separate directory for this purpose.
The work directory is, where the host will put temporary stl files, sliced results and if enabled the log file.
Configuring your printer
The next step should be, to configure your printer so you can connect your computer with the host. Make sure your printer is connected and enabled. Some printer need special driver to access the device, so make sure the drivers are also installed. If you have uploaded the firmware to your printer, the driver is already installed.
Go to the menu “Config”->”Printer settings”. You will see a window like this:
At the top you see a drop down box, with the currently selected printer. At the start you have only the default printer. To create a new printer you only need to change the printer name and press “Apply”. the new printer will start with the same settings as the last selected printer.
Below the drop down box you see four tabs with most off the data stored with the printer configuration. In addition to this, for each configuration a start/end/pause/kill and five user defines scripts are stored with configuration. These can be changed in the g-code editor, which is described in a different chapter.
In this first tab, you set how to connect with your printer. In “Port” you select the port, where your printer is connected. At the opening of the window, all available ports were scanned and added to the list. Select the right one. Then select the baud rate entered into the firmware. Stop bits and parity are correct for 99,9% of the printer, so leave them untouched.
The transfer protocol determines, how the host will communicate with the printer. All supported firmwares work in ASCII mode. The Repetier-Firmware also supports a binary format. The advantages of the binary format are:
- Reduced data size. Normal data is reduced to 50%.
- Better error correction.
- Less computation time needed for the firmware to parse the data.
You can leave this on “Auto detect”, which will automatically switch to binary format if Repetier-Firmware is detected. For all other firmwares, the ASCII communication is used.
The next decision is, how to send data to the firmware. The method that was planned with the first firmwares works like ping-pong. The host send a command and waits for the firmware to return an ok. This causes latencies, which can result in empty buffers if you have many small moves. To improve speed, you can allow the host to send more then one command at once. Your printer has a input buffer. As long as you are sending not more then the size of the buffer, you can send more then one command if they fit into the buffer. So if you disable the ping-pong mode, the host will send up to “Receive cache size” bytes, before it waits for the ok, telling him that the command is processed. If you are unsure on the printer buffer size select 63, which works on all printers. Firmware compiled with Arduino versions before 1.0 even allow 127 bytes.
The second tab defines important behavior you want. The Travel feed rate and Z-axis feed rate are used, when you move the extruder with the manual controls. The temperatures are set in the manual controls als start values. You can change them there any time.
When you turn the extruder on, you surely want to know the temperature of it. This is done by sending the M105 command to the printer. If you don’t plan to do this yourself every x seconds leave the option checked. You can also select how often you want the host to check the temperature. The default 3 seconds are a good start. With every request you get 2 entries in your log. The host will show the read temperature at the bottom in the status bar, so removing these messages from the log makes it much more readable.
Park position is where you like your extruder head the most. In the manual control you have a button to move the head to the park position. You can also tell the host to go to this position, after a print is finished.
The next check boxes define, what the printer should do, when a print is finished.
With “Add to comp. printing time” you define, how the host should correct the computed printing time. When the host computes the time from g-code, it assumes all moves are executed at the feed rate requested. If you do a slow print, this will be quite correct, except that it doesn’t take the time to heat the extruder/bed into account. With fast prints, the firmware needs to accelerate/decelerate a log, which increases the print time. Ofter some prints, where you compared the computed and real printing time, you should be able to figure out how much percent you need to add to the computed time. Don’t expect to match every print. Depending on the geometry, the time will still differ a bit.
The third tab defines your printer shape, or to be more exact the shape of your build area. The host will use this to limit your moves and to check, if your models fit onto the print bed. You can also define the position of the x and y end stop.
The dump area is a rectangular hole in your print bed, where you can drop filament. Mostly the original Mendel had this. If you don’t have a dump area, leave the option unchecked.
The last tab is for advanced configurations, you most probably will never need. Currently it only contains a post process filter. After the slicer is done with slicing, you can start an external program with the g-code. This program must save the resulting g-code in the file named by the #out parameter.






naturally like your web site but you need to check the spelling on several of your posts. Several of them are rife with spelling issues and I find it very bothersome to tell the reality then again I’ll certainly come back again.
I’m still working on the site. I’m quite sure there are some spelling errors and other errors, as I’m no native english speaker. I do my best and I’m always glad for hints on errors and improvements.
I’d be happy to help with the language and/or spelling. Just let me know – I’m quite well-versed in the English language and have done a good bit of technical writing.
As you might already guess, my english is not as good as my german. So if you could check the english translation file or the documentations and mail me my mistakes or better formulations I will happily update the text.
I just wanted to tell all the peoples who are here because they are looking for the help that the author provides freely that, instead of criticizing his level in a foreign language, they could either have to read his work in German (which would probably keep it to a very few lucky users) or, if your contribution to his work is only to use/enjoy it, at least to thank him and not criticize him.
This is a valuable hint for all open source project which only moves forward because of the motivation of their authors, so don’t kill this motivation by complaints.
Thanks to the author, and thanks for the others to understand why I say this.
Trying to build repetierHost on Ubuntu 10.04, all seems to build OK, but it won’t run. I keep getting “Error:BadWindow (invalid Window parameter)”
What am I doing wrong?
With Ubuntu 12.04 I can’t compile the host with mono. I always use the windows compiled binary from the linux binary release which works great. Not sure how it is with older ubuntu versions. Depends on the mono version you are running. You could upgrade your distro or install a current mono version.
Hi. Installed 0.74 on windows Xp. Opens okay but no 3d display. Can switch to temp tab but when I come back displays temp screen.
Help
3d display needs a graphic card with OpenGL, best version 1.5 or higher. Without no 3d display is possible. Check if you can find a OpenGL driver for your graphic card.
That worled… Thanks
Hi
I am using the G code into Mach3 to run a small CNC machine ( 6040) with a heated head in place of the spindle on the Z axis and the Extruder motor runniung on my A axis
Am I right that I have to edit the G code so that E = Z and F = A
No! Mach3 uses A for the E = Extruder axis. F is the feedrate and should not be touched. If you use Slic3r for slicing you can say that you use Mach3 and it generates the right code for you wit A instead of E.
Now I’m confused
This is a piece of code from slic3r showing a change in Z, ie a lift of the printer head
Can you please explain A and F.
My simple mind says that all I have to control is the filament rate of flow via the stepper motor on A so what stepper motors is F operating on?
G1 X101.423 Y95.283 A30.50564
G0 Z3.200 F1800.000 A29.50564
G0 X101.759 Y94.447 F7800.000
G0 F1800.000 A30.50564
G1 X101.940 Y94.518 F1800.000 A30.51135
G1 X103.081 Y95.055 A30.54844
In the second line you lift the extruder head and retract the filament 1mm. A is a position of the filament. Also you set a flow rate in the slicer it is computed as distance for the extruder motor. The F value is the speed in mm/min for the move operation (feed rate).
Thanks.All clear now. Must have had a brain fade, for some reason I thought that the filament was feed at a rate, not a length
How do I just clear the settings and get repetier to run as a fresh copy in Linux (Ubuntu 12.04)? I Can’t get it to talk to my printer at all and just want to start over.
With linux you have to ansi baud rates. So don’t use 250000 baud, which is often default but 115200 baud. Make sure to everwrite eeprom settings if using repetier-firmware. Also make sure your user is member of dialout. Connection settings should be baudrate, no parity, 1 stop bit. No need to clear all registry entries. These are stored in a subdirectory of your home directory. Don’t remember the exact name, but try something like “.mono” and follow it up to software/repetier where you will find the registry data for repetier.
I’m setting up repetier, and so far I’m very impressed with it, I have a few items that could perhaps make it even better.
using Repetier V0.82b travel is not limited by the table size in the + direction using manual movements.. it always limits x and y at 200mm, regardless of what you set in the printer setting. my x axis is only 195, so it’s allowing me to hit the end stop. My Y axis is 230m so it is stopping me at 200mm and I cannot move the full travel.
also when using a park position that includes a minimum z value, the z should be raised BEFORE moving X or Y not after… moving it after could scratch the PET film on the glass plate if Z is at 0.. it would be nice to always retract the extruder some distance as well before parking.. to help slow down ooze, and I would love for park to always raise a relative distance above wherever it is, as long as it doesn’t exceed the z maximum before parking the x and y
keep up the great work!!
Looks liek you havent found out every detail. Manual control is limit to entered print area, but only after the axis had done a homing. Until then the host doesn’t know the real position indicated by red coordinates.
In the G-Code editor there is a a dropdown noted “End Code”/”Kill Job” where you can add commands to be executed at the end of the job but before the selectected action in printer settings are taken. There you can e.g. add the retract command.
I DID do a home first, it still goes right past my table in X and will not let me get to the end in Y the table shape is ALWAYS 200x200mm no matter what I put in Config>printer settings>printer shape I even put in printer area width to 150mm just to test it and it still manually goes all the way to 200, and crashes into the end.
thanks for the advise on adding commands to reteact at the end of job.. I suppose those commands will not execute when pushing the Park button
Please check what you have set to X-Max and Y-Max in the printer settings. The size of bed does not matter in that case, but the max values at the bottom of the form.
Thank you very much for explaining this! It’s working perfectly now. I was just not seeing the proper values to set, even while looking right at them.
This is just a minor point, but it would be very helpful to get fixed. I like to run repetier host on my secondary monitor, but it always starts on the primary monitor. It’s not that big of a deal to move it, but the problem for me is my primary monitor is only a 1366×768 laptop display, and it’s just not tall enough to see all the controls without scrolling, so I have an external monitor set at 1280×1024 and everything looks GREAT on there, however, since it starts on the different shape monitor, it has to squish everything to get it to fit, then every time I move it to the larger monitor, I have to the re-adjust all the positions and widths to get it to where the controls are the right size and so I can see the log area.. etc.. I have other programs that remember what monitor they were closed on and they re-open on the same monitor, so I think there must be a way.
Nice idea. I have no double monitor system to test, but I will see if I find a setting giving me the monitor id.
Great project! I wish i could use it, but it seems that somehow it overloads my x,y, and z polulu drivers after over an hour of printing, causing missing steps to my motors…..
So, i return to my reliable pronterface….too bad…..
What you say is wrong! The host does only send commands to your firmware. For that reason it can not overload your polulu drivers. If they are the reason for missing steps, you have too much current or not enough cooling.
In theory yes, since the host just sends gcodes to firmware…. BUT how come i can print with prontreface for over 12 hours without any problem and only 1 hour with repetier? Have in mind that i REALLY want to use reprtier… i only can think to recheck some initial repetier params in config like travel speed etc, but i dont think this will solve anything..
If you print the same file it shouldn’t happen. If it is a different file it might also happen with pronterface. Could also be bad luck. Every printer loses sometimes a few steps if it is driven near limits. Now it was while Repetier was sending the code. If you say I printed 10 times with repetier and i get 10 times the error and the same file on pronterface works 10/10 times I would say there is some problem you didn’t see like communication errors, which can be resolved with the right settings.