(Orginal post from the 3D Printing Experience blog)
If your printer is like mine you may have noticed that prints really aren't centered on the bed of the printer.
Now some printers have adjustable end stops so you can just turn a screw and set where the printer aligns it's self, But most don't have this. And honestly, unless it's really off, or you are going to print something right to the edges of your printers limits, it's not going to matter. But, it bothers me, so I went and learned how to center it. And it's not really all that hard to do. It took me a few days of reading and research to figure it out, and once I did I found it takes very little time to actually center it. So I wrote this so others can do it without having to spend the time figuring it all out.
Now you will need to be at least basically familiar with Marlin firmware and using Arduino or other software but it's not all that hard to figure out.
First step is to make sure your printer is all leveled and set correctly. It's best with this to use PLA, on a taped bed so you can mark it all up. you can just print what ever and take measurements from the edges if you don't want to use a marker on your bed, but this makes it so much easier.
Tape up you bed and draw lines from corner to corner to create an X at the center point of the bed.
Also if you write where your end stops are it will keep you from getting it spun around after printing and you go and take the glass (or what ever you are using) off.
Install glass on printer and do your best to align the marks up with the corner of the printers bed. This will make sure the removable bed is lined up with the printer's bed.
Now download the centering target file, and slice it.
Download --> Centering Target <--
Best use is if you can print at your highest resolution your printer can do and not use any rift or brim if possible. This will allow you to see the marks on the bed through the print.
VERY IMPORTANT - Now make sure you right click on the target and select "center on platform"
save the Gcode and print it out. After printed take a look at where it lands on the bed. the lines are 5mm space. Now I've already done a very basic centering so mine's not that far off, but as you can see it's still somewhere between 5 and 10 millimeters off I have to adjust in Y and darn near close enough in X that I wont bother with it.
Mines not bad-
if your's lands like this
Or like this
Now that you have measurements, you can open up your Marlin firmware file and select the "Configuration.h" tab ..
Scroll down till you see "End Stop Settings" ...
These are the spots where you will enter the measurement you got from the print.
As you can see, I already have done a preliminary adjustment on my Y axis of -15mm.
Adding a negative number shifts it toward the end stop, adding a positive number shifts it away from the end stop. I'm still too far away in the opposite direction from the end stop, I need to change my number to like -20 or more accurately -22.5
Enter your measurements you got off the print, compile and upload to the printer. you should be set now and all your prints should be close to center on the bed.
And print the target again to check and make sure you did it correctly...
Now you're prints will be properly centered on the bed from now on :)