Skip to content

Bed temperature doesn't match my setting

If you set a cooldown threshold in the FarmLoop app and the eject fires at a noticeably different temperature, you’ve probably hit one (or both) of the issues below. The workaround is the same in either case: set your UI target several degrees lower than the temperature at which your part actually releases reliably.

Two distinct mechanisms can cause an apparent mismatch:

The FarmLoop app has been reported to write a bed temperature into the G-code that’s a few degrees different from the UI value. This is being tracked as a product bug and is being fixed. Users on newer builds often don’t see this.

2. Bambu’s M190 command doesn’t wait for the exact setpoint (upstream in Bambu firmware)

Section titled “2. Bambu’s M190 command doesn’t wait for the exact setpoint (upstream in Bambu firmware)”

This is the more common cause, and it’s outside FarmLoop’s control.

Bambu’s firmware implements the M190 S<temp> wait-for-bed-temperature command loosely. If the bed is “close enough” to target for long enough, the firmware considers the command satisfied and moves on. Observed deviations in our testing farm: 2 to 7 °C. There’s also an internal ~45 minute timeout after which M190 gives up regardless of whether the bed is at temperature.

Net effect: if you set the threshold at 25 °C, the eject might fire anywhere between 22 and 32 °C depending on the printer, the room, and how fast the bed is cooling.

  • Set 25 °C, eject fires at 30 °C (part still warm, sticks)
  • Set 26 °C, eject fires at 20 °C (different direction, but also wrong)
  • “It starts to detach at 29 °C” despite a 26 °C setpoint
  • After a 45 minute wait, the eject fires whatever the bed temperature happens to be
  1. Manually determine the release temperature. Run a test print, let the bed cool fully, and note the temperature at which your specific part can be wiggled free with your fingers. Call this T_release.
  2. Set the UI threshold 4 to 6 °C below T_release. If your part releases at 27 °C, set 21 to 23 °C in the app.
  3. Check the achievable range. The printer cannot cool below ambient room temperature. If T_release - 5 is below ambient, you’ll hit the 45 minute timeout and eject at whatever the bed happens to be.

Ambient above 25 °C is the tricky case. The bed can only cool to room temperature, not below.

  • Stage 2 fan upgrade actively pulls cool air in, which lets you reliably hit 22 °C or lower even in a warm room
  • External cooling fan pointed at the bed during cooldown works as a lower-cost alternative
  • Move the printer to a cooler space for the duration of a long loop

Don’t confuse with the nozzle temperature

Section titled “Don’t confuse with the nozzle temperature”

If the nozzle is heating to unexpected temperatures (e.g. 280 °C unprompted), that’s a separate and more serious bug. Stop the print immediately and send the FL_S1_ / FL_S2_ G-code to contact@3d-farmers.com. It’s not this issue.

How to verify what temperature the G-code is actually targeting

Section titled “How to verify what temperature the G-code is actually targeting”

Open the FL_S1_ / FL_S2_ file in 7-Zip, find the .gcode file under Metadata/, and search for M190 S. The number after S is the target bed temperature in Celsius. If it disagrees with what you set in the UI, you’re on an older app build hitting the app-side offset, update the app.

We’ll post in the app and email FarmLoop Pro subscribers when the app-side offset is fixed. The M190 firmware behaviour is not something we can fix from our side, that’s Bambu.