These are example configurations for the low-cost [Acrylic Prusa I3 pro B 3D Printer DIY kit](http://www.geeetech.com/acrylic-geeetech-prusa-i3-pro-b-3d-printer-diy-kit-p-917.html) and the [3DTouch auto bed leveling sensor](http://www.geeetech.com/geeetech-3dtouch-auto-bed-leveling-sensor-for-3d-printer-p-1010.html) based on: - `../GT2560/` - [Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B](https://www.geeetech.com/forum/viewtopic.php?t=19846) The main characteristics of these configurations are: - The defined motherboard is `BOARD_GT2560_REV_A_PLUS`. - Travel limits are adjusted to the printer bed size and position. - An example `SKEW_CORRECTION` for a particular printer is enabled. See comments below about how to adjust it to a particular printer. - Using the LCD controller for bed leveling is enabled. - `PROBE_MANUALLY` is enabled, which *provides a means to do "Auto" Bed Leveling without a probe*. - The `LEVEL_BED_CORNERS` option for manual bed adjustment is enabled. - Bilinear bed leveling is enabled, the boundaries for probing are adjusted to the glass size, and extrapolation is enabled. - `PRINTCOUNTER` is enabled, in order to track statistical data. - `INDIVIDUAL_AXIS_HOMING_MENU` is enabled, which adds individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. - The speaker is enabled for the UI feedback. - `bltouch` variant: - `USE_ZMAX_PLUG` is enabled. See comments about connections below. - Heaters and fans are turned off when probing. - Multiple probing is set to 3. # First-time configuration ## Skew factor The skew factor must be adjusted for each printer: - First, uncomment `#define XY_SKEW_FACTOR 0.0`, compile and upload the firmware. - Then, print [YACS (Yet Another Calibration Square)](https://www.thingiverse.com/thing:2563185). Hint, scale it considering a margin for brim (if used). The larger, the better to make error measurements. - Measure the printed part according to the comments in the example configuration file, and set `XY_DIAG_AC`, `XY_DIAG_BD` and `Y_SIDE_AD`. - Last, comment `#define XY_SKEW_FACTOR 0.0` again, compile and upload. ## 3DTouch auto leveling sensor - Print a suitable mount to attach the sensor to the printer. The example configuration file is adjusted to http://www.geeetech.com/wiki/images/6/61/3DTouch_auto_leveling_sensor-1.zip - Unlike suggested in [geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor), the existing end stop switch is expected to be kept connected to Z_MIN. So, the sensor is to be connected to Z_MAX, according to Marlin's default settings. Furthermore, GT2560-A+ provides a connector for the servo next to thermistor connectors (see [GT2560](https://www.geeetech.com/wiki/images/thumb/4/45/GT2560_wiring.jpg/700px-GT2560_wiring.jpg) and [GT2560-A+](http://i.imgur.com/E0t34VU.png)). - Be careful to respect the polarity of the sensor when connecting it to the GT2560-A+. Unlike end stops, reversing the connection will prevent the sensor from working properly. - [Test](http://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Testing) and [calibrate](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Calibration) the sensor. - If using the GT2560-A+ and with the sensor connected to Z_MAX and an endstop connected to Z_MIN use the following calibration routine instead. ## 3DTouch Calibration with Z_MAX - Home the printer with `G28` command. - Disable the Z axis software endstop with `M211 S0 Z0` - Reset the probe Z_OFFSET with `M851 Z0` - Move to the center of the bed with `G1 X100 Y100` - Move Z incrementally until the nozzle is the correct height from the bed using a shim or piece of paper, record this Z movement, for example -0.2. - Do a single probe at the current point in the middle of the bed using `G30` and not the returned value, for example 1.9. Invert this value, i.e. -1.9, and add it to the Z offset above, i.e. -0.2 in this example giving -2.1. - Update the probe Z_OFFSET to this value using `M851` i.e. `M851 Z-2.1`. - Re-enable software end-stops with `M211 S1 Z0` - Save this value to the EEPROM with `M500`. - Update the start G-Code in your slicer software to insert a `G29` after the last `G28`. - Carefully test that the offset is correct in the first print.