How to Use the CNC V4 Board (despite Its "quirks")

Introduction: How to Use the CNC V4 Board (despite Its "quirks")

This cheap (can be found under 10€ with arduino and stepper drivers) board is perfect numerically controlled machinning tools like CNCs or laser engraver/cutter ... or is it?

In theory yes, and in practice with enough time too, but this board seem to have weird design errors and mostly a lack of documentation that makes it non trivial to exploit.

I am actually not sure if the things I will talk about are true for all of those boards, because of the minimal documentation, but it seem unlikely that there are different designs of this board.

I will go through all the problems I encontered and how to fix or circuvent them, and the last step will summarize all the connections on the PCB.

Step 1: Power Input

When you first try this board, your reflex is to just plug a 12v power supply to the power jack, as you can see the label under it say "M .... 2v" ... yes most of the label is hidden under the plug, but It's probably written "Motor 12v" ...

(actually, I removed the plug and it's written "Max-In 12V" so it's a hidden warning)

But doing this will in fact only power the arduino, because you need to place a jumper on "Mot-VOT-Sel" to propagate the power input to the drivers ... and no jumpers are included with the board, so you will need an extra one.

If you want to power the motors with a higher voltage, don't use this plug and jumper because it goes to the "Vin" of the arduino which is connected to an LM1117 rated for 7 to 12v. Instead, solder your power input to the holes on the motor plugs side labeled "Mot-vcc" and "Mot-GND".

and choose a way to power the arduino :

-7 to 12v power supply plugged the the jack.

-step down taking the motor voltage and giving it into the pin on the top of "Mot-VOT-Sel" (closest to "Sel") and one of the GND pins

-just use the USB plug of the arduino itself, easiest and enough if you need to have the machine plugged to a computer to control it anyway

Step 2: Micro Stepping

This is usefull is you use the A4988 drivers, not the fancy TMC2130. (but if you bought this board you probably don't intend to use expensive drivers on it anyway)

Once again, no jumper included, but in fact here, even if you had jumpers, they wouldn't do anything.

This look like a design error : the jumper pins are meant to be connected to 5V, but on this board they are on GND

Because you already don't have enough extra jumpers, and there isn't much reasons to don't want micro stepping, the best way is to solder all of the micro stepping pins to one of the 5V pins.

On the pic you can see in green everything that need to be connected together, and the lines showing the shortest wire to achieve that.

Step 3: Step and Dir Pins

The pic on this step is one of the rare documentation I could find about this board

And it shows that X, Y, Z dir are connected to D5, D6, D7 and step to D2, D3, D4.

WRONG

it's the other way around...

There are other errors on this schematic, like Vin shown to not be wired to anything, but the last step will summarize everything

to recap :

Xdir --> D2

Ydir --> D3

Zdir --> D4

Xstep --> D5

Ystep --> D6

Zstep --> D7

Step 4: Summary

So I tried to redo the real schematic over a pic of the board here

First pic showing power distribution (+3 unused pins)

Second showing digital and analog wiring (+3 unused pins)

Third showing the physical dimensions of the board (all in mm)

2 People Made This Project!

Recommendations

  • Plastic Contest

    Plastic Contest
  • The 1000th Contest

    The 1000th Contest
  • Battery Powered Contest

    Battery Powered Contest

11 Discussions

0
Parametrixer
Parametrixer

9 months ago

Salut,
i was looking for some documentation for this board, luckily i found your instruction: saved me many time and, because of the faulty informations there around, one or another Arduino.
Great work, thanks for this!

0
neoflame
neoflame

11 months ago on Step 1

Very nice I found your instructions before I burn my Arduino.
I want to swap my woodpecker board to Keyes because I want to use Bluetooth connection neatly.

I saw on the board that if I use 24vdc voltage, the power and ground from power supply are connected directly to power and ground of the motor which mean when the power supply is on, so does the motor.
Then how to control motor on off by M3 command, also how to control motor speed by Sxxx command?

0
tnn85
tnn85

1 year ago

Which DC Jack is required for this Board?
Is this a 5,5 mm / 2,5 mm (outer diameter / inner diameter) or a 5,5 mm / 2,1 mm socket?

0
SteveH5
SteveH5

Question 2 years ago

Great article.

I got fed up trying to change the cpu mapping to the pins, I eventually cut the step and direction tracks and rewired them underneath. Now it matches the schematic.

Now I can't get 5v out of D11 to control a solenoid via a relay. Am I missing a pull up resistor? If so, what value?

0
Jerryolsen
Jerryolsen

Question 2 years ago on Step 4

First, thank you for the doc -it's extremely helpful. Second, on my board, when I plug 12V into the external power jack, it sends 17V to VIN on the Arduino..... The Arduino shuts down the input from VIN due to the over voltage. I can make it work by plugging in the USB for power, but would like to use the single power jack. Does your board do this? I'm using a 12V 350ma supply.

0
petercd
petercd

Answer 2 years ago

I suspect its the fault of your PSU which sends 17V in open mode, ie not under load.

You definitely need a switched PSU for these devices like an old ATX psu and not the wallmart variable voltage style psu's.

CHeck the open volts on the psu to confirm what its output is.

0
Jerryolsen
Jerryolsen

Answer 2 years ago

The first thing I checked was the power supply and it was good. I noticed the cap was different on my board than most of those shown on boards on line (100 35V VT). I removed it and got 12V to the VIN pin.

0
usernam
usernam

Tip 2 years ago

see picture on the Step #2 pls. (There is on the left pin GND of any
jumper and 5V on the right pin of them, i.e. any jumper connects GND to
5V => dangerous short circuit).

BTW: On the RAMPS
without pull down (not pull up) resistor is the similar problem but with
(unusual) stepper driver with default high level on the mode pins only
(mode jumper has any effect).

Zdenek

0
usernam
usernam

Tip 2 years ago on Step 4

Hi!

Well. it's no good idea replace bad solution with dangerous one - every installed jumper is hard shortcut between GND & 5V. The correct "enhancement" is connect pull up resistors between jumper pins & 5V to save full range microsteping selection. See picture.

P.S. The other changes is prepared to use serial connector to connect & control a standard servo at PWM manner.

Zdenek

GBL_CNC_NANO_modified_1.jpgGBL_CNC_NANO_modified.jpg
0
matthieu.lemaitre.1994
matthieu.lemaitre.1994

Reply 2 years ago

what could be the danger of not using resistors?

I'm genuinly curious, because most power board with stepper driver socket only use jumpers like the RAMPS series of cards

0
matthieu.lemaitre.1994
matthieu.lemaitre.1994

Tip 2 years ago

what could be the danger of not using resistors?

I'm genuinly curious, because most power board with stepper driver socket only use jumpers like the RAMPS series of cards