3D Printer Bed Leveling Assistance Tool




Hello everyone and welcome to my fifth instructable!

A correctly leveled 3D printer bed is essential to ensure successful and accurate prints.

There are two main ways to get a well calibrated print plate: auto-level systems or manual leveling.

My printer does not have an implemented auto-level and, for various reasons, I do not feel the need to have it. So I always go for manual bed leveling.

The most common way to do it is to move a piece of paper under the nozzle and adjust bed height until you "feel" the correct amount of friction. As you can imagine, the results are quite imprecise, especially if you are a new user. The use of a feeler gauge blade certainly makes it more precise but there is always the "touch sensitivity" variable.

That is why I thought to build a tool to assist me in this important operation. The concept is very simple: a LED circuit that uses, as a switch, the touch of the nozzle on a known thickness element (a feeler gauge blade).

This simple tool will give you exact and repeatable results.

Step 1: Materials and Tools


  • 3V coin cell battery
  • LED
  • Very thin and flexible wire
  • Crocodile clip
  • Flat magnet
  • Plastic bottle cap
  • Cigarette filter
  • Double sided adhesive tape
  • Glue
  • Heat shrinking tube or electrical tape


  • Feeler gauge with removable blades
  • Cutter knife
  • Scissors
  • Soldering iron
  • Soldering tin

Step 2: Prepare the Coin Cell Holder

Usually plastic bottle caps have a raised inner edge in which your coin cell battery (20mm diameter) should fit perfectly.

  1. With a cutter knife, remove the outer part of the cap and keep only this inner ring
  2. Adjust the edges with scissors or a file
  3. Cut a circle of double sided adhesive tape which fits inside the cap
  4. Punch a hole in the cap with the safety pin, right next to the center

Step 3: Prepare the LED Holder

  1. "Pierce" the LED legs through the cigarette filter
  2. Make a cut in the filter for about a third of its lenght, aligned to the shorter leg (negative) of the LED
  3. Bend negative leg 90 degrees through this cut
  4. Optional step: wrap the filter with electrical tape to make it more durable (make a cut to bypass the leg)

Step 4: Assemble the "Main Body"

  1. If there is, remove the protective film from the adhesive tape
  2. Insert the longer leg (positive) into the cap hole
  3. Glue the filter to the top of the cap
  4. Bend positive leg 90 degrees under it (if necessary, adjust its lenght)
  5. Insert the coin cell battery in the cap, positive side up and press to stick it

Step 5: Solder the Wire

  1. Cut a piece of wire and strip its end. The wire should be very thin and flexible not to lift the feeler gauge blade
  2. Solder one end to the bended negative leg of the LED
  3. Insulate soldered wire with a piece of heat shrinking tube
  4. Remove insulation cover from crocodile clip and slide it on the wire
  5. Solder the other end of the wire to the crocodile clip
  6. Place the insulation again

Step 6: Assemble the Tool

  1. Remove the blade of the thickness you want to use from the feeler gauge (I use a 0,05mm blade)
  2. Postion the flat magnet on its end (the magnet allows you to change different thickness blades)
  3. Place the "main body" on it
  4. Close the circuit to try it

Step 7: How to Use It

Your tool is ready!

I suggest you to wipe the nozzle with a brass brush to be sure you have no plastic insulating the tip.

  1. Connect the crocodile clip to a metal part of the printer next to the nozzle (could be the base of the extruder, the barrel, a screw, etc.)
  2. Now, level the print bed the same way you do with paper:
  • Move your extruder to a corner and position the blade under the nozzle
  • Adjust the screw until the LED will light up indicating that the tip of the nozzle is touching the feeler gauge blade
  • Repeat the process in the other corners until you find the perfect calibration
Build a Tool Contest

Participated in the
Build a Tool Contest



  • Planter Challenge

    Planter Challenge
  • Sensors Contest

    Sensors Contest
  • Paint Challenge

    Paint Challenge

22 Discussions


10 days ago

Would this be available for purchase?


3 months ago

Note that LED are not light bulbs and require a series resistor to drive them correctly. Without that, the LED may not last long and the battery certainly won't, and it will be unnecessarily bright. For a typical red LED, a minimum 50Ohm series resistor would be required for a 3V supply. See http://www.resistorguide.com/resistor-for-led/. If you use an AA 1.2V rechargable or a 1.5V regular cell, then you may not need a resistor if the battery voltage is less than the LED forward voltage. If you don't know the LED specs, best use a series resistor in any case. Since you need not run it at max brightness, a larger resistor will not hurt - say 100Ohm to be safe. Or just use a traditional filament bulb.

An interesting alternative is to use a self-drive piezo sounder/buzzer. Then you can concentrate on sighting the adjustment rather then watching the light, and no drive issues - just direct to the battery. Example: https://www.kitronik.co.uk/c3305-miniature-buzzer-3v.html. Make sure you get one with a drive, not just the piezo element.

3 replies

Reply 3 months ago

Considering that the LED will be on for a very short time, I decided to simplify everything as much as possible. However you are absolutely right, I will surely add a resistor to make a correct circuit.
Thank you for the valuable informations and for the good idea about the piezo sounder/buzzer.


Reply 2 months ago

A resistor is not required when using button cell batteries like the 2032. There is enough internal resistance in the battery itself.


3 months ago

Interesting solution. I don't know why you think automated bed leveling isn't needed. It solves a majority of issues and takes away most of the maintenance work needed. Prusa has automated bed leveling for more than one plane too.

4 replies

Reply 2 months ago

Manual adjustment has its place. Funny you mention Prusa. My friend has one and had to modify it so he could manually adjust the bed level. The bed was so far off there was a part of his bed he couldn't use because things wouldn't stick. The best solution isn't a manual then auto approach, it's auto bed leveling. As in 3 Z motors and the bed is actually leveled by the printer, not just accounted for with a Z offset in different regions. Look up the Railcore printer, it does this and it's brilliant (coreXY, linear rails, auto mechanical bed leveling. It's basically my dream printer).

By the way, this leveling probe is a great idea. I'm going to have to make one.


Reply 3 months ago

Let's say that I don't like very much the approach of auto-level systems which consists in adapting to an error by continuously moving the Z axis motors (with related problems), instead of solving it. But they really have many advantages like the ones you mention.
Probably the perfect solution would be a combination of both: leveling the plate as best as possible by hand and letting the auto-level work for the remaining micro-errors.


Reply 3 months ago

The approach isn't "adapting", but rather that solution is software driven. It assumes the printer is already aligned as best as possible.I don't understand how you can think hand leveling is superior at any level. Prusa is also equipped with a number of sensor which are more accurate/precise that any hand leveling possible. You can argue the hand leveling is done during the initial calibration so you perfect solution is basically already implemented.


Reply 3 months ago

I start saying that these are just my personal opinions.
We want the nozzle tip to be at the same distance from the bed in every point of the plan. If there is a misalignment of the bed, we can operate in two ways: moving the nozzle "adapting" to it (what auto-level does, by adjust Z height) or correcting the error by aligning our plane (what we manually do).
The software assumes that all is already aligned. If it was true, you would have the perfect solution I was talking about because the only aim of the auto-level system would be to adapt to micro-errors or potential dips, if any. Actually this would imply double work: a manual leveling because we know that the plan loses its regulation (for various reasons, first of all the not perfectly rigid structure, especially with acrylic frame like mine) and the software work.
But this would nullify the main purpose of auto-level which is to avoid having to adjust the bed manually and let the software adapt to a misaligned bed.
In my opinion a right software-guided approach would be to probe the points, build a "map", calculate misalignment and then adjust the height of the bed (basically the manual work but with more precision). There are some systems that work like that but they add many components and therefore complexity and costs, so it's not worth it.
I could go on with many other considerations regarding the addition of various sensors related to: costs, reliability, addition of weight (despite minimal) to the trolley, adjustment of the sensor itself, etc. All for not adjusting 4 (or 3, depends on the configuration) screws occasionally.


3 months ago

I think this would be a perfect solution for finding the z offset of your printer. When using an inductive or similar sensor for the Z limit switch it will trigger when the nozzle is still above the bed surface. Finding out this distance will determine the Z offset that you need. Using the method described in this instructable would work nicely! You would slowly lower the Z access until the light came on. The amount you lower + the feeler gauge thickness would be your Z offset. However it is best to measure the Z offset when both the bed and nozzle have been heated to their working temperature. This is because you will find that the Z offset distance will change with the change in temperature. Great idea, Thank You!

1 reply

Reply 3 months ago

You are right, this method should work fine. Thank you for adding value to this project!


3 months ago

Regardless of the criticism, you have a neat and simple approach to manually levelling the bed. Good thinking! Keep developing your idea

1 reply

3 months ago on Step 7

I see a problem wit this method. The blade does never lie on the Bed really flat. Also the Nozzle is often coated with Filament residues of the last print, esp. when using PETG, so it is not conducting. I had bonded some thin aluminum foil in all 4 corners of the bed for contact to the Nozzle but had often issues with non leading becuase of thin residues at th etip of the nozzle, so i now use a cheap capacitive sensor.

1 reply

Reply 3 months ago

I have experienced both problems at the beginning but, with this version, I consider them solved: the blade lifting by using an extremely thin and flexible wire which is too "weak" to cause this issue; the non-conducting nozzle tip by simply wiping it with a cheap brass brush.
I also considered the aluminium foil solution and it sounds good but you should know its exact thickness.