Glitches? Update Recommendations...?

I have some recommendations and glitch reporting for Carbide Motion, using Build 513 on a Mac:

First, sometimes when starting up and pressing “Connect to Cutter”, my 2.2kw spindle and vacuum turn on for a second or so. I use an IOT relay for the vacuum and my HY VFD for the spindle. Both are receiving input from the Shapeoko control board via the PWM/GND pins typically used for this application. I understand that these are not supported peripherals, but it is definitely a common use and the momentary “run” signal when connecting to the cutter could be a safety issue if someone or something was too close to the spindle as it turned on in that strange situation. I’m not sure if the voltage of this signal is inconsistent, because it doesn’t happen every time, but it definitely happens.

Secondly, I find it very difficult to switch between using the Bit Setter and not using it. When I do production runs of some of the items I sell, I prefer to the turn the Bit Setter off because it’s unnecessary to successful operation and therefore wastes some time and introduces a possible variable of inaccuracy. If I go from using it, to not using it, I first uncheck the Bit Setter Enabled box on the Settings tab. Then I zero my machine with the correct bit installed and press Start Job. The spindle navigates to the correct plunge location, spins up to speed, and instead of plunging, the Z carriage travels up, reaches the physical limit and then skips steps. During this phenomenon, you can watch the Z value decreasing on the screen as if it were appropriately plunging into the stock. I use an HDZ and I believe that this is an error in Z motor spin direction following the disabling of the Bit Setter. Once securing power to the machine and starting back up again, I reset my Z-zero (not sure that’s absolutely necessary, but I do it anyways) and then it functions and runs jobs just as it’s supposed to. I have tried all kinds of power cycling, reinitializing, and everything possible after unchecking the Bit Setter Enable box and before running the job, but it still insists on traveling the wrong direction the first time, every time. I contacted Support about this several months ago and was told that they would look into it, and that in the time being, I was most likely in a very small minority, if not the only person, who enables and disables the Bit Setter periodically as I use the machine. Otherwise I have not heard back on resolution or seen an update to Carbide Motion that corrects this issue.

So now for the recommendation that isn’t the result of a glitch… Because I do production runs and have a good bit of experience with my machine, I find that there are alot of button clicks required to start a job. I have spindle control and, as described above, often disable my Bit Setter because the only thing changing during the course of several jobs is the material that I pop into the clamping jigs I’ve made. Yet, when I click “Start Job”, I then have to click “Start”, wait a few seconds (or more if traveling front and center with the Bit Setter) for it to tell me about a tool change required (not required, but I get the point of the message), then I press “Resume”. While my view of how many button clicks is “alot” is subjective, I would really appreciate the ability to opt-out of pop up displays and extra button clicks. My suggestion to this would be to add a checkbox on the Job Info screen that, if checked, would allow the “Start Job” button to be the only obstacle before starting the job. The check box would remain clicked for future jobs until unclicked. Also, to minimize confusion to newer CNC operators, the ability to even display this check box could be an option in itself on the Settings tab.

I hope that these recommendations do not come across as gripes. I love my Shapeoko XXL, the software provided with it, and the amazing support provided by Carbide3D. I just can’t let these ideas fester in my head when I know that there are consistent efforts made by Carbide3D to resolve and improve, yet you can’t fix what you don’t know about.


Hi Matt,

  • About the spindle coming on for a short while at power up, I have seen that on my machine sometimes when I (used to) turn on the power to VFD before the controller, the spindle would do a turn or three at very low speed, I would think this is just the PWM signal settling (but as far as I remember this happened upon turning on the controller, not when connecting, in my case). I don’t think CM is doing anything specific upon connecting that would directly affect PWM, but since we are talking very small voltage values, it could just be that upon connecting, the current draw to lock the stepper motors generates a small temporary voltage glitch on the PWM output. I would have two recommendations:

    • always turn on your VFD power after your Shapeoko. I know I do, and it’s second nature now because my power panel has switches laid out in that order, so I just flick the row of switches always in the same way.
    • there are settings in the VFD you can adjust to ignore the PWM below a certain voltage value, so you could use that to ensure at a few hundred millivolts will never make the thing spin.
  • Interesting phenomenon about that inverted Z movement, I never heard of that or experienced it, but I don’t disable/enable BitSetter often and don’t use CM all the time, so I may have missed it. I’ll try and replicate that behavior tonight, my interest is piqued.

  • Your request for more configurability in CM is quite sensible, but from what I have read when this topic came up in the past, there is a will to keep CM simple and purposely not so configurable, if only to make Support life easier (because for X% of people that would benefit from those options, there would also be Y% of people who would misclick, click “advanced” options while not realizing their effect, and generate lots of special cases/combinations of setups that support would then have to deal with). I may be wrong, so it’s worth asking, and maybe @robgrz can share his views. In the meantime, an alternative option for you could be to use another, more generic but more configurable G-code sender (e.g. CNCjs) that you could customize to optimize your production flow. Totally understandable if you prefer not having to learn and use another software, just mentioning this as an option.


Just following up: I tried and could not reproduce what you see when enabling/disabling the bitsetter.
I did this:

  • power on machine, BitSetter is enabled, initialize machine, machine homes and probes BitSetter
  • zero somewhere, load job, run (air) job, all good.
  • went to settings and disabled BitSetter
  • zeroed somewhere else, loaded same job, and hit start: after the initial retract, job executed as expected.

Did I miss something in the scenario itself ?
If you are willing to troubleshoot this, we could try and inspect all GRBL values on your machine before and after the problem, i.e.

  • just before disabling the BitSetter, dump GRBL params using $$, copy/paste them somewhere
  • right after the problem happens (wrong direction), dump GRBL params again, copy/paste the new list of values

While you are at it, capture all traces from the Log window throughout your test scenario, up until the issue. We may be able to find a clue in there as to what is going on.


This is actually something I believe every grbl board will do. As @Julien says it’s always prudent to switch on the VFD after the shapeoko.

1 Like

Should it though? These things are usually due to a pin being in a floating state momentarily. A simple pulldown resistor should help.
Maybe someone with a decent scope could check that?

1 Like

I will definitely try to grab some additional data for this phenomenon. I can’t imagine that this isn’t repeatable on other machines since it always happens on my machine, so I’m very curious now.

I definitely understand the desire for C3D software to be approachable to a beginner, which also requires the ability for Support to easily figure out what someone is having trouble with. But that theory is also concerning that C3D would be sending their experienced customers off to bigger, shinier things once our machines are making good money for us. To release Carbide Create Pro and now a Shapeoko Pro, and then not entertain the idea of adding “pro” level features to how the machine operates seems that they are ok with my 2nd machine, as my business keeps growing, might not be a Shapeoko, but rather one that caters to a more experienced user. You have some very valid points, and I get it. I just wish they would consider simple improvements that may retain their higher level users longer. I think the experienced users provide a tremendous amount of support and recommendations to their newest customers.

I will explore the VFD settings for minimum operating speed. I recall passing through that parameter option when I set everything up, but I never thought twice about it. Good idea. Aside from the rogue spindle pulse in the beginning, I feel like there’s no other reason why starting up the Shapeoko before the VFD would be a necessity? I used to have a horrible habit of leaving my Shapeoko turned on for weeks, never allowing the steppers to de-energize. When I upgraded to a spindle, I overdid the wiring (tutorial/write up to follow probably in early 2021 after the holiday rush) and my entire setup is attached to a single magnetic power switch. This way, since I don’t trust my HY VFD or the CW-3000 to not burn my house down, I always turn the whole setup off with a single button push when I’m walking away at the end of the day. I guess on the start up, the 110v magnetic switch immediately applies power to the Shapeoko, but the 220v contact and VFD startup period means that the PWM pin voltage stabilized by the time the VFD comes on line. Which reminds me, that I only see this phenomenon when I want to force home the machine, so I cycle power to just the Shapeoko, leaving the VFD running. Which also reminds me, I’d love to see a feature in CM that allows reinitializing without cycling power. Sometimes I know that I’ve possibly lost a step and want to get back to a known position before continuing, so I end up cycling power.

I looked into CNCJS when I was just a baby in the CNC world and was scared off by it’s complexity to someone who didn’t know anything about this game yet. I actually own one of the few PwnCNC wireless CNCJS controllers, but I just never got it going before I decided to actually learn the included Carbide software first. I know that there are extra things required to use the Carbide3D touch probe and stuff. Do you have a quick way to share macros or a rundown of what I would need to get CNCJS rolling?

1 Like

I’m curious too, and I’ll do my best to support that investigation by doing more testing on my machine. It is quite possible that it only occurs for a specific workflow and we are doing things ever so slightly differently.

Ah, then it’s definitely possible that the PWM glitches during that power cycle of the whole Shapeoko controller. As Neil said it could quite possibly be fixed with a simple pull-down resistor…at the VFD input. That’s something we could explore, I could check how my controller+VFD behaves in that scenario.

You can force re-homing manually at any time by sending $H to the machine using the MDI tab.
BUT, I have not done that for a long time using CM, I can’t remember if it will behave the same as clicking the “Initialize machine” button, i.e. home AND probe BitSetter. It will re-home for sure.

First of all let me state that I’m not advocating for you to move away from CM, just that this is a possibility to get more custom behaviors. Actually I’m a little torn between those two senders myself :slight_smile:
Anyway, setting up and using CNCjs goes like this:

  • download the CNCjs standalone app installer for Windows or Mac. It’s just easier than going the “CNCjs embedded in a Raspberry Pi accessed remotely” (even though I have done that and it works fine too, just a bit more geeky).
  • spend 5 minutes in the CNCjs Settings pane to disable the widgets that are not useful (CNCjs is very generic, can be used to drive 3D printers, etc…). I can make a list of the few mandatory widgets to keep, to clean-up the UI (from memory it’s basically the connect pane, GRBL console, G-code pane, Macro pane, disable everything else)
  • download @neilferreri’s fantastic set of CNCjs macros, which will give you the ability to use the BitZero probe, and the BitSetter (and more)
  • then the rest is pretty intuitive: home the machine, jog using the panel on the right, set/reset zeroes there, load a G-code file, run.

The one grudge I have is that CNCjs does not natively implement smooth jogging, but that’s not such a big deal (and it’s doable with a little geekyness again).

This topic was automatically closed after 30 days. New replies are no longer allowed.