Troubleshooting DIY X-Controller

So I recently used my X-Carve and Easel to mill the plates for a custom CNC (picture below). Would buy another X-Controller to go with it if was a little cheaper or I had an income, but instead purchased a DB25 shield from here:

Along with a TB6600 4-axis board (pictured) & 24V power supply. Using the Arduino running GRBL 0.9j leftover from my X-Carve before upgrading to an X-Controller. Seems to connect just fine with Easel and and Universal Gcode Sender but no motion on any axis :frowning:

Read through the following guide but looks like PhilJohnson deleted all his posts.

Not even sure where to begin troubleshooting. Running the latest Easel driver for Windows 10 and double checked all the connections. Any idea if this could a hardware or software issue? Many thanks

My guess is hardware. Does the controller report back as though it’s moving?

The 4 axis board displays a red light when the USB cable is connected to a laptop. Universal Gcode Sender displays “ok” when a X, Y, Z axis move command is issued, so no connectivity issues. The stepper motors are receiving no power. I have tried a number of configurations of the dip switch if that makes any difference.

I contacted both the sellers of the 4 axis board and the DB25 shield, whom probably can’t help much.

Do you have the stepper motors wired correctly? How did you determine the wiring?

The board is labeled A+ A- B+ B- for each axis. I read multiple places that Black should be A+, Green to A-, Red to B+, and Blue to B-. I know I shouldn’t, but also tried to reverse positive and negative with no effect.

Maybe I could have received a bad board. Today I ordered a single axis TB6600 driver (like PhilJohnson’s setup), going to test it with an arduino to see if have better luck!

Thanks for your help!

Unless you read the data sheet for your specific stepper, the colors could be anything. They even change based on date of manufacturing.
Switching them won’t hurt, but do it with the controller powered off.
Without a multimeter, you can determine the coil pairs by touching the wires together and turning the motor by hand. You’ll feel a noticeable increase in resistance when you’ve found the correct pairs. If that works, but the motor goes the wrong direction, switch order on ONE pair.

1 Like

Found the data sheet on StepperOnline. Also verified the pairs as you mentioned.

I actually have another one of these 4 axis boards which has a detached capacitor (damaged during shipping). May solder fix it and see if have the same issue.

14 PM

Got a link to that controller?
How about the shield that connects the DB25?

Can the arduino connect directly to the pin headers on the board?
Without more info, I wonder if the db25 shield might not match the expected pinout. Has this setup ever worked?

Here is a link to the 4 axis board (its available a bit cheaper on Aliexpress):

And a link to the DB25 shield:

And a link to the instructions for the DB25 shield:

I repaired my second 4 axis board and having the same issue with it :frowning: So I must be doing something wrong.

I don’t think the pin headers on the board can be connected to an arduino. The unused pin headers are for limit switches. There is also a 20 Pin JTAG/IDC connector which I think is used to connect a screen/display. Maybe instead of the shield could try to use this DB25 breakout board to wire the controller to the arduino:

If you’d be interested I’d be happy to mail you one of the 4 axis controllers + a spare DB25 shield (pins not yet soldered). If you wanted to try to get it working and could make use of it. They are of no use to me at this point in time lol :slight_smile:

Sent a PM.

Wondering if you could use M-F jumpers to go straight from arduino to these pins:

Any chance the DB25 connector on the shield is on the wrong side of the PCB?


Just read this…looks to me like those are connected to the DB25… Check traces on bottom of board.

Ok PMed back.

Just doubled checked, do have the shield orientation correct and the connector on the right side.

I think would be easier to use the linked breakout board. With the JTAG/IDC would have a hard time figuring out which pin goes where to the arduino.