# Geeetech i3 Pro C with 3DTouch major issues

I'm in dire need of trying to fix my Geeetech i3 Pro so many attempts to fix it.

After connecting all these pins correctly I uploaded the Marlin firmware with the correct configs. I will attach the Marlin files and pictures of my ATmega2560 based printer board and some of the errors I'm getting when I run the code.

First, when I press auto home the printer came to somewhat middle of the bed and homed correctly. The only issue was getting the Z-axis correct. So, I connected the printer to Pronterface and began trying to fix the Z-axis. When I try to move the gantry down using the manual controls it won't go below zero. I then found that every time I try to adjust the Z-axis offset using Pronterface it gives me this error echo:Z Offset z_min: -15 z_max: -5

Input / output from Pronterface console:

>>> m851
SENDING:M851
echo:Z Offset :
-0.78
>>> m851 z0
SENDING:M851 Z0
echo:Z Offsetz_min: -15z_max: -5


... then nothing happens, even when I try to turn off the endstops:

>>> M211 S0
SENDING:M211 S0
>>> M211 S0
SENDING:M211 S0
>>> M211 S0
SENDING:M211 S0


While I was trying to see what was going on with this I must have changed or done something, now when I hit auto home the X and Y axis goes to the endstops and starts grinding the gears then the Z comes down all the way at the end of the table around 200,200. I have attached a video of this just to show what is going on.

This is some of my Configuration.h data:

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.

// Travel limits after homing
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 180
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

// - "grid" mode
// Probe every point in a rectangular grid
// You must specify the rectangle, and the density of sample points
// This mode is preferred because there are more measurements.
// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

// - "3-point" mode
// Probe 3 arbitrary points on the bed (that aren't colinear)
// You must specify the X & Y coordinates of all 3 points

#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
// and least squares solution is calculated
// Note: this feature occupies 10'206 byte
#ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 30
#define RIGHT_PROBE_BED_POSITION 200
#define BACK_PROBE_BED_POSITION 147
#define FRONT_PROBE_BED_POSITION 20

// set the number of grid points per dimension
// I wouldn't see a reason to go above 3 (=9 probing points on the bed)
#define AUTO_BED_LEVELING_GRID_POINTS 2

#else // not AUTO_BED_LEVELING_GRID
// with no grid, just probe 3 arbitrary points. A simple cross-product
// is used to estimate the plane of the print bed

#define ABL_PROBE_PT_1_X 20
#define ABL_PROBE_PT_1_Y 150
#define ABL_PROBE_PT_2_X 50
#define ABL_PROBE_PT_2_Y 100
#define ABL_PROBE_PT_3_X 100
#define ABL_PROBE_PT_3_Y 75

#endif // AUTO_BED_LEVELING_GRID

// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
// X and Y offsets must be integers
#define X_PROBE_OFFSET_FROM_EXTRUDER -6
#define Y_PROBE_OFFSET_FROM_EXTRUDER -60
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.4


I measured the X offset to be -6 mm and the Y offset to be -66 mm, however, it won't let me add -66 mm as Y-probe offset only lets me do -60 mm so I left it at -60 mm.

I re-uploaded the firmware several times but the printer will not home as it did the first time. Now the X tries to go off the bed and so does the Y like shown in the video.

My printer bed is 210x210 mm.

I now know how to manually send commands using Pronterface and would like to plead for your assistance.

[1

• Hi welcome to 3DPrinting.SE! If I look into your configuration file it appears to be Marlin 1.1.x. Correct? – 0scar May 27 '20 at 7:59