I am trying to correct the x&y offsets in the Tevo Tarantula that I got from a friend in order that my printer is not printing over the end. What I got so far is that I need to measure and then enter the offsets into my configuration.h file, build the firmware and flash it to the board.

Because I do not have and can not find the original firmware I found the repository from Jim Brown for the Tarantula.

Looking into the top section of the config file provided by the repo, the board configured is

#define MOTHERBOARD BOARD_MKS_GEN_13        // Original controller board with built in stepper drivers. Works with MKS BASE 1.3, 1.4

However since the board in my Tarantula has 1.2 on it I checked the boards.h file for MKS but could not find the v1.2 :

#define BOARD_MKS_BASE          40    // MKS BASE v1.0
#define BOARD_MKS_BASE_15       405   // MKS v1.5 with Allegro A4982 stepper drivers
#define BOARD_MKS_BASE_HEROIC   41    // MKS BASE 1.0 with Heroic HR4982 stepper drivers
#define BOARD_MKS_GEN_13        47    // MKS GEN v1.3 or 1.4
#define BOARD_MKS_GEN_L         53    // MKS GEN L
#define BOARD_MKS_GEN_L_V2      54    // MKS GEN L V2
#define BOARD_ZRIB_V20          504   // zrib V2.0 control b

Any idea, what board configuration would be compatible for 1.2? Or is there any other way to correct the x&y offsets other then compiling them into the firmware?


The MKS Base v1.2 is basically an Arduino MEGA2560 and a RAMPS1.4 on a single board.

You can use the RAMPS pin designation.

Note that the endstop to origin distances is explained in question How to center my prints on the build platform? (Re-calibrate homing offset).

In Jims Marlin fork you can find this at:




Unfortunately, XTRA_BED_LEFT and XTRA_BED_BACK are defined as zero; this implies that the endstops define the origin (not likely) or it is left as an excercise for you to find out. This answer explains how you figure that out.

  • $\begingroup$ Thank you for the answer. For the RAMPS 1.4 the boards.c file also has multiple configurations. The board itself has 3 blue power outputs E0, E1, Fan followed by a green power output for the bed. #define BOARD_RAMPS_14_EFB 43 // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed) #define BOARD_RAMPS_14_EEB 44 // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed) #define BOARD_RAMPS_14_EFF 45 // RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1) #define BOARD_RAMPS_14_EEF 46 // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan) #define BOARD_RAMPS_14_SF 48 // RAMPS 1.4 (Power outputs: Spindle, Fan $\endgroup$
    – Eike
    Dec 29 '20 at 16:45
  • 1
    $\begingroup$ @Eike Looks like you have the EFBE option. $\endgroup$
    – 0scar
    Dec 30 '20 at 2:13
  • $\begingroup$ Just greped through the source files for the Easyconfig 1.1 and 2.0 and found only references in some pins_RAMPS files to the EFBE option: ./Marlin/pins_RAMPS.h: #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE") sorry for being blind but I am stil not sure what board I should put into the config? $\endgroup$
    – Eike
    Dec 30 '20 at 10:07
  • 1
    $\begingroup$ @Eike EFB is a standard option, the EFBE is an added extra extruder (I understood you had 2 from your comment, but if you are only using 1, you can go for EFB). $\endgroup$
    – 0scar
    Dec 30 '20 at 13:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.