Setup External Driver on Smoothieware Sbase 1.2 Controller Using E1 Pins!




Introduction: Setup External Driver on Smoothieware Sbase 1.2 Controller Using E1 Pins!

I'm blogging about my projects before they make it to Once I've finished a subjec…

Content of this Instructable:

  1. Proloque
    1. Driver Heatsink problems
    2. Defunct Y driver
  2. Setup Smoothieware to use E1 as our Y Axis
    1. Y driver - original
    2. Y driver - Using E01
    3. Complete driver pin-out diagram
  3. Setup External Motor Stepper Driver board with different driver.
    1. 5v and GND
    2. 12v/24v (vin) and GND
    3. ESDG wires
  4. Installing the new driver(s)
    1. Orientation depending on type.
    2. Measure vRef - Good practice


As some of you might now, I have recenty written a couple of Instructables on Configuring MKS Sbase v1.2 32-bit Controller basics and intro to Smoothieware and on Smoothieware Switch module for automatic fan control.

I have allways planned to use some TMC2100 (SilentStepSticks) as external drivers for my XY axis as the DRV8825 drivers doesn't agree with my motors for those axes - making lots of noise and an annoying whining noise a lot of time. Also gives a very noisy grinding noise.. feels like each tiny step is forced by a big motor and stop violently.. not good at all..

I've learned DRV8825 is bad for motors with considerably lower voltage rating than input voltage, which in my case is 24v, so it makes sense I'm having issues. I did have issues with these drivers when running 12v too though, but not as bad. Enough to have planned not to use them now though!

As luck would have it, I recieved a couple of the External motor stepper driver board panels by the time I had begun testing my printer.

Driver Heatsink problems

I had lots of problems with the Sbase 1.2 controller heatsink on the drivers.. it literally fell off. On both my controllers!

Turned out the small countersunk nut in the heatsink wasn't anchored in any ways, so while the 2 nuts pr. heatsink sat on the screw, which was meant to fix it in place, the heatsink itself was actually only kept in place by some thermal-paste... which wasn't up to the task of mechanically holding the heatsink in place, so it fell off.

My Controllers are mounted under the bottom of my Ultimaker 2 clones, with the heatsink having gravity against it.

I don't know if the heatsink was the cause or not, but my Y driver on one of the boards simply stopped working!

Defunct Y driver on one of my Sbase 1.2 controllers

Ok, bad luck, but no sweat, I had planned on using a different driver in any case, so I started setting up the External Motor Stepper Driver Board Panels (long name!).

Turned out to be more involved than I had thought, but it turned out fine. MKS has stepped up a bit on documentations, so they now have Photos of the wiring, if no explanation.

I simply just could not get it to Work using the external driver pins Jc_M3 for the Y driver. After testing a lot I concluded the entire Y part of the board simply just doesn't Work...

Wow, now that is bad luck!!

Step 1: Configure Smoothieware to Use E1 for Our Y-axis

Why configure Smoothieware to use E1 for our Y-axis on the External driver board?
While I could just use the motor directly on the pins for E1, I figured I might as well set it with my External Driver Board and use a different driver while at it, since the DRV8825 doesn't like my motors as I mentioned.

Regardless of wheter we use the E1 Cm_M3plug (main white plug) or the use E1 Jc_M5 pins for the External Stepper Motor Driver board, the process in the Smoothieware firmware is exactly the same.

Here we have the settings for my Y driver. I have commented all of it out and added Defective as a headline

Y driver - original

Note: I removed comments to make it more readable here

# Y - Jc_M3
# beta_step_pin                                2.1
# beta_dir_pin                                 0.11
# beta_en_pin                                  0.10
# beta_current                                 0.7
# beta_max_rate                                30000	

Y driver - using E01

Here we see the PIN settings.
You can put current at 0.0. Mine is just at default.

E01 - Jc_M5
# Stepper setup - backup for Y
beta_step_pin                                2.8
beta_dir_pin                                 2.13!
beta_en_pin                                  4.29
beta_current                                 0.5
beta_max_rate                                30000

Complete driver pin-out diagram

I created a complete driver pin-out diagram to make it easier to attach and configure other external drivers.

Step 2: Setup External Motor Stepper Driver Board With Different Driver.

Now we need to wire up our external driver.

This entails 3 sets of wires:

  • 5v and GND
  • 12v/24v (vin) and GND
  • ESTD wires

Note: I strongly recommend clearly marking your wires, so as not to short out something or otherwise plug them in improperly

5V and GND

We get this from one of our endstop plugs. This is for the driver itself. You can see a 5v and GND next to it on the Driver board.

12v/24v (VIN) and GND

We get this from our Powersupply. This is for the motor. You attach these to the VIN on the Driver board and the GND next to it.

En, Step, Dir and Gnd.

ESDG wires are simply connected to the Jc_M5 pins in one end and to our External Driver Stepper Board in the other end.

Note: Make certain to connect them in the right order!

Step 3: Installing the New Driver(s)

Nearly done now.


I've made a seperate step for this, as the orientation of the drivers are really important. You are going to fry the drivers if they are inserted incorrectly.

Also always have all power turned off, that includes any USB, whenever you handle the drivers - aside from adjusting the vref.

  • The A4988 is inserted with trimpot facing away from dipswitches.
  • The DRV8825 is inserted with trimpot facing towards the dipswitches.
  • SilentStepStick - TMC2100 is inserted with trimpot facing towards the dipswitches.

Measure vRef - good Practice

This is not about what value to set it at, but about a good practice to avoid accidents.

  • Use 2 clamps on your Multimeter.
  • Connect the black one to a GND on your printer. Easy to use is directly from PSU or from a GND from endstop pins.
  • Attach the red one to a small screw-driver fitting for your trimpot.
  • This way you have your hands free to actually adjust the trimpot and not having to hold multiple wires and worry about something slipping and making a short circuit somewhere.

Be the First to Share


    • Chocolate Challenge

      Chocolate Challenge
    • Frozen Treats Speed Challenge

      Frozen Treats Speed Challenge
    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge



    6 months ago

    Hi-I would like to upgrade my mks sbase to use tmc 2209s, however having 5 of the little single driver breakout board is gonna be a spaghetti junction. is it possible to use a RAMPS board without the Arduino or a cnc shield to upgrade the 5 drivers, & would it still be able to control the current through smoothieware.


    3 years ago

    Hi dintid

    I connected TMC2100 sticks on external drives like in your setup and the printer is working, however i am not sure how to setup the jumpers on the external drivers/ TMC2100 in order to get 16 micro stepping with interpolation and spread-cycle. I read that i need to solder and connect CFG1 to GND but to i turn the dip switches on the external drive on of off?

    I noticed in one of the images your TMC2100 stick is missing CFG2 pin. Is this somehow related with the setup?

    Thank you for the tutorials they probably the best source of info for the Sbase.


    4 years ago

    do you know how to do this with a tmc2208 driver? Reading the data sheet the drivers with VIO 3.3-5v input use the Vmotor to power the 5v logic. It says if the Vmotor supply is not there the driver can be damaged if the controller sends signal on the inputs. Basically, it says if your powering the controller with usb power and the 12/24 supply is not running to the drivers before the 5v logic they can be damaged. seems stupid but what do I know.


    4 years ago

    I'm a bit confused aren't you using 2 Stepper controllers now? Isn't the MKS Board giving the signal to the DRV8825, which then outputs to the A4988 and that then finally powers the stepper motor? Or is the DRV8825 being bypassed?


    4 years ago

    Hi Dintid,

    I have more one need, can you help me please? I have a 40cm x40cm heated bed and I'm using 4 20cmx20cm hot beds to warm it, And I'm wondering that the MKS SBASE 1.2 hot bed power output will not stand to suply the needed current. So i'm thinking use a solid state relay to warm the bed. But I dont know how to activate it, as I will need 5V do activate the relay and the hotbed output gives me 110VAC.

    Do you know how can I do that Please?


    Reply 4 years ago

    Have you tried using Google?

    But here's a thread:

    I'm a bit confused as you say the hotbed output gives 110VAC... the hotebed does not provide any output. You can say how much Wattage it is rated at and what voltage it needs. This will give you the amperage your PSU at least needs to be + 20%

    Why do you need 5v to activate it the bed/SSR? It's easier just to use the bed output.

    Hope it helps.



    5 years ago

    is there any way to add additional steppers I mean not by external driver method for aditional Z for example, but 5+ independent steppers


    Reply 5 years ago

    There are true PWM pins you can use along with other pins.

    # Pins
    # P2.4 (FAN), P2.5(Hot-Bed), P2.6 (Heater 2), P2,7 (Heater 1)
    # P1.18, P1.20, P1.21, P1.23 (PWM)
    # P2.0 (X step)
    # 2.1 (Y step)
    # 2.2 (Z step )
    # 2.3 (E0 step)
    # 2.8 (e1 step)
    # Tested PWM: P1.23 og EXP2 P3.25, P3.26

    # P1.24 (x min endstop)
    # P1.25 (x-max endstop)
    # P1.26 (y min-endstop)
    # P1,27 (Y max endstop)
    # P1,28 (Z min endstop)
    # P1,29 (Z max endstop)


    5 years ago

    Do these need 24v? I have a 12v PSU for my printer.


    Reply 5 years ago

    No, they run on both 12 and 24v


    5 years ago

    Hi dintid,

    I measured the vref on my drivers and it was set at 0.2.

    The total amount of adjustment is from 0 to 1.

    I set them both at the max of 1 and it works perfectly. I will adjust it and set it as low as I can while still maintaining smooth movement.

    Thanks a lot for your help.


    Reply 5 years ago

    Awesome :)


    5 years ago

    Hi Dintid,

    I have successfully installed MKS SBase on my custom corexy printer, thanks to your other excellent tutorial.

    I am having problems installing TMC2100 on my x and y axis.When I try to run with these external drivers,my x and y steppers stutter. I have triple checked my wiring and I can not find the problem.

    When I connect my stepper motors directly to MKS SBase, it runs and prints perfectly.

    I would appreciate any insight you might provide.


    Reply 5 years ago

    Hello Kanataa, and thanks :)

    I'll bet you need to turn op the vref on the TMC2100. How much is it at now?


    5 years ago

    Hi, first of thanks for the tutorial.

    I just bought a sbase since my azteeg mini x5 kind of exploded (the wires of my print head element sparked where the wire go in the metal part and it fried the whole board).

    I like the idea to reuse my old stepper driver of the azteeg mini x5. I got the SD5984 thing is the one I have got the digital potentiometer and I could not find any info on how to make this work with the sbase since they only have 4 headers for the external stepper driver and I did not find any extension board with those pins either.

    Dose any one have an idea on how to make this work?


    Reply 5 years ago

    The 4 pins on Sbase is meant to be used to connect the external driver boards only..

    I do not know if your drivers without potentiometers is going to get info on power settings from firmware.

    I think you should write to MKS ans ask them. Use their contact function through aliexpress and not their website.