# What is the correct Marlin firmware setting for Tevo Tarantula with MKS Base V1.2 board

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:

#define X_MIN_POS 0 - XTRA_BED_LEFT


and

#define Y_MIN_POS 0 - XTRA_BED_BACK


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.

• 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
– Eike
Dec 29 '20 at 16:45
• @Eike Looks like you have the EFBE option.
– 0scar
Dec 30 '20 at 2:13
• 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?
– Eike
Dec 30 '20 at 10:07
• @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).
– 0scar
Dec 30 '20 at 13:02