Dan and Allen's X-Controller Experiences

So, got home last night and had to suffer through an agonizing 90 minutes while I waited for UPS to deliver, it would be the night that they’re the latest on the rounds that I can recall! But finally, the big brown happy-wagon showed up and dropped this off!

Inside, very well-packed, Inventables had packed a plethora of goodies! The X-controller, as planned, but also an experimentation version of the AC relay box add-on unit, and one of their own Z-probe disks. The package, of course, included all the necessary cables and hardware to attach the unit to my X-Carve.

As you can see, there is no fidgeting around with “which wire goes where” here, nor having to splice your grounds together to get them to fit the proper connection on the G-shield. Everything is very clearly labeled, and each connection has its own dedicated ground port. That alone made the installation here a significant deal easier than the original setup. Directions for the actual connection are more or less un-necessary, just follow the markings on the case. The only time I needed to consult the instructions was for the order of the stepper wires. You can also see that the initial goof in the art for the face printing shown in the blog post has been corrected, and “PROBE” has replaced the vacant spot over the appropriate terminal.

I have not as yet installed the relay box, this is a prototype version without the final production faceplates or plugs, but is fully functional. Once I have verified and gained some confidence in the operation of the X-Controller, I will add this into the loop as well, and be able to turn on and off my spindle and dust collection from within the G-code!

So, with a good grasp on the contents of the box, I approached my X-Carve with a look that by now any reasonable electronic system should be learning to fear. My assembly the first time ‘round wasn’t particularly pretty, but has been entirely reliable to this point. As you can see, I have the limit switches and the stepper wires labeled by which axis they run to, something that has saved me considerable time.

First thing was to pull the top of the box, pull the header plug, and remove the stepper motor wires. If you do not have your wires labeled, I would strongly suggest that you label them now, to avoid having to hunt for which axis is which later!

Next, the new X-Controller has a separate driver for each motor on the Y-axis, instead of running both motors through the same driver. The instructions state that since the new drivers are considerably more powerful, you can really just keep the same wiring setup as before. I didn’t want to do that, though, why not make use of the full capability of the unit? Inventables had thoughtfully sent along a generously-long chunk of stepper motor wire just for the purpose, so my next move was to disconnect the right-side stepper motor from where I had it joined on the connector block and cut off the spades I’d crimped onto it. Tad bit of solder, tad bit of heat shrink, and I had enough wire on that axis to reach the new controller! Incidentally, the solder and heat shrink were the only things I had to provide myself for this entire operation, the rest was entirely plugs and self-gripping screw terminals. I also, as is my usual procedure, tinned all the wire ends before inserting them into the grips, just to make sure that a single stray wire didn’t short to another place. Those can be maddening to track down!

Once that was done, it was a very simple matter of just putting the wires into the plugs in the marked locations and tightening the screws. As you can see, I’ve marked each of the plugs here with the axis again, just to make sure. I’m not sure if it’s actually important, but I attached the left-gantry motor to the Y1 port, and the right gantry motor to the Y2 port on the X-controller. Took less time to do than writing this paragraph, overall.

With all the plugs on the wires, it was the work of just a couple minutes to set the new controller on the bench, plug everything in using the same power cord and USB that I’d used before (they included new ones, but they were both a tad short for my location), and head over to Easel to run the setup program! I was very, very glad for the included emergency stop button when I did! The setup instructions aren’t as nicely polished as the ones for the stock hardware (no surprise, being that this is still pre-release!) and I hadn’t thought to manually execute a G28.1, so it tried to run off to Idaho the first time I ordered a “go to zero” in ChiliPeppr! Estop to the rescue!

I ran out of time for additional testing last night after making a single air-cutting run to prove out the controller, but the first air run was very promising. Probing worked just as it should, and the program ran with no quibbles. Took a little bit of fidgeting on the software side (mostly ‘cause I’m a newb with GRBL) but in less than 90 minutes all told from opening the box, I had the new X-controller attached and running. I will continue to update this as I test it out, and add the AC controller to the loop. So far, awesome! As a completely irrelavent side note, the X-Controller is a fair bit quieter when running than the original control box, and it does away with that periodic little rattle from the metal cover on the electronics housing. Small thing, but it pleased me. BIG perks for the rubber feet and increased mass, no more control unit dancing across the bench! This thing is solid as a rock.


@DanBrown Thanx a bunch for writeup and pictures. Todays most enjoyable read by far :smile:

1 Like

nice post, im looking forward to see your opinion about the x controller.

1 Like

Thanks, guys! Definitely going to be posting more to follow up on this as I get some experience with it and add the relay system into the loop. :smile: The setup here is just so much cleaner than the stock X-carve controller. No crimping, no soldering, no trouble at all. Just strip wires, stick in terminals, and tighten.

I was very happy that the X-Controller wire connectors had larger openings than the old Grbl shield motor connectors. So it was very easy to insert the motor wires and screw them down.

1 Like

Indeed. That would be particularly useful if you were using bigger steppers, too, that needed heavier wires. Was easier to put them on the wires, too, since I could bring the plug to the end of the loose wires, instead of the other way around. I just held the wires in my right hand, sorted them into the proper order, and stuck the plug onto them. Then held the plug with my right forefinger and thumb while the rest of my hand held the wire body, and screwed the clamps down. I’m a lefty, so I’d imagine that would be backwards for most the rest of the world. Works a lot easier than trying to fit a wire that doesn’t want to flex into a port directly, though!

1 Like

Success! My first carve using the X-Controller!

This is one of the bases for the Massdrop project I’ve been working on, and is #28 that I’ve cut, so the program is very well-tested and proven. The X-Controller presented a few challenges in using the Z-probe, for some reason it needs the probing cycle to run twice to give a proper reading. I’m not entirely sure why, but the first probe cycle results in a value that is much higher than the position of the cutter tip. If I run it a second time directly after, it will give the correct reading. This held true through the testing, and through the production part run. I am running both the probe and the cutting operation with ChilliPeppr. Aside from that, there were no surprises. The program ran just as smoothly here as it did using the old controller, perhaps even a tad more smoothly in the front left corner where I’ve always had a bit of a jitter problem coming around that angle-to-flat radius. It’s primarily the rigidity of the mounting (I can watch the router shudder on the mount) but I think the motion was a tad smoother this time.

I will be making a number more of these in the next couple days, along with a few other projects, and I will keep updating as I learn!


I tried out the Z probe tonight with UGS 2.0. I have a Macro in UGS to zero the Z to the probe and it worked perfectly (once I had the right thickness for the base entered).

Unfortunately I did not make anything as nice as Dan. I just mounted a new sacrificial waste board and leveled the top with my wasteboard cleaner bit. I just wanted to do something that kept the motors moving for a while to be sure they did not overheat. And they did not, the controller worked exactly like it should have.

Dan - that wood you are using is beautiful. Do you stain it before the cut?

I might have to see if I can get that macro from you, Allen. I’m using the one in ChilliPeppr. It works, just that weird two-times thing. If I do the probing twice, it gives a perfect measurement. Weird, but effective!

The wood here is not stained, actually, it’s bare walnut. :slight_smile: It looks much nicer once it’s finished! This is the same piece as you see on the photo a minute ago, after running through the finishing processes. It has been given two coats of Deft semi-gloss lacquer, sanded to 400-grit very lightly between coats. It’s silk-smooth on all surfaces. The lighting in here does not really show the grain well, it’s much more beautiful in daylight. There’s no colour in the finish used here, just clear lacquer over bare wood. I love walnut! :smile:


Looks great guys :smile:

Maybe one for Inventables to answer but can the eStop be “externalised”? I.e. be removed from the big box and put elsewhere on extension wires?

I ask as I would mount the main box off the table up on a shelf with other gear like a laser driver but would want the eStop low down and close to the front of the machine.



@IanWatkins The E-Stop breaks the primary AC voltage. I don’t feel comfortable extending that outside the chassis.

Doing so would have the same effect as putting an E-stop in the AC power going to the the X-controller. I suggest the user do that if they want an external e-stop. We sell this one. We are very happy with the quality and ruggedness of it.

1 Like

I like the integrated stop, as I mentioned it saved me a couple of times when I was doing setup. With a standard X-carve setup, anyway, the switch is right next to the unit on the desk and easy to reach. If I was going to do an external E-stop, I’d just use one of the Rockler / Woodcraft / Etc switches intended for power tools with the big paddle, and put it in the main AC input. A power-cut E-stop is easy to add, I don’t see any particular reason to remove the one on the controller to add another, you can have as many as you like with very little trouble.

My opinion only, of course. :slight_smile:

1 Like


Thank you for the thorough shakedown and review. I, like you and many others, are excited about this upgrade. May have missed it on this or other threads but was there a timeline for full rate production? Would be a nice Christmas or Thanksgiving present to myself.

Great job.


I have now run the X-Controller through four cycles of the same program, with uniformly good results. Aside from needing to run the probing cycle twice for some reason, there has been not the slightest bit of trouble! So, this weekend I will be adding the AC relay box into the mix, and adjusting my program to cycle those as well. :smile:

1 Like

Dan, Here is the gcode I have in a UGS macro for setting zero with the probe

g20; G38.2 Z-.5 F1;G92 Z.589;G0 z.25

(after you paste the code into the macro press “Enter” or it will not be there the next time you look)

The z,589 portion is where it subtracts outs the thickness for the probe, I measured mine to .589 inches thick yours may be different so substitute your actual thickness there.

1 Like

Thanks, Allen! I’m going to have to try this in UGCS next, I’ve been using ChiliPeppr’s built-in probing functionality so far. That should be close enough for my purposes, I miked mine out to .5894 using a Starett 1" mic. Funny thing, it’s right on the SECOND time, reliably, and will repeat that exact same number over and over if I keep probing for it. But the first one is always wrong. I suspect it might be something with the new GRBL version on the X-Controller and CP not being fully compatible yet. That’s the only functional quirk that I’ve run into at all, though, at least so far.

I’m also now solidly convinced that my Y-axis movements are significantly smoother with the X-Controller than previously. I do not have nearly the tooling marks on the front-corner radii that I was getting before. The router still “shudders” a bit on the mount as it comes around, but the marks it leaves when it does are shallower.


My Tormach 770 mill double taps when probing. First tap will be at 10 IPM and the second is at .5 IPM. I don’t know if you have a read out that you can see your feed rate at when probing. If you do see if it changes between taps.
Double taping is more accurate then single tap I do believe.


I could definitely understand that, our mills at work use a double-tap as well. This is different, I have to manually order the second probing cycle. The first one just always returns an incorrect reading. I think this might actually be a CP issue, not one of the controller. The second probing is right on, according to my calipers and the resultant cut depth. Just for some reason that first probing is always off by ~4mm.

OK that is not normal. I don’t use UGS or CP so I’m no help there. My machine when I get it built will use LinuxCNC or Mach3 that I have been using for years and would not change from.


I had no idea how much easier setting up for a carve would be with a quality touch probe. I have been making a dozen small signs today and being able to just drop the puck on the material clip the alligator clip run the UGS macro and know that the Z is perfect saves a ton of time and it is 100% repeatable,