MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Ender 3 Level Test

by elmerohueso Jul 3, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

so my printer just keeps going to each of the corners when I hit the button instead of printing anything. is this normal?

Fair warning: If you previously leveled your printer (while cold) before using this and are using the magnetic mat on the Ender 3 Pro, it may damage it. This gcode forced the nozzle lower than the Auto Home setting and burned holes in my mat...

This 100% didnt burn through bud did make some indents.

Really great test, it's quick and you get instant feedback when fine tuning your settings. Thanks!

Does the gcode work with 0.3mm nozzles?

Why does it print 2 layers for me after slicing the stl and printing it?

I’m just setting up my new printer with a 310 x 310 bed. This will be the first time I’ve printed anything. Ever. My question is does the size of your print matter for my bed or should I make it larger to fit my bed and if so, how do I do that. I also live in the desert so I’m glad to know that it reduces variables for me.

hi guys this is a great levelling tool, but i was just wondering i have recently fitted a bltouch would this still work with that as the file is pre-sliced? thanks

Since a BLTouch is supposed to automatically level your bed (or rather, automatically compensate for any non-level parts of your bed), there's not really any point in using the Ender3_Level_Calibration_v2.gcode. But if you just want to see how good your BLTouch really is, you can use the Ender3_Level_Test_v2.gcode and modify the gcode to add your auto-leveling code to the beginning. Otherwise, as long as you have your slicer configured to use your auto-leveling code, you could make and slice your own test with the STL. Just make sure your slicer stops at one layer.

It's still a good Idea to level your bed, even if you have a bltouch.

This is a great tool, however it has a big problem if you're not careful...namely during the initial leveling stages, there's a hot nozzle sitting on or right above your build surface for potentially long periods of time (sits there until you resume each time) and it can cook your print surface. The first time I used it, it took me a bit to situate and such, and my printer made itself a hole while it was sitting there. Would be better if it could do the leveling part first, and then pause a last time (maybe moving to the center to wait) so you can start the print turning the heat settings way down, then have the print in a pause while you crank the heat back up for the proof print.

Leveling with the nozzle cold can produce different results than with it hot. I've never melted or burned my printer bed, so that might be more of an issue with the coating or topper you're using on your bed.


The print itself didn't stick to the heated bed for me, maybe needs to be a wee bit hotter? But oh man the first print after using the calibration v2 file came out superb, thanks very much.

I live in the desert, so the temps might be low for some. And all filaments are different. You could try adding about 10 degrees to the following lines, or setting them to the temps you'd typically use.

M190 S45
M104 S195
M109 S195

You need to upload the STL and not the GCODE as peoples settings will not be the same as yours!Plus this bed level test print can be scaled up or down and used on other printers.

I did upload the STL I used in the test. It's the Single_Layer_Disc.stl. I copied that five times (one above each leveling screw and one in the center) and then had my slicer draw a skirt. If you want to use that to make your own level test, you're welcome to it. Keep in mind that, depending on your slicer settings, it may not slice as a single layer or maybe not slice at all without some tweaking.

Second, since it's a level test, not just a model, you don't want to mess with slicing settings each time. You want consistency. Whether you typically print in .05 layer height or .4, the level test layer height doesn't matter (and printing a single layer at a super low height would be a PITA to get off your bed). Also, the point of having it as GCODE is 1) you know it will work with the Ender 3, 2) you can run it straight away without worrying about settings, 3) the GCODE is already modified to add head pauses to check the bed.

Comments deleted.

Can this work on other printers ?

I wouldn't recommend it. Even if the bed size is the same, G-code should stay device-specific because every machine will have different speed, acceleration, etc values.

Uh, I think I did something wrong. While I was adjusting it (using the calibration file v2), my printer seemed to have embedded some of the build to my build plate. I tried heating it up to 90C but I still can't manage to scrap it off. >_< Anyone know how I can get it off?

Sometimes lowering the bed slightly and printing over the stuck on filament will get it to fuse with the existing layer so it can be peeled off.

I just tried that and unfortunately, it seems to be have been burned into the plate. What do I do to ensure that it doesn't affect other builds?

This has happened to me before and I found you can just try to scrape it off with a knife taking care not to scratch your bed. That part of your bed could be too close to the nozzle just by a small amount causing the plastic to over-adhere to the plate.

My Ender isn't centered, any build places in the middle in Cura will end up skewed towards the front and right, if this test uses the full Ender bed size it will end up outside of the printer.

You can use M206 (http://marlinfw.org/docs/gcode/M206.html) to change your home offsets to get prints to be centered. After getting it to the desired location make sure to issue M500 to store the settings, so they last through a reboot.

RIP clips :(

be careful with this if you're using clips to hold a glass bed down, doesn't matter if they are located in the middle or on the sides, the G-code moves all around every edge of the bed and will hit them.

if your using the clips on an ender 3 your supposed to change your bed size in cura from 250x250 to 220x220 so it can hit the clips

To be fair, the picture above and also the preview in your slicer show the full travel path. So you see what it will do before it happens. I do use glad on my bed, but use double sided tape so I don't lose any print area.


How on Earth did you break your fan? Even if you were using clips, which the preview shows won't work well, I can't imagine using clips that big or the head moving with enough speed/force (under normal use) that a collision with a clip could break the fan.

Works pretty well, only thing I'd suggest is the sane as Robofaktur, add an extruder purge at the start to ensure filament is flowing, otherwise the first layer doesn't start to extrude until about 1/4 of the way through.

The skirt that is printed is meant for exactly that. When the nozzle arrives at the circles, filament should be flowing.

Worked good with a sheet of paper, bed's perfectly leveled. You can pick up a .102mm feeler gauge at autozone if you want a precise leveling tool. Should be around 8 bucks.

Thank you. this help me fix a problem.

This leveling procedure is a godsend! Makes leveling whilst all is heated up properly a breeze.

I never had any problems getting a good first layer with my Ender 3 so far, especially on the Cmagnet flex plate i installed.
Little tip: add some Gcode for purging the nozzle in a double line on the left edge of the bed. i got this by default in my Cura settings for every print.

That sounds interesting. Would you mind sharing your Cura start code to achieve the nozzle cleaning?

Sure, i use the code from this video: https://youtu.be/K7tVTYZ9A24 (code is in the description).
Works pretty well for me so far.

What type/thickness of paper do you recommend to level it with, like cardstock or a piece of printer paper?

Printer paper would be best. Cardstock would be too thick and leave the gap too back. https://youtu.be/L6GJWHwrTmY is a nice short clip (not mine) showing how to use the paper.

I'm having trouble with this in that i think when it's leveling, with the nozzle heated up, it is extruding a little bit of plastic as it's going around trying to level. I don't know if it's interfering with my leveling but I can not get it to adhere. I think when i level I think it's leveled but with the goop coming out i'm getting a false reading?

would the gcode be better if the nozzle was not heated while doing the leveling, then heat it up before it prints?

It's supposed to be more accurate to level with everything up to heat, due to thermal expansion (even the slightest expansion can make a difference when dealing with fractions of a millimeter). I haven't had much of an issue with oozing while leveling, but I typically have a small retraction at the end of all my prints. However, as I tighten each corner to where it grabs the paper pretty well (but doesn't tear it) I'd imagine that a little oozed material shouldn't be much of a problem.

If the oozing is an issue for you, you could do a small retraction before running the leveling script, or edit the GCODE with a text editor to move the M104/M109 commands to after the leveling process.

Thanks for the suggestion. I think I got it. The bed temp was too low by default.bumped it up to 70 now it's sticking.

Sample dog.

Worked great thanks