Introduction: Configuring MKS Sbase V1.x 32-bit Controller Basics and Intro to Smoothieware.

Picture of Configuring MKS Sbase V1.x 32-bit Controller Basics and Intro to Smoothieware.


I'm really pleased to see how this basic intro into Smoothieware and the MKS Sbase 1.x controller have gotten so much attention, and really hope it's going to help people get started or decide not to.

What this is about:

This Instructables is about finding our way around and Configuring the MKS Sbase 1.x 32-bit controller Card basics and intro to Smoothieware. It can be used for Smoothieboards as well in most regards.

I am going to explain and set it up to work as a new controller in my Ultimaker 2 clone with a single extruder.

What this is not going to be:

I am not going to go into the hardware of the board, aside from the need to connect relevant cables.

I am not going to do anything advanced in the firmware/configuration

Table Of Contents:

  1. Connect and install
    1. Connecting USB
    2. Installing firmware
  2. Configuring Smoothieware compared to Marlin
  3. Obvious difference from Marlin
    1. Less obvious differneces
    2. Firmware and Config file(s)
    3. Configuring firmware
  4. Firmware Step 1: Default feed rate
    1. 1/32 Multistepping
    2. Connecting Motors
    3. External Motor Controllers
  5. Firmware Step 2: Cartesian axis speed limits, pins and current
    1. Pins
    2. Current
  6. Firmware Step 3: LCD, SD and Extruder
    1. LCD and SD
    2. Extruder Setup
    3. Delta driver current
  7. Firmware Step 4: Hotend temperature control configuration
    1. Thermistor Type
    2. PID Tuning
    3. Hotend Thermistor - Physical Layout
    4. Hotend Heater Pins - Physical Layout
  8. Firmware Step 5: Heated bed temperature control configuration
    1. Thermistor Type
    2. Temperature Control Bed BANG-BANG
    3. Heated bed thermistor - Physical Layout
    4. Heated bed heater pins - Physical Layout
  9. Firmware Step 6: Configuring Endstops
    1. Homing direction
    2. Disable unused endstops
    3. Define axes size
    4. Reversing endstop output
    5. Fast and slow homing rates
  10. Firmware step 7: Network Settings
  11. Step 8: What's next?
    1. More advanced setup?
    2. Using Switches

Step 1: Connect and Install

Picture of Connect and Install

In order to install the drivers for MKS Sbase v1.x (opens shop on Aliexpress) board on our computer we first need to go and download the necessary drivers from the makerbase makerbase-mks on

Note: You do not want to use MKS firmware as it is redacted. Always use firmware from Smoothieware. If confused about the name "Repository", then just look at it as a folder of files.

Click the file and click the Download in Github and save it somewhere on your computer, then extract it to a folder.

Conencting USB

Plug in USB to the board and look at the LEDs at the upper left corner.
Immediately the D7 led lights up. After a bit D1 also starts lightning while D2 and D3 blinks rapidly.

Open device manager and update drivers for the new Smoothie/Seriel USB device with the signed drivers you just downloaded from Github located in the easy to find folder:

Mine installed fine on Windows 10 x64 pro.

Installing firmware

  1. Firmware from MKS are just and old copy of Smoothieware, so we always just want to use the newest version from Smoothieware.
    1. In other words: always use firmware from Smoothieware.
    2. If you can't find config.txt file from original smoothieware, just use the one from MKS.
  2. Download official firmware from Smoothiewares firmware page which is a subpage on their own Github page (you might want to download their full github repository (folder) in order to find their config.txt file)
    1. Start by using the Stable version. When everything is working fine, you can use the Nightly version instead. It is the newest version, but not fully tested yet, and considered as beta/test.
  3. Insert the SD Card into the MKS Sbase board and plug in the USB Cable. Your SD Card is now going to show in your file-Explorer.
    1. If not, you need to make sure you have the Drivers installed.
  4. If you can't find the config.txt file from Smoothieware, just locate the config.txt in \MKS Sbase\MKS-SBASE-master\MKSSBase-firmware and copy it to your SD Card.
    1. Smoothieware suggest disabling auto-Mount on the SD when connecting to USB. Especially when using a MAC, as MAC OSX tends to do funky stuff at strange times.
    2. I have changed nothing on my win10. And nothing bad has happened the past year.
  5. The D7 lights up, shortly after D1 follows. D2, D3, D4 blinks and then D4 turns steady while D2 and D3 continues blinking.
    1. At this point, the firmware.binchanged had changed to firmware.cur file on the SD card
  6. After successful updated, the file name will turn into firmware.cur.

Changing or Updating firmware

Just delete the firmware.cur file from your SD, or rename to firmware.cur.old or similar, and copy on the new firmware.bin file to your SD. Powercycle your printer (also unplug USB) and you can see your new firmware.cur file on your SD card.

Note:After making any changes to your config.txt file in the future, you need to power-cycle your controller, meaning disconnect both power (if in use) and USB. You can send a reset command, but only through true terminal use and not through Printrun/Pronterface or similar.

You can use the edge firmware which is eseentially a realease candidate, which has more features, but also might contain some errors. This goes beyound this Instructables.

Step 2: Configuring Smoothieware Compared to Marlin

Picture of Configuring Smoothieware Compared to Marlin

I've been using Marlin firmware on Arduino+Ramps for a long while, same as the majority of 3D people, so I'll use Marlin as comparative source for configuring firmware.

Obvious difference from Marlin

Configuring Smoothieware is done in a single config.txt file which is saved directly to the SD card, using notepad instead of a big program like Arduino IDE. The firmware settings are updated by power-cycling the printer or sending a reset command to it. This compared to Marlin with a very large amount of sketches (files) we need to keep track of and modify - see Photo for settings the printer I'm actively upgrading here!

Less obvious differneces

There are some less obvious differences between Marlin and Smoothieware, where the most notable are:

  1. Speeds are rather confusingly listed as a scattering of mm/sec and mm/min in Smoothieware and Marlin, so have to be aware of this. No clear pattern is in place.
  2. The axes in Marlin are listed as XYZ and Extruder while the axes in Smoothieware is listed as Alpha, Beta, Gamma and Delta/E0 and E1

Firmware and Config file(s)

As you might have gathered, the Smoothieware firmware is based on 2 files. A firmware.bin and a config.txt file. There is a base config.txt file and a bunch of preconfigured configuration files present in the repository from MKS, located in a subfolder. The Config file can also be named without the .txt extension.

Note:This is a template and not just something to put in and use.

You can pick the one that most resemble your printer, like Delta or Cartesian. I'm just going with the basic Config.txt file.

Configuring firmware

First make a backup of your config.txt file, then open config.txt using notepad. Disable "Word wrap" as it might confuse you some.

Note: Smoothieware warns against Notepad++.

Also remember to take your microstepping multiplier into account. My setup here is based on 1/32 multistepping to take advantage of the build in DRV8825 drivers. Multistepping jumper is placed in upper right corner. (1)


You can make your own comments by writing # at the start of your line and then your text. This is very usefull to remember what something is about.

I'm adding a line to the start of the file: # Ultimaker 2

Step 3: Firmware Step 1: Default Feed Rate

Picture of Firmware Step 1: Default Feed Rate

I have 300mm/sec in Marlin, which translates to 18000mm/min, so I'll change the preconfigured 4000 to 18000. My Ultimaker is very well tuned, so you might have much lower setting - or higher if using a Delta.
Default_feed is translated to DEFAULT_MAX_FEEDRATE in Marlin.

alpha_steps_per_mm and beta_steps_per_mm needs to be changed to 160 while gamme_steps_per_mm is changed to 800.

acceleration is changed to 300 and z_acceleration to 80

1/32 multistepping

All of the above are 1/32 multistepping. In order to use 1/32 you also need to set the correct jumper on your Controller. It is located almost at the upper right corner with 16|32 next to it. The pins are named J3.

Note:Do not change any jumper with power on. Including connected USB cable

Connecting Motors

There is really not much to it. You need to have some 4 pin XH 2.54 4-pin connectors. You can use dupont as well, but they tend to fall out.

The Controller board is clearly labeled X (Cm2_M2), Y (Cm3_M3), Z (Cm2_M4), E0 (Cm2_M1) and E1 (Cm3_m5).

External Motor Controllers

If you need to hook up some external motor controller, you can do it using the pins just below the big heatsink over the drivers.

The pin-outs are labeled Jc_M2, Jc_M3, Jc_M4, Jc_M1 and Jc_M5 listed in order of above motor conenctors.

Step 4: Firmware Step 2: Cartesian Axis Speed Limits, Pins and Current

Picture of Firmware Step 2: Cartesian Axis Speed Limits, Pins and Current

Defaults are 10000mm/min which translates to 166mm/sec (to keep reference to Marlin users) which is enough for many printers. Note how I write down defaults/current value in notes after the setting. This is a good idea in case (when) you need to make changes.

I have 300mm/sec on my Ultimaker 2 though, so I'll put in 18000 for XY and 4800 for my Z axis.


I'm not changing any pins at the moment, but we have to type in the _max_rate for each axis, which on a cartesian printer i the same as _axis_max_speed. This is not the case for Delta printers.

So for alpha_max_rate and beta_max_rate I enter 18000 and for gamma_max_rate I enter 4800.

Take note of the ! listed after each _dir_pin - this denotes the direction of an axis, which means you can remove or add ! if your axes is going the wrong way.

Go back and modify this later as needed instead of swapping around the cables, which you can't do, if you use the proper connectors in any case.


My XYZ Nema motors are rated at 3.2 voltage and 1.7amp.

If I wanted to feed my motors max current, I'll set the _current to 1.7 amp, but the motors would run rather hot then, so I'll try out using the 1 instead which should be plenty.

I have set my Z-motor to 0.8 amp as it really isn't doing much Work, translating to: gamma_current 0.8

Step 5: Firmware Step 3: LCD, SD and Extruder

Picture of Firmware Step 3: LCD, SD and Extruder

LCD and SD

I'm not going to change anything regarding LCD and SD.

Extruder setup

I am not using the original extruder, so my numbers will be different here!.

I have uncommented two settings here: extruder.hotend.retract_length and extruder.hotend.retract_feedrate but I must admit I do not know wheter this is necessary or not, since we configure this in our slizer in any case.

Delta driver current

One thing of note here is the current for our delta driver, which translates to our Extruder 01 motor.

My Extruder motor is rated at 2.5amp. I want to give it some juice, but not running it too hot, so I'll put it at 1.5amp. I am running a 5.1 geared extruder, so I do not really need to pressure it. 1.5amp is probably too much as well.

Step 6: Firmware Step 4: Hotend Temperature Control Configuration

Picture of Firmware Step 4: Hotend Temperature Control Configuration

I'm not changing the pins or connector we use, but stick to the default.

Thermistor type

I do change the type of thermistor used. I am using E3D hotend, which comes with a Semitec thermistor, so I need to change that.

To find the correct thermistor, we look at:

PID tuning

We do need to configure this, but we cant really do it at this stage since we need everything setup first.

When you are ready to do it, the command is slightly different than with Marlin firmware.

In Smoothiware the command is M303 E0 S60 to test at 60c. I did a test at 60 and then Again at 200 with new values.

Hotend thermistor - physical layout

In order to actually connect our thermistor we take a look at our pins image to figure out where we connect it.

Default connector for hotend thermistor is the one named TH2 on the board.

  1. TH1 is P0.23 - Heated bed
  2. TH2 is P0.24 - Hotend
  3. TH3 is P0.25 - Unassigned
  4. TH4 is P0.26 - Unassigned

I have made a small comment in the config.txt file to remind me that 0.24 is TH2

Hotend heater pins - physical layout 2.7 is the screw-terminals labeled Heater1 on the board

Below chart looks rather unorderly, but is listed as left to right on the controller-board. It is listed on the board itself, which makes it not as bad as it might seem.

  1. Hot-bed is P2.5 - Heated bed
  2. Heater1 is P2.7 - Hotend01
  3. Heater2 is P2.6 - Hotend02
  4. FAN is P2.4 - FAN

Step 7: Firmware Step 5: Heated Bed Temperature Control Configuration

Picture of Firmware Step 5: Heated Bed Temperature Control Configuration

There was no comment to clearly state the start of the heated bed section, so I made a start comment #Heated bed temperature control configuration to match the start of hotend section.

Thermistor Type

You might need to change the Thermistor to the appropriate type for your setup. Nothing else to it really.

To find the correct thermistor, we look at:

Temperature Control Bed BANG-BANG

I am running my heated bed through a SSR (Solid State Relay) which is not very good at handling PID, which uses higher PWM signals. I could do it by turning signals down to 20 (according to smoothiewares site), but I honestly don't know how to do a PID tuning of my Heated-bed?

If I wanted to specify my frequency for the bed, it would be like this:

temperature_control.bed.pwm_frequency            20

I uncomment and change the setting for temperature_control.bed.bang_bang to true and also uncomment the next line temperature_control.bed.hysteresis

Heated bed thermistor - Physical Layout

Here we once Again take a look at our pins image to figure out where we connect the thermistor.

Default connector for heated bed thermistor is the one named TH1 on the board.

  • TH1 is P0.23 - Hot-bed
  • TH2 is P0.24 - Hotend
  • TH3 is P0.25 - Unassigned
  • TH4 is P0.26 - Unassigned

I have made a small comment in the config.txt file to remind me that 0.23 is TH1

To find the correct thermistor, we look at:

Heated bed heater pins - Physical Layout

temperature_control.bed.heater_pin 2.5 is the HOT-BED screw-terminals. This is the large screw-terminal right next to power input.

Below chart looks rather unorderly, but is listed as left to right on the controller-board

  1. Hot-bed is P2.5 - Heated bed
  2. Heater1 is P2.7 - Hotend01
  3. Heater2 is P2.6 - Hotend02
  4. FAN is P2.4 - FAN

Heated bed is default set as bang_bang which is fine for large areas like a heated bed.

Step 8: Firmware Step 6: Configuring Endstops

Picture of Firmware Step 6: Configuring Endstops

This sections looks very confusing at first glance, but it really not bad, when you first figure out how it is ordered.

Smoothieware source:

Homing direction

Lets setup homing direction for our Ultimaker style printer. We know it homes to X min, Y max and Z max. This translates to:

  • alpha_homing_direction home_to_min
  • beta_homing_direction home_to_max
  • gamma_homing_direction home_to_max

Disable unused endstops

We do not use X max, Y min and Z min endstops, so lets disable those, by typing nc, which translates to Not Connected.

  • alpha_max_endstop nc
  • beta_min_endstop nc
  • gamma_min_endstop nc

Define axes size

We need to define the size of our printer. This translates to Software endstops in Marlin.

  • alpha_max 213
  • beta_max 179
  • gamma_max 195.8

Reversing endstop output

Test output by issuing a M119 command to it. This looks different than when using Marlin, so instead of triggered, you get an 1 if the endstop is signalling a hit.

If you get a false positive you need to revert the endstop signal by adding an ! after the pin number.

You can see how I removed the ! from my alpha_min_endstop and how it changed the output when issuing M119 command.

Hint: Just don't focus on 1.24, 1.27 or 1.29 which are the pin numbers, but just look at the !

Fast and slow homing rates

Homing rate transfers directly to move speed mm/sec.

I upped the _fast_homing_rate for X and Y to 100 and Z to 20. The Ultimaker 2 homes to Z max and it really just takes ages for it to home if you keep it at its default.

I actually had double this in Marlin, but want to test it out a bit, before raising it, since I just changed my heated bed to something heavier.

When hitting the endstop the axes retracts a bit, where the distance i defined in _homing_retract_mm, and then moves slowly back. This is defined by _slow_homing_rate some. I upped these well, especially for my Z axes.

Step 9: Firmware Step 7: Network Settings

Picture of Firmware Step 7: Network Settings

If you are going to use the networked option you can go with automatic setup, where you enabled DHCP and your printer is given an IP from your router/DNS server.

If you want to configure your printer with a static address instead, you simply type in the IP address and subnet mask here.

I have changed it to something fitting for my subnet. Yours might be looking different.

I can now connecto to the printer using both a standard internet browser or using Pronterface.

Using an Explorer we get a simplified Pronterface GUI for our use.

I have kept telnet enabled as I want to see what options it gives me.

Note: Do disable any networking service you do not use, aa it will open a security breach where people might take over your machine. Especially disable Telnet if you do not use it.

Step 10: What's Next?

Picture of What's Next?

This is it for now!

I hoped it helped you get started, or helped you decide wheter to make the leap for Smoothie-type boards and Smoothieware or stay away.

I believe I have fullfilled the purpose of this Instructables by getting started using the Sbase 1.2 controller and using Smoothieware.

We should by now have a functional printer, albit some tuning is stillneeded.

More advanced setup?

I allready did setup a Hotend Temperature and -fanswitch (2 switches), which I will cover in an upcoming Instructables.

Using switches

1) Fanswitch :: Be able to turn on/off my fan used to cool my hotend heatsink - I do not want it ON all the time unless it is needed, as it can be rather noisy.

2) A switch that polls the temperature for our hotend and then use the fanswitch to turn on the fan at temperatures at or above 50c and then off again, when temperature gets below 50.


RobertsV2 (author)2018-01-11

Hey Dintid!

Thank you so much for this instructable! You are pretty much the soul good info source. Had my setup configured and now its working without any hickups.

The only thing that I cant figure out is the external SD. I have the GLCD display with a built in card reader- configured the pins as shown in MKS github config file, but it still wouldnt read. In the picture where you identify all the main parts of the board including 4 little switches in the middle of the board. Do you know what positions they should be on?

Any more holp would be greatly appreaciated.



dintid (author)RobertsV22018-01-12

Most likely you just need to configure the same Baud rate on your screen and on your controller?

RobertsV2 (author)dintid2018-01-12

Thanks, will do some digging.

HugoW1975 (author)2018-01-11

Is anyone succesfully printing from the SD card in the SBase? The micro sd also containing the config and firmware files, not an SD card in a TFT screen? My set-up cannot access the files I loaded on there. It obviously does read the card, as the config and firmware files work.



dintid (author)HugoW19752018-01-11

The Micro SD is not meant to store .gcode files on an print, unless you upload files to it through terminal or lan, which are rather flaky on this.

You use SD card reader in TFT or similar or print via USB.

HugoW1975 (author)dintid2018-01-11

Thanks. I was hoping to set it up to work over the LAN port, I thought it was a means to get files from other computers in the network to the machine, to the sd card, because I heard printing from the screen SD card is not very stable. I have had multiple prints quit on me (after several hours), I am looking to fix that.

dintid (author)HugoW19752018-01-12

You _can_ send files over, but it's via a terminal program like Pronterface/Printrun.

RobertsV2 (author)HugoW19752018-01-11

I didnt manage to get my external sd working, so using internal micro sd has been my only way of printing. I upload through usb (takes a while), but otherwise there are no problems for me printing from micro sd.

LarryJ53 (author)2018-01-11

Hi Dintid,

I am new to 3D Printing. I really appreciate your instructable as it provided me an understanding on how I can use this control board on my TronXY P802EA.

There are a few things I would like to ask. My Melzi board has two mosfets for the fans (parts cooling and hotend).

1. How do I connect those fans on the MKS SBase? Can I connect them both on the same mosfet?

2. If I add another fan (system fan), do you have any advise on how to connect and configure that on the config file?

3. How do you wire and configure a dual Z motor?

Thanks in advance.

dintid (author)LarryJ532018-01-11

Heya Larry

1) Yes, if they have same voltage.
2) You copy the setup for the fan you use but just specify the new pin. If you only have one extruder as most people, the extruder 2 pin is free P2.6

Hope it helps :)

jamesr444 (author)2017-12-03


I am in the process of upgrading my CR10 standard printer with a touch screen and

MKS BASE 1.3 new smoothieware board never been used and not fitted in printer yet

I have tried flashing firmware with a new 2GB sd card and the file extension of firmware.bin stays the same and does not change to firmware.cur

I am using an apple mac pro with virtual windows xp

I can see the files and access them from windows explorer just does not appear to update

Can any one help

RobertsV2 (author)jamesr4442018-01-09

make sure you have formated the sd card with FAT32

jean-marcb3 (author)2017-12-14


really awesome tuto; so i plan to upgrade my ultimaker 2 to a smoothieboard but i can't see if there is a function "build plate levelling" as on my actual ultimaker2; it is an important feature (i don't plan to use a probe, just manual setup with the 3 screw of the ultimaker plate) i suppose there is a function as this but i must be sure before purchase the board.thanks

Tain1 (author)2017-10-14

how can I use mosfet in pin 1.23 and pin 1.24, there r no output for 12/24V except 4 outputs (from 2.4->2.7) with this board?

DavidH641 (author)2017-06-29

please do a instructable on hooking up a NPN or PNP senor to the mks sbase 1.xx for bed leveling thanks

DavidH641 (author)DavidH6412017-07-03

thanks for your help and advice

dintid (author)DavidH6412017-06-30

I do not use sensors.
I'll recommend you make your printer more rigid to remove the need for sensors.


TIGERblank (author)2017-06-20


I found your instructable
very successful and I think it has encouraged many to opt for
smoothieboard when it comes to making your printer, among them I too.
have encountered a problem that I do not know if someone has been asked
because I use the corexy machine model, checking the configuration
indicated on the smoothieboard website for the machine to work
kinematically as such, it must be indicated in the file Config the following "Arm_solution corexy". When
connecting to the software to send the corresponding command when
moving the X axis only the X axis moves, and when moving the Y axis only
moves the Y, being a corexy system should both engines move when I try
to move in one of these Axes.
Does anyone know why this is not working properly?


dintid (author)TIGERblank2017-06-21

Might find this thread usefull as well:

dintid (author)TIGERblank2017-06-21

Thank you.
Have you looked at the page on Smoothieware for this? They call it H-bot for some reason:

AndiH19 (author)2017-06-20

hey :)
I have an mks sbase and i have some problems..
I use pronterface with tcp connection so if i want to print something it heats extruder 1 to the set temp and then also extruder 2! before it starts printing.. im very confused why it does that because in slic3r and cura i have set that my printer has only 1 extruder..Anyone some idea what could be wrong there?

Second Problem: Once my second Extruder is connected.. it heats up till it gets some Temp Runaway Error Delta=49°.. I measured the Resistance after that and it was like only 5kOhms so i guess the second extruder did overheat somehow =/ Any ideas on that problem? It seems to me that somehow Extruder 2 PWM is set to 255 when its plugged there some way to change that in the config?

dintid (author)AndiH192017-06-21

For the heater problem you propably need to define your heater 2 with the correct pins - meaning other pins than you use for heater 1.

After you have defined the pins correctly, you should do the mandatory PID tuning of the heater :)

JoshuaJ56 (author)2017-06-11

is there a way to clone two steppers on this? can you config e0 to match x,y, or z?

dintid (author)JoshuaJ562017-06-12

I'm actually not sure, but I have been asked this before.

I personally used an external driver board and driver connected to the pins on the driver I wanted to "clone".

This way they are given the exact same instructions.

java402000 (author)2017-03-26

Hello everyone

I have a Tronxy 3x and the melzi board stopped working. I got the mks 1.5 with the tft 32. Evey thing is working but cant print stand alone. Prints fine using pc. I can find the g code on the tft 32 It goes to the print screen then it counts down time and sits there doing nothing. All other controls works fine preheat, auto leveling and all movements, just will not print stand alone. Anyone have an ideal what might be wrong .


dintid (author)java4020002017-03-26

Have you tried with different Gcode files? Made sure the baudrate is the same on display and in firmware? (It must be since you can move it, but just to be sure).
Try updating firmware on both.

The MKS Base 1.5 is not smoothieware but normal 8bit marlin

Newest 32bit Smoothiewaere is MKS Sbase 1,3

Notice how smoothieware is Sbase, and the other is Base


java402000 (author)dintid2017-03-28

Thanks Morten
I visited Aliexpress, The 1.4 board must be different then the mks 1.5.
Aliexpress tell me to use marlin, but if you think it will work I'll give it a try. I want to get the computer out of the loop.

dintid (author)java4020002017-06-01

MKS 1.5 is NOT 32bit, unless it is a counterfit model with wrong numbering. 1.5 is arduino, so marlin is the right one.

amorris00 (author)2017-04-12

I cant believe I have only just seen this guide! Great read and some very useful info that I missed when setting my own up so thank you. I am wondering if you have had any luck with using an IR height sensor? Such as the one from Escher 3D? And if so, what pins have you connected everything to? Kind regards.

dintid (author)amorris002017-06-01

Hello Amorris00. I do not use height sensors. I can recommend using very strong springs for the bed and 3 fingerscrews for easy adjustment. Look at how the Ultimaker 2 is doing this. :)

RBeaubien (author)2017-05-31

I'm trying to use the fan output to run my parts cooling fan, but the output of that port seems to be a pwm signal, not a pwm regulated 12v to power the fan. Are there any specific config settings I need to make to have this work? I have the SBase v1.3. Thanx.

dintid (author)RBeaubien2017-06-01

I must admit I do not entirely follow what you said and what is the result?

CharleW (author)2017-03-15

Going through the tutorial so far and it has great knowledge. I am having difficult trying to turn on the LCD 12864 panel. I am not sure why it ain't turning on. It is hooked up correctly. Also How do I set that up on the config file?

dintid (author)CharleW2017-03-16

Hello CharleW
Thank you for your feedback. In order to use the LCD12864 you need to scroll down in the configuration.h file and uncomment the:

It is not:

You can get more info on your LCD here:

Hope it helps

CharleW (author)dintid2017-03-16

For the MKS Sbase smoothieboard? I thought Marlin code is different from Smoothieware?

dintid (author)CharleW2017-03-17

Doh, sorry. Don't know where I had my head.

I don't know about the LCD12864, but I know they have written a small guide on their webshop on Aliexpress.

Brucew85 (author)2017-03-13

I have the sbase 1.3 and the 3.2 tft and they are all configured. The display seems to function when I press buttons. If I try to use the tft to heat the bed or move the motors, nothing happens. If I plug into the computer and use pronterface, the motors move and the bed heats. Why would the tft not be able to control? Please assist. Thanks!

dintid (author)Brucew852017-03-14

It's most likely because the baudrate on tft is not the same as on the controller.
They need to be the same :)

DannyD77 (author)2016-12-26

is the hotend 24 volts or 12

dintid (author)DannyD772016-12-27

I'm using 24v, but if you use a 12v psu the hotend is 12v.

If you want to use a 24v psu but 12v hotend for some reason, you can use some external mosfet board to accomplish this.

mshievitz (author)dintid2017-03-07

when using the 12v rated gear on a 24v supply, set max pwm to 64 on the configuration section for the 12v piece of gear. This allows you to upgrade to smoothie and 24v for motors, but allow you to retain 12v rated heated beds or extruder cartridge heaters until such time as you want/need the 24v performance offered by upgrading that piece of gear.

Here is an example:

temperature_control.hotend2.max_pwm 64 # Max pwm, 64 is a good value if driving a 12v resistor with 24v.

dintid (author)mshievitz2017-03-07

Heya mshievitz. It's stable now? Asking as I played a bit with it (not overly much), but had some issues with the fans I use to cool the printed objects.
Can't rule out wheter it was just the fans though :)

Nice input :)

HIM Design (author)2017-02-24

First of, thank you for this great tutorial! I was wondering would this also count for a MKS Gen 1.4 board?

dintid (author)HIM Design2017-02-24

Hello HIM,
I do not own an MKS Gen 1,4 board.
You are welcome to contact MKS and ask for it, as they might want me to make an instructables, if enough people are asking for it.

The Gen 1,4 is working as Ramps 1.4 but with a bit different layout.

cmoegele (author)2017-02-19

Thx for this very good an detaild instruction!
Yesterday I tried to get my MKS-Sbasev1.3 working with a diy corexy. Tried different versions of the new smoothieware. After install and reboot everything is working as expected until I try the homing function. The axis moves to endstop (3wire with VGS) and when it first hits it does not do correct second homing and evertime i try to move axis manually there is some squeezy noise from the steppers until I reset the electronics. After hours of searching in config and web. I finally tried the firmware provided on the github and with this homing works as expected, but I compare the binaries, and there is a big difference in size against the actual edge.( even the source packages are pretty old)... Any idea of this missbehaviour?

dintid (author)cmoegele2017-02-21

I have no experience using smoothieware on corexy, but I guess it should work fine.
I do not know if second homing works differently on CoreXY. Is it important for you it moves out and back in?

Firmware from is just a really old version of the original firmware, so I'll not recommend using that.

I'll recommend you go back to new firmware and check your endstops are working.

Reason for the "noise from steppers untill reset" is because they are powered on. You can issue the Gcode M18 to turn motors off. This will remove the noise and make steppers easy to move.
You should not move the steppers/axes manually with motors engaged. Worst case you can ruin the drivers on the controller board.

AndréF96 (author)2017-02-20

Where can I buy in Europe?

dintid (author)AndréF962017-02-21

It's much cheaper to buy directly from the manufacturer. Even though you have to pay import taxes and vat etc.

But we have a few sellers in Denmark. I don't know about their shipping policy or pricing though.


kzinty (author)2017-02-08

I have followed you wonderful instruction and have a view questions. Why not mention that we need to run the win_install.cmd to get the firmware into the board.

I can't get the TFT32 to even light up (connected as per No other connection made at the moment. I do get communication with Pronterface.

. Do I need 5v on the Sbase or do I need to wire in the 12 vdc to power the TFT32. Copying the tft config as they say does nothing from the micro SD on the smoothie board. There must be something that triggers it to open the tft config but did I erase that ability by putting the official smoothieware on the board?

kzinty (author)kzinty2017-02-08

It does need 12 volts. I connected 12 volts and the display works great.

About This Instructable




Bio: I'm blogging about my projects before they make it to Once I've finished a subject on my blog, I'll put ... More »
More by dintid:Duet WiFi – Activate and Connect the WiFi… When It Doesn’t Work!Ultimaker 2 – Use 5v controlled fan to also get a 24v controlled fan.Duex5 - Use Build in 12v Switching Regulator on 24v System
Add instructable to: