Arduino/GRBL CNC from printer and scanner. Need Help.


  • Metal

    Wondering if anyone can help me out with configuring GRBL to get a crappy little ‘CNC’ working properly. I have cobbled one together out of parts from old printers, a scanner, and a cd-rom drive, and last night was able to get some motion out of all 3 axis. While that was immensely satisfying, I now would like to be able to get somewhat accurate (i use that term loosely) movement out of it.
    The setup is an Arduino Uno, a Protoneer stepper shield with A4988 drivers.
    Using Universal GCode Sender to send manual commands.

    I have tried messing the the GRBL steps/mm setting, but changing the value from 250 to 10 only results in the motor moving slower and more ‘individual steppy’ but still travelling the same distance.

    If anyone has any suggestions I appreciate it. I am hoping to use this machine as my learning curve before investing in bigger, better, faster, stronger equipment. :-)

    TIA.



  • Yes I am sure we can help. Can you bring it over to the makerspace on a hack night? (Any Wednesday from 5pm). On top of my head I know @toxuin @Ron_Ron @Chris @fullmetalbuddha would be able to help. Bring your project, I am sure someone will be interested.


  • 3D

    Bring it over! We’ll figure something out. At least two our machines run GRBL. Would be glad to help!


  • Metal

    @arasbm said:

    be able to help. Bring your project, I am sure some

    I would love to bring the project in but I am in Sicamous. My best hope to actually make it to the space would be on a weekend. :-/

    In between house and yard chores I have made a little progress today. I changed the step/mm values for the axis and am getting closer. I tried changing $0=10 in setting prior to posting initially, and the only result was a slower travel, but same distance traveled. Today I tried messing with the steps per mm setting again, and it actually changed the distance traveled.I think there were some funny things going on with Universal GCode Sender. Quite a few times after changing values I would issue a command like G0 x1 and it would run right to the end of its travel and pin itself there for a second before stopping… Also, in UGS sometimes during the typing of the command I was about to send a seemingly random axis would move just slightly as soon as I pressed a numeric key. I have discovered that I don’t seem to have these issues using the arduino serial monitor.

    Tonight, time permitting I will attempt to export an inkscape drawing to GCode and see how that turns out.


  • Metal

    Happy to report that I was able to get things working well. It may not be 100% accurate, but I am well within ‘close enough’. Changing the step/mm setting for each axis was indeed what needed to be done in the end. Which is exactly what I tried originally. I think the issue was with Universal Gcode sender being a bit glitchy and not applying the changes appropriately immediately. I suppose I should have done a reboot on the arduino immediately after making the changes?
    Anyways, tonight I was able to use Gcode Tools and Inkscape to export a .ngc file and used Universal Gcode Sender to open the file and sent to grbl. Big smiles.

    One thing I’ll mention in case anyone else ends up building a CNC from salvaged printer and scanner steppers. I ended up setting the step/mm for my x axis to 2 (in grbl 0.9 the setting is $100=2) I thought this value was ridiculously low, but actually appears to be pretty accurate when I test it out by drawing a 20mm x 20mm square.


Log in to reply