(Anet A8) Bed Center Calibration Tutorial

by 0scar, published

(Anet A8) Bed Center Calibration Tutorial by 0scar Apr 28, 2017
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools

Fusion 360

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

17763Views 3704Downloads Found in 3D Printing Tests


I noticed that with large prints my skirt or brims sometimes were printed outside the heat bed printer area. Apparently, the printer does not have the correct heat bed center in the firmware.

This thing helps you to find the center of the bed and aids in changing the bed center to the actual bed center. Instructions are provided below for you to change your center.

Note that this works for e.g. Marlin based firmware, e.g. Skynet3D! More firmware types are supported, see this page.

Edit: for stock Anet boards (or if you cannot or do not want to mess with gcode) you can make this also work by printing spacers or custom end stop mounts.

Print Settings


Anet A8








Printer center seems to have an off-set

With the stock firmware (a customized older version of Repetier) I have not tried to find a solution for my problem, but recently I updated my printer with an auto bed leveling sensor which requires an update of the printer firmware (to Marlin firmware). I updated to the latest Skynet firmware (v2.3.2 fix 2). Again I noticed that the prints are printed off-set of the heated bed center. This can easily be checked by printing the thing I uploaded here. The cross should be exactly in the center of the heated bed; the distance from the outer squares to the edge of the heated bed should be similar/equidistant.

Fix the off-set!

In my case the bed is off center by 2 mm in both X and Y direction (ignoring the signs here). There are a few solutions to solve this (see Marlin bed dimensions at reprap.org). As I closed up my main board after the firmware flashing (using a private remix (now publicly available here: 0scar's modular Anet A8 electronics casing) from c_wolsey's Anet A8 Electronics Case; I increased the height of the casing so it can hold a Raspberry Pi, the main board, a 4-channel relay module, an opto-coupler for the auto level sensor and a heatbed Mosfet), I had no quick access (maybe combined with a little laziness and lack of time) to change the firmware configuration file and upload a new version, so I decided to go for the second method: changing the off-set through g-code command and store the new off-set to the printer memory. In my case the center of the bed required an offset of -2 mm for the X direction (just measure in the X direction the distance from the outer squares to the edge of the heated bed and subtract the 2 values and divide them by 2; in my case this led to (8-12)/2 = -2 mm). A similar action needs to be done for the Y-direction; this resulted in 2 mm off-set.

Use a terminal to access the printer to directly send command to the printer (this can be e.g. done in Cura or Pronterface). I used the terminal available in the OctoPrint interface.
Send the code: M206 X-2 Y2. The values specified are added to the endstop position when the axes are referenced, so this tells the printer that the center of the printer is located at the given values with respect to the stored values in the configuration file. To store the new center send code M500.

The first photo shows the before center calibration, the second photo after calibration.

Now your printer has a new center!

More from 3D Printing Tests

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

Does it matter where we add the GCode? like after what line?

Usually people hook their printer up through USB and start a program that can interface with the printer through a so-called console window. In that console you type in your gcode commands to control or communicate with your printer. Various applications can be used for this; OctoPrint, Pronterface, Repetier Host, and probably many more. With all that said, it is perfectly legit to make a .gcode file yourself and run that file using the SD card.

Ok Thanks!

So simple and so effective. Great jog!! This helped me center my printer when I added a E3D on it.

Thanks, you're welcome!

When I do a print preview in s3d it shows the outline and circle but not the cross hairs. Just using the default s3d settings. Not sure what setting needs to be changed? Is there cross hair lines infill / internal walls?

I do not own a s3d licence so I cannot help you. It slices perfectly in Slic3r. But, all you need is the outer square to measure the differences to the edges. The crosshair just conveniently marks the centre of the bed when executed correctly.

When I try to re-scale to 75 and it doesn't print anything. Can you make the lines thicker as version 2?

I have added a step file of the 100% version for you to change.