Levelling the bed of a Printrbot Simple Metal

Created on Thursday, March 3, 2016.

Even though my printer has bed level compensation, it wasn’t enough to compensate for my slanted bed. I used spring washers to make the bed adjustable.


As I get better at operating a 3D printer, I uncover new problems that used to be masked by my previous incompetence. One recent example is bed levelling. In the past I had been over-extruding and never really knew it, so the lines of my first layer just merged together and everything was fine. But when I started calibrating my flow rate settings, it became obvious from my uneven first layers that the build plate on my Printrbot Simple Metal was not level (Fig 1.).

Figure 1. First-layer test prints comparing auto-levelling (left) versus manual levelling (right). The print on the left was done on the factory Printrbot Simple Metal bed using bed auto-compensation; the front of the bed was about 0.6 mm lower than the back, which is why the layer lines at the front of this print are not touching. The print on the right was done on the spring-modified bed, levelled and with auto-compensation turned off.

(Psst, a quick note about what “level” means. In 3D printing, a build platform is level when you can move the hot-end around in the X and Y axes and the tip of the nozzle is always the same distance from the bed. Nothing to do with gravity.)

Wait, doesn’t that printer have bed auto-levelling?

No, but yes. The PBSM has bed auto-compensation, a proximity probe that reads the slant of the bed and then compensates for that slant by dynamically raising and lowering the extruder gantry as it prints each line. It works really well, actually, which is why I didn’t realise there was a problem until now. It’s only because I’m pushing at the edges of this printer’s capabilities that these flaws are coming out.

Anyway, auto-compensation doesn’t work for this problem. Even after truly levelling the bed, it still thought that the bed was off and it actually compensated to reproduce the same slant as before, which is truly bizarre. The only way to fix this is to turn auto-compensation off and do this manually. The method I’m about to explain has been around for some time, but a more comprehensive write-up about it can only help new users.

Adding bed-levelling hardware to the PBSM

Things you need

  • Spring washers, 4x. I got an assorted kit of flat and spring washers for $2.50 from the dollar store. You should get nicer ones from the hardware store because the steel used in these is not super springy, but it gets the job done.
  • M3 screws, 4x. These need to be longer than the ones installed in the PBSM (10 mm) because the spring washers take up space, and the screws also need to bite more of the threading in the hole to stand up against the spring force. I use 15 mm screws, but my bed mounting blocks are through-drilled and can take any length of screw.
  • Hex key to fit your screws.
  • Longnose pliers, 2x to bend your washers and grab your screws.
  • Toothpick, 4x to help align the spring washers.

1. Remove the four screws holding the bed to the mounting blocks.

Stash them in your screw collection for later.

2. Open up your spring washers.

Grab the spring washer with one longnose plier, and use the other to open up the washer and exaggerate the springiness. My spring washers came to me about 2.5 mm in height, so I spread them to about 5-6 mm. You’re doing this to give yourself more adjustment room, especially if your spring washers are not strongly sprung.

3. Put the spring washers over the screw holes in the mounting blocks.

Put a toothpick in each mounting hole and put the spring washers over them. Carefully lower the bed onto the mounting blocks, allowing the toothpicks to poke through the screw holes.

4. Install the longer screws.

Replace the toothpicks with your new longer screws and lightly finger-tighten them. You’re now ready to level the bed!

Levelling the bed

Levelling the bed involves probing the bed with the proximity sensor to get its height at the four corners, and adjusting the mounting screws until all four corners report the same height. Because I am running Octopi with my printer, I was able to automate the moving and probing with custom controls as detailed here. Without this, you will need some way of sending g-code to your printer while you’re sitting in front of it to turn the bed’s mounting screws.

The general method and g-code for levelling a PBSM is:

1. Find the lowest corner of the bed.

G28 ; Home the hot-end.
G1 Y0 X150 Z2 F6000 ; Go to the upper-left corner.
G30 ; Probe the bed height.
G1 Y150 X150 Z2 F6000 ; Go to the upper-right.
G30 ; Probe the bed height.
G1 Y0 X150 Z2 F6000 ; Go to the lower-right.
G30 ; Probe the bed height.
G1 X0 Y0 Z2 F6000 ; Go to the lower-left.
G30 ; Probe the bed height.

Remember the height at the lowest corner.

2. Set the mounting screws at each corner.

Visit each corner again, tightening all of the screws and probing with G30 until the height at each corner is equal to the lowest height you found in Step 1. If the extruder gantry gets in the way of your allen key, just use the pliers to turn the screws. Go slowly; it’s easy to make the bed drop down, but a little harder to raise it back up if you’ve over-tightened the screw.

3. Repeat Steps 1 and 2 twice more.

When you probe each corner again, you will find that the corner heights are different because the slant of the bed is being redistributed. Just repeat the previous steps two more times and it will level out.

That's all there is, there isn't any more.
© Desi Quintans, 2002 – 2022.