Understanding the XController and SuperPid2 operation

Hi JoeMartin,
i am running a superpid2 with dewalt611 router on 1000mm x 1000mm Xcarve.
I am using modifications suggested by LarryM. Wired as per his suggestion, +5, on/off, gnd tapped off the ISP header on the XController.
PWM is wired as suggested by SuperPid2. I also set my superpid so that i can switch between manual and PC control of the router speed, again as suggested by Superpid.

I am now working to adjust my PWM settings to get accurate speed control of Dewalt 611.

Dewalt611 was modified as per instructions suggested by Superpid - details provided on another link… will chase link up if you need it.

Garry.

1 Like

To use this setup you need to change two settings in the config.h file and recompile grbl.

define INVERT_SPINDLE_ENABLE_PIN
define USE_SPINDLE_DIR_AS_ENABLE_PIN

Warning - the bootloader will toggle the SCK pin during a firmware update operation and when power is first applied to the Arduino/X-controller. This will result in a brief spindle on condition during these two operations. Make sure that you have the spindle main power off when using either of these two operations

This is a picture of the setup:

Thank you so much guys, this really helps a lot.
I hope you don’t mind if I ask you more questions down the road. I’'ll try not to be a pain in the rear. :slight_smile:

We are all PITAs so bring your questions on. :smiley:

1 Like

Hey, that’s my X-Controller :smiley:

I have a feeling I will be trying out SuperPid as well sooner or later.

@EliasPolitis

Yeah, I needed a picture quickly to show the hookup - hope that was Ok.

I’m glad this helped :slight_smile:

Any chance you could do a step by step of the config thing for a simpleton like myself? Mechanics/electrical/electronics I can do… the messing with files thing isn’t quite in my wheelhouse yet…
Much appreciated!!

(I have an X-carve with Dewalt 611 and SuperPID all wired up, would like to utilize your method of on-off speed control)

Here is the procedure for compiling grbl - you can ignore the grbl version numbers, the procedure is the same for all and the webpage is inconsistent in the use of version numbers.

1 Like

any ideas on which “board” an x-controller uses? I searched but its eluding me.

Treat the X-controller as if it were an Arduino UNO.

Bringing this up again.
I hope the op wont mind.

So after my question last night and LarryM put me right by posting the link to this thread, I had a good read and decided to have a go with the wiring in the diagram above.
All plumbed in and tomorrow I’l try to configure the board.

Many thanks to all that posted here…very helpful and appreciated.
Here is some pictures of my wiring. Please let me know if you see something wrong :stuck_out_tongue:

Can’t see what you have wired for the SuperPID, but here is what you have in the X_controller.

1 Like

Cheers. Yes that’s what I done.
Nothing connected to the super-pid yet. I like to compile the xcontrolet first and then I plug it to the pid.
I just though the pictures above might be of help to someone.

Goodnight.

1 Like

Having a problem with this…Trying to get RUN working with the superPID
I have the superPID powered and grounded from the ICSP header, and I have pin 3 SCK wired to the run terminal on PID

I have followed Larry M’s instructions on the two config.h changes and uploaded to the x controller. I have removed the # from the two define, saved the file, and uploaded following the compiling grbl instructions. Upload is successful.

Pin 3 SCK is not changing from 0v when I issue a spindle run command (M3 S10000) through UGS. I can verify that the run command is received as the spindle 0-10v terminal goes high

SCK does pulse at 5v when the xcontroller is first powered on, as mentioned.

Any ideas or things I can look for?

Hey, I guess I just needed to learn how to uncomment lines. Removing the // before the line was the ticket. I was only removing the # before the line. Seems to be working now!

1 Like

Recently I’ve overhauled my old X-Carve from 2015 and also replaced the old controller with X-Controller. Since I also use SuperPID for my spindle I’ve run into the same issue missing a proper output of X-Controller for “Enable Spindle” signal. My solution works without any special modifications. I’ve designed a simple “inverting Schmitt-Trigger” with just eight resistors, three transistors and a screw connector.
It takes the 0-10V from X-Controller and 5V/GND as input. The output will be 0V if signal reaches ~0,88V and back to 5V if signal falls below ~0,66V. Due to design the output never goes over 5V.


The whole project for KiCad with layout can be found here:

@OliverDorn , Hi. How does this wire up to the superpid?
Do I just go XCarve Controller (0-10v) → IN and OUT → SuperPID ( RUN )
and M3, and M5 will work? No firmware changes needed?

Yes Kendrick, and you can use the PWM out to control the spindle RPM via POT input.