Moded machine, everything was tiny, fixed - new Y axis problem

Skip to “problem” heading below if you don’t care to read allot of words…


A friend really likes my Shapeoko 2 and the ease of which I can make things in Easel - it has been a flawless system for myself. He had an old YooCNC (happens to be a Chinese machine, not that there’s anything wrong with that) which sat in his basement for years and I finally convinced him to get it out, only to find the controller box decided to go swimming at some point. I determined the wiring and stepper motors are all OK, as is the power supply - but the stepper controller board (which had a parallel port interface) was a lost cause of corrosion. So I put in a Arduino Uno and gSheild, just as my Shapeoko 2 has. After getting that loaded/updated with grbl 1.1, and adjusting motor currents, it’s humming along great … I can jog X, Y, Z all in the correct directions in Easel as I set the home position (no stop switches or sensors). Here is a picture of the machine with it’s modified controller:

Problem: When I go to actually carve something in Easel, it works, but the design comes out super small. I will assume that’s because I didn’t take into account the dimensions of the machine, worm gear, or even steps of the motors and Easel is using my Shapeoko 2 settings. I can measure things with digital calipers and a ruler, but I don’t have actual specs (no stickers) on things like the motors, the worm gears, etc. of this YooCNC machine (tried looking online, but I can’t seem to find anything that looks like the same model)

I have looked through the various Shapeoko calibration and squaring the machine wiki articles, but seem to be missing, what I think the fix will be: GRBL settings???

Questions: Bottom line, what is the path of least resistance to make this work, I will admit I’m talking off the top of my head with everything below, and may be making incorrect assumptions (feel free to set me strait), but am really appreciating that allot of the “math” was already done for me when I bought my Shapeoko 2…

  1. All stepper motors on this machine look to be the exact same kind for X, Y, and Z - I have done tests and am fairly confident motors are not over-current and not missing steps. Are there other settings in GRBL I should adjust? even without knowing the exact specs of the motors. I can measure coil resistances with a multimeter if that helps somehow, but don’t know that I have the correct equipment/tooling to measure one step equals how many degrees of rotation, for example - is that even important?

  2. All worm gears attached to the steppers are of the same type/pitch, just different lengths, obviously one step of the motor is a different distance movement than the belt drive or threaded rod on the Shapeoko - so I’m thinking this must be set in GRBL? How do I calculate this, and input a correct setting?

  3. Was I dumb? While this has been a learning experience, my expertise in electronics is certainly not as strong when in comes to steppers and CNC machining - I’m not about to do this again, but was there a simpler/better way to go about this? I’ll entertain everything from “go and buy a X-Carve instead, you’ll spend far less in frustration” to “this isn’t so bad, it can be fixed”

  4. Should I do changes on a separate computer connected to this machine? For example I don’t want to change something in the config that will then skew my Shapeoko 2 which works great. I already created a separate Easel account for this machine, but I’m not sure where machine-specific settings are saved (it is online with Easel? in the Easel local “driver” on the computer? or in the GRBL firmware on the Arduino? - and will Easel online overwrite that?

P.S. I have “Grbl Controller” software and know how to connect it and read the settings with $$ - but I have no clue about inputting all the other values, if that is what needs to be done here.

Thank you for reading my wall of text, hopefully you can help!

I skimmed, but you probably just need to adjust the steps per mm for each axis.
$100, $101, & $102 for X,Y, & Z, respectively.
Jog the machine a known amount (more distance is better) and then measure how far it actually went. Adjust your steps per mm, and repeat until you get it dialed in.


Thanks! OK, now I’ve discovered a new problem - I thought the Y axis was loosing steps, but that’s not quite it, seems that the motor there has a problem. It’s often off by 1/8" whereas the other axis are fine.

If I provide resistance (just pushing the moving part with my finger) while X or Z axis is moving, it just keeps moving, no problem.

But if I provide resistance on the Y axis there is a reoccurring period where it stops moving - perhaps a coil in the motor is bad? or what would cause that?

I’m testing by drawing a 3" square over and over, every time the X axis is short by 1/8"
But… It always returns to home exactly right.

…for some reason I can’t explain, I don’t think fudging the X axis steps/rev is appropriate here - is my thinking sound?

Incase someone else is searching and finds this…
Below are the GRBL settings I found worked well for this YooCNC 3040 (or similar) model…
(I reverse searched and discovered this is the machine from the P/N of the old controller board: NT65-3X which most of the Internet seems to agree is a lousy controller missing a bunch of filtering caps - glad I decided to go the Arduino route instead of an exact replacement for that board)


Other information that might help someone, motors on this machine are…

X/Y/Z Stepper Motor : Stepper Motor 57BYGH41
1.8deg per step
41mm length

Screw Type: Ball screw,Diameter 12mm,screw thread pitch 4mm

4mm in inches = 0.15748

I’m using 2x micro stepping.

I determined the problem with the Y axis not to be the motor, but rather the mating connector / shaft alignment damper that was not securely tightened to the motor shaft.

Machine seems to be working great now!

1 Like