Last week I bought myself a MPCNC, but without the controller.
I made a thread on cnczone website, asking about what controller to get.
I ended up ordering the Makerbase MKS Sbase and a Mean Well 24VDC 350W powersupply.
The MKS has an input for X, Y and Z + 2 extenders which I would like to use as slaves so all the 5 stepper motors get it’s own driver.
The MPCNC also has 4 end stops installed, 2 on the X-axis and 2 on the Y-axis.
The board has an option to install Marlin and Smoothieware software and Also GRBL, which is ported I think.
Which software would you guys advice, taking in mind it supports slaves and 2 endstops per axis. I read on cnczone GRBL doesn’t support slaves, so that’s not an option I think…
Marlin. There are options for dual motor drivers and dual endstops in configuration_adv.h. The V1CNC_Rambo_Dual branch is a good start, you just need to change to board to the mks.
I have no clue how to configure it, is there a manual/guide/tutorial? And does it also explain how to set the second stepper motor to slave end how to configure the endstops?
This version should have the dual steppers and endstops configured for an mpcnc. You need to change it to work for the mks sbase board. X2 is E0. Y2 is E1.
If you’re using tmc drivers, there are a bunch of settings for those too.
do I need a mico SD card or not with the MKS board? I think yes.
I installed the program ‘Atom’ and I’m looking at Marlin>src>Configuration.h, at line 131 (#define MOTHERBOARD) I just need to change it to ‘BOARD_MKS_SBASE’?
In order to change the board does it need a ‘pins_MKS_SBASE.h’ file in the ‘pins’ folder?
I just recieved my MKS Sbase board!
I followed a tutorial to setup Marlin 2.0, but I can’t find the ‘firmware.bin’ anyhere.
I installed Atom, but I think PlatformIO is not working (not sure).
I see a drop down menu PlatformIO, but I don’t have the toolbar on the left.
When I choose ‘upload’ from the PlatformIO drop down menu, it doesn’t do anything.
It also didn’t ask me to install ‘Clang’ like in the tutorial.
Don’t mess with gcode until you have all the axis driving the right direction. There’s no reason to think playing a gcode file will fix things when a manual move is broken.
Are you sure you successfully flashed it? Send an M119 and see that there are X2 and Y2 in the report.
You might want to unset the digipot current, and change the driver type, but those changes would be subtle. Be sure to adjust the driver current with the little trim pot.
You can, I think it is in the advanced and it is something about “INVERT_Z_AXIS” or something.
Yes I know Jeffe, I really appreciate it!
I will try some things tomorrow and get back to you.
One other thing I can mention.
I copied the firmware.bin file, but then it didn’t change the extention to .CUR (firmware.cur)
Maybe it’s not flashed properly?
Jeffe, I think I know what’s the problem.
firmware.bin should turn into firmware.cur after flashing, but it doesn’t.
What I tried is taking out the micro SD card and put it in my laptop. Format it and insert it into the board again. Copy the firmware.bin from the folder to the SD drive. But it stays firmware.bin
Oke, I did another test. I removed the firmware.bin from the SD card and put nothing on it. I can still control the X - Y - Z axis. So I’m almost sure it’s not flashing.
I read some things about ‘Bootloader’ what does this mean?
Some info about my SD card: it’s micro SD from Kingston 64GB.
I formatted it as eFAT and as NTSF and I also read it should be a primary partion
The software that runs on the chip first is the bootloader. It does some different things, but basically it sets up the microcontroller to run your program (which is Marlin). Every time you turn on the board, the bootloader runs. One of its jobs is to look at the micro sd card and see if there is a new program to load. If there is, then it will copy that firmware.bin into the microcontroller and delete the old program. It never overwrites itself, so it is a good safety measure. You can put complete junk in the firmware.bin and still be able to flash it, because the bootloader is fine.
I don’t have the mks base board, but in an skr, I do what you’re describing. I put a firmware.bin on the card, put the card in, power up the board, and it takes a few seconds to flash and it renames the bin to cur. It runs the new program right away. If I power down and take out the card, I can see the filename has changed. After it flashes itself, it doesn’t need the sdcard anymore. The program is stored in the microcontroller, unlike a raspberry pi, where it is ran from the sd card.
The only part about that sd card that seems wrong is the size. You might try formatting it a lot smaller, like 1GB. Or finding a smaller 8GB or less card.
One trick I’ve used to make sure I am flashing a new version is to change the steps/mm in the firmware. If I set it to 401 instead of 400. Then when it is running I can restore the steps from the firmware and see the current values with this:
I think it worked!
I made a partition of 1GB first as NTSF but that didn’t work. Now I tried FAT32 and it works.
Now when I put the SD card back in my laptop, the firmware.bin file changed to firmare.cur
Also the LED’s on the board where differtent this time.
I didn’t know that after the flash you can take out the SD card, thanks for the tip.
I’m going to test it out in a few min. but I thought I would first right you this reply and thank you.