# Specific 3D Printers, Scanners, & Hardware > RepRap Format Printer Forum > Firmware Enhancements to Marlin >  Printrboard rev f5 E-Endstop?

## Traceur1

Hi everyone,


its the first time I'am writing in this forum, so you have to move my Subject somewhere else maybe.  :Smile: 


Okay, I want to add an E-Endstop for my Printrboard rev f5. Therefore I thought I shuld add an extra pin to one of the EXP1 Pins. Here is the part of the Printrboard with the pins: reprap.org/mediawiki/images/9/99/Panelolu_printrboard3.jpg
On the Printrboard schematic: reprap.org/mediawiki/images/5/5d/F4_Schematic.png I have found different pins that are not in use. Here is a GoogleDoc of he Firmware Pin Mapping: 
docs.google.com/spreadsheets/d/1vN9_Nk9VCfHQNZ327idsAJzSZ2SCIxssGr6UzDkQAeI/edit
So I have used the Pin EXP1 Pin 8      56    PF5           ADC5    TMS. But it had no pins.h number, so I have used the number from core_pins.h. It is the numer 43
I am using the firmware: github.com/Printrbot/Marlin/releases/tag/RevF-Version-3


On the software side i wanted to change different parts:
Under pins.h
The Printrboard rev f5 is the motherboard: 84.
I added after #define Z_STOP_PIN:
  #define E0_STOP_PIN         43
and I have added after something after this part: 



> #ifdef Z_STOP_PIN
>   #if Z_HOME_DIR < 0
>     #define Z_MIN_PIN Z_STOP_PIN
>     #define Z_MAX_PIN -1
>   #else
>     #define Z_MIN_PIN -1
>     #define Z_MAX_PIN Z_STOP_PIN
>   #endif
> #endif


Here I have added:


```
#ifdef E0_STOP_PIN                      
    #if E0_HOME_DIR <0                  
        #define E0_MIN_PIN E_STOP_PIN        
        #define E0_MAX_PIN -1              
    #else                        
        #define E0_MIN_PIN -1            
        #define E0_MAX_PIN E_STOP_PIN        
    #endif                    
#endif
```


Under Configuration.h


I have added something there:



> #ifdef ENDSTOPPULLUPS
>   #define ENDSTOPPULLUP_XMAX
>   #define ENDSTOPPULLUP_YMAX
>   #define ENDSTOPPULLUP_ZMAX
>   #define ENDSTOPPULLUP_E0MAX  //added by me
>   #define ENDSTOPPULLUP_XMIN
>   #define ENDSTOPPULLUP_YMIN
>   #define ENDSTOPPULLUP_ZMIN
>   #define ENDSTOPPULLUP_E0MIN   //added
> #endif



and there:



> // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
> const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
> const bool E0_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.  //added
> const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool E0_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.  //added



and there:



> // ENDSTOP SETTINGS:
> // Sets direction of endstops when homing; 1=MAX, -1=MIN
> #define X_HOME_DIR -1
> #define Y_HOME_DIR 1
> #define Z_HOME_DIR -1
> #define E0_HOME_DIR -1 //added



and there:



> // Travel limits after homing
> #define X_MAX_POS_DEFAULT 100
> #define X_MIN_POS_DEFAULT 0
> #define Y_MAX_POS_DEFAULT 100
> #define Y_MIN_POS_DEFAULT 0
> #define Z_MAX_POS_DEFAULT 100
> #define Z_MIN_POS_DEFAULT 0
> #define E0_MAX_POS_DEFAULT 100 //added
> #define E0_MIN_POS_DEFAULT 0    //added



under Manual homing switch locations:



> // For deltabots this means top and center of the cartesian print volume.
> #define MANUAL_X_HOME_POS 0
> #define MANUAL_Y_HOME_POS 0
> #define MANUAL_Z_HOME_POS 0
> #define MANUAL_E0_HOME_POS 0  //added
> //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.



I have flashed it to my Printrboard, but the E_stop doesn't work the why I hoped i would work.  :? 
Has someone any tips for me?

----------

