0% found this document useful (0 votes)
641 views16 pages

Step 1: Ways To Identify A Cloned Arduino NANO CNC Shield

This document provides instructions for fixing a cloned Arduino NANO CNC shield that has the microstepping pins incorrectly connected to ground instead of voltage. The summary is: 1. The pins on the cloned shield that should be connected to voltage are instead connected to ground, preventing microstepping from working correctly. 2. The fix involves isolating the affected pins from the ground connection on the shield and reconnecting them to the voltage rail instead using small wires. 3. Once the pins are rerouted to voltage, the microstepping modes can be set properly either through code changes if using GRBL or without code changes if using custom code.

Uploaded by

Barmaley67
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
641 views16 pages

Step 1: Ways To Identify A Cloned Arduino NANO CNC Shield

This document provides instructions for fixing a cloned Arduino NANO CNC shield that has the microstepping pins incorrectly connected to ground instead of voltage. The summary is: 1. The pins on the cloned shield that should be connected to voltage are instead connected to ground, preventing microstepping from working correctly. 2. The fix involves isolating the affected pins from the ground connection on the shield and reconnecting them to the voltage rail instead using small wires. 3. Once the pins are rerouted to voltage, the microstepping modes can be set properly either through code changes if using GRBL or without code changes if using custom code.

Uploaded by

Barmaley67
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

instructables

Fix Cloned Arduino NANO CNC Shield

by Palingenesis

Modifying Clone Keyes CNC Shield. Who ever cloned/made this shield made a mistake and
put the pins that should go to Vcc, to GND.
One the web are Chinese cloned Keyes CNC Shields for
the Arduino NANO. As the pins that set the Micro Step Mode are already
pulled down to GND internally as default, and to change
They are cheep and good value. BUT. there state, they need pulling up to Vcc.

If you want to set Micro Stepping as they are, you can't.

Step 1: Ways to Identify a Cloned Arduino NANO CNC Shield

1. The original Keyes Nano CNC Shield has a dark solder mask. (it looks blackish)

2. there are some print errors. Pins D9 and D10 are incorrectly identi ed. Control is spelt Contr01.

3. Look at the circuit track and see if the pins are connected to GND.

Fix Cloned Arduino NANO CNC Shield: Page 1


Step 2: Isolating Pins Top Side

The rst step to put things right, is to isolate the pins from the GND rail.

This needs doing in Eight places.

First Two are on the top side.

I found, warming the header pins, made it easier to slide o the plastic supports.

Fix Cloned Arduino NANO CNC Shield: Page 2


Step 3: Isolating Pins Bottom Side

The next Six are underneath.

Fix Cloned Arduino NANO CNC Shield: Page 3


Step 4: Check That the Pins Have Been Isolated

After isolating the pins, check that they Are Isolated, using a circuit tester.

Check that they are no longer connected to ground.

Fix Cloned Arduino NANO CNC Shield: Page 4


Step 5: Connect Broken Ground Track

Isolating the pins from the GND track has separated the GND track and need reconnecting in two places.

Solder two pieces of tined copper wire in the place shown.

Step 6: Connecting Pins to Vcc

Now the isolated pins need connecting to the Vcc circuit.

Luckily there are pins connected to this circuit close by to the isolated pins.

Using tined copper wire make solder bridges to these pins as shown.
Fix Cloned Arduino NANO CNC Shield: Page 5
Be sure to keep the tined wire away from the track that runs under the bridge.

Step 7: All Finished

That's it.

The Micro-Step jumper Header Pins should now work as they should.

Fix Cloned Arduino NANO CNC Shield: Page 6


Step 8: GRBL Code

I write my own code when using this board, BUT.

As pointed out by FrancescP2 (in comments), If you are going to use gbrl rmware some changes to the code need
making.

When you download the gbrl-master and unzip the le, in the folder you will nd a folder called grbl, inside that folder
you nd a folder called cpu_map, inside that folder you will nd 2 les, cpu_map_atmega328p.h and
cpu_map_atmega2560.h.

As this shield is for the Arduino NANO, the le that needs changing is: cpu_map_atmega328p.h.

Open the le and you should see as shown (or similar) in the screenshot.

There are 2 ways to do this:

1. Only use cloned shield. If you don't intend to use a shield that is con gured correctly.

Using screenshot as reference:

Line 39, change 2 to 5.

Line 40, change 3 to 6.

Line 41, change 4 to 7.

Line 47, change 5 to 2.

Line 48, change 6 to 3.

Line 49, change 7 to 4.


Fix Cloned Arduino NANO CNC Shield: Page 7
2. If you want to be able to quickly change from one type of shield to the other. (as shown by FrancescP2)

I will do this higher line numbers rst so original line numbers (screenshot) I reference stay same for a time.

Lines 47,48 & 49 need replacing with:

#ifdef KEYS_CLONE
#define X_DIRECTION_BIT 2 // CLONE NANO Digital Pin 2
#define Y_DIRECTION_BIT 3 // CLONE NANO Digital Pin 3
#define Z_DIRECTION_BIT 4 // CLONE NANO Digital Pin 4
#else
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
#endif // KEYS_CLONE

Lines 39, 40 & 41need replacing with:

#ifdef KEYS_CLONE
#define X_STEP_BIT 5 // CLONE NANO Digital Pin 5
#define Y_STEP_BIT 6 // CLONE NANO Digital Pin 6
#define Z_STEP_BIT 7 // CLONE NANO Digital Pin 7
#else
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Y_STEP_BIT 3 // Uno Digital Pin 3
#define Z_STEP_BIT 4 // Uno Digital Pin 4
#endif // KEYS_CLONE

After line 30 insert a variable that can be changed to decide which shied is used?

#define GRBL_PLATFORM "Atmega328p"


#define KEYS_CLONE true

Changing the value of KEYS_CLONE:

true = using clone

false = using correct shield.

(FrancescP2 has given a link to a le he has alterd)

Step 9: Some Pin Changes in Grbl


Fix Cloned Arduino NANO CNC Shield: Page 8
If using the latest version of grbl, check there web site for some pin changes.

Step 10: Take a Photo of Your Work

Lets see how many "I Made It"s on this little instruction we can get.

I am sure there are a lot of these modules sold on the net.

Sign up (If you haven't).


Take a photo of your work.
Click the I Made It button.
Add your photo.
Click Post.

Super! Thank you! Helped a lot!

Thank you for showing.

It ain't pretty, but it works!!! Thanks so much for this. I've been banging my head all over the
internet trying to find out why it wasn't working. I consider myself pretty electronics savvy and this
board made me question life itself, jk. But seriously thanks, this was perfect.

Fix Cloned Arduino NANO CNC Shield: Page 9


Thank you for showing.
It is nice to know it is helping others.
Good luck with your projects.
Hi
so I am a totally new for Arduino, but I have engineering background
I have modified my Cloned Arduino NANO CNC Shield according to the instruction and I have no
intention to use other shield with that Arduino Nano
can you please confirm what change to the code i should do (the first one or the second option ) (
Note. I have tried to replace the CPU map with the file from FrancescP2 but i receive error
message when upload the GRBL )
If you are not going to use any other shield, you are only going to use the Cloned Shield.
Step 8 GRBL Code.
If you have downloaded the latest version of GRBL code, located and opened the file:
cpu_map_atmega328p.h
Find the line with text: #define GRBL_PLATFORM "Atmega328p"
From that line it all should look like the image in Step 8.
line numbers in your file may be different, you will have to adjust for this if they are.
Now follow the 1st way to do it (1. Only use cloned shield).
I refer to line numbers in the image.
After editing, save.
Install as instructed on GRBL site.
thanks Palingenesis
did the cut (all 8 locations) and weld as you can see in the attached photo
did the code change according to step 8 option 1
waiting for testing
appreciate your help

Cool, that looks good on the under side.


Hope all goes well for you with the testing.
It would be nice to see it in the "I made it" when is all done.
thanks for the positive encouragement, love how friendly you are,
guess what
Tested and everything is OK
still need to learn how to convert a photo or PDF drawings into GRBL file
Is it a plotter you are making?
You may want to look at mine.
Tim's XY Plotter
and
The Program I wrote for it.

I also have YouTube channel.

Inkscape is another option for you.


People have done many extensions for it.
I am Working on 2 projects at same time, the first one which i start with to learn about cnc
settings is 1616 spindle desktop CNC with Arduino Nano , by the way do you know how to
connect the relay for the spindle with that shield.
Fix Cloned Arduino NANO CNC Shield: Page 10
the second project is 5.5W laser CNC1000X1000 with arduino uno and CNC shield to use it for
foam board cutting for RC plans

Is it a relay or solid state component like the L298N Dual H Bridge Motor Driver.
I recommend a driver so you can control speed and direction.
Make sure it can take the amps of the motor.
See here: Connecting Grbl grbl/grbl Wiki (github.com)
I think pin 12 = On, 13 = Direction.
Maybe simpler ... don't cut anything...

But people would get confused, Jumpers On = Jumpers Off.


And what happens when you want to use more than 5 volts to drive the stepper motors?
The resistors are connected to + Motors, see route..works well at 12v

Yes that's why I asked.


You now have 12v going to the logic pins of the Stepper Driver which should only
have VCC or VSS going to them, that's 5v or GND from the Arduino.
I am surprised it is still working.
Data sheet say max is 7v, you have probably just blown the gates the these pins and it running
as though all was to ground or floating.
Sorry to translate google ...
You are right....Jumpers On = Jumpers Off
I measured on the logic pins are 10.7v at 12 v power supply and ..... it works, I didn't change
anything on the board .. I read the data sheet at A4988 ... but everything ..OK.
I run a quarter of a step. MS2 to gnd.

Oh well, if you are happy with it. All is well and good.
I'm afraid I would not recommend it though.
Just had a though, perhaps if you connect to the pin shown in step 6, instead of the motor power.
This is VCC, it may also work.
The MS1 and MS3 pins have a 100 kΩ pull-down resistance, and the MS2 pin has a 50 kΩ
So if your resistors are less than 50 kΩ it sould pull them the other way.
Translation with google ... sorry if it is not understood.
All the respect for what you did.
I posted exactly what I did and it works great.
I would like to make additions .... I have stepper nema 17-1.7A
I set volts on A4988 according to calculations (1.36V), I set it to 1.2V .... it creates all kinds of
problems, when I set the A4988 to 0.6 V ... everything is ok.

Vref=8*Imax*Rcs = 8*1.7*0.1=1.36V

Fix Cloned Arduino NANO CNC Shield: Page 11


All I can suggest is what is on Pololu web pages
Pololu - A4988 Stepper Motor Driver Carrier
Pololu - A4988 Stepper Motor Driver Carrier max logic 5.5v
Mulțumesc, dar nu am probleme ...

A happy new year to all ...!


Un an nou fericit pentru tine. Să sperăm că este mai bun decât acesta.

Very nice.

Hi and good job... just to be clear both changes must be done: the hardware one and the
firmware too??? Did you make it work???
Yes, I did both changes and it works. I received my NEMA17 today and configured grbl with
Universal Gcode Platform 2.0. Confirmed. This is the solution to fix the shield.
Thank you for sharing.

Done the fix, wanted to use it in my to be cnc pcb engraver... Now its is an eggbot...

Many thanks to the author of the fix!

In the pm you cant add pictures.

I think that looks good.


Nice job bisky.
Got the pcb's... 2 problems, frst my contry is lock downd so no electronic stores ale open, second
this pcb's are not final design...

They look nice, Bad luck on lock down.


What do you mean "second this pcb's are not final design"
Are they not what you asked for?
The pictures are a little small for me to be sure, but they look good from what I can see.
i ordered the boards i then saw i did not upload the one with new text..

Fix Cloned Arduino NANO CNC Shield: Page 12


Oh dear, yes I see now.
If it is any consolation, I got some text wrong on the first board I had made out.
As long as the circuit is ok. That's what matters.
You could print some tiny stickers "Made by bisky" to stick over STEPPER. :)
Then no one will know. hehe.
Hello Tim, I am relay glad that you are satisfied with my work. I already ordered pcb's, hope I get
them soon. Thanks for your help!

Regards, Bojan
I am glad to help.
Hope all goes to plan and you show your project when it is done.

All the best.


Tim
Thank you for showing.
I see you are powering the servo of the Nano regulator.
There is a little trick I have done when I use this board.
When I am using it say, to drive only two motors and a servo.
I have made a driver that fits in the Y axis socket, that uses a dedicated regulator for the servo.

Nice little thing!


Do You heave the schematics somwhere?
Yes, it's KiCAD though.
https://drive.google.com/open?id=1vA5Oj0zTcAnpDsrQ...
I use it in the middle socket (Y), Y axis is the only one that has two PWM pins.
Servo signal goes to the step pin.
Output for the servo is three of the stepper pins.
Auxiliary (PWM driven 5 volt) is controlled by the direction pin.
Output pins for auxiliary are on the driver.
I use auxiliary for a 5 volt laser.
The diver uses the power to the stepper motor socket, and because it has an L7805, the power
to the steppers must be above 7 (I prefer 8) volt. (8v is the min for the stepper drivers I use any
ways)

If you are to get some made out, you could may be design one with SMD's.

Hello Tim,
As i was doing a second Clone CNC Shield repair I finally find time to complete this servo to
laser. I heave done this in Eagle, witch I use time to time but newer for SMD, this was quite
Fix Cloned Arduino NANO CNC Shield: Page 13
challenging... Also uploaded this to Oshpark

https://oshpark.com/profiles/bisky00

Regards, Bojan

Very nice, I don't have eagle installed (its a shame they don't do an online viewer), so I cant
check it for you, I like it being purple, matches the stepper drivers, cool.
Have you got one made up yet?
A little tip, its easier to solder SMD with solder paste and a heat gun.
Also getting solder paste stencil with the BCB makes life a lot easier.

Also, others asked for more info on the driver, so I have done a blog about it.
Driver to control a servo from the NANO CNC Shield.

If you want to post a link to your board in the comments on my blog, please feel free to do so.
No I did not make one yet. I will upload the schematis in *.bmp, but basicly it is the same as
yours. I think my copel lines are a bit narrow. I will fix ttis and order 3 boards.
Yes if you upload Images of front and back, I will run my eye over them if you would like before
you order them.
Oh I just realized, you could upload a set of Gerber files. (the package you would make for PCB
manufacturer)
This is it, take a look pleas.

It looks to me as if Blue is Top and Red is bottom.


This is not a problem it will still work if you move the screw terminal to the other side (blue).
Don't swap copper over, What it looks like is, as if the board should be flipped over vertically.
That would mean that the 2x 8 header pins would fit the red side.
I would draw two silkscreen rectangles around these to show this (red side).

I think this has happened because the symbols for the Stepper driver in eagle and KiCAD are
flipped vertically.
In hindsight may be I should have just used headers in the circuit diagram, but I wanted to
reference the original use.

As you have chosen screw terminals for the 5 volt aux. My personal preference, is to use header
pins. If the screw terminal pins you have chosen are 2.54mm apart, then you have the option to
use either.
I didn't name the aux. Laser because any 5v device can be plugged in.
I would call it: 5V Aux. But it is your choice. Which ever I would have 5v in there somewhere,
perhaps "5v Laser" "Laser (5v)" "5v Aux/Laser".

Fix Cloned Arduino NANO CNC Shield: Page 14


Edit
Oh forgot to mention.
There is a Remix contest on at the moment.
Perhaps you could write up what you have done as an instruction here on Instructables and enter
the contests.
Feel free to reference my blog.
I have found using Eagle on this site gives anyone a leg up, as the site it is owned by Autodesk.
Thanks for the tips, I will take a look if I can flip the board in eagle. As for the laser and aux you
are right. The contets sounds like a good idea, I will think about this.

Thanks for now.


The picture here may help you check the orientation.
https://1.bp.blogspot.com/-wzFCRyk348w/XzUTRWjJpLI...
4. servo plug signal
5. servo plug power 5v
6. servo plug GND
Don't let the way the headers are fixed confuse you, headers look like that because the PCB is
single sided, I had to solder the side the headers shold go.

My number 6 will be Eagle 3


My number 5 will be Eagle 4
My number 4 will be Eagle 5
My number 3 will be Eagle 6

I hope I am not confusing things.


It currently will work as is, with aux. placed on other side
Please take a look. Red is top, Blue is bottom.

I'm trying to do one in SMT, since i can't use ki-cad I use Eagle Layout. Witch SMT Mossfet
should i use, any suggestions?

The L7805 I used can handle 1.5 amp.


So I used 2N60 MOSFET, these can handle that power. The data sheet shows these SMD (D-
PAK) as well as the type I used.
It all depends what you are going to control with it. Use what ever you need, the MOSFET is
nothing to do with the servo side, it's an extra because there where 2 pins from the NANO that
could be used.
It's just a switch to control any 5 volt device (on/off or PWM) you want to add to your project.

Hi,

I am little confused with the instructions as some of the videos were not loading for me. I hope we
have to do below corrections for Nano based CNC shield(version 4 from China). Please suggest.

Fix Cloned Arduino NANO CNC Shield: Page 15


1. Changing of connections for Step(5,6,7) & Direction pins(2,3,4) for each x,y, & z driver (As
mentioned by matthieu.lemaitre.1994). In your blog it is not mentioned as Hardware change, so
can we do it directly in software without these hardware changes?

2. If we are using jumpers then we need to connect 5V to MS0, MS1 and MS2 pins as suggested
by you in above blog?

Instead of above, can't we directly connect 5V to MS0, MS1 and MS2 pins and remove jumpers
as shown in attached pictures without cutting solder lines??

3. Do we need any resistors between these pins(MS0, MS1 and MS2) and ground?

3. Do we need to reverse the connection of D11 & D12 pins?

Regards,
Kris

Fix Cloned Arduino NANO CNC Shield: Page 16

You might also like