# How to change E0 to E1 on Marlin 1.1?

I have the same problem as this person but I don't have those lines in my RAMPS.h file as seen here.

I've recently burnt my potentiometer on E0 so the motor isn't working properly anymore. I want to use it on E1 instead. If you have any better idea how to fix this instead of changing code in firmware, feel free to share.

• In addition, if you refer to an external website, please quote the relevant details of the issue [external post] here, as the external link could die (as most links tend to do), and then some/most of the information, that pertains to your question, will be lost. Thanks and welcome to SE 3D Printing... :-) Apr 19 '18 at 18:05
• It is pretty easy ;) to adjust the pins in the firmware, I already described that for somebody that wanted to use the E1 as X, please look at my answer of 3dprinting.stackexchange.com/questions/3925/…".
– 0scar
Apr 19 '18 at 18:14
• It is MKS, but mks file refers to ramps file so i use pins_ramps.h Apr 20 '18 at 14:02
• @0scar still can't get it to work properly :( I've made neccesary changes in code, but now there is some problem with AVRDUDE dl3.joxi.net/drive/2018/04/20/0015/0211/991443/43/… Apr 22 '18 at 15:13

Another posting already discusses how you can change the pins to use spare stepper controllers for broken controllers by changing the pin layout. Assuming you are using a RAMPS board and using Marlin firmware, you should look at the pins_RAMPS.h file.

This file requires changes to address E1 to E0 and vice versa, please edit the file so that:

#define E0_STEP_PIN        26
#define E0_DIR_PIN         28
#define E0_ENABLE_PIN      24
#define E0_CS_PIN          42


is changed to:

#define E0_STEP_PIN        36
#define E0_DIR_PIN         34
#define E0_ENABLE_PIN      30
#define E0_CS_PIN          44


and also change:

#define E1_STEP_PIN        36
#define E1_DIR_PIN         34
#define E1_ENABLE_PIN      30
#define E1_CS_PIN          44


to:

#define E1_STEP_PIN        26
#define E1_DIR_PIN         28
#define E1_ENABLE_PIN      24
#define E1_CS_PIN          42


When the file is changed an saved, build and upload code to your board and plug the connector of the E0 stepper into the E1 header.

I wanted to expand on the great comment by 0scar and explain what's the fastest way to change pins. I know this is an older topic, but for the sake of people looking for an answer, I figured I add this.

First of all it's easiest to change the pins in the pins file for your specific board by simply renaming E0 to E1 and vice versa. This is much simpler than copying and pasting the pin numbers per pin. Only do this when swapping entire driver pin lists as this gets quite confusing when switching around only certain pin numbers.

Second, and this is a big one: don't forget that when you use drivers that are capable of sensorless homing, and when you use that technique, you also have to change the _DIAG_PIN settings or else the sensorless homing won't work correctly.

• Hi, Marinus, and welcome to the stack.
– Davo
May 27 at 11:14

the fastest way is to slice using two extruders and assign all print work to E1. Set the head offsets to [0,0] and that shall do the job.

The harder is to edit pins file and do remapping.

• I've already tried doing that in Slic3r and that didn't help :( And also it, probably, won't work if I am to move it from menu screen, right? joxi.ru/KAxnKV1FMNwkXm.png Apr 19 '18 at 15:30
• did you set 2nd extruder in config.h? maybe it is time to get github.com/JimBrown/MarlinTarantula as I am using that on minte Apr 19 '18 at 15:32
• i've downloaded the firmware that you've recommended and it doesn't want to load joxi.ru/J2b6n9whXpYy02.png Apr 20 '18 at 5:28
• Are you sure you installed the CH340 drivers and use the correct COM port? Does it compile?
– 0scar
Apr 20 '18 at 6:51
• @IlyaSmirnoff please see 3dprinting.stackexchange.com/a/5849/9730 for flashing reference Apr 20 '18 at 8:25