MKS SBASE V1.3 Dual Endstop Question [SOLVED]

Another thing, the MKS_SBASE v1.3 allows the DRV8825 channels to be jumped together to basically clone an axis. Do not use a jumper wire to make dual X or Y axis’. All duplication of the axis’ are done in the firmware settings. No need for jumper wires.

I updated the configs to slow down X and Y homing feedrate. My CNC was lossing steps while trying to home

Change following lines to suit your CNC size and motor direction:

#define X_BED_SIZE 559
#define Y_BED_SIZE 432

#define INVERT_X2_VS_X_DIR false // Set ‘true’ if X motors should rotate in opposite directions

#define INVERT_Y2_VS_Y_DIR false // Set ‘true’ if Y motors should rotate in opposite directions

 

 

Copy the files to the following directories and overwrite the old files.

Marlin-bugfix-2.0.x\platformio.ini

Marlin-bugfix-2.0.x\Marlin\Configuration.h

Marlin-bugfix-2.0.x\Marlin\Configuration_adv.h

Marlin-bugfix-2.0.x\Marlin\src\pins\pins_MKS_SBASE.h

What about the config.txt that is on the sd card?

I want to try this out on my MKS SBASE but am not so good with how to load firmware/configure, etc.

I took the zip and pulled the bin and loaded to the SD card and it appears the firmware is loaded.

I am just unclear of what other settings I need to change, etc. E.g. Stepper voltage, direction

I downloaded Atom/PlatformIO - copied the files like you said.

 

I am getting this error after hitting the checkmark icon.

I’ve updated my config because the stepper drivers where getting hot just sitting there so I decreased the milliamps from 1200 to 1100 and the drivers seem to be ok. Attached are the new files.

  1. Install Atom Text Editor (You do not need to install Clang)

  2. Install platformio-IDE (See this video on YouTube- https://www.youtube.com/watch?v=gMPdsBumWCQ )

  3. Download the MPCNC Marlin-bugfix-2.0 from the V1Engineering Marlin Repository and extract the zip. Don’t use any other firmware than the MPCNC Marlin-bugfix-2.0.

  4. Download the MKS_SBASE v1.3 Dual Endstops zip file attached to this forum post and extract the zip

  5. Copy platformio.ini to the ~\Marlin-bugfix-2.0.x\ directory (Ensure the old files are overwritten)

  6. Copy Configuration.h and Configuration_adv.h to the ~\Marlin-bugfix-2.0.x\Marlin directory (Ensure the old files are overwritten)

  7. Copy pins_MKS_SBASE.h to the Marlin-bugfix-2.0.x\Marlin\src\pins directory (Ensure the old files are overwritten)

  8. Open ATOM Text Editor

  9. Click FILE \ OPEN FOLDER (at the top menu) and select the ~\Marlin-bugfix-2.0.x folder (Where you extracted the zip in step 3)

  10. Click the Check Mark on the left menu to compile the FIRMWARE.BIN

  11. Plug an SD card into your computer and copy the firmware.bin to the SD card

  12. Delete the FIRMWARE.CUR file on the SD card

  13. Plug the SD card into the MKS Sbase v1.3 board and power it on with either a USB cable or a 12v power supply. The FIRMWARE.BIN will be flashed and renamed to FIRMWARE.CUR

  14. If you endstops do not trigger then try changing the following settings in Configuration.h to false

// Mechanical endstop with COM to ground and NC to Signal uses “false” here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true// set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

  1. Or just copy the included compiled FIRMWARE.BIN to your SD card and repeat step 11 thru 13.

MKS_SBASE_v1.3_Dual_Endstops.zip (122 KB)

This firmware does not use a config file like Smoothieware

I’ve updated my firmware.bin with lower milliamps on the drivers and motors (from 1200 mA to 1100 mA) to prevent overheating. Everything should be set if you used my files or loaded the pre-compiled firmware.bin

I couldn’t get it to work.

 

May I ask = why the bugfix 2.0 vs. the other MPCNC options… maybe this is what I did wrong.

I used the ramps dual end stop zip and then applied your files.

The Marlin bugfix 2.0 supports 32-bit MCU’s. Marlin 1.1.9 supports 8-bit MCU’s

Will not work. That is the reason you are not getting it to work. Ramps firmware is an 8-bit firmware which will not run on the MKS SBASE v1.3 board, which is 32-bit MCU.

I used the Bugfix 2.0 and have it working now but the end stops don’t seem to be triggering.

You may need to reverse the state of the endstops in the Configuration.h to false, re-compile, and re-flash.

I have 3 wire endstops with LEDs.

// Mechanical endstop with COM to ground and NC to Signal uses “false” here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true// set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

Ok. I only have the two wire — Signal and Ground.

That did the trick. homes X and Y now without an issue.

Thx.

Hey, I’m trying to confgure my MKS Sbase board with dual X and Y stepper motors and dual endstops.
I downloaded the MKS_SBASE_v1.3_DUAL_Endstops.zip and copied the firmware.bin file to the SD card.
But the E0 and E1 are not working. Anyone can help me to fix this?

A lot has changed in the last year. I would start with V1CNC_Rambo_Dual and then edit it for your board. It should just be one line to switch boards and then change the target in the platformio file.

Jeffe… I tried that, but it didn’t work. I don’t know why :frowning:

In the flatformio.ini I set the ‘default_envs’ to LPC1768

I responded to your other thread. FWIW, saying, “It didn’t work” gives me no way to help.