EASY Ender 3 Hot End PID Auto Tuning

Have you just switched nozzles on your Ender 3, or maybe even a new hot-end? We have experience doing both; switching to the Micro Swiss All Metal Hot End, as well as using the hardened steel nozzles. Every time we make a change to our hot-end we disrupt the PID loop.

A P.I.D Loop is a system used by printers (and many other machines) to maintain a set point. It can control how fast the system heats up, and it is responsible for the stability of the temperature. When you change nozzles from brass to steel, or upgrade to a new hot-end the PID loop that worked for your stock equipment may no longer be stable, and can cause print quality issues. An improperly tuned PID loop will show variations in your hot-end temperature. Generally, if you have temperature variations within +/- 2 degrees it is acceptable, but anything over and it’s time to use the PID Autotuning option.

If you have upgraded your firmware to the TH3D Unified Firmware, they have made this task much easier for the end-user by adding it to the menu. The instructions for this are below, from TH3D’s instructional. If you wish to do this from your PC with Printer Control software, using Pronterface then skip ahead.

Control > Temperature > PID Autotune > Then set to 240 if you have a stock hotend and 250 if you have an all metal. This will go through the process AND apply the PID settings automatically. You will need to either select Control > Store Settings or send M500 to store them even when using the LCD.

PID Autotuning an Ender 3 with Pronterface

Pronterface is an exceptional software that is used for controlling your 3D Printer from the PC. It’s incredibly helpful and should be in every 3D print user’s “tool box”. All you require is a PC, and the USB to Mini-USB cable that you used to flash your firmware. Pronterface also works with stock firmware, although you will still need the USB to Mini-USB cable to establish a connection. Download Pronterface/Printrun package below, and extract to a folder. Once you have extracted, the software is in the main folder and called “Pronterface”.

[Download not found]

Once you have the software extracted and opened, you will see in the top menu an area to choose your PORT and Baud Rate. Most every Ender 3 have a baud rate of 115200 unless you specified otherwise in the firmware, choose the options for your printer and connect.

On the right side of Pronterface is the Terminal window. Use the command M303 E0 S225 C10 to start the P.I.D. Auto Tuning. The command you just entered will tune your hot-end to 225 degrees and it will do the tuning cycle 10 times.

Pronterface terminal will show a few lines of code for the tuning while running but will show “PID Autotune finished!” when complete. These are the P.I.D values you need to input (please note that not all machines share the exact values and yours may differ). To input them into your printer use the command M301 P20.22 I1.22 D84.07 then M500 to save the PID to EEPROM and then M503 to verify that it is saved.

4.1 7 votes
Article Rating
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments

Maybe I missed it in the article, but I don’t recall seeing anything discussed about setting your temp to whatever type of material youre using. I say this because I used the above method after getting some heater errors and then a friend suggested I set the temp to the highest for the type of material I use(in my case TPU @ 230).

Then just run the PID tune 3x(not sure why ender 3 pros need that but it works) and away you go.

After I did that, no more heater errors.


Hello. I can not conect my printer… It conects the device but it cant set up any driver so it doesnt recognize it. What may y do wrong?

Anthony Mavalo Edwards

make sure cura is closed

Andson Gomes


Thank you for your article. Help me make the autotune on my hot end. But, when I tried make the same with heated bed with m303 e-1 s60 c10, the system failed and show a message “PID autotune failed! Bad extruder number”.

know you how can I do this pid on heated bed?

Thank you.


Perhaps it might be good to point to the two major drivers for Ender3 and Ender 3 V2. I had to go get the drivers before I could connect. Windows default drivers did not work. Your instruction was great after that.


I believe this driver is one is for Traditional Ender 3, I believe they use a FT232R USB to serial IC. That is the driver here.

The Ender 3 v2 uses a different USB driver, CH340. This driver resolved my issues.

These are not driver native sources (Not from the IC vendors). th3d seems like a reputable source, at least from what I could tell.

Niels Van Ingen

I ran this PID calibration Protocol on my ender 3 but somehow the heating error made it worse. previously it went 2 degrees below or above the temprature now 10
i set the cycle to 10 times.
ussing windows 10


I’m trying to calibrate with pronterface for hotend. I’m typing M303 E0 S200 C10 on the command line, but it runs once when it should run 10 times and it doesn’t give any results.

Last edited 2 years ago by şerefcan
Scroll to Top