<p>Each of the settings have informative comments written just before the setting's <code>#define</code>, so reading those can point you in the right direction - if the required value doesn't jump out at you from your EEPROM settings.</p>

<p>Taking an educated guess (and I could be wrong), and after looking at the comments, I would imagine that:</p>

<hr>

<h3>General and Dimensions:</h3>

<ol>
<li><p><code>KILL_METHOD</code>. From <a href="http://forum.repetier.com/discussion/247/repetier-firmware-configuration-questions-prusa-mendel" rel="nofollow noreferrer">Repetier firmware configuration questions (prusa mendel)</a></p>

<blockquote>
  <p>I would select the second kill method since it allows to continue with your printer after a crash.</p>
</blockquote>

<p>So, you want to have</p>

<pre><code>#define KILL_METHOD 1
</code></pre></li>
<li><p>No idea, at the moment</p></li>
<li><p>You can either measure the height the carriage is from the floor, when the rod(s) is(are) horizontal, or just use the default <code>15</code> to be safe - it is probably best to double check this and physically measure it, to prevent any damage:</p>

<pre><code>// Margin (mm) to avoid above tower minimum (xMin xMinsteps)
// If your printer can put its carriage low enough the rod is horizontal without hitting the floor
// set this to zero. Otherwise, measure how high the carriage is from horizontal rod
// Also, movement speeds are 10x to 20x cartesian speeds at tower bottom.
// You may need to leave a few mm for safety.
// Hitting floor at high speed can damage your printer (motors, drives, etc)
// THIS MAY NEED UPDATING IF THE HOT END HEIGHT CHANGES!
#define DELTA_FLOOR_SAFETY_MARGIN_MM 15
</code></pre></li>
<li><ol>
<li><code>DELTA_MAX_RADIUS</code> use <code>Max printable radius [mm]</code>. </li>
<li><p>The values you have for <code>Alpha A(210)</code>, <code>Alpha B(330)</code> &amp; <code>Alpha C(90)</code> each, would be for:</p>

<pre><code>#define DELTA_ALPHA_A 210
#define DELTA_ALPHA_B 330
#define DELTA_ALPHA_C 90
</code></pre></li>
</ol></li>
<li><ol>
<li><p>The correction radii <em>should</em> be <code>0</code> and are the values you have for <code>Delta Radius A(0)</code>, <code>Delta Radius B(0)</code> &amp; <code>Delta Radius C(0)</code>:</p>

<pre><code>/** Correct radius by this value for each column. 
    Perfect builds have 0 everywhere. */
#define DELTA_RADIUS_CORRECTION_A 0
#define DELTA_RADIUS_CORRECTION_B 0
#define DELTA_RADIUS_CORRECTION_C 0
</code></pre></li>
<li><p>Likewise, given your EEPROM settings that you have listed the values you have for <code>Corr. diagonal A[mm]</code>, <code>Corr. diagonal B[mm]</code> &amp; <code>Corr. diagonal C[mm]</code>:</p>

<pre><code>/** Correction of the default diagonal size. Value gets added.*/
#define DELTA_DIAGONAL_CORRECTION_A 0
#define DELTA_DIAGONAL_CORRECTION_B 0
#define DELTA_DIAGONAL_CORRECTION_C 0
</code></pre></li>
</ol></li>
</ol>

<hr>

<h3>Z-correction (distortion correction)</h3>

<ol>
<li><p><code>DISTORTION_START_DEGRADE</code> - Initially, I would leave this at default. You can always tweak it at a later stage.</p>

<pre><code>/** z distortion degrades to 0 from this height on. You should start after the first layer to get
best bonding with surface. */
#define DISTORTION_START_DEGRADE 0.5
</code></pre></li>
<li><p><code>DISTORTION_END_HEIGHT</code> - Initially, I would leave this at default. You can always tweak it at a later stage.</p>

<pre><code>/** z distortion correction gets down to 0 at this height. */
#define DISTORTION_END_HEIGHT 1.5
</code></pre></li>
<li><p><code>DISTORTION_CORRECTION_R</code> - Initially, I would leave this at default. You can always tweak it at a later stage.</p>

<pre><code>/* For delta printers you simply define the measured radius around origin */
#define DISTORTION_CORRECTION_R       80
</code></pre></li>
<li><p><code>DISTORTION_UPDATE_FREQUENCY</code> - For the moment, I would leave this at default. As the comments remark, this is computationally intensive, and will use a lot of processing power - power that you want to keep for controlling the motors. SO, it is best to not make this frequency too high.</p>

<pre><code>/** Correction computation is not a cheap operation and changes are only small. So it
is not necessary to update it for every sub-line computed. For example lets take DELTA_SEGMENTS_PER_SECOND_PRINT = 150
and fastest print speed 100 mm/s. So we have a maximum segment length of 100/150 = 0.66 mm.
Now lats say our point field is 200 x 200 mm with 9 x 9 points. So between 2 points we have
200 / (9-1) = 25 mm. So we need at least 25 / 0.66 = 37 lines to move to the next measuring
point. So updating correction every 15 calls gives us at least 2 updates between the
measured points.
NOTE: Explicit z changes will always trigger an update!
*/
#define DISTORTION_UPDATE_FREQUENCY   15
</code></pre></li>
</ol>

<hr>

<h3>Stepper</h3>

<ol>
<li><p><code>ENABLE_BACKLASH_COMPENSATION</code> - As stated, it is rarely needed, so leave it set to <code>0</code></p>

<pre><code>/* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's
own weight, so this is nearly never needed. */
#define ENABLE_BACKLASH_COMPENSATION 0
</code></pre></li>
<li><p><code>ALLOW_QUADSTEPPING</code> - Do you need high frequencies? This could be a case of leaving set to the default of <code>1</code>, and if you experience stalling then set to <code>0</code> to see if it cures the stalling</p>

<pre><code>/** If you need frequencies off more then 30000 you definitely need to enable this. If you have only 1/8 stepping
enabling this may cause to stall your moves when 20000Hz is reached.
*/
#define ALLOW_QUADSTEPPING 1
</code></pre></li>
</ol>

<hr>

<h3>Endstops</h3>

<ol>
<li><p><code>ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING</code> - these are relatively easy.  From the comment for <code>ENDSTOP_X_MIN_INVERTING</code> </p>

<pre><code>/* By default all endstops are pulled up to HIGH. You need a pull-up if you
use a mechanical endstop connected with GND. Set value to false for no pull-up
on this endstop.
*/
</code></pre>

<p>A <em>pullup</em> refers to a <a href="https://arduino.stackexchange.com/questions/25353/why-are-pull-up-resistors-needed">pull-up resistor</a>. This is, in this case, a piece of circuitry in the <a href="https://en.wikipedia.org/wiki/Microcontroller" rel="nofollow noreferrer">MicroController Unit</a> (MCU) (i.e. the Arduino chip[ATmega 2560] on the controller board. This <code>#define</code> allows you to enable, or disable, it for each input connected to an endstop. Basically, they stop short circuits between the power supply and ground - they do more than that but... You probably need the <code>MAX</code> endstops enabled, where you actually have an endstop. If there are no <code>MIN</code> endstops, i.e. at the bottom of the rails, then these can be set to false.</p>

<pre><code>#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true
</code></pre>

<p><code>ENDSTOP_X_MIN_INVERTING</code> this merely allows you to invert the input from the endstop. For example, if the endstop is triggered by a vertical carriage, then the switch will "close". If, instead, the code is actually looking for an "open" switch, rather than a "closed" switch, when the endstop switch is being triggered by the vertical carriage hitting it, then you simply need to invert it.</p>

<pre><code>//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING true
#define ENDSTOP_Y_MIN_INVERTING true
#define ENDSTOP_Z_MIN_INVERTING true
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false
</code></pre></li>
</ol>

<hr>

<h3>Fused Filament Fabrication</h3>

<ol>
<li><p><code>EXTRUDER_SWITCH_XY_SPEED</code> - Probably best to leave as default, <code>100</code>, and tweak later, if need be</p>

<pre><code>/* Speed in mm/s for extruder moves fom internal commands, e.g. switching extruder. */
#define EXTRUDER_SWITCH_XY_SPEED 100
</code></pre></li>
</ol>

<hr>

<p>With respect to the temperature sensor settings on the extruder (read: hotend), from <a href="https://www.repetier.com/documentation/repetier-firmware/rf-installation/" rel="nofollow noreferrer">Repetier-Firmware Documentation</a>:</p>

<blockquote>
<pre><code>#define EXT0_TEMPSENSOR_TYPE 5 
</code></pre>
  
  <p>What temperature sensor are you using in the extruder. The configuration file lists possible values
  and meanings.</p>

<pre><code>#define EXT0_TEMPSENSOR_PIN 0
</code></pre>
  
  <p>This parameter is tricky and often causes wrong configurations. For historical reasons it is named PIN
  but it IS NOT A PIN NUMBER. It is the position in an array of analog
  input sources. In this array, the real pin number is stored. In 99.9%
  0 is the correct answer here.</p>

<pre><code>#define EXT0_HEATER_PIN HEATER_0_PIN
</code></pre>
  
  <p>Which pin enables the heater block. It works with any pin. PWM capability is not required to use
  PID on an output.</p>
</blockquote>

<p>For <code>EXT0_TEMPSENSOR_TYPE</code>, the temperature sensor is "buried' inside the hotend heater block, and as such it is probably not going to be easy, nor desirable, to remove and examine - although it is certainly possible to do so, if you feel up to the job. If could be just a question of trial-and-error. You have eight, or so, to choose from. However, the 100k thermistor is one of the most common types, and so <code>1</code> would seem like a good setting to choose, initially:</p>

<pre><code>// What type of sensor is used?
// 0 is no thermistor/temperature control
// 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other)
// 2 is 200k thermistor
// 3 is mendel-parts thermistor (EPCOS G550)
// 4 is 10k thermistor
// 8 is ATC Semitec 104GT-2
// 12 is 100k RS thermistor 198-961
// 13 is PT100 for E3D/Ultimaker
// 14 is 100K NTC 3950
// 5 is userdefined thermistor table 0
// 6 is userdefined thermistor table 1
// 7 is userdefined thermistor table 2
// 50 is userdefined thermistor table 0 for PTC thermistors
// 51 is userdefined thermistor table 0 for PTC thermistors
// 52 is userdefined thermistor table 0 for PTC thermistors
// 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package)
// 61 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1.25 Vref offset like adafruit breakout)
// 97 Generic thermistor table 1
// 98 Generic thermistor table 2
// 99 Generic thermistor table 3
// 100 is AD595
// 101 is MAX6675
// 102 is MAX31855
#define EXT0_TEMPSENSOR_TYPE 1
</code></pre>

<p>As the Repetier documentation states, in 99.9% of the cases, for <code>EXT0_TEMPSENSOR_PIN</code> a value of <code>0</code> will probably work. If it does not, then you may need to change this to some other value.</p>

<p>For <code>EXT0_HEATER_PIN HEATER_0_PIN</code>, just follow the wiring of your printer, and see which pin the heater is connected to.</p>

<hr>

<h3>Where and how to change the settings</h3>

<p>You are probably aware of this already, but in case you aren't...</p>

<p>Once you have downloaded <code>Repetier-Firmware-master.zip</code> from <a href="https://github.com/repetier/Repetier-Firmware" rel="nofollow noreferrer">Github.com: repetier/Repetier-Firmware</a>, and unzipped it, then you will need to edit the files in <code>Configuration.h</code> in the <code>src/ArduinoAVR/Repetier</code> directory. Note that the ArduinoAVR directory is used for the Arduino Mega 2560 board, and its derivatives.</p>

<p>Open <code>Repetier.ino</code> in the Arduino IDE, and edit <code>Configuration.h</code> in the Arduino IDE. You could also edit <code>Configuration.h</code> in your favourite plain text editor, if need be, but it is probably easier, and simpler to do everything in the Arduino IDE.</p>

<p>Once you have edited the settings that you require, as I described in <a href="https://3dprinting.stackexchange.com/questions/4161/help-with-repetier-firmware-probably-locked-and-licensed">Help with Repetier firmware (probably locked and licensed)</a>, compile and upload the firmware to your board. Then run a print. If something seems to be incorrectly set, stop the print. Then re-tweak your settings ad compile and upload again, and then run another test print. Ad infinitum...</p>

<p>After a few iterations, you should be quite comfortable with this process, and end up with a well calibrated printer.</p>

CC BY-SA 3.0
2017-06-04T00:40:34.673Z
2017-06-04T15:58:41.397Z
2017-06-04T15:58:41.397Z
Greenonline
<p>So I'm finally building a new firmware (Repetier) since my current one can't be edited. It is a Delta printer and is explained in detail here: <a href="https://3dprinting.stackexchange.com/questions/4161/help-with-repetier-firmware-probably-locked-and-licensed">Help with Repetier firmware (probably locked and licensed)</a></p>

<p>There are many variables that I couldn't find in the EEPROM. Can someone please explain those to me (listed below)? I've listed only the ones I feel are the most important for now.</p>

<p>General and Dimensions:</p>

<ol>
<li><p><code>KILL_METHOD</code></p></li>
<li><p><code>STARTUP_GCODE</code></p></li>
<li><p><code>DELTA_FLOOR_SAFETY_MARGIN_MM</code></p></li>
<li><p>Max. horizontal radius (<code>DELTA_MAX_RADIUS</code>): I have "max printable
radius" and "delta radius" A(0), B(0) &amp; C(0) each.</p></li>
<li><p>Radius error column A/B/C (<code>DELTA_RADIUS_CORRECTION_A/B/C</code>): Could
this be the delta radii A(0), B(0) &amp; C(0)?</p></li>
</ol>

<hr>

<p>Z-correction (distortion correction)</p>

<ol>
<li><p>Full correction until (FC) or <code>DISTORTION_START_DEGRADE</code></p></li>
<li><p>Reduce correction to zero at (RZ) or <code>DISTORTION_END_HEIGHT</code></p></li>
<li><p>Correction radius (<code>DISTORTION_CORRECTION_R</code>)</p></li>
<li><p>Update every x computations (<code>DISTORTION_UPDATE_FREQUENCY</code>)</p></li>
</ol>

<p>I have the following in EEPROM:</p>

<ol>
<li>Z-probe height [mm]</li>
<li>Max. z-probe - bed dist. [mm]</li>
<li>Z-probe speed [mm/s]</li>
<li>Z-probe x-y-speed [mm/s]</li>
<li>Z-probe offset x [mm]</li>
<li>Z-probe offset y [mm]</li>
<li>Z-probe X1 [mm]</li>
<li>Z-probe Y1 [mm]</li>
<li>Z-probe X2 [mm]</li>
<li>Z-probe Y2 [mm]</li>
<li>Z-probe X3 [mm]</li>
<li>Z-probe Y3 [mm]</li>
<li>Z-probe bending correction A [mm]</li>
<li>Z-probe bending correction B [mm]</li>
<li>Z-probe bending correction C [mm]</li>
</ol>

<hr>

<p>Stepper</p>

<ol>
<li><code>ENABLE_BACKLASH_COMPENSATION</code></li>
<li><code>ALLOW_QUADSTEPPING</code></li>
</ol>

<hr>

<p>Endstops</p>

<ol>
<li><code>ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING</code></li>
<li><code>ENDSTOP_PULLUP_Y_MIN/ENDSTOP_Y_MIN_INVERTING</code></li>
<li><code>ENDSTOP_PULLUP_Z_MIN/ENDSTOP_Z_MIN_INVERTING</code></li>
<li><code>ENDSTOP_PULLUP_X_MAX/ENDSTOP_X_MAX_INVERTING</code></li>
<li><code>ENDSTOP_PULLUP_Y_MAX/ENDSTOP_Y_MAX_INVERTING</code></li>
<li><code>ENDSTOP_PULLUP_Z_MAX/ENDSTOP_Z_MAX_INVERTING</code></li>
</ol>

<hr>

<p>Fused Filament Fabrication</p>

<ol>
<li><code>EXTRUDER_SWITCH_XY_SPEED</code></li>
</ol>

<hr>

<p>Also, how do I find out which temperature sensors are being used for the extruders? Where are they located?</p>

<p>Here's the EEPROM data:</p>

<pre><code>&lt;Repetier-Firmware-EEPROM&gt;
&lt;epr pos="1028" type="0" value="0"&gt;Language&lt;/epr&gt;
&lt;epr pos="75" type="2" value="115200"&gt;Baudrate&lt;/epr&gt;
&lt;epr pos="129" type="3" value="32.752"&gt;Filament printed [m]&lt;/epr&gt;
&lt;epr pos="125" type="2" value="21644"&gt;Printer active [s]&lt;/epr&gt;
&lt;epr pos="79" type="2" value="0"&gt;Max. inactive time [ms,0=off]&lt;/epr&gt;
&lt;epr pos="83" type="2" value="360000"&gt;Stop stepper after inactivity [ms,0=off]&lt;/epr&gt;
&lt;epr pos="11" type="3" value="80.0000"&gt;Steps per mm&lt;/epr&gt;
&lt;epr pos="23" type="3" value="200.000"&gt;Max. feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="35" type="3" value="20.000"&gt;Homing feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="39" type="3" value="10.000"&gt;Max. jerk [mm/s]&lt;/epr&gt;
&lt;epr pos="133" type="3" value="-140.000"&gt;X min pos [mm]&lt;/epr&gt;
&lt;epr pos="137" type="3" value="-140.000"&gt;Y min pos [mm]&lt;/epr&gt;
&lt;epr pos="141" type="3" value="0.000"&gt;Z min pos [mm]&lt;/epr&gt;
&lt;epr pos="145" type="3" value="140.000"&gt;X max length [mm]&lt;/epr&gt;
&lt;epr pos="149" type="3" value="140.000"&gt;Y max length [mm]&lt;/epr&gt;
&lt;epr pos="153" type="3" value="313.280"&gt;Z max length [mm]&lt;/epr&gt;
&lt;epr pos="59" type="3" value="2000.000"&gt;Acceleration [mm/s^2]&lt;/epr&gt;
&lt;epr pos="71" type="3" value="2000.000"&gt;Travel acceleration [mm/s^2]&lt;/epr&gt;
&lt;epr pos="881" type="3" value="355.200"&gt;Diagonal rod length [mm]&lt;/epr&gt;
&lt;epr pos="885" type="3" value="186.990"&gt;Horizontal rod radius at 0,0 [mm]&lt;/epr&gt;
&lt;epr pos="925" type="3" value="140.000"&gt;Max printable radius [mm]&lt;/epr&gt;
&lt;epr pos="891" type="1" value="70"&gt;Segments/s for travel&lt;/epr&gt;
&lt;epr pos="889" type="1" value="180"&gt;Segments/s for printing&lt;/epr&gt;
&lt;epr pos="893" type="1" value="0"&gt;Tower X endstop offset [steps]&lt;/epr&gt;
&lt;epr pos="895" type="1" value="0"&gt;Tower Y endstop offset [steps]&lt;/epr&gt;
&lt;epr pos="897" type="1" value="0"&gt;Tower Z endstop offset [steps]&lt;/epr&gt;
&lt;epr pos="901" type="3" value="210.000"&gt;Alpha A(210):&lt;/epr&gt;
&lt;epr pos="905" type="3" value="330.000"&gt;Alpha B(330):&lt;/epr&gt;
&lt;epr pos="909" type="3" value="90.000"&gt;Alpha C(90):&lt;/epr&gt;
&lt;epr pos="913" type="3" value="0.000"&gt;Delta Radius A(0):&lt;/epr&gt;
&lt;epr pos="917" type="3" value="0.000"&gt;Delta Radius B(0):&lt;/epr&gt;
&lt;epr pos="921" type="3" value="0.000"&gt;Delta Radius C(0):&lt;/epr&gt;
&lt;epr pos="933" type="3" value="0.000"&gt;Corr. diagonal A [mm]&lt;/epr&gt;
&lt;epr pos="937" type="3" value="0.000"&gt;Corr. diagonal B [mm]&lt;/epr&gt;
&lt;epr pos="941" type="3" value="0.000"&gt;Corr. diagonal C [mm]&lt;/epr&gt;
&lt;epr pos="1024" type="3" value="1.000"&gt;Coating thickness [mm]&lt;/epr&gt;
&lt;epr pos="808" type="3" value="0.800"&gt;Z-probe height [mm]&lt;/epr&gt;
&lt;epr pos="929" type="3" value="10.000"&gt;Max. z-probe - bed dist. [mm]&lt;/epr&gt;
&lt;epr pos="812" type="3" value="5.000"&gt;Z-probe speed [mm/s]&lt;/epr&gt;
&lt;epr pos="840" type="3" value="70.000"&gt;Z-probe x-y-speed [mm/s]&lt;/epr&gt;
&lt;epr pos="800" type="3" value="0.000"&gt;Z-probe offset x [mm]&lt;/epr&gt;
&lt;epr pos="804" type="3" value="0.000"&gt;Z-probe offset y [mm]&lt;/epr&gt;
&lt;epr pos="816" type="3" value="-95.260"&gt;Z-probe X1 [mm]&lt;/epr&gt;
&lt;epr pos="820" type="3" value="-55.000"&gt;Z-probe Y1 [mm]&lt;/epr&gt;
&lt;epr pos="824" type="3" value="95.260"&gt;Z-probe X2 [mm]&lt;/epr&gt;
&lt;epr pos="828" type="3" value="-55.000"&gt;Z-probe Y2 [mm]&lt;/epr&gt;
&lt;epr pos="832" type="3" value="0.000"&gt;Z-probe X3 [mm]&lt;/epr&gt;
&lt;epr pos="836" type="3" value="110.000"&gt;Z-probe Y3 [mm]&lt;/epr&gt;
&lt;epr pos="1036" type="3" value="0.000"&gt;Z-probe bending correction A [mm]&lt;/epr&gt;
&lt;epr pos="1040" type="3" value="0.000"&gt;Z-probe bending correction B [mm]&lt;/epr&gt;
&lt;epr pos="1044" type="3" value="0.000"&gt;Z-probe bending correction C [mm]&lt;/epr&gt;
&lt;epr pos="880" type="0" value="1"&gt;Autolevel active (1/0)&lt;/epr&gt;
&lt;epr pos="106" type="0" value="1"&gt;Bed Heat Manager [0-3]&lt;/epr&gt;
&lt;epr pos="107" type="0" value="255"&gt;Bed PID drive max&lt;/epr&gt;
&lt;epr pos="124" type="0" value="80"&gt;Bed PID drive min&lt;/epr&gt;
&lt;epr pos="108" type="3" value="196.000"&gt;Bed PID P-gain&lt;/epr&gt;
&lt;epr pos="112" type="3" value="33.000"&gt;Bed PID I-gain&lt;/epr&gt;
&lt;epr pos="116" type="3" value="290.000"&gt;Bed PID D-gain&lt;/epr&gt;
&lt;epr pos="120" type="0" value="255"&gt;Bed PID max value [0-255]&lt;/epr&gt;
&lt;epr pos="1020" type="0" value="0"&gt;Enable retraction conversion [0/1]&lt;/epr&gt;
&lt;epr pos="992" type="3" value="3.000"&gt;Retraction length [mm]&lt;/epr&gt;
&lt;epr pos="996" type="3" value="13.000"&gt;Retraction length extruder switch [mm]&lt;/epr&gt;
&lt;epr pos="1000" type="3" value="40.000"&gt;Retraction speed [mm/s]&lt;/epr&gt;
&lt;epr pos="1004" type="3" value="0.000"&gt;Retraction z-lift [mm]&lt;/epr&gt;
&lt;epr pos="1008" type="3" value="0.000"&gt;Extra extrusion on undo retract [mm]&lt;/epr&gt;
&lt;epr pos="1012" type="3" value="0.000"&gt;Extra extrusion on undo switch retract [mm]&lt;/epr&gt;
&lt;epr pos="1016" type="3" value="20.000"&gt;Retraction undo speed&lt;/epr&gt;
&lt;epr pos="200" type="3" value="93.000"&gt;Extr.1 steps per mm&lt;/epr&gt;
&lt;epr pos="204" type="3" value="150.000"&gt;Extr.1 max. feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="208" type="3" value="20.000"&gt;Extr.1 start feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="212" type="3" value="5000.000"&gt;Extr.1 acceleration [mm/s^2]&lt;/epr&gt;
&lt;epr pos="216" type="0" value="3"&gt;Extr.1 heat manager [0-3]&lt;/epr&gt;
&lt;epr pos="217" type="0" value="230"&gt;Extr.1 PID drive max&lt;/epr&gt;
&lt;epr pos="245" type="0" value="40"&gt;Extr.1 PID drive min&lt;/epr&gt;
&lt;epr pos="218" type="3" value="7.0000"&gt;Extr.1 PID P-gain/dead-time&lt;/epr&gt;
&lt;epr pos="222" type="3" value="2.0000"&gt;Extr.1 PID I-gain&lt;/epr&gt;
&lt;epr pos="226" type="3" value="40.0000"&gt;Extr.1 PID D-gain&lt;/epr&gt;
&lt;epr pos="230" type="0" value="255"&gt;Extr.1 PID max value [0-255]&lt;/epr&gt;
&lt;epr pos="231" type="2" value="0"&gt;Extr.1 X-offset [steps]&lt;/epr&gt;
&lt;epr pos="235" type="2" value="0"&gt;Extr.1 Y-offset [steps]&lt;/epr&gt;
&lt;epr pos="290" type="2" value="0"&gt;Extr.1 Z-offset [steps]&lt;/epr&gt;
&lt;epr pos="239" type="1" value="1"&gt;Extr.1 temp. stabilize time [s]&lt;/epr&gt;
&lt;epr pos="250" type="1" value="150"&gt;Extr.1 temp. for retraction when heating [C]&lt;/epr&gt;
&lt;epr pos="252" type="1" value="0"&gt;Extr.1 distance to retract when heating [mm]&lt;/epr&gt;
&lt;epr pos="254" type="0" value="255"&gt;Extr.1 extruder cooler speed [0-255]&lt;/epr&gt;
&lt;epr pos="300" type="3" value="93.000"&gt;Extr.2 steps per mm&lt;/epr&gt;
&lt;epr pos="304" type="3" value="150.000"&gt;Extr.2 max. feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="308" type="3" value="20.000"&gt;Extr.2 start feedrate [mm/s]&lt;/epr&gt;
&lt;epr pos="312" type="3" value="5000.000"&gt;Extr.2 acceleration [mm/s^2]&lt;/epr&gt;
&lt;epr pos="316" type="0" value="3"&gt;Extr.2 heat manager [0-3]&lt;/epr&gt;
&lt;epr pos="317" type="0" value="230"&gt;Extr.2 PID drive max&lt;/epr&gt;
&lt;epr pos="345" type="0" value="40"&gt;Extr.2 PID drive min&lt;/epr&gt;
&lt;epr pos="318" type="3" value="7.0000"&gt;Extr.2 PID P-gain/dead-time&lt;/epr&gt;
&lt;epr pos="322" type="3" value="2.0000"&gt;Extr.2 PID I-gain&lt;/epr&gt;
&lt;epr pos="326" type="3" value="40.0000"&gt;Extr.2 PID D-gain&lt;/epr&gt;
&lt;epr pos="330" type="0" value="255"&gt;Extr.2 PID max value [0-255]&lt;/epr&gt;
&lt;epr pos="331" type="2" value="0"&gt;Extr.2 X-offset [steps]&lt;/epr&gt;
&lt;epr pos="335" type="2" value="0"&gt;Extr.2 Y-offset [steps]&lt;/epr&gt;
&lt;epr pos="390" type="2" value="0"&gt;Extr.2 Z-offset [steps]&lt;/epr&gt;
&lt;epr pos="339" type="1" value="1"&gt;Extr.2 temp. stabilize time [s]&lt;/epr&gt;
&lt;epr pos="350" type="1" value="150"&gt;Extr.2 temp. for retraction when heating [C]&lt;/epr&gt;
&lt;epr pos="352" type="1" value="0"&gt;Extr.2 distance to retract when heating [mm]&lt;/epr&gt;
&lt;epr pos="354" type="0" value="255"&gt;Extr.2 extruder cooler speed [0-255]&lt;/epr&gt;
</code></pre>

<p></p>

<p>Sorry for the long, detailed and potentially frustrating question. I'm really new to this.</p>

<p><strong>Edit</strong>: To be more comprehensive, I'm including pictures of the controller boards.</p>

<p><a href="https://i.sstatic.net/yKmZT.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/yKmZT.jpg" alt="Main controller board"></a></p>

<p><a href="https://i.sstatic.net/locuk.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/locuk.jpg" alt="Hot-end PCB"></a></p>

<p>Also, I've traced the printer down to a Taiwanese manufacturer: <a href="http://d-force.tw/" rel="nofollow noreferrer">http://d-force.tw/</a></p>

<p>There are a few parts available: <a href="http://www.icshop.com.tw/product_info.php/products_id/23999" rel="nofollow noreferrer">Hot-end PCB</a>, <a href="http://3dprinter.expresstobuy.com/products/d-force-control-board-3d-printer-dforce/" rel="nofollow noreferrer">Main controller board</a> &amp; <a href="http://www.icshop.com.tw/product_info.php/products_id/22546" rel="nofollow noreferrer">Servo motor for calibration (Z-probe)</a>.
I haven't been able to find the other board (with the HRD12008 SMPS on it and placed just beside the main controller board), yet.</p>

<p>Does this change things? If yes then how?</p>

<p>I'm going ahead with burning a new firmware on the current board only because changing the board and shield combo seems too complicated to me. Is it though?</p>

CC BY-SA 3.0
2017-06-04T00:46:44.957Z
It might be worth just *restating* the make and model of your printer, in *this* question, to save people having to click the link to your previous question :-)
Greenonline
CC BY-SA 3.0
2017-06-09T08:52:41.093Z
@Greenonline please have a look at the firmware downloaded from repetier website. Its asking for pins used for z-probe etc while compiling. The link is: https://drive.google.com/drive/folders/0Bwypz0ZN4X9RUXBhcjBRVUVDTWM?usp=sharing
Ojasvi Srivastava
CC BY-SA 3.0
2017-06-09T18:57:05.593Z
@Greenonline thank you so much :) The printer does have a z-probe. I've edited my question. Please let me know how it changes things.
Ojasvi Srivastava
CC BY-SA 3.0
2017-06-10T08:55:18.473Z
@Greenonline sure. I too agree that these questions have been branching out a lot. As soon as I get enough clarity regarding firmware variables, calibration and controller boards I will consolidate all info contained in the comments of those respective questions. I've asked a new question here: https://3dprinting.stackexchange.com/questions/4213/building-new-repetier-firmware-for-a-delta-printer-d-force
Ojasvi Srivastava
<repetier><delta>
Help with Repetier firmware variables (Dimension Dual Delta - J Group Robotics)
Ojasvi Srivastava
# Help with Repetier firmware variables (Dimension Dual Delta - J Group Robotics)

(Asked by: username_0 on 2017-06-03)

So I'm finally building a new firmware (Repetier) since my current one can't be edited. It is a Delta printer and is explained in detail here: [Help with Repetier firmware (probably locked and licensed)](https://3dprinting.stackexchange.com/questions/4161/help-with-repetier-firmware-probably-locked-and-licensed)

There are many variables that I couldn't find in the EEPROM. Can someone please explain those to me (listed below)? I've listed only the ones I feel are the most important for now.

General and Dimensions:

1. `KILL_METHOD`
2. `STARTUP_GCODE`
3. `DELTA_FLOOR_SAFETY_MARGIN_MM`
4. Max. horizontal radius (`DELTA_MAX_RADIUS`): I have "max printable
   radius" and "delta radius" A(0), B(0) & C(0) each.
5. Radius error column A/B/C (`DELTA_RADIUS_CORRECTION_A/B/C`): Could
   this be the delta radii A(0), B(0) & C(0)?

---

Z-correction (distortion correction)

1. Full correction until (FC) or `DISTORTION_START_DEGRADE`
2. Reduce correction to zero at (RZ) or `DISTORTION_END_HEIGHT`
3. Correction radius (`DISTORTION_CORRECTION_R`)
4. Update every x computations (`DISTORTION_UPDATE_FREQUENCY`)

I have the following in EEPROM:

1. Z-probe height [mm]
2. Max. z-probe - bed dist. [mm]
3. Z-probe speed [mm/s]
4. Z-probe x-y-speed [mm/s]
5. Z-probe offset x [mm]
6. Z-probe offset y [mm]
7. Z-probe X1 [mm]
8. Z-probe Y1 [mm]
9. Z-probe X2 [mm]
10. Z-probe Y2 [mm]
11. Z-probe X3 [mm]
12. Z-probe Y3 [mm]
13. Z-probe bending correction A [mm]
14. Z-probe bending correction B [mm]
15. Z-probe bending correction C [mm]

---

Stepper

1. `ENABLE_BACKLASH_COMPENSATION`
2. `ALLOW_QUADSTEPPING`

---

Endstops

1. `ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING`
2. `ENDSTOP_PULLUP_Y_MIN/ENDSTOP_Y_MIN_INVERTING`
3. `ENDSTOP_PULLUP_Z_MIN/ENDSTOP_Z_MIN_INVERTING`
4. `ENDSTOP_PULLUP_X_MAX/ENDSTOP_X_MAX_INVERTING`
5. `ENDSTOP_PULLUP_Y_MAX/ENDSTOP_Y_MAX_INVERTING`
6. `ENDSTOP_PULLUP_Z_MAX/ENDSTOP_Z_MAX_INVERTING`

---

Fused Filament Fabrication

1. `EXTRUDER_SWITCH_XY_SPEED`

---

Also, how do I find out which temperature sensors are being used for the extruders? Where are they located?

Here's the EEPROM data:

```
<Repetier-Firmware-EEPROM>
<epr pos="1028" type="0" value="0">Language</epr>
<epr pos="75" type="2" value="115200">Baudrate</epr>
<epr pos="129" type="3" value="32.752">Filament printed [m]</epr>
<epr pos="125" type="2" value="21644">Printer active [s]</epr>
<epr pos="79" type="2" value="0">Max. inactive time [ms,0=off]</epr>
<epr pos="83" type="2" value="360000">Stop stepper after inactivity [ms,0=off]</epr>
<epr pos="11" type="3" value="80.0000">Steps per mm</epr>
<epr pos="23" type="3" value="200.000">Max. feedrate [mm/s]</epr>
<epr pos="35" type="3" value="20.000">Homing feedrate [mm/s]</epr>
<epr pos="39" type="3" value="10.000">Max. jerk [mm/s]</epr>
<epr pos="133" type="3" value="-140.000">X min pos [mm]</epr>
<epr pos="137" type="3" value="-140.000">Y min pos [mm]</epr>
<epr pos="141" type="3" value="0.000">Z min pos [mm]</epr>
<epr pos="145" type="3" value="140.000">X max length [mm]</epr>
<epr pos="149" type="3" value="140.000">Y max length [mm]</epr>
<epr pos="153" type="3" value="313.280">Z max length [mm]</epr>
<epr pos="59" type="3" value="2000.000">Acceleration [mm/s^2]</epr>
<epr pos="71" type="3" value="2000.000">Travel acceleration [mm/s^2]</epr>
<epr pos="881" type="3" value="355.200">Diagonal rod length [mm]</epr>
<epr pos="885" type="3" value="186.990">Horizontal rod radius at 0,0 [mm]</epr>
<epr pos="925" type="3" value="140.000">Max printable radius [mm]</epr>
<epr pos="891" type="1" value="70">Segments/s for travel</epr>
<epr pos="889" type="1" value="180">Segments/s for printing</epr>
<epr pos="893" type="1" value="0">Tower X endstop offset [steps]</epr>
<epr pos="895" type="1" value="0">Tower Y endstop offset [steps]</epr>
<epr pos="897" type="1" value="0">Tower Z endstop offset [steps]</epr>
<epr pos="901" type="3" value="210.000">Alpha A(210):</epr>
<epr pos="905" type="3" value="330.000">Alpha B(330):</epr>
<epr pos="909" type="3" value="90.000">Alpha C(90):</epr>
<epr pos="913" type="3" value="0.000">Delta Radius A(0):</epr>
<epr pos="917" type="3" value="0.000">Delta Radius B(0):</epr>
<epr pos="921" type="3" value="0.000">Delta Radius C(0):</epr>
<epr pos="933" type="3" value="0.000">Corr. diagonal A [mm]</epr>
<epr pos="937" type="3" value="0.000">Corr. diagonal B [mm]</epr>
<epr pos="941" type="3" value="0.000">Corr. diagonal C [mm]</epr>
<epr pos="1024" type="3" value="1.000">Coating thickness [mm]</epr>
<epr pos="808" type="3" value="0.800">Z-probe height [mm]</epr>
<epr pos="929" type="3" value="10.000">Max. z-probe - bed dist. [mm]</epr>
<epr pos="812" type="3" value="5.000">Z-probe speed [mm/s]</epr>
<epr pos="840" type="3" value="70.000">Z-probe x-y-speed [mm/s]</epr>
<epr pos="800" type="3" value="0.000">Z-probe offset x [mm]</epr>
<epr pos="804" type="3" value="0.000">Z-probe offset y [mm]</epr>
<epr pos="816" type="3" value="-95.260">Z-probe X1 [mm]</epr>
<epr pos="820" type="3" value="-55.000">Z-probe Y1 [mm]</epr>
<epr pos="824" type="3" value="95.260">Z-probe X2 [mm]</epr>
<epr pos="828" type="3" value="-55.000">Z-probe Y2 [mm]</epr>
<epr pos="832" type="3" value="0.000">Z-probe X3 [mm]</epr>
<epr pos="836" type="3" value="110.000">Z-probe Y3 [mm]</epr>
<epr pos="1036" type="3" value="0.000">Z-probe bending correction A [mm]</epr>
<epr pos="1040" type="3" value="0.000">Z-probe bending correction B [mm]</epr>
<epr pos="1044" type="3" value="0.000">Z-probe bending correction C [mm]</epr>
<epr pos="880" type="0" value="1">Autolevel active (1/0)</epr>
<epr pos="106" type="0" value="1">Bed Heat Manager [0-3]</epr>
<epr pos="107" type="0" value="255">Bed PID drive max</epr>
<epr pos="124" type="0" value="80">Bed PID drive min</epr>
<epr pos="108" type="3" value="196.000">Bed PID P-gain</epr>
<epr pos="112" type="3" value="33.000">Bed PID I-gain</epr>
<epr pos="116" type="3" value="290.000">Bed PID D-gain</epr>
<epr pos="120" type="0" value="255">Bed PID max value [0-255]</epr>
<epr pos="1020" type="0" value="0">Enable retraction conversion [0/1]</epr>
<epr pos="992" type="3" value="3.000">Retraction length [mm]</epr>
<epr pos="996" type="3" value="13.000">Retraction length extruder switch [mm]</epr>
<epr pos="1000" type="3" value="40.000">Retraction speed [mm/s]</epr>
<epr pos="1004" type="3" value="0.000">Retraction z-lift [mm]</epr>
<epr pos="1008" type="3" value="0.000">Extra extrusion on undo retract [mm]</epr>
<epr pos="1012" type="3" value="0.000">Extra extrusion on undo switch retract [mm]</epr>
<epr pos="1016" type="3" value="20.000">Retraction undo speed</epr>
<epr pos="200" type="3" value="93.000">Extr.1 steps per mm</epr>
<epr pos="204" type="3" value="150.000">Extr.1 max. feedrate [mm/s]</epr>
<epr pos="208" type="3" value="20.000">Extr.1 start feedrate [mm/s]</epr>
<epr pos="212" type="3" value="5000.000">Extr.1 acceleration [mm/s^2]</epr>
<epr pos="216" type="0" value="3">Extr.1 heat manager [0-3]</epr>
<epr pos="217" type="0" value="230">Extr.1 PID drive max</epr>
<epr pos="245" type="0" value="40">Extr.1 PID drive min</epr>
<epr pos="218" type="3" value="7.0000">Extr.1 PID P-gain/dead-time</epr>
<epr pos="222" type="3" value="2.0000">Extr.1 PID I-gain</epr>
<epr pos="226" type="3" value="40.0000">Extr.1 PID D-gain</epr>
<epr pos="230" type="0" value="255">Extr.1 PID max value [0-255]</epr>
<epr pos="231" type="2" value="0">Extr.1 X-offset [steps]</epr>
<epr pos="235" type="2" value="0">Extr.1 Y-offset [steps]</epr>
<epr pos="290" type="2" value="0">Extr.1 Z-offset [steps]</epr>
<epr pos="239" type="1" value="1">Extr.1 temp. stabilize time [s]</epr>
<epr pos="250" type="1" value="150">Extr.1 temp. for retraction when heating [C]</epr>
<epr pos="252" type="1" value="0">Extr.1 distance to retract when heating [mm]</epr>
<epr pos="254" type="0" value="255">Extr.1 extruder cooler speed [0-255]</epr>
<epr pos="300" type="3" value="93.000">Extr.2 steps per mm</epr>
<epr pos="304" type="3" value="150.000">Extr.2 max. feedrate [mm/s]</epr>
<epr pos="308" type="3" value="20.000">Extr.2 start feedrate [mm/s]</epr>
<epr pos="312" type="3" value="5000.000">Extr.2 acceleration [mm/s^2]</epr>
<epr pos="316" type="0" value="3">Extr.2 heat manager [0-3]</epr>
<epr pos="317" type="0" value="230">Extr.2 PID drive max</epr>
<epr pos="345" type="0" value="40">Extr.2 PID drive min</epr>
<epr pos="318" type="3" value="7.0000">Extr.2 PID P-gain/dead-time</epr>
<epr pos="322" type="3" value="2.0000">Extr.2 PID I-gain</epr>
<epr pos="326" type="3" value="40.0000">Extr.2 PID D-gain</epr>
<epr pos="330" type="0" value="255">Extr.2 PID max value [0-255]</epr>
<epr pos="331" type="2" value="0">Extr.2 X-offset [steps]</epr>
<epr pos="335" type="2" value="0">Extr.2 Y-offset [steps]</epr>
<epr pos="390" type="2" value="0">Extr.2 Z-offset [steps]</epr>
<epr pos="339" type="1" value="1">Extr.2 temp. stabilize time [s]</epr>
<epr pos="350" type="1" value="150">Extr.2 temp. for retraction when heating [C]</epr>
<epr pos="352" type="1" value="0">Extr.2 distance to retract when heating [mm]</epr>
<epr pos="354" type="0" value="255">Extr.2 extruder cooler speed [0-255]</epr>

```

Sorry for the long, detailed and potentially frustrating question. I'm really new to this.

**Edit**: To be more comprehensive, I'm including pictures of the controller boards.

[![Main controller board](https://i.sstatic.net/yKmZT.jpg)](https://i.sstatic.net/yKmZT.jpg)

[![Hot-end PCB](https://i.sstatic.net/locuk.jpg)](https://i.sstatic.net/locuk.jpg)

Also, I've traced the printer down to a Taiwanese manufacturer: <http://d-force.tw/>

There are a few parts available: [Hot-end PCB](http://www.icshop.com.tw/product_info.php/products_id/23999), [Main controller board](http://3dprinter.expresstobuy.com/products/d-force-control-board-3d-printer-dforce/) & [Servo motor for calibration (Z-probe)](http://www.icshop.com.tw/product_info.php/products_id/22546).
I haven't been able to find the other board (with the HRD12008 SMPS on it and placed just beside the main controller board), yet.

Does this change things? If yes then how?

I'm going ahead with burning a new firmware on the current board only because changing the board and shield combo seems too complicated to me. Is it though?

**Tags:** repetier, delta

> **Comments:**
> **username_1**: It might be worth just *restating* the make and model of your printer, in *this* question, to save people having to click the link to your previous question :-)  
> **username_0**: @username_1 please have a look at the firmware downloaded from repetier website. Its asking for pins used for z-probe etc while compiling. The link is: https://drive.google.com/drive/folders/0Bwypz0ZN4X9RUXBhcjBRVUVDTWM?usp=sharing  
> **username_0**: @username_1 thank you so much :) The printer does have a z-probe. I've edited my question. Please let me know how it changes things.  
> **username_0**: @username_1 sure. I too agree that these questions have been branching out a lot. As soon as I get enough clarity regarding firmware variables, calibration and controller boards I will consolidate all info contained in the comments of those respective questions. I've asked a new question here: https://3dprinting.stackexchange.com/questions/4213/building-new-repetier-firmware-for-a-delta-printer-d-force  

---

## 1 answers

### Answer by username_1 on 2017-06-04. Score: 2

Each of the settings have informative comments written just before the setting's `#define`, so reading those can point you in the right direction - if the required value doesn't jump out at you from your EEPROM settings.

Taking an educated guess (and I could be wrong), and after looking at the comments, I would imagine that:

---

### General and Dimensions:

1. `KILL_METHOD`. From [Repetier firmware configuration questions (prusa mendel)](http://forum.repetier.com/discussion/247/repetier-firmware-configuration-questions-prusa-mendel)

   > I would select the second kill method since it allows to continue with your printer after a crash.

   So, you want to have

   ```
   #define KILL_METHOD 1

   ```
2. No idea, at the moment
3. You can either measure the height the carriage is from the floor, when the rod(s) is(are) horizontal, or just use the default `15` to be safe - it is probably best to double check this and physically measure it, to prevent any damage:

   ```
   // Margin (mm) to avoid above tower minimum (xMin xMinsteps)
   // If your printer can put its carriage low enough the rod is horizontal without hitting the floor
   // set this to zero. Otherwise, measure how high the carriage is from horizontal rod
   // Also, movement speeds are 10x to 20x cartesian speeds at tower bottom.
   // You may need to leave a few mm for safety.
   // Hitting floor at high speed can damage your printer (motors, drives, etc)
   // THIS MAY NEED UPDATING IF THE HOT END HEIGHT CHANGES!
   #define DELTA_FLOOR_SAFETY_MARGIN_MM 15

   ```
4. 1. `DELTA_MAX_RADIUS` use `Max printable radius [mm]`.
   2. The values you have for `Alpha A(210)`, `Alpha B(330)` & `Alpha C(90)` each, would be for:

      ```
      #define DELTA_ALPHA_A 210
      #define DELTA_ALPHA_B 330
      #define DELTA_ALPHA_C 90

      ```
5. 1. The correction radii *should* be `0` and are the values you have for `Delta Radius A(0)`, `Delta Radius B(0)` & `Delta Radius C(0)`:

      ```
      /** Correct radius by this value for each column. 
          Perfect builds have 0 everywhere. */
      #define DELTA_RADIUS_CORRECTION_A 0
      #define DELTA_RADIUS_CORRECTION_B 0
      #define DELTA_RADIUS_CORRECTION_C 0

      ```
   2. Likewise, given your EEPROM settings that you have listed the values you have for `Corr. diagonal A[mm]`, `Corr. diagonal B[mm]` & `Corr. diagonal C[mm]`:

      ```
      /** Correction of the default diagonal size. Value gets added.*/
      #define DELTA_DIAGONAL_CORRECTION_A 0
      #define DELTA_DIAGONAL_CORRECTION_B 0
      #define DELTA_DIAGONAL_CORRECTION_C 0

      ```

---

### Z-correction (distortion correction)

1. `DISTORTION_START_DEGRADE` - Initially, I would leave this at default. You can always tweak it at a later stage.

   ```
   /** z distortion degrades to 0 from this height on. You should start after the first layer to get
   best bonding with surface. */
   #define DISTORTION_START_DEGRADE 0.5

   ```
2. `DISTORTION_END_HEIGHT` - Initially, I would leave this at default. You can always tweak it at a later stage.

   ```
   /** z distortion correction gets down to 0 at this height. */
   #define DISTORTION_END_HEIGHT 1.5

   ```
3. `DISTORTION_CORRECTION_R` - Initially, I would leave this at default. You can always tweak it at a later stage.

   ```
   /* For delta printers you simply define the measured radius around origin */
   #define DISTORTION_CORRECTION_R       80

   ```
4. `DISTORTION_UPDATE_FREQUENCY` - For the moment, I would leave this at default. As the comments remark, this is computationally intensive, and will use a lot of processing power - power that you want to keep for controlling the motors. SO, it is best to not make this frequency too high.

   ```
   /** Correction computation is not a cheap operation and changes are only small. So it
   is not necessary to update it for every sub-line computed. For example lets take DELTA_SEGMENTS_PER_SECOND_PRINT = 150
   and fastest print speed 100 mm/s. So we have a maximum segment length of 100/150 = 0.66 mm.
   Now lats say our point field is 200 x 200 mm with 9 x 9 points. So between 2 points we have
   200 / (9-1) = 25 mm. So we need at least 25 / 0.66 = 37 lines to move to the next measuring
   point. So updating correction every 15 calls gives us at least 2 updates between the
   measured points.
   NOTE: Explicit z changes will always trigger an update!
   */
   #define DISTORTION_UPDATE_FREQUENCY   15

   ```

---

### Stepper

1. `ENABLE_BACKLASH_COMPENSATION` - As stated, it is rarely needed, so leave it set to `0`

   ```
   /* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's
   own weight, so this is nearly never needed. */
   #define ENABLE_BACKLASH_COMPENSATION 0

   ```
2. `ALLOW_QUADSTEPPING` - Do you need high frequencies? This could be a case of leaving set to the default of `1`, and if you experience stalling then set to `0` to see if it cures the stalling

   ```
   /** If you need frequencies off more then 30000 you definitely need to enable this. If you have only 1/8 stepping
   enabling this may cause to stall your moves when 20000Hz is reached.
   */
   #define ALLOW_QUADSTEPPING 1

   ```

---

### Endstops

1. `ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING` - these are relatively easy. From the comment for `ENDSTOP_X_MIN_INVERTING`

   ```
   /* By default all endstops are pulled up to HIGH. You need a pull-up if you
   use a mechanical endstop connected with GND. Set value to false for no pull-up
   on this endstop.
   */

   ```

   A *pullup* refers to a [pull-up resistor](https://arduino.stackexchange.com/questions/25353/why-are-pull-up-resistors-needed). This is, in this case, a piece of circuitry in the [MicroController Unit](https://en.wikipedia.org/wiki/Microcontroller) (MCU) (i.e. the Arduino chip[ATmega 2560] on the controller board. This `#define` allows you to enable, or disable, it for each input connected to an endstop. Basically, they stop short circuits between the power supply and ground - they do more than that but... You probably need the `MAX` endstops enabled, where you actually have an endstop. If there are no `MIN` endstops, i.e. at the bottom of the rails, then these can be set to false.

   ```
   #define ENDSTOP_PULLUP_X_MIN false
   #define ENDSTOP_PULLUP_Y_MIN false
   #define ENDSTOP_PULLUP_Z_MIN false
   #define ENDSTOP_PULLUP_X_MAX true
   #define ENDSTOP_PULLUP_Y_MAX true
   #define ENDSTOP_PULLUP_Z_MAX true

   ```

   `ENDSTOP_X_MIN_INVERTING` this merely allows you to invert the input from the endstop. For example, if the endstop is triggered by a vertical carriage, then the switch will "close". If, instead, the code is actually looking for an "open" switch, rather than a "closed" switch, when the endstop switch is being triggered by the vertical carriage hitting it, then you simply need to invert it.

   ```
   //set to true to invert the logic of the endstops
   #define ENDSTOP_X_MIN_INVERTING true
   #define ENDSTOP_Y_MIN_INVERTING true
   #define ENDSTOP_Z_MIN_INVERTING true
   #define ENDSTOP_X_MAX_INVERTING false
   #define ENDSTOP_Y_MAX_INVERTING false
   #define ENDSTOP_Z_MAX_INVERTING false

   ```

---

### Fused Filament Fabrication

1. `EXTRUDER_SWITCH_XY_SPEED` - Probably best to leave as default, `100`, and tweak later, if need be

   ```
   /* Speed in mm/s for extruder moves fom internal commands, e.g. switching extruder. */
   #define EXTRUDER_SWITCH_XY_SPEED 100

   ```

---

With respect to the temperature sensor settings on the extruder (read: hotend), from [Repetier-Firmware Documentation](https://www.repetier.com/documentation/repetier-firmware/rf-installation/):

> ```
> #define EXT0_TEMPSENSOR_TYPE 5 
>
> ```
>
> What temperature sensor are you using in the extruder. The configuration file lists possible values
> and meanings.
>
> ```
> #define EXT0_TEMPSENSOR_PIN 0
>
> ```
>
> This parameter is tricky and often causes wrong configurations. For historical reasons it is named PIN
> but it IS NOT A PIN NUMBER. It is the position in an array of analog
> input sources. In this array, the real pin number is stored. In 99.9%
> 0 is the correct answer here.
>
> ```
> #define EXT0_HEATER_PIN HEATER_0_PIN
>
> ```
>
> Which pin enables the heater block. It works with any pin. PWM capability is not required to use
> PID on an output.

For `EXT0_TEMPSENSOR_TYPE`, the temperature sensor is "buried' inside the hotend heater block, and as such it is probably not going to be easy, nor desirable, to remove and examine - although it is certainly possible to do so, if you feel up to the job. If could be just a question of trial-and-error. You have eight, or so, to choose from. However, the 100k thermistor is one of the most common types, and so `1` would seem like a good setting to choose, initially:

```
// What type of sensor is used?
// 0 is no thermistor/temperature control
// 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other)
// 2 is 200k thermistor
// 3 is mendel-parts thermistor (EPCOS G550)
// 4 is 10k thermistor
// 8 is ATC Semitec 104GT-2
// 12 is 100k RS thermistor 198-961
// 13 is PT100 for E3D/Ultimaker
// 14 is 100K NTC 3950
// 5 is userdefined thermistor table 0
// 6 is userdefined thermistor table 1
// 7 is userdefined thermistor table 2
// 50 is userdefined thermistor table 0 for PTC thermistors
// 51 is userdefined thermistor table 0 for PTC thermistors
// 52 is userdefined thermistor table 0 for PTC thermistors
// 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package)
// 61 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1.25 Vref offset like adafruit breakout)
// 97 Generic thermistor table 1
// 98 Generic thermistor table 2
// 99 Generic thermistor table 3
// 100 is AD595
// 101 is MAX6675
// 102 is MAX31855
#define EXT0_TEMPSENSOR_TYPE 1

```

As the Repetier documentation states, in 99.9% of the cases, for `EXT0_TEMPSENSOR_PIN` a value of `0` will probably work. If it does not, then you may need to change this to some other value.

For `EXT0_HEATER_PIN HEATER_0_PIN`, just follow the wiring of your printer, and see which pin the heater is connected to.

---

### Where and how to change the settings

You are probably aware of this already, but in case you aren't...

Once you have downloaded `Repetier-Firmware-master.zip` from [Github.com: repetier/Repetier-Firmware](https://github.com/repetier/Repetier-Firmware), and unzipped it, then you will need to edit the files in `Configuration.h` in the `src/ArduinoAVR/Repetier` directory. Note that the ArduinoAVR directory is used for the Arduino Mega 2560 board, and its derivatives.

Open `Repetier.ino` in the Arduino IDE, and edit `Configuration.h` in the Arduino IDE. You could also edit `Configuration.h` in your favourite plain text editor, if need be, but it is probably easier, and simpler to do everything in the Arduino IDE.

Once you have edited the settings that you require, as I described in [Help with Repetier firmware (probably locked and licensed)](https://3dprinting.stackexchange.com/questions/4161/help-with-repetier-firmware-probably-locked-and-licensed), compile and upload the firmware to your board. Then run a print. If something seems to be incorrectly set, stop the print. Then re-tweak your settings ad compile and upload again, and then run another test print. Ad infinitum...

After a few iterations, you should be quite comfortable with this process, and end up with a well calibrated printer.


---

