Unable to calibrate - Lots of sideways movement

I received my M4 a couple weeks back and finally set aside a few days to put it together. I finally got it put together but am unable to calibrate it.

I followed the wooden frame instructions and from center-of-bolt to center-of-bolt, the dimensions are: 116 3/8" x 95 7/8". Diagonals are: 150 5/8" & 150 3/8"

I am using the recommended DeWalt DWP611

According to the logs, I am on version 0.72.

When trying to calibrate the M4, it attempts to go through the calibration pattern and tightens the belts in each position, but when doing so, it moves sideways a significant amount. Additionally, it seems like some of the bottom belts, more specifically the bottom right, spools up a lot but isn’t fed out. I’m unable to achieve a fitness of over about .08, and usually ends up around 0.65. The frame is solid, anchored to the wall studs with about an 8 degree or so angle.

I recorded a video of this attempted calibration and will upload it when I’m home with a better connection. Here are the logs from the recorded calibration run:

Serial Messages
[MSG:INFO: Channel auto report interval set to 50 ms]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: FluidNC v0.72 (Maslow-Main-996b2ffa-dirty)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:WARN: Ignored key Maslow_Acceptable_Calibration_Threshold]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Config messages ran]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Connecting to STA SSID:amogus]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting…]
[MSG:INFO: Connected - IP is 172.20.10.3]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://maslow.local/]
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
error:3
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
[MSG:INFO: Set to comply]
error:3
[MSG:INFO: Retracting all belts]
error:3
[MSG:INFO: Bottom Right pulled tight with offset -1678.780]
[MSG:INFO: Top Right pulled tight with offset -1683.998]
[MSG:INFO: Bottom Left pulled tight with offset -1891.612]
[MSG:INFO: Top Left pulled tight with offset -1851.534]
error:3
$Config/Filename=maslow.yaml
$AP/Country=01
[MSG:INFO: Extending all belts]
error:3
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Zeroing z-axis position]
error:3
[MSG:INFO: Measured waypoint 0]
[MSG:INFO: Center point deviation: TL: -18.485 TR: -18.565 BL: 7.083 BR: 8.668]
[MSG:INFO: Measured waypoint 1]
[MSG:INFO: Measured waypoint 2]
[MSG:INFO: Measured waypoint 3]
[MSG:INFO: Measured waypoint 4]
[MSG:INFO: Measured waypoint 5]
[MSG:INFO: Measured waypoint 6]
[MSG:INFO: Measured waypoint 7]
[MSG:INFO: Measured waypoint 8]
CLBM:[{bl:1921.89, br:1924.76, tr:1896.75, tl:1898.63},{bl:1837.92, br:1922.51, tr:1985.18, tl:1891.85},{bl:1664.97, br:2029.94, tr:2142.32, tl:1822.29},{bl:1714.76, br:2108.88, tr:2114.38, tl:1732.19},{bl:1804.45, br:2181.12, tr:2044.97, tl:1646.81},{bl:1982.06, br:1997.84, tr:1838.82, tl:1838.16},{bl:2176.03, br:1820.80, tr:1644.56, tl:2041.28},{bl:2113.67, br:1885.68, tr:1821.38, tl:1922.38},{bl:2044.24, br:1645.38, tr:1824.51, tl:2177.52},]
Computing… This may take several minutesFitness: 0.0834891 in 100
Fitness: 0.0834891 in 200
Fitness: 0.0834891 in 300
Fitness: 0.0834891 in 400
Fitness: 0.0834891 in 500
Fitness: 0.0834891 in 600
Fitness: 0.0834891 in 700
Fitness: 0.0834891 in 800
Fitness: 0.0834891 in 900
Fitness: 0.0834891 in 1000

WARNING FITNESS TOO LOW. DO NOT USE THESE CALIBRATION VALUES!

1 Like

If you extend the belts fully by pressing Extend All and then retract them fully what do you see printed out in the console?

Another thing to check is that you have the horizontal setting correct, as having that set wrong that can cause some strange behavior like that.

1 Like

Just ran this for you. Here is the output:

[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Right pulled tight with offset 0.086]
[MSG:INFO: Top Left pulled tight with offset 0.107]
[MSG:INFO: Bottom Left pulled tight with offset 0.086]
[MSG:INFO: Bottom Right pulled tight with offset 0.161]

1 Like

Here is the recording of the failed calibration

And here’s another full log file of extending/retracting belts and then trying to calibrate. Only reason I’m posting this is because I just updated firmware.
Serial Messages
[MSG:INFO: Channel auto report interval set to 50 ms]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: FluidNC v0.76 (Maslow-Main-67a72cf4-dirty)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Config messages ran]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Connecting to STA SSID:amogus]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting…]
[MSG:INFO: Connecting…]
[MSG:INFO: Connected - IP is 172.20.10.3]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://maslow.local/]
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
Maslow does not know belt lengths. Please retract and extend before continuing.
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Left pulled tight with offset 0.000]
[MSG:INFO: Top Right pulled tight with offset -0.011]
[MSG:INFO: Bottom Left pulled tight with offset 0.000]
[MSG:INFO: Bottom Right pulled tight with offset -0.011]
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Right pulled tight with offset 0.086]
[MSG:INFO: Top Left pulled tight with offset 0.107]
[MSG:INFO: Bottom Left pulled tight with offset 0.086]
[MSG:INFO: Bottom Right pulled tight with offset 0.161]
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Zeroing z-axis position]
[MSG:INFO: Measured waypoint 0]
[MSG:INFO: Center point deviation: TL: 0.482 TR: 0.413 BL: -13.266 BR: -10.781]
[MSG:INFO: Measured waypoint 1]
[MSG:INFO: Measured waypoint 2]
[MSG:INFO: Measured waypoint 3]
[MSG:INFO: Measured waypoint 4]
[MSG:INFO: Measured waypoint 5]
[MSG:INFO: Measured waypoint 6]
[MSG:INFO: Measured waypoint 7]
[MSG:INFO: Measured waypoint 8]
CLBM:[{bl:1901.96, br:1905.74, tr:1916.16, tl:1918.02},{bl:1838.38, br:1927.30, tr:1985.01, tl:1883.33},{bl:1644.25, br:2035.72, tr:2177.34, tl:1822.60},{bl:1715.71, br:2107.31, tr:2114.93, tl:1732.63},{bl:1804.63, br:2179.47, tr:2045.47, tl:1647.23},{bl:1982.46, br:1998.26, tr:1839.23, tl:1846.57},{bl:2175.64, br:1821.14, tr:1644.99, tl:2042.67},{bl:2114.11, br:1898.55, tr:1834.02, tl:1909.77},{bl:2044.69, br:1645.85, tr:1817.55, tl:2174.49},]
Computing… This may take several minutesFitness: 0.0770369 in 100
Fitness: 0.0770369 in 200
Fitness: 0.0770369 in 300
Fitness: 0.0770369 in 400
Fitness: 0.0770369 in 500
Fitness: 0.0770369 in 600
Fitness: 0.0770369 in 700
Fitness: 0.0770369 in 800
Fitness: 0.0770369 in 900
Fitness: 0.0770369 in 1000

WARNING FITNESS TOO LOW. DO NOT USE THESE CALIBRATION VALUES!

1 Like

These all look pretty good so that’s a point against it being an magnet slipping issue

https://m4cal.etskinner.com/

Plugging that data into here it does look like there is something funky going on with the data:

And looking at the video there is for sure something funky going on there.

In the settings is it possible that it’s set up for horizontal calibration instead of vertical?

It is set up for horizontal. I interpreted that as the orientation of the board (as in, the frame is 10 foot wide, 8 feet tall in horizontal, flipped in vertical). But rather that setting refers to the actual laying down flat vs hung on a wall orientation?

1 Like

Yup! That should fix it!

horizontal is “frame is flat on the floor or close to it”
vertical is “frame is leaning against a wall/legs”

we really need to change the UI to better describe this.

David Lang

Yup. This was my issue all along. Ran it one time with the proper orientation, and it calibrated just as it should. I assumed I missed something about this setting during the guide, but looking back on it, I agree with you. Maybe I’ll make a post to that user guide feedback post suggesting this clarification.

1 Like

A while ago someone suggested the terms “flat” and “upright”. Those terms never took hold, but I still believe they are harder to confuse.

3 Likes

“Words are hard”, and “A picture is worth 1000 words”

I think if we verify that the maslow is vertical by testing that a short comply on top belts allows it to move then we won’t even have to ask or have a setting. also maybe we just show a picture next to that setting in the dialog

1 Like

would also be really easy to change

# Is the maslow on vertical (true) or horizontal (false)
Maslow_vertical: false

to

# Is the frame's orientation vertical (true) or horizontal (false)
# vertical = \ , i.e. stood up at an angle (must be less than 70 degrees)
# horizontal = __ , i.e. laid down flat
Maslow_vertical: false
1 Like

most people are selecting horizontal or vertical in the UI, not manually editing
the file.

David Lang

1 Like

I understand that. I’ve even shared a mockup graphic for that in another thread. It should be made explicit in both locations.

1 Like