Migrating CNC shield V3 to CNC shield v4


I have created a cnc lathe drived by an arduino and cnc shield v3, I'm using two NEMA23 motors

I want to migrate my shield to CNC shield V4 to have GRBL 1.1

Is the cnc shield V4 will drive my NEMA23 motors

Thank you for help and advices


NEMA23 is a specificatiion of the mechanical measurements for the motor fittiing. Connect any NEMA motor You like. That has nothing to with the compatibility with GRBL.
Check the board for GRBL compatibility.

Hello Railroader,
thank you for your answer
cnc shield v4 accept grbl 1.1, i have loaded it
So for you I just replace the old arduino + shield v3 by v4 , plug the old motors and it is OK ?

Thank you

That soynds goid, v4 iscimoatible with GRBL 1.1.
Make check, what differs between v3 and v4, if You can.
It sounds like the new rigg is okey.

From what I see the biggest differences between the 2 shields is that the V4 has a Nano on the board and there are only 3 stepper drivers. The drivers are still A4988 or DRV8825, so if the drivers on the V3 operated the steppers, the V4 should as well.

Thank you for answers
I have tried to plug the new arduino + shield , replacing the shield v3
initialization seems ok, grbl 1.1 (with universal gcode sender)
but motors dont move ... :confused:

if you have an idea..

thank you

What did you do to test the grbl installation? Grbl can start in an alarm condition. You will need to clear the alarm before proceeding. What gcode sender are you using?

To find out if it is the motors or if it is grbl causing the problem, upload and run this simple test code.

const byte xdirPin = 5;
const byte xstepPin = 2;
const byte ydirPin = 6;
const byte ystepPin = 3;
const byte zdirPin = 7;
const byte zstepPin = 4;
const byte enablePin = 8;

byte ledPin = 13;

void setup()

   Serial.println("Starting Stepper Demo with millis()");

   pinMode(xdirPin, OUTPUT);
   pinMode(xstepPin, OUTPUT);
   pinMode(ydirPin, OUTPUT);
   pinMode(ystepPin, OUTPUT);
   pinMode(zdirPin, OUTPUT);
   pinMode(zstepPin, OUTPUT);
   pinMode(ledPin, OUTPUT);
   pinMode(enablePin, OUTPUT);
   digitalWrite(enablePin, LOW);

void loop()
   tone(xstepPin, 1000, 3000);
   tone(ystepPin, 1000, 3000);
   tone(zstepPin, 1000, 3000);
   digitalWrite(xdirPin, !digitalRead(xdirPin));
   digitalWrite(ydirPin, !digitalRead(ydirPin));
   digitalWrite(zdirPin, !digitalRead(zdirPin));

The three motors should rotate one after another.

Do You have any simple code, old code, test code that runs the motors directly? That could verify the function of the board and the motors.

Thank you for answers,
I've make some tests, I'm using Universalgcode sender for just moving X+ or X-
The motor is vibrating but not moving correctly

I saw that the possible problem was the voltage : cnc V4 accept only 12V but my old V3 was 24V
I dont want to do some extra wire on the board the board

so i will do other tests to reduce speed

I looked at the video. At the time 02:00 and on that guy is explaining how to use more than 12 volt.
The plug he points at I want to call "the barrel plug". It surely goes to a tiny 5 volt regulator feeding the controller, and optionally the stepper drivers.
Look closely! You will find out how to use "the old 24 volt" power!