Solution: The build plate is not placed properly

Although I am posting this in the P1 section, this remedy applies to all Bambu Lab X1 and P1 Core XY printers. I cannot speak to the A1, as it is a bedslinger with a completely different Z-axis mechanism. I thought I saw this issue pop up once before but I cannot find that post so I am creating this post in the hopes that it will be easier to find using the exact error messages and code. If someone knows of another post, please post the link here.

First things first: this error code is meant to alert the user that the build plate did not pass the homing test, indicating that the build plate may not be correctly placed. So, that should be the first thing to check. However, there have been numerous reports in this forum suggesting otherwise, and what I’m about to share is based on my personal experience over the past two weeks. I did reach out to Bambu support, but they were unable to assist me. What follows is the result of trial and error, along with a couple of helpful links I found scattered across the Internet, but mostly trial and error. :man_shrugging:

This is the link where the error code can be found.

I am copying all the error code “synonyms” so that this can be indexed by Google and hopefully anyone who has any of these error messages can find this self-help link more easily.

0300-0D00-0001-0004 0300-0D00-0001-0005 0300-0D00-0001-0006 0300-0D00-0001-0007 0300-0D00-0001-0008 0300-0D00-0001-0009 0300-0D00-0001-000A 0300-0D00-0002-0003 0300-0D00-0002-0004 0300-0D00-0002-0005 0300-0D00-0002-0006 0300-0D00-0002-0007 0300-0D00-0002-0008 0300-0D00-0002-0009 0300-0D00-0002-000A 0300-0D00-0001-0003

Symptoms

  1. You occasionally hear that grinding noise when the print bed completes a print and is near the bottom of the lead screw travel. That noise was supposed to be remedied in 1.05 of the firmware. Apparently in 1.06, that is not the case.
  • If I hadn’t witnessed this, I would not have investigated the remedy I am going to share. But I watched while the bed went into homing mode and first lowered itself to the bottom, making that grinding noise. I personally witnessed the z-axis slide bearings pop out of their mounts. Here is the photo of what it looked like vs normal.

This is the image that tech support sent to me. At the time, it did not make any sense. However, if you look at their image, it becomes clear that the factory installation places the bearing beneath the build plate.

Remedy

Fortunately, once you know what to do, this takes less than five minutes to fix. While I do not have a video to show, this should be easy enough to follow. This entails flipping the printer upside down. Click on the image for a full-screen close-up.

  • a) First, clear out anything inside your printer that could fall out because you’re going to turn it upside down to access the bottom.
  • b) It would be wise to tape the glass door temporarily shut so that it doesn’t accidentally open when you’re flipping the unit to lie on its top.
  • c) You will be able to see the belt that moves the Z-axis. Carefully slide the belt and observe the motion of the print bed moving downward (toward the top part of the printer). When it reaches the bottom, take your hand and press on the underside of the bed. You should feel it move a bit. Don’t push it too far. Now move to the other side and do the same, alternating until you can’t feel any more movement. IT IS IMPORTANT NOT TO USE TOO MUCH FORCE!!! The print bed should move easily enough, or at least it did in my case.
  • d) Double-check your work by moving the belt again in the opposite direction and inspecting that the bearings are flush. They do not need to be perfect. See my photo above.

Now in my case, I didn’t level the bed again and it worked but one should do that.

11 Likes

As always Olias…

Thank you for your research, hard work and detailed explanation!

I have seen this on another P1P but didn’t know how to remedy it!

1 Like

Please let us know if this works on your printer. The more we share the more we learn. Good luck. :four_leaf_clover:

Here is the original post I made about it:

I told him about your fix, but he said it magically started working again and it hasn’t been an issue since. He also said it would be a PITA to turn it upside down at the moment.
If the error pops up again for him he will definitely give it a go.

Thanks. That was the post I was looking for. I couldn’t find it.
I’m post the video here too. So folks can find it easily.

https://public-cdn.bblmw.com/wiki/X1/fix_bearing_up.mp4

I really hate it when it moves the bed down by 10-20mm first then start the homing process.

I am pretty sure after the print, it cuts power to the steppers and hence loses track of the actual X-Y-Z coordinate. It really makes me nervous after a print and lower the bed to the bottom.

I think I have to check the Z-rail pits every time I print something a bit tall, in case some poops get in there.

I’ve never understood this behavior.
How does it lose the Z index after a print?

You cannot manually move the bed with the power on.

Just like it insists on homing when you try to move the head assembly with the controls.

I usually need to clear a clog or something so I need to drop the bed down… and it insists on homing. Why? I am telling the bed to go down… not up!

Please, someone from Bambu Labs, explain why it loses track of the Z index in-between prints?

It sounds like an easy software fix.

1 Like

Knowing the engineering mindset, this feature is clearly there to enforce vertical bed calibration for safety. Let’s not kid ourselves—this is a cheap, lazy, software-enforced nanny feature designed to save Bambu money. Can you blame them? This annoyance is a lot cheaper than even a single warranty claims when a nozzle inevitably crashes into a miscalibrated bed. It’s a pain in the ass for users, but in Bambu’s world, who cares? As long as it saves them a buck, we’re left to deal with the annoyance.

Think of it as that annoying seat belt buzzer when one fails to buckle up. Same principle.

If you knew how tight control the CNC milling machine can do, you would understand it. I am talking about the machine that is as big as half of a bed room that can cut steel confortably.

  • CNC machine has very fine encoder for close loop control of stepper
  • CNC machine applies power constantly to the stepper to hold X-Y-Z position until it power off

I agree with BBL that never assume it is the same X-Y-Z position after powering off motors. Apart from that I don’t like how it move, but I don’t have any solution so I cannot judge them.

One more thing comes to mind that it turn off power to the stepper as soon as possible maybe because it doesn’t have power scheme for stepper hold current. The hold current should be lower than normal run current but still can keep the stepper stay still without burning one winding.

Just like DC motor, if it seizes but still you apply same voltage to the motor, you are going to burn the motor in seconds

Since BBL rolls their own motor controller (direct mcu controlling and mosfet) and we know nothing about how they do that so we are just speculating

1 Like

Why are the motors locked then when the machine is on and idle?

Try moving the hotend while it’s idle. (good luck)
Then turn it off and try again.

The difference is night and day.

Clearly something is locking the motors into place while it is idle.

I see your point @Olias, but it still doesn’t explain why it needs to home when the only thing you want to do is drop the bed, not raise it.

I think the problem can be solved easily by having an end-stop sensor at the bottom for safety measure.

But they were going cheap and using the feedback from motor controller as end-stop sensors. It’s novety yes, but unlike X-Y it won’t work for the Z-movement.

Sometime the western logic mindset cannot be applied to the chinese.

That’s a fair question. The key is in the fact that these are stepper motors. When they are energized they are in a statically bound condition. Think of it as the difference between a car with a manual transmission being in gear versus not being in gear. If you ever tried to push a car that was in gear, it’s almost impossible but in neutral, it’s much easier.

Good question. Consider the scenario the developers are trying to guard against. There is more risk in moving upward than downward. If the machine cannot determine the position of the head and it moves upward, there is a significant chance of damaging the nozzle, which many users here have reported. On the other hand, moving downward is less likely to cause damage, as most builds don’t end with the build plate at the bottom of its travel. However, when it does—as in my case—we clearly see that damage can occur.

To be clear, I’m not making excuses. Bambu could easily address this issue with a simple limit switch. These switches cost about $0.20 in volume and are straightforward to integrate. All that’s required are three wires to detect when the switch is closed.

1 Like

From aliexpress:

~US$0.3 for each, imagine if you buy in volume.

Yes. I understand the steppers are electronically locked, and that’s why I don’t understand why the programming loses the Z index.
Since the bed cannot move while the printer is on and in an idle condition, it should always know where the bed plate (Z index) is.
The only time the code would not know where the Z index is, is on a boot condition, like a power cycle.
I still love my printer, but being an engineer myself makes me nit-picky about things like this. ; )

There is never any shame in being a nit-picky engineers. :+1:Too bad that there are too few of them working at Bambu. A western company would have at least acknowledged this rather than the chĂ bĂąduĹŤ way that Bambu allows their designs to be driven.:wink:

Thank you!

I deal with this error quite often.

Going to give this a try the next time it happens!

I can think of a few reason:
1.They can’t be sure you use the same plate before power off, so it’s better to check the height and Z map every time. Heck, textured PEI even has difference Z map if you put it back slightly difference.
2.There could be debris underneath the plate if the user does not check before put it on.
3. Correct me if I’m wrong, but only the X1 series have closed-loop motors. With open-loop you know when it loose step while running but not where it is when power up. Also stepper will “snap” to the closest full step when power on so without actual closed-loop you will lost some microsteps even when nothing is touched between power cycles.

I used smooth plate and turn off Z-mapping already, you could do the same. In a few years when my son is allow to use any printer of mine, I’ll still turn it back on.

I don’t think this is true.

According to reddit, X1 (and probably P1 as well) uses their own stepper driver solution: direct MCU and H-bridge mosfet. H-bridge is AT8236 that has a fault ouput and current sense output.

My speculation is they use that to detect collision of X-Y as end-stop sensors, same for Z-axis, but the “gear ratio” from T8 leadscrew make it almost impossible to detect collision of bed using that motor driver. Hence it pops the LM8UU linear bearing out of place easily when there is debris in the Z rail pit.

The bearings rising has become an issue on my p1s. About every 6 or 7 prints it will cause an error on the bed levelling. After a failure, the bed usually returns to the same place so I dont flip my machine upside down, I used a printed extension part for another project which is nearly the perfect size to fit under the bed in this position. I put the extension under the bed near the bearing and using a small nylon hammer and a plastic flat punch, I tap the bearing into position. The extension piece prevents the bed from moving and the bearing moves back into place with not much force. This may be a less proper way to accomplish the task but it doesnt require me to flip the printer, has not affected the machine in any way and it simply works for me. If it has any ill effects, well, lets just say I will consider my next purchase wisely.