Bed Leveling Kit Instructions

The first version of the this kit is intended for use with a Anet A8. As items come up, I will update these to answer additional questions. We will be working on kits for other printers. The kit come pre-assembled and tested. Anytime that you are changing the hardware on your printer, make sure that you have it powered down and unplugged. Again, we ship everything tested and if you do not install it properly and destroy your mainboard or the sensor assembly, we are not responsible.  Before you start, please read everything in these instructions before you do anything.

These instructions are not intended to show you how to install or configure Marlin. There are a lot of videos on YouTube that can teach you how to install it. It is a bit on the older side, but Tom has a great video on how to do this. There is another interesting video from the the 3d Printing Professor, that goes into why you should do this.  I would no longer use Skynet3d, as it has been merged into Marlin and is no longer supported. I would advise getting the Marlin upgrade done before you go any further.

The auto leveling kit that you can purchase with the Anet A8, is just terrible. The mounting bracket bends and leveling it is just hard to get right. The level shift board by Xygax has been around for several years, and Pete has sold a lot of these.

Installing the hardware

You need a mount for this sensor. I recommend using the 18mm one from Leo_n from Thingiverse. This one works with the coordinates for Marlin that I provide and is also listed in the post.

This is very straight forward. Install the mount on the hotend based on the Thingiverse article. Couple of screws and you are good to go. Install the sensor in the mounting bracket. I found that the lock nuts just do not fit. In my implementation, I do not use them. Later in these instructions we will discuss how far off the bed this should be located.

Plug the JST connector from the kit, into the S_Z connector on the mainboard. Here is a schematic of the board to help you find this.


Here is a picture of where the connector is.


Then add the 12v yellow wire with the bayonet connector on it to the 12v connector on the main board. Please review the diagram of the board to find this.


Do not try to print anything with the printer until Marlin’s configuration has been changed and uploaded, as well as completing the leveling process.

Make the changes to Marlin

For the sensor to work correctly it is essential that the printer knows the exact offset from the nozzle to the probe, otherwise any correction is not going to be applied in the right place, and it may look like the printer isn’t correcting at all.

To modify Marlin, open marlin.ino in the Arduino editor. Again, these instructions are not designed to teach you to install Marlin, just a guideline for installing the sensor.

Here is the information that needs to be modified in configuration.h to make the offsets for 18mm sensor. If they are commented out, just remove the // in front of the line.







You can download a 20180428-Configuration that contains all of these changes. Please note, this might not work for everyone, please compare this against the copy of configuration.h that you are currently using. Winmerge is a great tool for doing this.

Compile and upload the updated firmware to your printer.

Auto leveling the heat bed for the first time

I am going to be honest here, the installation instructions that Pete created for the Skynet 3d implementation is the best. I still use them to this day. Here is the highlights;

  1. Preheat Nozzle and Bed
  2. M851 Z0 – reset Z offset to “0”
  3. M500 – Save to EEPROM
  4. G28 – Auto Home (sensor will be centred at this point)
  5. G1 X110 Y110 / (G1 X110 Y135 if you have an A2 with 220×270 bed) – move nozzle to centre
  6. Move Nozzle down to the correct gap, see the image below
  7. G92 Z0 – This tells the printer that “This is now Z0”
  8. G30 X110 Y110/ (G30 X110 Y135 if you have an A2 with 220×270 bed)
  9. Tests the trigger distance and displays the offset as a positive value e.g Z2.1
  10. M851 Z<insert offset here as a negative value> (eg. M851 Z-2.1)
  11. M500 – Save to EEPROM
  12. Add a G29 After the G28 in your start g code to activate auto bed levelling.

Make sure your Auto levelling sensor is higher up than the nozzle- you want the nozzle itself to be the lowest point in the carriage assembly to prevent anything crashing into your print.  About 1-2mm is about the usual height difference that people go for. The gap may differ depending on how the sensor sees the bed. When using the stock PCB heat bed or something like a Geckotek steal build plate, the 8mm sensor gap should be larger. This is just something that you will have to adjust based on the material it is trying to sense.


I would advise reviewing everything in these instructions before trying this.

In my experience, after tramming the bed, yes that is the correct term, I use the 75mm single layer flat disk (75mmDisk-pt2mmtall.stl) from Lulzbot to verify the settings. I will then tweak the “M851 Z<insert offset here as a negative value>” up or down until I get the ring how I like it.


Another tip would be to make sure that the Z axis is level before you get started. Thingiverse again has several of these, this is the one that I use. If you start getting some first layer problems, make sure that you relevel the Z axis again. Any changes to the hotend, heat bed, etc will require that you retram the bed again.

That should be it. If you have any questions or concerns, please contact us and we will do our best to help you. Again, this is known good technology, and should be easy to install.

Please note, customizing 3d printers, custom electronics, etc are done at your own risk. This is provided as an approach to solving a problem. I am not responsible for any issues that a user runs into during the use of this equipment.

Reference Material and Attribution

If I left anyone out, please let me know and I will update this article.

Leave a Reply

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