Is there a way to calibrate print bed temperature

My replacement controller for my A350 snapmaker doesn’t have an accurate temperature reading. I had problems with getting pieces to stick to the bed using 70 degrees. Before I replaced the controller I had a hard time getting pieces off the bed at 70 degrees. I ran test squares to find a good temp and found at 77 degree setting I started getting adhesion. Today I used a digital thermometer with the probe between the heated bed and pad. With the temp set at 78 degrees the thermometer reads close to 70. Is there a calibration procedure to adjust this controller to read the temp properly?

Functionally, for this machine, no. It would require changing the calibration constants baked into the firmware.

The difference in temperature is not very important - pick a number where you get good first layer adhesion and don’t worry about it too much, in my opinion.

That’s fine but you shouldn’t have to run a bunch of test every time you change filament types. Why even show a temp if it’s almost 10 degrees off.

1 Like

That’s a fair point, but if you’re getting an 8 degree delta from the thermistor’s location inside the heater to the top of the plate, that will likely stay consistent.

Just out of curiosity, in more detail regarding the temperature measurement you did, when you say you used a digital thermometer, did you use a contact or non-contact thermometer? For generating calibration-level data it’s recommended you use a thermocouple in direct contact. For an IR non contact thermometer an emissivity correction may be required, but I’m not a thermographer so not sure.

I used a contact probe between the heated bed and pad. Also, I believe you can use G codes to calibrate the bed temp. I just need a procedure.

Are you thinking of M303 to autotune the PID controller? That’s broken on snapmaker >_< I have threads complaining about that.

If there is a gcode to adjust the read temp I’m not aware of it. All of the available Marlin gcodes are here: https://marlinfw.org/meta/gcode/. Not all of them are available in the snapmaker derivation.

There are a few special “secret” snapmaker specific gcodes, but none of those affect temperature readings.

I just looked in the firmware and the thermistor calibration table is standard Marlin, for an EPCOS 100k (4.7k pullup).

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1
// 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
// 100 kOhm, beta25 = 4092 K, 4.7 kOhm pull-up, bed thermistor

Funny that Marlin labels it a bed thermistor, the firmware uses the same calibration for both the bed and hotend.

Actually, I was referring to what I found on a Marlin website.


I don’t know what capabilities Snapmaker put into their machines but you have to have a calibration for any temp sensor.

I think that functionality is for adjusting the bed levelling mesh at various temperatures. Regardless, the M871 gcode I just verified is not present in the Snapmaker firmware.

Is bed temperature really all that critical?
Maybe for ABS or nylon.
If you know how much it’s off by, which is easy to test using an IR thermometer, than you can easily adjust to compensate. It’s probably consistently off.
-S

It seems that it is critical on larger parts. If the start temp is too low the part never gets the proper adhesion. If they don’t stick properly the ends will warp. There are always workarounds but why not try to fix the problem.