Home 3D Printer Upgrades Ender 3 v2 all metal hotend upgrade

Ender 3 v2 all metal hotend upgrade

Turn up the heat to over 300℃

I will be very honest with you. I’ve upgraded my Ender 3 v2 for one reason: I wanted to try very expensive nylon from work (£150 per 800cc spool) and see what would be the quality of parts made on inexpensive printer vs £15000 MarkForged MK2 machines we use at work. There is one problem. My Ender 3 v2 caps at 260℃ and I need the temperatures in excess of 280℃ to print Onyx nylon rolls. It’s time to switch my Ender 3 v2 to all metal hotend.

Spoiled for choice

Shopping around, I quickly discovered that there are options for the original Ender 3 printers, but not for the new machine. You could argue that both printers use the same hotend, but that’s not exactly a recipe for success. It all boiled down to a nice all-metal hotend for Ender 3 v2 from BigTreeTech from Amazon, as the one ordered from Banggood was swallowed by HermesUK and I never received it. Banggood was great and refunded my order.

Now that I have the hot end and the working temperature in mind, there is another thing to consider. The default heating element may be sufficient to raise the temperature a little bit, but the thermistor is coated with PTFE – the same stuff that is used to make the Bowden tubes. PTFE goes through pyrolysis in temps in excess of 250℃ and sublimates into fluorocarbon which is proven toxic. It’s the same group of gases (C8) responsible for cancer at DuPont Teflon factory case.

Going over 300℃

I’m a responisble 3D printer owner (whatever that means) so I would advise you to spend a little more and upgrade both the thermistor and heating element to make sure they don’t pose a fire & cancer hazards. I went with these two:

With these, chances of giving myself a nasty illness is reduced and all I have to worry about is if my prints are food safe.

Anatomy of a hotend

Here is a hotend and some lingo in case you are not sure what’s what. To remove the stock hotend, unscrew the shroud and undo 2 screws holding it in place.

You will find a grub screw at keeping the heating element inside the block and the screw preventing thermistor from slipping out. Undo both and remove it. Depending on how clean your hotend is, you may resort to elbow grease to push the heating element out.

If the heating element is stuck, don’t heat it up. Freeze it with a can of compressed air or put it to the freezer. Metal will shrink and a couple of firm punches with a hammer and centre punch will push the heating element out.


In order to fit everything on my Ender 3 v2, I had to go through a couple of small modifications. Both cables: thermistor cable and heating cartridge were too short. To extend these, I re-used the original cables. Neither of the elements has a polarity, so just cut the original cables and solder in extension that are equal to the original cable length. One thing I would advise is to check the resistance of the heating cartridge with a multimeter. You should expect value over 12Ω which confirms that you have a 24V version. Online feedback found by me often mentioned badly labelled cartridges.

While M3 threaded thermistor seems like a great idea, I will watch it carefully as during shroud assembly I discovered that the thermistor is almost touching the shroud inside. If heat causes the plastic to melt, I will have to reconsider using another one.

All your elements are nice and clean, so assembly shouldn’t give you any issues. Start with heating element and thermistor. BigTreeTech heat block uses two screws at the bottom to keep it in place. So try to tighten it symmetrically and keep the heating probe inside. If you opted out for my thermistor it will simply screw it not the m3 thread.

Next, use supplied little wrench and players to secure the nozzle and the heat breaker in place. Both should be screwed in tightly to prevent the heat block from rotating. Put the part on the flat surface, add the heatsink and secure it in the parallel position using grub screw provided. The assembled heatsink is ready to be mounted on X gantry with 2 screws.

Unfortunately, the metal hotend is small and barely sticks out from the Ender 3 v2 cage. It’s not a big deal as you can shave 2-3 mm off the blower shroud with sandpaper. It won’t cause massive changes to the airflow but it will keep the nozzle lower than the lowest point of the shroud.

Inspect the aligment of the parts and try the trimmed shroud. Check id the nozzle sticks out 2-3 lower than the lowest part of the shroud. Before you mount the shroud. Push in the Bowden tubing and secure the fitting with the plastic clip. Unfortunately, due to the size of the heatsink, the fitting hides inside the shroud.

Route the cables back to the motherboard and connect it. It’s time to prime it. It’s a good idea to preheat it for 5 min and let it cool down to stress the metal. Once cooled again check the heat block for motion and alignment.

All metal hotend and Marlin 2.0

By default, your Ender 3 v2 is limited to 260℃. It’s not enough and I have to recompile the software for higher temperatures. I have a complete guide to Ender 3 v2 and Marlin 2.0 so if its your first time, read that first, otherwise reconfigure the following lines:

Whatever your hardware choice is, to increase the temperature in the menu, you have to raise the maximum temp in the configuration file by 15℃ more than the desired value. Marlin 2.0 will shut off power to the heating element if the temperature reaches the max value and printer will let you set max temperature which is 15℃ lower than specified in the file.

With improved heating element and resistor I can raise the values safely to 315℃ but I know that I’m going to print nylon only so 285℃ will be my starting temperature. I’m leaving myself enough wiggle room to change the temperature as needed.

As I have a new thermistor, I found the #define TEMP_SENSOR_0 13 to work best for my hotend. Depending on what thermistor you picked up, you may need to look up it’s resistance table or manually calibrate it.


#define TEMP_SENSOR_0 13

#define HEATER_0_MAXTEMP 315
#define HEATER_1_MAXTEMP 315
#define HEATER_2_MAXTEMP 315
#define HEATER_3_MAXTEMP 315
#define HEATER_4_MAXTEMP 315
#define HEATER_5_MAXTEMP 315
#define HEATER_6_MAXTEMP 315
#define HEATER_7_MAXTEMP 315
#define BED_MAXTEMP 120

//your values will likely differ
#define DEFAULT_Kp 15
#define DEFAULT_Ki 1
#define DEFAULT_Kd 44

PID calibration

I also noticed that temperature readings became a little unstable with bigger deviations (3-5℃). It would stop the printer from starting the print as the printing temperature would not settle for 10 sec. You can change this in Marlin by using TEMP_RESIDENCY_TIME but it a sign of PID not being calibrated properly.

As I changed the hotend and the heating cartridge, it’s normal for the PID values to be different. To tune it, open the printer’s terminal (via Octoprint or your fav software) and run the tuning process: M303 E0 S275 C15 (Tuning, Extruder number, Temperature, Iterations). The process will measure deviation and try to retune the printer by giving you new values to enter by displaying:

#define DEFAULT_Kp 15 
#define DEFAULT_Ki 1    
#define DEFAULT_Kd 44

Additional modifications can be done manually. To understand how PID values control the heat curve, take a closer look at this GIF. It shows you relations between all parameters. I found the automatic PID to be a great starting point.

Source Wikipedia

You can quickly test the new values without building the new firmware. To do so, use M303 command with PID params: M304 P15 I1 D44. This will set new PID values for your hotend. Test the temperature again and adjust if necessary.

These are the only changes that you need to make, so save the file, build the firmware and flash it by sending it to an SD card are power cycling your printer. If you had done everything correctly, you will be able to raise the temperature all the way up to 300℃.

Final thoughts

Adding Ender 3 v2 to all-metal hotend is one of the more meaningful upgrades. It enables a wider range of filaments which then opens the path to prints with much different material properties. My next upgrade and possibly the last one for some time will be a touch LCD that had been announced recently by Creality. I’m looking forward to try the expensive filament but I will leave the evaluation of that for another tutorial! It will be interesting to compare a 15k printer with a £200 one! Got any thoughts or comments, leave it in this Reddit thread.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

Main 3D-printerCreality Ender 3

Get FilamentSupport NotEnoughTech

PLA Filament

ABS Filament

PETG Filament

TPE Filament

Nylon Filament

Carbon Filament

Best 3D designs

Lights, Camera… but mostly lights

Grab VIJIM VL81 - panels that are useful not just for vloggers. Add one part and make the lights even better

Argon18: Argon ONE SSD modification

Argon One case just got better - now you can boot it from USB without ruining the design thanks to Argon 18: Argon One SSD modification

32mm adapter for Zemismart Roller

Adapter for 32 mm roller blinds to drive it with a Zemismart smart roller shaft

3D Printed miniDSO ES121 case

ES121 is an amazing tool, but comes without a case. I fixed that by designing my own carrying case with charging!

Fixing the 2nd cheapest soldering stand (DANIU)

I have upgraded from the cheapest soldering stand you could get, to the second soldering stand. Now, let's make this DANIU Soldering stand a tiny bit better with a little bit of printing.