SLB Setup on Custom-built, Non-Sienci, ZYYX CNC Machines

I am switching the controller of my custom built ZYYX (based on Nikodem Bartnik’s IndyMill). I was using an Arduino-base GRBL controller. I am currently upgrading cabling and reconfiguring my control console to accommodate a SLB controller. Changing to the SLB and GRBLHAL has a bit of a learning curve, as I am changing from CNCJS to GSender, as well.

As I look over the setup for the SLB, I see a couple of issues that I know I will have to address, and probably seek advice from Sienci Labs and the SLB community. I am sure there are others of you with non- Scienci Lab CNC machines who may also face questions and situations that differ from people who are upgrade a Longmill.

So, I am starting this topic with the hope of sharing what I find as I work through the set up process, and I hope to gain insight from those who may have addressed some of the issues already.

Two things I know I will be addressing when I set up the SLB on my machine:

  1. The default for SLB 2Y axis is “mirrored”. I think my Ys turn in the same direction.
  2. I have been using 2 switch NC per axis – limit switches.

I am sure there will be several other issues as I make the conversion.

Thanks for any feedback.

  1. Firmware version:
  2. Sender: (gSender, ioSender, etc.)
  3. Relevant tested files: (upload files here using the upload button)
  4. Any pictures or videos attached showing the issue:
  5. Upload of the ‘Diagnostics’ PDF file:

Steps to reproduce:

  1. Run the file
  2. Pause
  3. Jog… etc.

Sounds great to me David :+1: great idea

Sounds like you’re going to have quite a powerful IndyMill. Regarding your changes I don’t know if describing the two Ys as ‘mirrored’ is quite the right way of talking about it now that I can see your confusion. I think your setup will be fine - and perhaps I might try to think of another way to talk about it in the documentation. Probably a better way is to say it’s ‘duplicated’.

Regarding two NC hooked up, there’s a previous thread about that and I’ve got it noted down to add it to the docs too when I get the chance. I also have been trying my best to find time to make all docs open source so that people can more easily recommend changes and I can more quickly implement them, so hopefully that’s done by the end of the summer

Look forward to hearing more as you work through it!

1 Like

I think that’s a cool idea and maybe it’ll lead to me submitting my first pull request! I received my first pull request earlier this year. I was like OMG what do I do? :laughing:

1 Like

Thanks Chris for clarifying the YY set up. I, of course, will test with the linkage loosened before I jog the gantry for real – just to be absolutely sure. It sounds like it is a simple semantic issue, as you point out.

And I know you, of course, you need to focus on your Longmill clients, so I for one appreciate the care, consideration and tolerance for those us who are adapting the SLB to other machines.

1 Like

As I look over adapting my current ZYYX CNC to a SLB controller, I will want to connect my LED lighting to enable software control, if possible. I have both a spindle ring, and a strip under the length of my gantry (single color, generic brand, not Sienci’s). My exiting lights at 12v. I control these with a manual switch currently.

I like that the SLB allows for lighting with different voltages. Will I have any issues connecting my current two-lead LED lights to the Rail and Ring connection on the SLB? Can I just use the V+ and Ground connectors and ignore the CTL lead?

Hey @stoddad, I’d recommend actually using the the “Switch” Aux outputs for your outlined application instead of the Ring and Rail, this is because as you mentioned you already have power supplies to these, and they’re single colour. The Ring and Rail hookups only make sense when you have 5V RGB LEDs, otherwise you’ll be able to do the same amount of control and handle the 12V setup on the “Switch” outputs

Let me know if that all makes sense to you or you have any other questions :+1:

Thank you Chris. I use the SWT 1 Aux output – it works!

I’m using the Longmill MK2 30x30 defaults.

My machine is 480x, 1080y, and 220z (mm). I got that change made fine in the firmware. It would be cool to be able to create a custom profile from the drop down list.

I had to invert some settings for xyz direction, but otherwise, things seem to be moving as expected. I have 1605 lead screws on each, and though I have not measured precisely yet, they seem to be traveling the expected distance when jogging.

I’ve activated NC dual hard end limits, no problem. Each switch is activating and working when jogged manually to trigger.

Homing causes an immediate alarm 8 with the Z access moving about a mm when it happens. I have increased the pulloff, but the end stop is nowhere close to being triggered position-wise.

Any advice to troubleshoot that would be good.

You might need to invert the limit switches in the firmware? Typically if you get an immediate Alarm 8 it means your machine already thinks it’s contacting the limit switch at startup. If you have video to share that might also indicate something else I’m not thinking of right now

I’ll take a look at the firmware setting. They work as expected (two mechanical NC switches per axis) when I jog to trigger each, or trigger each manually. They trigger a stop and I have to “Unlock” to continue. So, I am not sure inverting will help.

Will invert them in firmware set them to NO?

Since my spindle is not on, I doubt it is an EMI problem, either.

I will shoot and post video if I cannot resolve this.


Huh, that’s odd then if they manually lock up properly with hard limits on both sides of all axes

They were indeed inverted.

It is odd that the machine would not immediately have an alarm, or move by jogging without setting an alarm since they are wired for NC, and not NO.

Anyway, homing is working! On to loading some g-code!

Thanks Chris.

My LEDs are working on SWT 1, but I realized when I shut it down a while ago, the switch is not activated – since the lights stay on.

Is there a simple version of how to activate SWT 1in firmware? I am not used to using M commands.

I know it is a rabbit hole I need to visit, but “sigh.”

Outline in the docs: SLB Manual - SuperLongBoard CNC

You can input these ‘commands’ into the ‘Console’ tab in the bottom right of gSender

1 Like

Most of my set up has gone smoothly. My current focus is getting to know, and hopefully testing my machine using gSender.

The issue that I cannot seem to find – (although several have had the same issue and those threads had not replies to the issue) I cannot set Zero for any axis. Homing will set Machine zero for each, but I cannot get the buttons to work to set work zero(s). I have even disabled homing and hard limits – I am not using soft limits. Current setting:
$21=0 (Hard limits enable, mask)
$22=0 (Homing cycle enable, mask).

The console shows zero command it entered, but the interface does not change from where the machine thinks it is.

Any idea what I am missing?


Zero All shows:
G10 L20 P1 X0 Y0 Z0

in the console, but nothing changes in the interface – to clarify.

I am new to gSender.

You might want to check what you’ve set for $10

1 Like

I will. That is likely it. Thanks again.

1 Like

Zeroing Work
Enabling the “Work Coordinate Offset” ($10) did indeed solve the issue of not being able to zero the axes. Chris pointed me to the documentation, and it is stated clearly in the SLB Troubleshooting section he has linked above.

Next issue:

XYZ Travel
I proceeded to check the measure XY and Z travel. This is where setting up a machine with a Sienci Labs profile might differ from a custom XYYZ CNC machine.

With my previous set up, I had an Arduino controller, and used individual stepper Drivers, and I had these set to 3200 micro steps.

All three of axis use 1605 ball screw – 5mm per rotation. 3200/5 = 640.
(x) $100 = 640
(Y) $101 = 640
(Z) $640 = 640

Not knowing the micro-step settings of the SLB on board drivers – I used the default setting on the SLB to get set up:
$100 = 200
$101= 200
$102 = 200
After jogging each axis, I see they move 2 to 2.5 times farther than the jog settings indicate. On closer research I see that Longmill ball screws have a 2mm pitch, mine are 5mm.

The info needed to calculate may be in the documentation, but I not sure I find all the relevant info needed to calculate the proper values for my machine. I am also not sure I understand everything that might be needed to calculate the proper settings for $100-$102.

I can possibly arrive at the value by trial and error, but I am open asking for help here too!

1 Like

Hey @stoddad ! You’re right that this aspect might be harder for other machines, and regarding your response I’m not sure if you’d have been set up on 3200 microsteps since most drivers I’ve heard of can only go to 64 microstepping. Regardless, what you can try in this situation is instead of trying to do all the math, use gSender’s ‘Movement Tuning’ tool that we’ve built just for these sorts of applications!

Once you go through the process, it should only take one or two iterations total to get the exact movement you need for the currently set microstepping for your machine. Let me know how it goes :+1: :+1: