SBase, Smoothieware

I’m running my machine with a smoothieboard. I have one of the real ones, not the clones. I don’t know anything about the clones. I use all 5 drivers (one per motor) and the current is set for each driver in the config. The jumpers to make the 2 slave motors work are soldered in, and the slave motors have their connection to the driver reversed which makes them move in the exact same way, but in opposite direction from the master motor. This board drove my 1st 3d printer and was just sitting around unused which is why I chose to use it.

I can put a copy of my config, but really it’s straightforward to use the template one and modify it with the instructions on the smoothie site. I’m running the CNC specific version of the latest firmware.

I see in one picture that you are using the endstops.
Can you post your config?

When i try the enstops it seems that they dont stop

Only connected the X-Min (command: M119)
23:27:42.953 : X_min:0 Y_min:1 Z_min:1 pins- (X)P1.24:0 (Y)P1.26:1 (Z)P1.29:1
when pressed
23:28:26.844 : X_min:1 Y_min:1 Z_min:1 pins- (X)P1.24:1 (Y)P1.26:1 (Z)P1.29:1

So they are connected the right way but when homing they don’t stop.

Any suggestions?

SquidPlan, I just got one of the Smoothieboards in and would love to see your config if possible. I would like to see if anything has changed vs the first posts config. I just loaded the CNC firmware as well, I am getting ready to do the mpcnc build this weekend long as the rest of my parts come in. So right now I’m just trying to get the board setup started. Thanks

 

I modified the Marlin 2.0 firmware and have the dual X & Y, and dual endstops working on the MKS_SBASE v1.3 Smoothieboard. Zip file attached at the post listed below.

Hello, Ryan.
The MKS Sbase V1 board that you use drives up to 5 motors. Your engines are 1.5 amps; this is said in the file that you share:

alpha_current 1.5 # X stepper motor current
beta_current 1.5 # Y stepper motor current
gamma_current 1.5 # Z stepper motor current

In the documentation of Smoothieboard it is said that each controller, if it handles more than one motor, can not exceed 2 amperes of current. Which is your case. You should, then, use the extruder controllers. But in the configuration you share, it does not seem like you’ve done it. If you had done it, two commands would appear, so:

delta_current 1.5 #for one of the axes, the X, for example
epsilon_current 1.5 #for the other axis

How have you connected the motors?
Thank you.

Wire them in series, if you want to wire them individually that is something I never attempted in my extremely limited experience with that board.

I know it’s an old thread, but I’m looking for some help.
I bought a MPCNC from someone without the controller.
I just ordered the MKS Sbase board and I would some advice on what software to use/learn.
I would like to connect 5 stepper motors to it’s own driver, so I need to use E0 and E1.
I also have dual endstops on X and Y-axis.

So is it best to learn/use Marlin or Smoothieware?

Marlin. You can set EXTRUDERS=0 and then enable dual X and dual Y.

Or better yet, start with the V1CNC_Rambo_Dual branch and just change the board.

2 Likes

Thanks jeffe, if I just need to change the name of the board… I guess that will be the best option!

Hey there, I build a MPCNC a few years ago but got busy with an other big project just after finishing. I started with a Ramps1.4 but bought a MKS Base 1.3 just before stopping using the MPCNC. I wanted to get into it again and put the MKS Base 1.3 in it. My Setup is Daul X & Y and Dual Endstops.

Can you please give me details on what you mean with “just change the board”? In what config do I have to change it and to what parameter?

Thank you!

The parameter in configuration.h for the board.

1 Like

Thank you, just had Tomatos on my eyes. Did not see the hint on the boards.h file…

We’ve convinced my 3yo that thin mint girl scout cookies are called “tomatoes” and it is paying dividends in the weirdest conversations. :slight_smile:

:joy: No tomatoes for the little one!

I just recognized I used a proverb from Germany in English what probably is no proverb in English :crazy_face:

So people here say “I had tomatoes on my eyes” if they don’t see something what is actually not easy not to see. :see_no_evil:

2 Likes

At the risk of getting even more off track. Here are some I can think of that I grew up hearing:

  • If it was a snake, it would have bit me.
  • It was right in front of my nose the whole time.
  • It is always in the last place you look.
2 Likes

I had to look that one up when I saw it. I figured it was a non-US saying that doesn’t quite translate.

So I tried to compile Marlin from the V1CNC_Ramps_Dual-2.0.7.2-src.zip with BOARD parameter changed to “MKS_SBASE” but get errors.

Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/nxplpc-arduino-lpc176x/nxp_lpc1768.html
PLATFORM: NXP Arduino LPC176x (0.1.3) > NXP LPC1768
HARDWARE: LPC1768 100MHz, 31.97KB RAM, 464KB Flash
DEBUG: Current (cmsis-dap) On-board (cmsis-dap) External (blackmagic, jlink)
PACKAGES:
 - framework-arduino-lpc176x 0.2.6
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ strict
Library Manager: Installing U8glib-HAL @ ~0.4.1
Library Manager: Warning! More than one package has been found by U8glib-HAL @ ~0.4.1 requirements:
 - marlinfirmware/U8glib-HAL @ 0.4.3
 - thinkyhead/U8glib-HAL @ 0.4.3
Library Manager: Please specify detailed REQUIREMENTS using package owner and version (showed above) to avoid name conflicts
Library Manager: U8glib-HAL @ 0.4.3 has been installed!
Found 2 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Servo> 1.0.0
|-- <U8glib-HAL> 0.4.3
Building in release mode

warning: Calling missing SConscript without error is deprecated.
Transition by adding must_exist=0 to SConscript calls.
Missing SConscript 'Marlin\src\HAL\LPC1768\upload_extra_script.py'
File "C:\Users\Sami\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 186, in <module>
Compiling .pio\build\LPC1768\src\src\HAL\shared\HAL_spi_L6470.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\backtrace.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm_arm.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm_thumb.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarmbytab.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarmmem.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwinder.cpp.o
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\HAL_spi_L6470.cpp:28:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_api.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_if_i2c.cpp.o
In file included from Marlin\src\HAL\shared\backtrace\../../../core/../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\backtrace\../../../core/serial.h:24,
                 from Marlin\src\HAL\shared\backtrace\backtrace.cpp:28:
Marlin\src\HAL\shared\backtrace\../../../core/../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory 
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_if_spi.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\esp_wifi.cpp.o
In file included from Marlin\src\HAL\shared\backtrace\../../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\backtrace\unwmemaccess.cpp:18:
Marlin\src\HAL\shared\backtrace\../../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\HAL\shared\servo.cpp.o
In file included from Marlin\src\HAL\shared\eeprom_api.cpp:23:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\eeprom_if_i2c.cpp:28:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\eeprom_if_spi.cpp:28:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\esp_wifi.cpp:23:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:28,
                 from Marlin\src\HAL\shared\servo.cpp:53:
Marlin\src\HAL\shared\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\MarlinCore.cpp.o
Compiling .pio\build\LPC1768\src\src\core\serial.cpp.o
Compiling .pio\build\LPC1768\src\src\core\utility.cpp.o
Compiling .pio\build\LPC1768\src\src\feature\bedlevel\bedlevel.cpp.o
Compiling .pio\build\LPC1768\src\src\gcode\calibrate\G28.cpp.o
Compiling .pio\build\LPC1768\src\src\gcode\calibrate\M666.cpp.o
In file included from Marlin\src\inc/MarlinConfig.h:28,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\config\M200-M205.cpp.o
In file included from Marlin\src\core\../inc/MarlinConfig.h:28,
                 from Marlin\src\core\serial.h:24,
                 from Marlin\src\core\serial.cpp:23:
Marlin\src\core\../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\config\M220.cpp.o
In file included from Marlin\src\core\utility.h:24,
                 from Marlin\src\core\utility.cpp:23:
Marlin\src\core\../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\config\M92.cpp.o
In file included from Marlin\src\feature\bedlevel\../../inc/MarlinConfig.h:28,
                 from Marlin\src\feature\bedlevel\bedlevel.cpp:23:
Marlin\src\feature\bedlevel\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
Compiling .pio\build\LPC1768\src\src\gcode\control\M108_M112_M410.cpp.o
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\control\M111.cpp.o
In file included from Marlin\src\gcode\calibrate\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\calibrate\G28.cpp:23:
Marlin\src\gcode\calibrate\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\control\M120_M121.cpp.o
In file included from Marlin\src\gcode\calibrate\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\calibrate\M666.cpp:23:
Marlin\src\gcode\calibrate\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
Compiling .pio\build\LPC1768\src\src\gcode\control\M17_M18_M84.cpp.o
Compiling .pio\build\LPC1768\src\src\gcode\control\M211.cpp.o
*** [.pio\build\LPC1768\src\src\HAL\shared\HAL_spi_L6470.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\backtrace\backtrace.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\eeprom_api.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\eeprom_if_spi.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\eeprom_if_i2c.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\HAL\shared\esp_wifi.cpp.o] Error 1
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\config\../gcode.h:295,
                 from Marlin\src\gcode\config\M200-M205.cpp:23:
Marlin\src\gcode\config\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
*** [.pio\build\LPC1768\src\src\HAL\shared\servo.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\MarlinCore.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\core\serial.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\core\utility.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\feature\bedlevel\bedlevel.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\calibrate\G28.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\calibrate\M666.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\config\M200-M205.cpp.o] Error 1
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\config\../gcode.h:295,
                 from Marlin\src\gcode\config\M220.cpp:23:
Marlin\src\gcode\config\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
*** [.pio\build\LPC1768\src\src\gcode\config\M220.cpp.o] Error 1
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\config\../gcode.h:295,
                 from Marlin\src\gcode\config\M92.cpp:23:
Marlin\src\gcode\config\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\gcode\control\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\control\M108_M112_M410.cpp:23:
Marlin\src\gcode\control\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\gcode\control\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\control\../gcode.h:295,
                 from Marlin\src\gcode\control\M111.cpp:23:
Marlin\src\gcode\control\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
*** [.pio\build\LPC1768\src\src\gcode\config\M92.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\control\M111.cpp.o] Error 1
In file included from Marlin\src\gcode\control\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\control\../gcode.h:295,
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
In file included from Marlin\src\gcode\control\../../inc/MarlinConfig.h:28,
                 from Marlin\src\gcode\control\../gcode.h:295,
                 from Marlin\src\gcode\control\M17_M18_M84.cpp:23:
Marlin\src\gcode\control\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
*** [.pio\build\LPC1768\src\src\gcode\control\M108_M112_M410.cpp.o] Error 1
In file included from Marlin\src\gcode\control\M211.cpp:23:
Marlin\src\gcode\control\../../inc/MarlinConfigPre.h:52:51: fatal error: ../HAL/LPC1768/inc/Conditionals_LCD.h: No such file or directory
   52 |   #include HAL_PATH(../HAL, inc/Conditionals_LCD.h)
      |                                                   ^
compilation terminated.
*** [.pio\build\LPC1768\src\src\gcode\control\M120_M121.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\control\M17_M18_M84.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\gcode\control\M211.cpp.o] Error 1
================================================================ [FAILED] Took 6.21 seconds ================================================================
Environment    Status    Duration
-------------  --------  ------------
LPC1768        FAILED    00:00:06.212
========================================================== 1 failed, 0 succeeded in 00:00:06.212 ==========================================================

All errors are about missing Conditionals_LCD.h file.

Any ideas what could be wrong? I tried to compile the original Marlin repo with MKS_SBASE board and that worked without issues.

Shoot. I delete hal folders I don’t need to try to get it to build in windows. So I delete HAL/LPC1768, because I don’t need that for to build for ramps.

That might be the same hal as the skr. You can try starting with that instead.

Or else, get the vanilla 2.0.7.2 from Marlin and just copy in the configuration and configuration_adv files.

That did the trick! I tried it the different way around. I put the HAL-folder from the vanilla into the MPCNC Marlinf folder. That made the Conditionals_LCD errors vanish but gave me new errors.

So the configuration.h and configuration_adv.h is all I need?

1 Like

The _Bootscreen.h and there is a change to a version.h file, IIRC.