X-Controller disconnections with PC part way through the job

I am getting frustrated with this and I need some suggestions. Trying to run a cut job is kind of a crap-shoot anymore. My job stops and Easel comes back and asks if everything cut OK (no, it didn’t…). I have to unplug the USB cable and plug it back in to get Easel to see the controller, at which point everything is back to square one and my work piece ruined. This is not a problem that I had when I used the Tiny-G, but a lot of things have changed too, so I can’t say it is just that. I did a bunch of upgrades at the same time like adding the X-Controller, side board, and drag chain specifically. I used the Tiny-G, but it doesn’t appear to be supported (sold) by Inventables any longer, so I wanted to use something supported. Plus I liked the fact that the X-Controller came as a package (power supply, controller, etc. all wrapped in one case.)

I have upgraded my X-Carve to use the latest drag chain where the DeWalt 611 power cable is side-by-side with the stepper and homing switch cables (which I am starting to regret a bit as I fear this is the issue).

Based upon other threads, here’s what I have done and tried.

  • I have ensured that my X-Controller case is grounded to the mains ground and tied all of the stepper wire shields to the case. The homing switch wires from Inventables does not appear to be shielded and thus nothing to tie to ground.
  • I have purchased a Belkin USB cable that states it has both the Mylar and braided shielding on the cable.

Here’s what I can’t do.

  • My home is from the seventies and I consider myself lucky to have one outlet in my garage! So, that said, I can’t run my 611 nor my shop vac on a different circuit/phase.

My PC that runs this rig is on a shelf under the bench top that the X-Carve is on. There doesn’t appear to be any relation to the 611’s position and the location of the computer. Once it failed with the 611 probably about as close as it could get to the computer (still with 1.5" of MDF and 6-8" of air separation), then the very next time it failed it was as the furthest corner away from the computer.

Is there anything else I can try to do to fix this issue? Would a surge protector help, or is the interference that is causing the reset coming from the “other end” (perhaps back in via the stepper/homing wires)?

Thanks in advanced for any help.

Have you tried with homing switches disconnected?
Have you tried a powered USB hub between the PC/Xcontroller?

No, I thought about disconnecting the homing switches, and I may try that this afternoon.

And, no, I have not tried a USB hub between the PC and X-Controller, powered or otherwise. I guess I was assuming (I know, bad thing to do) that the X-Controller was getting reset. I can see if I can get my hands on one and try that too.


Thanks for the info. Supposedly, my USB cable (Belkin Gold Series or a [picture of the packaging at Amazon.com] (http://a.co/86yrFRh)) has both foil and braided shields, which Mouser say make the best cables. One thing different between the one you pictured and mine is that mine don’t have Ferrite cores on the end, but those can be added on for a nominal price if I need to.

Hi mate, in case nothing else works, have you tried exporting gcode from Easel, then sending it with Universal GCode Sender. This might rule out an issue with Easel…

I had a possibly similar issue when first connecting mine. Whenever the spindle kicked on (dewalt), I would lose connection. I thought maybe it was the way I wired the relay, but to no luck.

What I eventually found was that it was the specific usb port on my laptop. It was a lenovo thinkpad with a special yellow usb port to signify that its an ‘always on’ port, even if the pc is off. Moving it to a standard usb port solved my issue. My guess is that this goes through the laptop battery and conditions the ac line enough.

I can add that to my list of things to try.

I’m not using a laptop, but a desktop and I am just using one of the USB ports on the back of the machine. It’s an older PC that I have re-purposed for this, so it is strictly USB 2.0, none of those fancy 3.0 ports :slight_smile:.

That said, I can try a different one and see if it makes a difference.

Interesting point, but this happens within a few minutes, if not seconds of starting the job, so I doubt the port is sleeping.

Upon further research, it appears not to be time based as I can do an “air cut” of the entire job without incident. But it happens while actually cutting the MDF. As far as feeds and speeds:

  1. My 611 is not straining to my ears nor appear to be struggling.
  2. Even if my feeds and speeds was off, I would argue that it shouldn’t cause my connection to get reset!

@RobertCanning, Yup, I’m running a shop vac. I had it on while doing the “air cuts” too. Not only that I ran the shop vac hose along the some of the cables where I would not normally have it just to see what would happen. Nothing happened. Mind you, as I was doing air cuts, I also wasn’t sucking up much dust, so maybe less static…

I also went to Fry’s last night and picked APC surge protector (see below) up since on the APC website it says “Attenuates EMI/RFI line noise that can cause data errors and keyboard lockups, ensuring better performance of protected equipment.”

I also made sure that the router’s and shopvac’s power cords where as far away from the PC and X-Controller’s as I could get them.

@PhilJohnson. As far as I know, the X-Controller doesn’t support limits, just homing. If it can be made to do limits, I would agree, but I’m not using them as limits. Plus, I would need two more switches to do limits correctly. One each at the “far end” of the X and Y axis. Inventables only has them on the “zero” ends for homing.

That said, I’m a bit confused by your statement

…you would have to close the connection to the port and it would not have returned to home before doing so.

My machine is not returning to home when it fails. It is just disconnecting from the PC and staying put. I have to re-seat the USB cable on the X-Controller to get the PC to see it again and them I can re-home the machine.

When the brushes in my router were worn and starting to go bad I had strange disconnects because of electrical noise due to the brushes. I checked and replaced the brushes and all was good.

1 Like


I will try a different gcode sender this evening. What one would you suggest?

I am using Windows 10, Anniv. Edition (1607, I think–I don’t have the machine in front of me).

As far as the USB suspend, I will check for that, but as I mentioned in one of the replies, the issue is not time consistent by a long shot. I can “air cut” the entire job, with the spindle running, and never a glitch. But, after it starts cutting into my work piece for several seconds, something disconnects/resets and the job is dead. I have even gone so far while doing the air cuts as turn the spindle off, then on again after it spun down all the way, just to try and force extra noise and see if it fails. No luck with that though.

@ErikJenkins. Oh my, I would hope not! My 611 is pretty new. I don’t have a clock on it, but I would be surprised if I have more than 6-8 hours on that spindle–probably less. I just haven’t had the time to do many projects yet.

@RobertCanning. Thanks for asking. I will not get a chance to try anything new until this evening. Here’s my plan of attack.

  1. Swap USB ports on the back of my computer just in case something is hinky with the one I am using.
  2. Ensure USB suspend is disabled, but like I said, the failure doesn’t appear to be time related. (I have already configured the power settings so that the computer itself will never sleep)
  3. Try the the Universal G-Code Sender next to rule out Easel and it’s Windows shim.

Speaking of the Windows shim (Easel local?) that the browser uses to talk to the COM port… you asked what version I am on. I will have to look it up, but unless Inventables has updated it in the last month or so, I should be current.

OK, here’s what I have tried so far off my last list.

  1. Moved cable to a different port on the PC–No difference
  2. Ensured that USB suspend is disabled (was enabled)–No difference
  3. Tried to get USG to work, but I don’t know how to get it to work. I have installed it and I have opened the port up, but it tells me that the controller is in an alarm lock state–I can’t even jog the machine using USG.

If I try and jog, I get something back like this…

>>> G91 G0  Y1
error: Alarm lock

If I check “Show verbose output” I get these messages at a rate that appears to be every 250ms (ish).

I have both made sure that the machine was not touching the homing switches and even unplugged the header from the back of the X-Controller and I still get the messages. So, USG is a no-go until someone can tell me how to make it work.

I have also opened a ticket with Inventables. I will keep everyone apprised of what I learn. As I have a fairly stock machine, I can’t imagine this will not get resolved.

With the UGS lock thing, hit the $X button on the Machine Control Tab to unlock it.

Oops sorry, didn’t see Phil’s response…

@PhilJohnson @Nathan2,

Thanks for all your input so far. I went down a different rabbit trail last evening trying to ensure that my rig was static free. This entailed trying to ground off my X-Carve frame (pretty hard to do with the black rails as the paint/coating seems to be electrically insulating) and adding a drain wire to my shopvac hose. While I did get a chance to cut longer, it still petered out on me. So, I don’t know if I cut longer because of what I did, or just pure chance as there doesn’t seem to be a rhyme or reason otherwise.

That said, I don’t have time tonight for trying anything and I need to get ahold of Inventables to see the best way of using UGS with the X-Controller. You see, what I am cutting from is from Cut2D and is already g-code, but the Easel pre-processor for Cut2D (and any other 3rd Party CAM programs) eliminates some g-code from being generated (preamble and postambles) because Easel generates that on the fly… So, I now have to track down the correct pre-processor for the X-Controller not using Easel…

@PhilJohnson. Just got off the phone with Inventables about the log file I sent up after one of the failures. John said I should be able to use the Easel post processor with USG, but I will definitely take a look at yours and compare it.

They also recommended that I re-flash my X-Controller and have seen trouble with folks using 6ft or longer USB cables, because of my workshop layout (half of the garage…), mine is 10ft. If that turns out to be the problem, I will have to rethink my setup as my open garage door faces the street and I wanted the PC to be out-of-sight, out-of-mind to passer-bys. It’s an old computer, and not worth much, but someone wouldn’t know that until they took it. I’m getting an Intel Compute Stick as part of an IoT Virtual Bootcamp. I will probably use it for this when I’m done with the boot camp.

@RobertCanning. Yes, I have looked at using $H and yes, it does indeed home and unlock my machine. I just haven’t had the time to try my g-code with USG yet. That’s on the plate for tomorrow evening.

And yes, actually, Inventables was very helpful when I asked what post processor to use for USG.

@PhilJohnson, regarding soft limits isn’t that for saying if the machine motion goes beyond X or Y (perhaps Z), then assume that you can’t have gone that far and trip a limit? If that’s the case, then I don’t think that is the issue as I would expect it to fail at the same X-Y location (or close to it). I have had it fail close to 0,0.

Oh, and Inventables looked at my logs that were sent up to them and they are seeing a message indicating that the X-Controller has disconnected from the PC (reset itself?).

And as far as “magical fairy gremlins”, nope, don’t believe in them, never said I did… There is some logical reason this is happening, just haven’t figured it out yet. My assumption (perhaps faulty) is that it is RF/EMI/Static Electricity related.

I will get you guys the GRBL config info you asked about.


@RobertCanning, That’s cool, but, please make sure you post your pics of those gremlins next time. :grin:

1 Like

@RobertCanning @PhilJohnson Here are my settings…
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=115 (status report mask:01110011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$30=1. (rpm max)
$31=0. (rpm min)
$100=39.980 (x, step/mm)
$101=39.867 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)