Since the beginning, bed leveling has been the part of 3D printing that can make or break a users experience. Initially, rafts were the best way to ensure your 3D printer had a flat surface to work with. A raft is a sacrificial structure to compensate for an unlevel bed to be a flat, temporary print surface. They’re used much less often now because of the variety of ways a bed can be reliably levelled. There are three main categories: software leveling, hardware leveling, and manual leveling; let’s take a look at these and the various subcategories of each.

Manual Leveling

Most printers have a form of manual leveling, which is where there is some way to adjust the height of the printer’s bed, usually using screws in either three or four points of the bed. Whether it’s the Ultimaker 2+ and its three screws, or something like the Wanhao Duplicator i3 and its four, either one is a viable option for 3D printer beds. However, three screws is better than four, after all, three points make a plane. What can happen with four screws, is you can get three screws in a plane, but the fourth screw bends the print surface along the diagonal. It’s doable to level a bed with four screws, and I do it often, but it does make it just a slight bit more difficult than three screws alone.

Manual Bed Leveling on the Ultimaker 2+
Manual Bed Leveling on the Ultimaker 2+

To actually level the bed is really simple, it just takes some practice to get it right.

  1. Start by tightening down all the screws so you have more room to work with.
  2. Home the Z axis of your 3D printer. If it homes to Z max, then send it to Z 0 manually.
  3. Jog the printer above each screw, putting a piece of paper between the nozzle and the bed.
  4. Loosen the screw until the paper is getting squished between the nozzle and the bed only slightly. You want the still be able to move it, but feel a little bit of resistance to it.
  5. Repeat this step for each screw.

When you start your next print, have it start with 10 skirt lines. You don’t need this every time, but it’s helpful to be able to adjust the screws and see where you need to loosen or tighten the screws to get a better first layer.

Software Leveling

There are, however, some printers that don’t have any way to adjust the bed. They are rigidly attached to the frame and that’s it. You can use MatterControl, though, to change the way your printer outputs Gcode, to be able to print on even a bowl shaped bed. The software leveling has you run through the same sort of piece of paper and resistance testing as manual leveling, but it’s all stored within the printer’s MatterControl profile, so when you export Gcode it is able to print the first layer parallel to the bed, even it’s obviously slanted. If you have some sort of bed probe, it can also probe each point automatically and use that for gathering the points for software leveling.

Software Leveling with the LulzBot TAZ 6
Software Leveling with the LulzBot TAZ 6

Hardware Leveling

While there’s methods to truly level the bed and ways to compensate for the bed, there are also methods to have the machine do it all for you and not have to worry about any of it, and that’s where bed leveling probes come in. There are many many different ways to achieve this, and each have their own benefit or problem with accuracy and precision.

Inductive Probe

Seen on the Printrbot Simple Metal, Prusa i3 Mk2, the Z endstop on the Pulse, and a variety of other printers out there. They work by sensing conductive metal, whether it’s a metal printer bed, specific spots on the bed with metal in them, or as simple as a mounted screw to trigger it. They are fairly precise in their ability to trigger at the same position, but you will need to use some Z-offset values to print at the proper level. The probe may trigger in the same spot, but what it thinks is 0, may actually be 2mm off the bed, so your prints won’t stick. You’ll only need to find your Z-offset value once, and once you do you’re ready to go.

Inductive Bed Leveling
Inductive Bed Leveling

Lulzbot Style Probe

This is a rather unique style that I’ve only seen a couple printers use, but the most renowned is going to be the Lulzbot TAZ 6 or Mini. There is a wire that runs from the board to the heater block, where it is mounted using a small screw, and another set of wires that run from the board to each of the four washers that clamp onto the bed. Before each print, the Lulzbot wipes off the nozzle on a small cleaning pad, and then will quickly probe one corner, move away from it, and come at it again slower. Once it taps the washer the second time, it moves onto the next washer until all four have been probed. Occasionally with this style, the nozzle isn’t clean enough so when it makes contact with the washer, it can’t close the circuit and will ram down into it briefly before pulling away and attempting a clean cycle again. So while it doesn’t require any sort of calibration, it can fail to level and require a little cleaning by hand to get it to work again.

Capacitive Probe

Again, another unique method; capacitive probing might be exclusively used on the Ultimaker 3 (and Extended). Ultimaker has a really neat write up ( about why they introduced “active leveling” during the development of the Ultimaker 3, and why they decided on this method instead of others. You first level the bed manually using screws to get it as close as possible to level, and then the printer will measure the three points and get a more accurate position and compensate accordingly. With these measurements, rather than printing a cube at a tilted angle all the way up so it’s a perfectly flat cube all around, it will skew the first couple layers until it’s the properly flat. There’s a limit to how much it can tilt the print, so you won’t have cubes coming out as trapezoids or anything like that, but there may be a slight skew to the base. Mechanically, there is a small chip that measures the capacitance (or ability to store electricity) between the bottom of the print head and the aluminum print bed. The bed is raised up into the nozzle at a fixed rate and the printer will sense when the capacitance between the two stops changing, and mark that point as “0.” It’s a really easy system to work with, and it doesn’t fail often, in fact they mostly come from interacting with the printer while it’s running the calibration.

Capacitive Bed Leveling with the Ultimaker 3
Capacitive Bed Leveling with the Ultimaker 3


This is one of the earliest forms of bed leveling because of how simple it is; no sensors, no calibrating, it’s just a normal switch that sends a signal when it’s pressed. There are three different ways to set it up: using a servo, a catch, or rigidly mounted. The servo method has the switch on an arm that’s attached to a servo so it can swing out, probe the bed, then swing back out of the way and start printing. The catch works similarly to the servo, where an arm swings down with the switch, except instead of using a servo, there’s a small catch somewhere on the frame that the print head moves against to manually swing down the arm, probe, then use the catch to swing it back up. BCN3D uses microswitches mounted to the printhead on the Sigma R17 out of the way of the nozzle, so it can probe the three corners of the bed to gather a plane. Since there are two nozzles on the R17, it can’t compensate for different values in either nozzle, so rather than automatically adjusting the Gcode, it has wizards that walk you through how to turn the bed leveling knobs until it is level. Other printers with one nozzle can automatically calibrate the bed and you won’t need to turn any knobs.

Microswitch Leveling with the BCN3D Sigma
Microswitch Leveling with the BCN3D Sigma

IR Sensor

The Robo C2 and Robo R2 both use an Infrared Sensor to detect when it’s near the bed. In both of their cases, the IR sensor is mounted behind the extruder, and will trigger when it sees the bed raised up close enough to the nozzle. The sensor probes 9 points in a 3 by 3 grid to create a mesh of the bed and be able to print along it. However, these types of sensors are sensitive to how reflective the bed surface is; glass or PEI will need an opaque backing to trigger these sensors. Usually, these sensors work really well to quietly and accurately probe your bed, but its repeatability is heavily dependent on the quality of the sensor.

Touch Probe

Whereas each of the previous leveling sensors have some sort of limitation on bed material, filament stuck to the nozzle, or ease of use, the MatterHackers Orbit does a great job at tackling each of those. The Orbit is a touch-sensor, sometimes called “Hall Effect” which refers to a sensor that triggers in the presence of a magnetic field. This probe will extend a small metal rod that touches the bed, lowers the printhead (or raises the bed) until the probe is triggered, which shoots it up into the Orbit and registers the Z0 point. You can have glass on your bed, Buildtak, aluminum PCB, blue tape, PEI, it doesn’t matter; as long as there’s a bed to touch, the probe will measure it. With a simple setup of five wires (two ground, PWM, 5V, and ZMin) it has a really easy setup that can fit almost any printer and its firmware.

Touch Sensor Leveling with the Pulse
Touch Sensor Leveling with the Pulse


The SeeMeCNC RoStock V3 and Artemis have an accelerometer attached to the hotend they use to level the bed. To probe the bed, the hotend first moves over the center of the bed and taps it with the nozzle, and uses the accelerometer to gauge where it stopped. It will do this a couple times to get a good average of where 0 is, and then begin probing at the base of each tower. If the values from each probe are too far off, it will re-home and try again until it gets it right. Within the LCD you can then change the Z-offset if it’s too far or too close. A point of concern is you need to make sure the nozzle and bed are heated to print temperature because that will expand the bed and the nozzle slightly and affect the repeatability of the probe. On top of that, the points on the bed where the nozzle taps, and the nozzle itself needs to be completely clean, otherwise it will interfere with the final reading.

Touch Sensor Leveling with the SeeMeCNC Artemis
Accelerometer Leveling with the SeeMeCNC Artemis

Force Sensitive Resistors

The recently released SeeMeCNC Artemis has Force Sensitive Resistors, or FSRs, to level the bed. Much like the name implies, this method of leveling works by using resistors under the bed that have a significant increase in resistance when a force is applied to them. You will want to make sure, just like the accelerometer, that the nozzle and bed are clean, otherwise there will be some offset in the gathered measurements and skew the leveling results.These resistors are extremely sensitive with some having a 0.02mm repeatability, so you can be sure that if your printer has FSRs, releveling the bed will be a much less common process.

While there are many different methods for leveling your print bed, each one has its benefits and its downsides. Whether you’re looking to upgrade your printer to have one of these or are trying to better understand the system your 3D printer already has, I hoped this helped you get an idea about how everything work.

If you feel like there’s a method that I missed, please leave a comment down below and I’ll look into that method as well.