Step 1: Ways To Identify A Cloned Arduino NANO CNC Shield
Step 1: Ways To Identify A 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.
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.
The rst step to put things right, is to isolate the pins from the GND rail.
I found, warming the header pins, made it easier to slide o the plastic supports.
After isolating the pins, check that they Are Isolated, using a circuit tester.
Isolating the pins from the GND track has separated the GND track and need reconnecting in two places.
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.
That's it.
The Micro-Step jumper Header Pins should now work as they should.
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.
1. Only use cloned shield. If you don't intend to use a shield that is con gured correctly.
I will do this higher line numbers rst so original line numbers (screenshot) I reference stay same for a time.
#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
#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?
Lets see how many "I Made It"s on this little instruction we can get.
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.
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...
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
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...
Regards, Bojan
I am glad to help.
Hope all goes to plan and you show your project when it is done.
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.
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".
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?
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.
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?
Regards,
Kris