# Bed leveling method not working with Repetier firmware 0.92.9?

I homebuilt a delta 3D printer (like Kossel mini) with a Z probe near the hotend with manual deploy and RAMPS 1.4 board:

• I configured the Repetier firmware with the online tool;
• All my endstops (included the Z probe endstop) work in reverse mode, so I reversed the endstops triggering option;
• I enabled Z-probing and set the BED_LEVELING_METHOD to 1 (n*n grid);
• I set Z_PROBE_REPETITIONS to 3, and;

Then I tested it inside Repetier-Host and all seems to work well (homing, moving, extruding) except for the Autobed leveling method.

Specifically, it always starts measurement of 3 Points (with 3 probe repetition each) even if I change the type of measurement. It never does a grid measurement or a 2 points mirror measurement.

I also tried to re-upload the firmware with EEPROM_MODE to 0 but didn't work.

Does anyone have the same issue, or can explain to me why this happens?

As a guess, you are using the wrong command. If set for n x n grid, you get 3 point measurement with G29, but that is not auto leveling, it is just setting Z height - based on average height at 3 points.

What you need is G32 S2 with S2 to store result in EEPROM (and therefore you should have EEPROM enabled with auto leveling. It is also used to store endstop offsets).

• Ho thanks man! I thought it was the same as the Marlin firmware code. So the right procedure is: G29 then G32 and at the end G33 ? Please can tell me where can i find a reference to all codes in the Repetier firmware? thanks – xxx Jun 30 '16 at 19:51
• No, skip G29 completely, no need for that. G32 S2 is all you need. G33 makes sense only after you have calibrated parameters to best fit bed. The less it has to do the better or you get wavy surfaces higher where it is disabled. All gcodes can be found in Repetier.ino file with description. www.reprap.org -> gcodes has also a good overview of most commands. – Repetier Jul 2 '16 at 7:47

Delta bed leveling has been dodgy in Repetier for a long time. There are a number of fixes occurring in the dev branch right now (June 2016) if you look at Github. So it's getting better, but I wouldn't call it mature yet. (Delta auto-calibration is one of the only big shortcomings of Repetier, in my opinion.)

The problem with approaches like bed plane compensation and grid/mesh leveling for Deltas is that they don't fix print geometry errors caused by imprecise printer construction. They just help get the first layer down. What I would recommend is to use one of the non-Repetier delta auto-calibration techniques available in order to get your firmware settings correct, and then you won't need to use "slap a bandaid on a calibration problem" solutions like grid leveling. Two popular options:

• Load Rich Cattell's Marlin branch, perform auto-calibration, record the adjusted values, and then load those parameters into Repetier. This will usually work well enough that you don't need to attempt any kind of auto-leveling in Repetier. (I don't recommend actually printing with Marlin on a Delta due to lack of performance optimization. Repetier can print much, much faster while managing more features like LCDs. Marlin gets bogged down doing all the Delta kinematics math unless you print very slow.)
• Use David Crocker's awesome online delta calibration tool. I'd recommend using six-factor calibration with 10 probe points. This is the manual version of the auto-calibration technique built into dc42 RepRapFirmware, and it's practically magical compared to the routines built into Repetier.

Sidenote: Grid leveling can be a very useful technique for large printers where bed flatness is difficult to achieve. It's just very limited as a way to deal with delta calibration problems.