Best way to reduce temp and wait between Layers?

I’m able to easily increase the temperature and wait between layers using M109 S[Temp] but I’m not able to reduce the temperate using M109 R[Temp] for some reason even though slicer shows it’s changing temp. The P1S just doesn’t seem to respond to the R Code?

Does the Bambulab have another implementation that’s better to use or am I not understanding what R is used for? Thanks in advance!

Hi @Sokratz

Welcome to the forum.

I never tested it, but you can give it a try:

Use M 109 S[T] for cooling, too.
And M400 to wait for all the moves to be finished.

My advice is based on the machine starting g-code, specifically:

...
M109 S140 ; wait nozzle temp down to heatbed acceptable
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000

M221 R; pop softend status
G1 Z10 F1200
M400
...

If you are into it, take a look at the community contribution on BL-specific Marling g-code: Bambu Lab X1 Specific G-Code

If you try it, please share if it works or not. It is important for others with the same doubts. thank you.

1 Like

After a little testing, M109 S[lower temp] works fine but it doesn’t wait for the temp. I added a G4 P10000 for waiting after and that seems to work OK. Kind of a hammer when a scalpel would do. All this work was mostly for printing a temp tower! thanks for the specific code link

1 Like

Thank you for sharing the experience.
I am glad to read that the M109 S works and surprised about the M400’s failure.
I need to find out how the printer starts. G-code entails waiting.
I thought that was the M400, even if not typical.

1 Like

To clarify, I didn’t test the m400 code. I had already tested a dwell with g4 wait statements.

The m109 R[temp] lacking is a bummer. Especially that slicer interprets it. Using M109 S[temp] for lowering temperature is no different than m104 to my understanding.