How to Fix a 3D Printer Not Printing in Center (In Corner)
I’ve heard there’s a phenomenon of 3D printers deciding to not print in the center, and rather to start printing in the left or right corner, which must be frustrating.
That’s why I set out to write an article that could help users finally overcome this problem.
You can fix a 3D printer not printing in the center by adjust the bed dimensions in your slicer if they are put in incorrectly. There are also specific nozzle offset settings for X & Y in Cura slicer to adjust the nozzle position. Recalibrating your firmware to print in the center works also.
Keep on reading to get the clear details on how to fix this issue properly.
Why Does My 3D Printer Start Printing in the Corner?
One of the most common reasons why your 3D printer is starting in the corner is due to not having the right printer set within your Slicer, meaning the bed size of your actual printer is not matching up to the bed size in your software.
For example, if you have an Ender 5 but have your bed size in Cura set for an Ender 5 Plus, you’ll find that your prints may start in the corner and not in the center like you expect.
Another reason comes down to the firmware within the 3D printer which doesn’t have the appropriate offsets input. This can easily cause your 3D printer to print in the wrong spot like many have experienced.
There are definitely ways to fix this issue so let’s get into the solutions!
How to Fix 3D Printer Not Printing in Center
To solve this issue, I would start with the easier fix, so we can rule out needing to do the longer, more complex fix.
If it’s the bed dimensions within your slicer that’s the issue, the fix is simple.
You can either find your designated 3D printer bed dimensions within the Slicer or input the dimensions manually by creating a custom 3D printer profile.
There are plenty of profiles already setup for most 3D printers out there, so you shouldn’t have to do this most of the time.
Many 3D printers will have some overlapping dimensions such as the Ender 5 and the Ender 5 Pro, so you can interchange those profiles, but make sure they are actually the same size before doing this.
Another setting that people don’t take notice of is called “Origin at Center” in Cura. This can sometimes be a quick fix since many 3D printers have their origin point or start position at the front left corner rather than in the middle.
You want to leave the “Origin at Center” box unchecked if this is the case.
There are other settings which relates to Cura further down in this article which can work very well also, in relation to adjusting the nozzle offsets.
The method which has many more steps and adjustments is about calibrating your 3D printer for a new center point.
You do need to follow a few steps which consists of:
- Finding the actual physical printer origin point of your 3D printer
- Determining the offset from your X and Y endstops
- Apply the fix whether it is adjusting the endstop position or applying an offset in the slicer
- The best option to fix this is to fix the firmware to change the center point for a proper fix.
Your firmware is what determines the actual starting point for your 3D prints.
The video below takes you through the process of centering your bed through your firmware.
What you have to do is use some configuration settings within the Marlin firmware.
Find the Center Point of Your Print Bed
First, let’s find the actual origin of the print bed manually. What you want to do is take a ruler or straight object, then draw a line from one corner to the opposite corner, then do the same with the other corners.
What you’ll find is that the two diagonal lines crossing will give you the exact center point of your print bed. It’s easier to make these lines on the bed if you stick down Blue Painter’s Tape on the print bed.
You want to make sure you can actually flash the firmware on your 3D printer before doing this, so the changes can be made properly.
The video below takes you through the full process of flashing your firmware. If this is something you’ve never done, it’s a good idea to check it out.
3D Print a Crosshair to Pinpoint the Center
By 3D printing a crosshair which is aimed at the center of the build plate, we can easily determine just how far away the 3D printer’s offset is compared to where it should be.
From there, you will have to recalibrate the firmware in your printer to ensure that you are printing in the middle of the print bed.
The Bed Center Calibration Model from Thingiverse is the ideal choice for this.
Fix the Configuration File Within Marlin
In terms of the calibration process, the first thing to do it to bring up the Marlin Firmware configuration file and find the value “X_MIN_POS”. The value doesn’t matter since it’s the normal default file of your printer.
You want to set the “X_MIN_POS” & “Y_MIN_POS” values to 0 to make sure the calibration is done from scratch. It allows you to remove the presets and do things properly from the ground up.
Save the file with the 0 values, then upload the new file to your 3D printer by flashing this configuration.
Use Pronterface or OctoPrint Software to Control Your 3D Printer
Now we want to use the relevant software to move the nozzle to get to the center spot. Pronterface is the usual choice, but you can use your desired software to do this. Make sure you are closing your Arduino software before opening up Pronterface.
Below is a tutorial on how to connect your 3D printer to Pronterface if you haven’t done it before.
Connect to your 3D printer using a USB cable, so you can start to control the print head.
Once loaded and working, hit the Auto-home button first, which shows as a house icon to bring your printer to its home default position. This should hit your endstops as normal and stay in the home position, so make sure it is working properly.
Move the Print Head to the Center
Now you want to move the nozzle to where the center is marked from before using the software. It’s best to move the print head in 1mm increments unless the print head is a relatively far distance away from the center.
Moving it in 10mm increments is fine also. Once we’ve hit the center, your 3D printer display should show you exactly how much you moved the print head to get to the center in the first place.
Calculate the New Offset Values
These values are what you want to use to calculate the offset values for the Marlin Firmware configuration file.
In order to calculate the offset values, we determine the mid-point by taking the X and Y measurements of the bed surface and halving it.
Offset Values:
X = (Midpoint of X) – (X value on printer display)
Y = (Midpoint of Y) – (Y value on printer display)
For example, if we have a print bed which measures up at 220 x 220 for X & Y, we would take a midpoint of 110 x 110.
Now we take the values from the printer where we moved the print head to get to the real center of the print bed, then minus those values from the midpoints.
Depending on whether the print head was to the top left, top right, bottom left, or bottom right, you may see negative values, which are just fine.
These two new offset values are what we will input back into the Marlin Firmware configuration file, but they need to go into two different lines.
Input the New Offset Values Into the Marlin Firmware Configuration File
Look for “MANUAL_X_HOME_POS” & “MANUAL_Y_HOME_POS”. These are usually commented out with the “//” lines, so remove those lines to comment them back in.
Simply input the new offset values into those two lines.
Upload the Firmware to Your 3D Printer
Once the new firmware is uploaded, we want to check whether this fix worked. We do this by positioning the print head to the midpoint co-ordinates of 110 x 110.
Connect your 3D printer to Pronterface again, then auto-home your 3D printer through the software.
Then send the following command through:
G0 X110 Y110 Z2
or the X & Y values for the midpoint of your 3D printer. The Z value gives the print head some clearance above the bed, but just close enough, so you can see if the nozzle goes to the center spot as you desire.
Your calibration is now done, so you can retest the printer by re-printing the calibration file or the crosshair that we 3D printed originally.
How to Fix Cura Ender 3 Printing Off Bed
A simple method to fix issues with an Ender 3, an Anet 3D printer and many others is to apply a direct offset change to your 3D printer.
This can be done through Cura by using the “Nozzle offset X” and “Nozzle offset Y” settings. Many people don’t know about these settings, but it works wonders for issues of 3D printers not printing in the center of the print bed, or off the bed in some cases.
You can get to these settings in Cura by going to Preferences > Configure Cura > Printers > Machine Settings > Extruder 1 Tab.
Positive values should move the print head offset towards the back of the printer and to the right. Negative values should move the print head offset towards the front of the printer and to the left, so try these settings out and see how it goes!
The video below explains it, but it is fairly self-explanatory.