Skip to main content
  1. First things first: you're going to need a copy of Marlin.
    • First things first: you're going to need a copy of Marlin.

    • If you are upgrading an existing 3D printer to use a V6 HotEnd, you should try to get a copy of your current firmware from your printer's manufacturer.

    • If you're building a new printer, or simply want to upgrade to the latest version of Marlin, download it at http://marlinfw.org/meta/download/

    • If you download a fresh version of Marlin you'll have to configure more settings than the ones mentioned in this guide so that it will work well with your printer.

  2. You'll need Arduino IDE to make changes to the firmware, and you can also upload the firmware from it https://www.arduino.cc/en/Main/Software
  3. Unzip Marlin from the zip file you downloaded and put the resulting folder anywhere on your computer for safe keeping. Inside this folder, navigate to the Marlin sub-folder, and open the Marlin.ino file. This should open every file in Marlin.
    • Unzip Marlin from the zip file you downloaded and put the resulting folder anywhere on your computer for safe keeping.

    • Inside this folder, navigate to the Marlin sub-folder, and open the Marlin.ino file. This should open every file in Marlin.

    • Find the Configuration.h file from the tabs on the top of the screen

  4. In the configuration.h file, find the Thermal Settings section. Below the comments you'll find the settings for the types of thermistors your printer uses. (Typically there will be one per hotend and one more if you have a heated bed.) If you're installing your V6 as your only hotend, change the first highlighted line to: #define TEMP_SENSOR_0 5
    • In the configuration.h file, find the Thermal Settings section. Below the comments you'll find the settings for the types of thermistors your printer uses. (Typically there will be one per hotend and one more if you have a heated bed.)

    • If you're installing your V6 as your only hotend, change the first highlighted line to: #define TEMP_SENSOR_0 5

    • If you're replacing an existing hotend or have multiple hotends, adjust whichever line corresponds to the tool number that you're changing (they start counting from 0)

  5. While the metal of your new V6 hotend can withstand very high temperatures, your thermistor can only go up to around 285°C for extended periods.
    • While the metal of your new V6 hotend can withstand very high temperatures, your thermistor can only go up to around 285°C for extended periods.

    • Set that as your maximum temperature by changing the first highlighted line to: #define HEATER_0_MAXTEMP 285 (or adjust the line corresponding to the hotend you're changing.)

    • The Max settable temperature on the LCD is 15 less than the max temperature, you will need to set the max temperature to 300°C in the firmware in order to hot tighten at 285°C.

    • Remember to change the max temperature back to 285°C after you have hot tightened.

    As the maximum heater temperature that Marlin can set from the LCD is 15 degrees less than the value of HEATER_0_MAXTEMP (see https://github.com/MarlinFirmware/Marlin...) the value should be set to 300 to be able to perform hot-tightening at 285 degrees. For safety the value can be reduced to 285 after hot-tightening the E3D V6 head.

    Marq Kole - Reply

    Not sure I quite understand this? The max temp limitation is the thermistor which can only go to 285C for extended periods, but to allow this the max temp in Marlin must be set to 15C more, ie 300C? If that is so, and 285C is OK for extended periods, then why cannot the Marlin max temp be safely left at 300C? Or, does it imply 285C really too much for the thermistor for long periods?

    Nick Whitehead - Reply

  6. For safety it is strongly recommended to make sure that your printer detects if the thermistor stops sending correct temperatures for any reason.
    • For safety it is strongly recommended to make sure that your printer detects if the thermistor stops sending correct temperatures for any reason.

    • Set the first highlighted line to: #define HEATER_0_MINTEMP 5 (or adjust the line corresponding to the hotend you're changing.)

    • In newer versions of Marlin there are other features such as Thermal Runaway Protection that might be useful as well, though they are typically on by default.

    • Upload the new firmware to your electronics as you normally would. Typically this means plugging in your printer to your computer, selecting the correct COM port and board type, and pressing the upload button.

    • If you're unsure of how to update your printer's firmware, check with its manufacturer.

Conclusion

Head back to the V6 Assembly page to finish the last few steps before you start printing.

12 other people completed this guide.

Gabe S.

Member since: 08/08/2017

14,576 Reputation

41 Guides authored

12 Comments

How about PID ? Are any recommended values?

Lucas Campa - Reply

We highly recommend you run your own PID tuning. Any values we give you might not work perfectly.

Gabe S. -

Are there any PID recommendations or values?

Lucas Campa - Reply

Firt pid auto tube:

// E3D V6 24V extruder

#define DEFAULT_Kp 20.67

#define DEFAULT_Ki 1.66

#define DEFAULT_Kd 64.35

Second time of values and stored:

// E3D V6 24V extruder

#define DEFAULT_Kp 18.33

#define DEFAULT_Ki 1.36

#define DEFAULT_Kd 61.96

Mathias S - Reply

I made the recommeded changes. When i compile it, iget the following error “Error compiling for board ArduinoGenuine mega or mega 2560”. help

Bryan - Reply

Hi Bryan,

Have you got the Board type set to Arduino/Genuino Mega or (Mega 2560) (and is this the suitable setting for your particular board) is your processor type set to ATmega2560 (Mega 2560) or a suitable setting for your particular board) Have you got the correct port selected, ie not trying to upload firmware to your mouse or an external USB? and are you using the AVRISP mkll programmer?

Dan Rock -

You must add the “Sanguino” board (https://github.com/MCUdude/MightyCore#ho... )

then you must compile it for ATMega284P

Enrique Velasco -

How do I do PID tuning if I’m using the software ultimaker 15.03 and where can I get these values from?

Jake Ciasca - Reply

Will you update this guide to include Marlin 2.0.x, now that we have to use Visual Studio Coder?

Brian McClue - Reply

Genial, rápido conciso y muy bien explicado, gracias!!!!

Hector andres zapata - Reply

Um, I just downloaded Marlin and there is no Marlin subdirectory or Marlin.ino file….so tad stuck now? :-(

jake - Reply

Hi there,

Please consider updating the tutorial to include a way to setup/build the firmware with VSCode (or some other IDE) + PlatformIO.

I found it a bit easier than with the arduino IDE.

Please check out crosslink video on youtube on how to update to marlin 2.0 if you are interested.

Thanks

Marcio Mendes - Reply

Add Comment

View Statistics:

Past 24 Hours: 64

Past 7 Days: 388

Past 30 Days: 1,834

All Time: 63,625