full screenshot of Simplify3D slicer software showing the Marlin M303 heat bed PID calibration results with Kp Ki Kd values

Heated Bed PID Calibration

Calibration of the heated bed on your 3D printer is a simple affair but an important one. The heat bed is a very simple of heating element with a thermistor placed on it so it knows the current temperature. In order to heat the bed, so that your 3D prints attach firmly, you set the temperature that you want it to be according to the 3D filament you are using.

For example PLA you may have set at 60˚C, ABS 100˚C.

Your 3D printer heats up when it reaches your set temperature according to the thermistor, the printer then switches the heat bed off. When the temperatures drops below the target temperature it adds power to the heat bed again and when the temperature goes over the required temperature it switches off again.

It’s a constant on of affair. How well it does this task is down to three things. The quality of the heat bed itself. The accuracy of the thermistor. Lastly, firmware, which is the software inside your 3D printer, Needs to know the how well the bed and thermistor works together. So we teach it by send certain commands to the printer.

The method I am going to show you is based on a Marlin firmware within your printer. Not all printers have it, but you may well find a bed calibration, PID calibration, or PID Tuning within your 3D printers menu and follow your manufactures guidelines.

PID heat bed Tuning

Now in order to tune the heat bed you need to use software that you can talk directly to the printer. Most slicer programs for you 3D models have this. I in particular like Repetier-Host for this job and I am going to show you how.

At this point I am presuming you have already setup your printer to talk with your 3D printer in the settings, if you have not then have a quick look at Communicating with my 3D printer before continuing further with your heated bed calibration.

Let it begin

screenshot of Simplify3D slicer software setting the Marlin M303 heat bed PID calibration

Goto to the Print Panel tab on the right hand side on the Repetier-Host. In the G-Code bar type in followed by the enter key or click on the send button:

M303 E-1 C16 S60

So what does this mean?

M303 is the command for PID tuning.
E-1 is the reference number for the heat bed.
C16 is the number of cycles or times that it carries out a tuning process.
S60 is the temperature that we would want the tuning to be carried out in this case 60˚C.

I personally prefer 16 cycles when I do an PID auto tune. The more you have the more accurate it will be same token. I personally find that beyond 16 there is not too much to be gained.

You will start to see in the log at the bottom, the information that the 3D printer is sending back each time it finishes a cycle on the PID heat bed auto tuning.

screenshot of Simplify3D slicer software showing results of heat bed PID calibration using marlin firmware

Now lets save

closeup screenshot of Simplify3D slicer software showing the Marlin M303 heat bed finished PID calibration results with Kp Ki Kd values

Now that the PID heat bed autotune is complete we need to save it. There are two places we can save this. The information that we want to store is only that prefixed #define.

1) via the G-Code bar
To quickly save the value into memory of your 3D printer we type in the following command into the G-Code bar followed by the send button. Importantly the D, I, and P values will differ and the values used should be changed for the new values given by the PID tuning.

M304 D471.14 I062.55 P471.14

M304 is the save command for PID tuning.
You will now see in the log at the bottom. echo: p:343.34 i:62.55 d:471.14

Now in the G-Code bar type in the following code followed by the send button.


M500 is the store to EEPROM or store in long term memory for another term.
You will now see in the log at the bottom. echo:Settings Stored (1427 bytes; crc 56077)

This will now stay in the 3D printer no matter how many times you turn it on and off. However if you reload the firmware it will revert back to the firmware version. So we need to also save it in out Marlin firmware, so when we next change a firmware setting we will not have to run another PID auto tuning.

2) via the Marlin Firmware
Open up your Marlin Firmware and search for #define DEFAULT_bedKp ( Search is normally Ctrl + F (PC), or CMD + F (Mac) )

screenshot of Marlin 3d printer firmware and defining and storing the heat bed PID calibration results with DEFAULT_bedkp DEFAULT_bedki DEFAULT_bedkd Kp Ki Kd values

Now change the values to your new values to the new settings that you received from your 3D printer. So for an example #define DEFAULT_bedKp will be the value given in the log for P. Now #define DEFAULT_bedKp will be #define DEFAULT_bedKp 343.34 once you are done goto File -> Save this will save it in your Marlin Firmware on your computer not the printer.

Click on the verify icon top left (It looks like a tick) and wait for it to process. Now if you all has gone well, which it should. You will see no error messages and information about how much memory it would use etc.

screenshot of successful compilation of Marlin firmware with new heat bed pid results

Now the next time you upload your firmware it will be saved permanently. You can either do it now or later when you next need to change as we saved it in the long term memory of the printer using the M500 command.

The more you do certain processes such as the heated bed calibration or the extruder calibration the easier it becomes, and is second nature, that said you won’t need to do this again unless you replace your heated bed or the thermistor that is attached to it.

Now if you have not done so already don’t forget to run the PID tuning for the extruders heating element. Follow our guide PID Tuning Extruder Calibration if you need further guidance.

If you found this guide useful, please consider a donation to help keep the Make ‘N’ Print website running. For further information please have a look at our support us page

Thank You

© 2019-2020 Copyright - All Rights Reserved.