Replacing the hotend of your Creality Ender 3 with an all metal version can be a tricky but valuable upgrade. This guide will show you how to replace the Creality hotend for an e3d v6 all metal hotend in direct drive configuration. Performing this upgrade is involved but once complete your Ender 3 will be printing at a whole new level.
Why Replace the Ender 3 Hotend?
This is probably one of the most common upgrades done to the Ender 3. Because the stock hotend of the Ender 3 has a PTFE tube running all the way up to the nozzle you cannot safely print materials higher than 240C without releasing toxic components from the PTFE. An all metal hotend uses a metal heatbreak instead of PFTE tubing so it can hit the temperatures needed for more exotic filaments like ABS or Nylon.
There are two common options for all metal hotends on the Ender 3, the Microswiss all metal hotend and the e3d v6 hotend. I’m familiar with a Prusa i3 MK3S that I have at work which uses an e3d v6 so I selected that as I’ve needed to disassemble and clean one before. The v6 is also compatible with some fancier nozzles which you might want if getting into more abrasive filaments like carbon fiber nylon.
The Microswiss does have an advantage of being the same form factor as the stock Creality one where the v6 will require some printed mounts to attach. It is really a matter of personal preference on which you want to go with. There are many clones on the market but for things like your hotend it is advisable to go with quality as this will have a significant effect on your end product.
Why Change to Direct Drive?
Direct drive printers have the extruder mounted directly above the hotend providing a short and highly constrained filament path from the extruder to the nozzle. This constraint makes it possible to print flexible filaments such as Ninjaflex TPU at faster speeds without risk of jamming. While it is possible to print TPU on the Ender 3 without a direct drive setup, the print speeds are very slow and jams are still not uncommon.
Direct drive setups tend to have less stringing and linear advance works a bit better giving sharper edges. Direct drive does add a lot of mass to the X carriage which can increase ringing when printing at high speeds for other filaments. This is the trade off between a bowden tube design and a direct drive. Optimization of settings is critical to getting excellent prints with either setup.
Disclaimer: Though we have used this to fix our systems, we are not responsible for any issues that might occur to your system(s) by you following this guide. Please check with the manufacturer or your service provider prior to following this or any guide to be sure you will not cause any issues with your system.
Supplies Needed
- E3d v6 All Metal Hotend Kit (24 volt)
- Tool kit
- Printed parts for hotend (Hangtight model from Thingiverse)
- 4010 Hotend Fan and 5020 Cooling Parts Fan
- NEMA 17 Pancake Stepper Motor
- BMG Dual Gear Extruder
- JST Connectors
- JST Crimper
- Cable sleeve
- Various Metric Screws and Nuts
Steps to Replace the Ender 3 Hotend with an E3D v6 in Direct Drive Configuration
Step 1. Print the required parts prior to disassembling your printer
Don’t make the mistake of jumping into this and taking apart your printer without preparation. You should print the hotend parts before taking things apart. As these parts will be in close proximity to the hotend PETG or another higher temperature filament is preferred to PLA.
ABS or Nylon would be ideal but the Ender 3 cannot safely print those without already doing this upgrade. PETG is possible on the stock Ender 3 so it is your best bet right now. I have selected Hangtight’s mount and duct of Thingiverse for my mounting hardware.
Step 2. Unplug the Printer
This seems obvious but I’m stating it anyways. NEVER mess with the electronics of your printer with it plugged in. You could short something and fry the machine, or worse, yourself.
Step 3. Disassemble the Stock Hotend
Disassembly of the hotend is not difficult. Remove the fan shroud and then unscrew the parts from the X carriage plate. You can let them hang gently for the time being.
Step 4. Disassemble the Extruder
Remove the extruder and motor from the Z axis mount. Set the extruder aside if you are reusing it. Save the motor as a spare for the X, Y, or Z axis motors, we’ll be replacing it with the pancake stepper motor to reduce the weight on the X gantry.
Step 5. Attach the Printed Mounting Plate to the X Carriage
This only takes a few screws and nuts to attach. Make sure everything is tight but not stressing any parts by over tightening them. Everything should be flush and square to the extrusion.
Step 6. Attach the E3D v6 Hotend to the Extruder
Before snapping this into the extruder there is a piece of PTFE tubing that should be inserted, it needs to be 5mm taller then the heatsink. You’ll need to insert the hotend at an angle and then snap it into place. If your hotend is not pre-assembled then you will need to add thermal grease to the heatbreak and once you can heat up things you will need to tighten the nozzle to the heater block at 285C to ensure no leaks.
Step 7. Mount the New Stepper Motor and Extruder to the X Carriage
This is just a few screws to hold the entire thing in place. Be careful of orientation of the wires and how you plan to route them. I should have had my motor turned 90 degrees so I could run the wires in a slightly more controlled fashion with the others but I can fix that whenever I need to disassemble it for maintenance.
I did find that the last screw for the extruder was a pain to get access to and needed to turn it with pliers until it was far enough in to get my allen wrench in. Would have been nice to have a cutout in the mount that gave direct access to it. I doubt I’ll ever need to reprint this part but if so I would add that feature in before printing.
Step 8. Attach the Cooling Part Duct to the X Carriage
This part is fairly simple with just a few screws into some nylock nuts. Don’t tighten everything down yet as we’ll need to adjust the duct height later. Attach the fans to the duct and route the wires in the correct direction. This is also a good time to install your ABL mount and probe.
Step 9. Splice the New Fans to the Wires Coming from the Main Board
Technically this is optional as you can just run the fan cables all the way back to the board or cut and solder them. Fans wear out and break (my hotend fan is missing a few blades for example) and I don’t want to need to run these cables every time I replace them. By crimping on in these connectors I can easily just unplug the fan up at the hotend and then quickly have a new fan up and running.
Step 10. Open the Electronics Case
There are 3 screws on the top of the electronics case, remove all three and lift off the lid. Be careful as you lift to disconnect the case fan wires from the board as well so you don’t damage anything. Set the lid aside, we’re done with it for now.
Step 11. Disconnect the Thermistor and Heater Cartridge from the Main Board
Unscrew the heater cartridge from the terminal block and unclip the JST connector for the thermistor.
Step 12. Remove the Old Thermistor and Heater Cartridge
Carefully pull the wires for the disconnected heater cartridge and thermistor up the wire harness of the printer. With the fans having already been disconnected you should be able to fully remove the hotend now.
Step 13. Run the Wires for the New Hotend Components Down to the Electronics Case
Run the new thermistor and heater cartridge wires down to the main board. This is a good time to replace the wire harness with something better which is a bit easier to remove or add components later. You should also run the wires for your ABL probe if you have one, the stepper motor, and the fans.
Step 14. Connect the Thermistor and Heater Cartridge to the Main Board
This is just the reverse of disconnecting. Screw the heater cartridge wires into the terminal block and plug the thermistor into the JST coupler.
Step 15. Connect the Stepper Motor and ABL Probe to the Main Board
As the fans were never disconnected from the main board we don’t need to mess with those unless somehow you reversed the positive and negative wires. The ABL probe should connect just like it was before if you unplugged it.
Your new stepper motor might have the wiring different than the stock one. Please make sure you check the pinout diagram for the board and the motor and match the correct wires. Failing to do so here can lead to your board and/or motor making magical blue smoke and requiring some new components.
Step 16. Power on the Printer and Ensure Everything is Working
Once everything is assembled, plug in the printer and power it on. The firmware is not correct anymore so do not actually run a test print. We want to check that things heat up and all the fans, motors, and ABL probe are functional, nothing more.
Step 17. Compile and Flash Updated Firmware
I discussed compiling firmware for Marlin 2.0 in a previous article so we won’t retreat common ground here. The biggest change you need to make is to fix the thermal settings for your thermistor. The e3d thermistor is “#define TEMP_SENSOR_0 5”, if you leave the stock Creality settings you may have issues.
You may also want to update your max temperature to 285C since you no longer have a limit due to the PFTE tube. We’ll get to this in a second but knowing where the PID tuning settings are in Marlin so you can enter your new settings in for your next flash is also a good idea.
Step 18. Run PID Tuning for the Hotend
PID tuning is fairly simple to run, the printer does most of the work for you. You will need a way to run gcode commands from a computer through pronterface, from a pi through octoprint, or if you have the BigTreeTech TFT installed (see my previous post on this) then you can run directly from the touchscreen. Running off the TFT is difficult as you need to see the values at the end and the screen doesn’t give you the option of scrolling through the responses.
I used octoprint for my tuning. Send the following command “M303 E0 S225 C10” to tune the hotend at 225C 10 times. Once complete you will have new PID values, save them to the board and you are good to go.
Step 19. Calibrate the Extruder Steps
We swapped the extruder motor and possibly the extruder as well, it is important to calibrate the steps per mm for this new configuration. We will tell the extruder to extrude 100mm of filament and then measure how much was actually done. The easiest way is to measure out 120 from the top of the extruder and then after the command measure what remains.
Preheat your hotend to your default PLA temperature and run the “M83” command to set relative extrusion mode. While this is heating run the “M503” command and find the line after echo: M92 which should have your current esteps at the end saying something like E###.##, write this number down. Once your hotend is at temperature extrude 100mm of filament using the “G1 E100 F100“.
Measure the remaining filament and subtract it from 120mm, then take this value and subtract it from 100 to get your correction factor. Multiply original e-step value by your correction factor to get your new e-step value. Save the new e-step value to the eeprom with this command “M92 E###.#” and then run “M500” to save it to the eeprom.
If your steps are significantly off from what the extruder needs then you may need to do this twice as the first run will be just to get close. This would be the case if swapping from the stock extruder to a 3:1 gear ratio extruder like the BMG.
Step 20. Calibrate Linear Advance K Value
If you are planning to use the linear advance feature then you’ll want to run the calibration patterns and dial in the K value for your filament(s). It usually takes a few runs to get the value correct, increasing resolution every time. With a direct drive setup your K value will likely be very small, mine was 0.58 before direct drive conversion and 0.044 now.
Step 21. Run Some Test Prints
You need to update your slicer settings before printing, specifically retraction settings. A stock Creality hotend in bowden setup usually has a 6mm retraction, this is way too high. You should be below 1mm now with a direct drive config to prevent clogging up the hotend.
Once you have made that change, also update your K value in the slicer if using linear advance. You can now slice up some files and see how things run. You may need to reprint a temperature tower to find the new ideal print temp, especially if your old hotend had not been PID tuned.
Your part cooling has a significant upgrade now as well with a better fan and duct so your bridging and overhangs should look better as well. Dialing in retraction settings to deal with any residual stringing can be done later.
Everything may not be perfect though, see my troubleshooting below.
Troubleshooting
I noticed that my first calibration cube and 3D Benchy both showed serious underextrusion. I tried adjusting print speeds, retraction settings, and temperatures. Nothing worked except disabling linear advance, not an option I was happy about needing to do but it did work for the brazen gear soap dish I designed and printed. Technically speaking things were working, though I wanted linear advance on if possible.
After a lot of time looking around the Marlin github I discovered a report of S-Curve Acceleration conflicting with Linear Advance. That couldn’t be the cause, it was set up that way in my bowden configuration and I never had an issue. I was desperate so I turned off S-Curve and low and behold it worked!
Why did this problem not present on my bowden configuration? We know the linear advance is much better suited to a direct drive configuration and on a bowden system it can help regulate nozzle pressure, but never fully control it. With direct drive it can and now it was doing its job correctly and the conflict was evident, turn this feature off if you see issues like I did.
Another issue I noticed was my prints were not centered on the bed anymore. I needed to find the offsets for the center and set those in the firmware. This is pretty easy, put a mark at the center of the bed and move the nozzle to it. Record the X and Y coordinates on the screen and subtract them from the actual bed middle to get the offsets.
Conclusion
This was definitely the most involved and most difficult upgrade I have done to my Ender 3. This is not an upgrade for the inexperienced and you definitely must be very familiar with your printer prior to doing this. That being said if you want to push your printer into new capabilities, you can have all the functionality of a Prusa MK3 for a third of the price if you are willing to put in the time and energy!
Hi, where do you change the offset in marlin? If I change the X_MIN and Y_MIN, it decides to also reduce the size of the bed.
Are you using Marlin 2.0?
Do not change X or Y Min, they should be 0. Instead once you get your offset numbers for X and Y (for me that was 4 and -19) .
You then want to find this spot which is commented “Manually set the home position.” and add the offsets there like this.
#define MANUAL_X_HOME_POS 4
#define MANUAL_Y_HOME_POS -19
Make sure you clear you eeprom after flashing the new firmware, I have seen issues with it remembering your old offsets if you don’t do that step.
Thank you so much! I didn’t get a notification of your reply, it was luck that brought me back here.