Gas station without pumps

2018 July 29

Fixing Monoprice Delta Mini end stops

Filed under: Uncategorized — gasstationwithoutpumps @ 20:17
Tags: , ,

I noticed that the automatic bed leveling on my Monoprice Delta Mini was not really working, and so I researched the problem on the web.  The general idea from several posts was that the end stops were not precisely positioned, and the automatic bed leveling couldn’t deal with that.

There seemed to be two approaches to fixing the problem:

  • Fuss with the end stops mechanically, loosening screws, tweaking position, and retightening them.  Getting that accurate to 0.1mm or better seemed unlikely to me, and one cautionary tale was of someone dropping one of the nuts and not being able to get it back on the screw.  That sounds like the sort of problem I would have, so I was reluctant to try this.
  • Repeatedly measure the bed, tweaking the firmware offset for the end stops.  That sounded more like the sort of thing I could do, and I even found a program on-line that would do it automatically.

I downloaded the program and looked at it carefully, to make sure it wouldn’t mess up my printer.  It seemed pretty clean, except for one block that set the steps/mm for the stepper motors.  The step setting would have been way off for my printer (I think it was appropriate for an older version of the software that had a coarser microstep option).  I removed all the code that referred to steps/mm, since  I had already calibrated that with the Make dimensional print (see Monoprice delta 3d printer glass clips).

I also set the initial values of L (the length of the diagonal rod) and R (the radius of the delta tower) to the factory-set values (120.8 and 61.7) reported by my printer (using the M503 command to print settings), so the program would be working with best estimates I had.

I fixed one parenthesis bug (which would not have caused problems in Python 2, but did not work with the print() function in Python 3).

The program works by doing the 4 taps used for bed leveling, and reporting the position of each point, then doing a linear estimate of how to adjust the end-stop offsets and R to make the numbers come out right.  It makes the adjustments and repeats the measurements until the points are all at about the same Z height.

For my printer, the adjustments were X-0.165  Z-2.923 and R=63.138.  The 3mm offset for the Z-tower was about what I expected based on how tilted the first layer of the prints had been.

I switched over to using the newest version of Cura (3.4.1) from the version 3.2.1 that I had been using, since I now understood the printer well enough to be able to add it as a custom filament printer, without needing a bunch of files from the web to define the printer.  I printed the Make dimensional test piece again, sliced by Cura 3.4.1, to check that I hadn’t messed up the setup of Cura.

It printed fine (on the 2nd try—the first try had a typo in the setup code and was trying to print 3mm up in the air), with a flat bottom layer adhering uniformly to the glass plate—indicating that the end-stop corrections were working as hoped. Its dimensions were

design measured x measured y
25mm 25.25mm 24.65mm
20mm 20.05mm 19.75mm
10mm 10.10mm 10.00mm

which indicates that the steps/mm are accurate to about 1%. I could tweak them a little, but I’m not sure that I’d get consistent improvement from doing so.

I’ve also been working on creating broomstick threading on the printer, both to test the ability of the printer to do screw threads and to make a socket and bracket for attaching a broom head to a telescoping pole for cleaning the valleys of my tile roof.  I’ll post on that in a separate post, with pictures, once I get the whole thing working.


  1. […] As I mentioned in Fixing Monoprice Delta Mini end stops, […]

    Pingback by Tool for sweeping roof valleys | Gas station without pumps — 2018 August 3 @ 21:43 | Reply

  2. Redid the end-stop calibration today getting
    M666 Z-3.054 X-0.274 Y0.0
    M665 R63.2354

    then rerunning calibration got
    M666 Z-3.083 X-0.291 Y0.0
    M665 R63.266

    This does not seem quite right, as the extruder seems to be almost 0.1mm too high near the back pillar after the auto bed leveling. I wonder whether there is a correction that can be applied to the auto bed leveling.

    Comment by gasstationwithoutpumps — 2019 August 2 @ 10:50 | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: