Auto Bed Compensation Issue

  • I am having an issue with Auto Bed Compensation. When I run it I am receaving this error, Error: Probe points P0 to P3 must be in clockwise order starting near X=0 Y=0 and P4 must be near the centre.

    My current bed.g file looks like this,

    M561 ; clear any bed transform
    M98 Pdeployprobe.g ; deploy mechanical Z probe
    ; Probe the bed at 5 points

    G30 P0 X33 Y1 H0 Z-99999
    G30 P1 X187 Y1 H0 Z-99999
    G30 P2 X187 Y218 H0 Z-99999
    G30 P3 X33 Y218 H0 Z-99999
    G30 P4 X110 Y110 H0 Z-99999 S
    M98 Pretractprobe.g ; retract mechanical Z probe

    It seems to probe fine but it shows the error on my web browser when it finishes? I have played around with the probe coordinates and the direction it probe but haven't had any luck. Ill also attach my config file too if that helps. Thanks in advance

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Sun Jun 17 2018 21:37:32 GMT-0500 (Central Daylight Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Drives
    M569 P0 S1 ; Drive 0 X goes forwards
    M569 P1 S1 ; Drive 1 Y goes Backward
    M569 P2 S1 ; Drive 2 Z? goes Foward
    M569 P3 S1 ; Drive 3 E0 goes forwards
    M569 P4 S1 ; Drive 4 E1 goes forwards
    M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z400 E420:420 ; Set steps per mm
    M566 X900 Y900 Z900 E120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X10000 Y10000 Z1000 E1200:1200 ; Set maximum speeds (mm/min)
    M201 X6000 Y1000 Z300 E250:250 ; Set accelerations (mm/s^2)
    M906 X500 Y500 Z500 E800:800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X1 Y0 Z0 S1 ; Set axis minima
    M208 X220 Y219 Z197 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 S0 ; Endstop type: 0 = active low endstop input,
    M574 Z2 S0

    ; Z-Probe
    M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 H5 F300 T4000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 P25 X22.9 Y0 Z2.61625 ; Set Z probe trigger value, offset and trigger height
    M557 X33:187 Y1:219 S20 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S100 ; Set temperature limit for heater 0 to 100C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S280 ; Set temperature limit for heater 2 to 280C

    ; Fans
    M106 P0 S1 I0 F500 H1:2 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S0.5 I0 F500 H1:2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1:2 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C

    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured

  • administrators

    As the message says. Your points are in anticlockwise order.

  • In that case I'm not sure what the correct order should be, right now I have it starting at the top left of the bed and moving, right, down, left, then center. but I've also tried it the other way starting at the bottom left of the bed.

  • administrators

    If P0 to P1 is right and P1 to P2 is towards you, then you have a left hand coordinate system. Your prints will come out mirrored. Seen from above, the +Y direction must be 90 degrees anticlockwise from the +X direction.

  • @otislehawk This can be especially confusing with a moving bed as the bed travels in the opposite direction to what you'd expect in order to generate the correct relative motion of the nozzle.

  • @dc42 I looked again at my printer and I think I have it set up correctly but it's still not working, I'm attempting to modify a prusa mk2 if that helps future explaining. I took a look at it and from what I understand looking at it from the top the y-axis should move backwards when i click y+, which sounds correct based on your explanation.. looking at it from the front, Y+ moves the bed backwards, X+ moves the head right, and Z+ is Up. I also tried reversing the y-axis movement to see if that helps but I got the same error.
    Sorry that I'm not catching on, this is my first printer build so I'm stumbling my way through it lol

  • administrators

    That sounds correct, +X moves the head to the right and +Y moves the head away from you or the bed towards you.

    But you have declared the probe points in the wrong order. They go anticlockwise around the bed. Try exchanging the coordinates of the P1 and P3 points. Or switch to mesh bed compensation, which is what we recommend now.

  • So if I used mesh bed compensation I don't have to worry about running the auto bed compensation? Because I've ran the mesh bed compensation a couple times, and it finishes correctly and then shows me the graph thing afterwards. And yeah I'll try playing around with the points again tonight.

  • administrators

    @otislehawk Yes. Mesh compensation allows for finer adjustment than the older bed compensation. You still need to have as level a bed as possible (manually or using multiple Z motors depending on your setup), or a well calibrated delta printer if using a delta. See


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.