Newbie Arduino GRBL VS LinuxCNC


Page 1 of 5 1234 ... LastLast
Results 1 to 12 of 58

Thread: Arduino GRBL VS LinuxCNC

  1. #1
    Registered
    Join Date
    Feb 2015
    Posts
    2
    Downloads
    0
    Uploads
    0

    Default Arduino GRBL VS LinuxCNC

    Hello everybody,
    I'm working on a homebuild cnc machine.
    I used linuxcnc to move my step motor and all is fine.
    Now i read about Arduno GRBL.
    I don't understand why I need an Arduino to do the job of a parport PC.
    There is any reason for that?
    Is it only a CAF (Complicazione Affari Semplici = Simple Job Complication)?
    Need your opinion.

    Similar Threads:


  2. #2
    Registered
    Join Date
    Mar 2004
    Location
    Wisconsin
    Posts
    349
    Downloads
    18
    Uploads
    1

    Default Re: Arduino GRBL VS LinuxCNC

    Well, I have an opinion.....

    First, Linux CNC is no lightweight. It will do whatever it is you want to do, with the only limitations being your ability to be a "programmer" or the size of your wallet regards using 3rd party hardware cards when and where necessary. You do not need to really be a programmerProgrammer for the basic things... you only need to know how to properly insert code to various configuration files. Deeper things, like that of a function or feature that you really need that does not exist.... well then you really do need advanced programming skills.

    If you use it now, and it is "fine", then I am not sure what you would gain with the GRBL world.

    But here is what I see different in that GRBL world.... GRBL was the beginning of the small embedded dream and it is a little behind the curve. Newer adaptations of the concepts of GRBL would be TinyG and Smoothie developments. Both seem far more advanced than GRBL. I know that at least with TinyG, it would be hard to argue against their incredibly smooth motion planning.... I believe few hobby level controls have anything near it right now (research 2nd Jerk verses 3rd Jerk accelerations).

    But, while the motion seems to be excellent, I feel the interfaces might still be lagging for conventional CNC work. regards TinyG, they have an interface called Chilipepper which is browser based. That part is fine, but it REQUIRES you to be connected to the INTERNET for it to actually work (uses all necessary libraries from the web). While this might be a really nice open source "lets all share" everything environment, its not going to fly for anyone who wants an ounce of privacy or has proprietary jobs to run because frankly, you have NO control over protecting your job files. Then there is TgFX. This looks to be the best local interface option, but I have been reading about a few bugs. It's all pretty new yet, so I'd expect that.

    The motion and the interfaces really came out of the 3d printing world. Most of the 3d print guys have not come from a world of "stock removal" type work, so it would take some time for this to evolve into what we are used to. It would seem that if you are a really good programmer, you could make your own interface(s).

    The next thing I see is that something like TinyG is really best suited for smaller desktop environments..... according to their documentation, 2.5 amp is the most reliable. You can push things to 3 amp with the built in drivers, but I'm not one to want to push it and risk downtime. Of course both GRBL and TinyG allow connection to 3rd party motor drivers, so I guess the sky is the limit.


    So, Linux or GRBL ? I'd stick with linuxcnc.....
    Linux over TinyG (for the right sized machine)?..... I think I would jump into TinyG.
    Linuxcnc over what I have been using since 1997 (Flashcut)?.... Flashcut !

    Yes, Flashcut costs more money..... but for me, LinuxCNC is still missing some very basic things I have been using for well over a decade. I do not want to go backwards and make things harder.

    Chris L


  3. #3
    Gold Member
    Join Date
    May 2005
    Location
    USA
    Posts
    3430
    Downloads
    0
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Quote Originally Posted by valmar View Post
    Hello everybody,
    I'm working on a homebuild cnc machine.
    I used linuxcnc to move my step motor and all is fine.
    Excellent.
    Now i read about Arduno GRBL.
    I don't understand why I need an Arduino to do the job of a parport PC.
    If you have LINUXCNC running you don't need GRBL and an Arduino at all.
    There is any reason for that?
    GRBL is just another solution for running a machine by processing G-Code.
    Is it only a CAF (Complicazione Affari Semplici = Simple Job Complication)?
    Not really, look at it as an alternative. That is a GRBL based system provides an alternative way to process G-Code and drive the machine.
    Need your opinion.
    Additional information follows:
    1. Perhaps the most important aspect here is that GRBL is performance limited due to the processing capability of an Arduino.
    2. Due to the limited capabilities of the Arduino, GRBL implements a very limited subset of the G-Code language. This means that some functions do not exist in GrBL implementations. The good news is the authors of GRBL track the functionality of LinuxCNC as much as possible.
    3. LinuxCNC is big and complex, this requires big iron (relative to Arduino) but on the other hand performs much better.
    4. With LinuxCNC. if you dont have a parallel port (laptops and new hardware) you have to buy extra hardware anyways. at that point it makes sense to evaluate boards like GRBL based Arduinos and even more so some of the ARM based solutions that are happening. The approach with these GRBL based or derived cards, though is different in that the actual G-Code pricessing is handled by the card.
    5. The fact that the G-Code is processed on the Arduino means that you can run a user interface on another extremely low cost card. In this regard a complete CNC system could be built from an Arduino and something like a Raspberry Pi. In other words a dirt cheap stand alone CNC controller can be had.
    6. In a nut shell GRBL based hardware is an alternative way to process G-Code. Beyond that there isn't much in the way that LINUXCNC and GRBL intersect. Think of GRBL as a very light implementation of a G-Code processor that just barely fits on the Arduino chip.




  4. #4
    Gold Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1651
    Downloads
    1
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    I have been using LinuxCNC for my milling machine and have also been following GRBL for quite some time. I am actually going to be building a CNC controlled XY table (2 axis only) and will be using GRBL with it. Having said that, here are some of the pro and cons I see

    1 - With GRBL, the Arduino is controlling the machine and is doing one and only one thing. It is only controlling the machine. It is not running a complete operating system, background programs, etc. There is nothing to distract it from doing its one and only task. This is a plus for GRBL in my opinion over LinuxCNC over parallel port.

    2 - Linuxcnc is a full featured CNC controller. GRBL has a limited set of G-code commands available. Many of the canned cycles available in LinuxCNC are not available in GRBL. However, since canned cycles are basically just macros of the the more basic commands, if using a CAM program it is possible to set the CAM postporcessor up to only use the common commands. I believe some of the CAM programs out there come with a GRBL post, and there are some GRBL posts available for others. Or you can make your own post. In this regard, due to this complexity, LinuxCNC wins

    3 - There are GRBL GUI's that can reside on a PC, MAC, Linux box, Raspberry Pi, etc. These GUI's communicate with the GRBL Arduino via USB, with the Arduino handling all of the real time stuff. So, You can use any old laptop with a USB to control a GRBL. With LinuxCNC, it is somewhat hardware picky as some hardware and hardware combinations don't work well in regard to real time performance. I have my machine currently set up with an old desktop that runs well, but I still occasionally get realtime warnings and very rarely realtime hangs. Being able to use my favorite laptop, that I can't use with LinuxCNC, to communicate with GRBL sounds like winner to me. GRBL wins this one.

    4 - GRBL has a limited step rate available. It seems that it is plenty high enough for my needs, but maybe not for some. LinuxCNC, with the right hardware, can outperform GRBL in this regard. LinuxCNC wins here if you need uber high stepping rates.

    5 - With LinuxCNC, I have a desktop computer dedicated to running my mill. If I create a G-code program, whether it be hand programmed or by CAM, I have to put the program on a USB stick and take it to the Milling machine computer and load it up. I then either have to make any edits at the machine, or go back to my other computer, then back to the mill, then back to the other computer, then back to the mill.... With GRBL, the computer I do CAM on can be used to run the GRBL GUI. With LinuxCNC I just don't feel comfortable loading any unnecessary software on the LinuxCNC computer.

    6 - The real GRBL is only 3-axis. This isn't a problem if you only ever intend to run a 3-axis machine, but if you want a 4-axis or 5-axis you would have to use a GRBL offshoot like TinyG which is a hardware and software combo, or use one of the other GRBL offshoots that allows more axes on "standard" arduino hardware. LinuxCNC has this capability already and if you need more you just add another parallel port card and you can have more. LinuxCNC wins this one

    7 - GRBL can be set up to run in a "headless" manner. That is, you add a SD card reader add-on to the Arduino, and you can set it up so that if you stick a SD card that contains a G-code program, it can run it without the need for a gui, an external computer, etc. This is something not possible with LinuxCNC.

    8 - An arduino is a single board and very few on-board components. Compared to a desktop computer that has about a gazillion components. I feel this will make the Arduino nore reliable in the long run to a PC

    9 - setting up a GRBL system is cheaper. Nowadays, we all have laptops, so having to buy a whole PC just to run a machine is an added cost. Add in the monitor, keyboard, etc., and it can add up. There are things common to each, like the motors and motor drivers, but the LinuxCNC box also needs a breakout board, and you can actually get the GRBL for less than the cost of just the breakout board. I just bought an off-brand Arduino nano and a screw terminal add-on board for a total of about $7 shipped to my door. That is lesss than even a cheapo beakout board.

    Having said all that, GRBL appeals to me for these main reasons:

    1 - GRBL is uber-inexpensive
    2 - GRBL is ONLY controlling the machine itself.
    3 - The GRBL GUI interface can reside on my laptop with all my other stuff.

    Also, I have a plan for the missing features of GRBL (canned cycles). I am going to write a program that takes a g-code file with canned cycles and converts it into the basic commands only. The canned cycles are really just macros of the basic commands, so this should not be too hard. Just have to find the time to write it. Since many of the GUI's are open source, it should be possible to integrate this into the GUI itself too. I don't know if I am up to that task, but am going to try.

    In the end it is up to each user to weigh the benefits and drawbacks of a particular control method and choose from there.

    Good luck



  5. #5
    Registered
    Join Date
    Mar 2004
    Location
    Wisconsin
    Posts
    349
    Downloads
    18
    Uploads
    1

    Default Re: Arduino GRBL VS LinuxCNC

    Regards #4 above, I believe from everything I have read and seen in video, TinyG's motion profiles will currently blow the doors off of any LinuxCNC or GRBL installation.

    Regards #5 above, out of the box, any install of LinuxCNC seems to include effortless networking to windows boxes, so I'm not sure why one would not use it... I have ZERO use for any "controller" that is not on the network at this point in time...... it's 2015 ! If you can not make a control play well when on a network your just doing it wrong.

    I'm curious, why would one really consider GRBL over TinyG ? All the reading I have done puts TinyG's motion profile development far more advanced than current GRBL releases (or Lcnc).

    Chris L


  6. #6
    Gold Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1651
    Downloads
    1
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Also,

    One of the previous posters mentioned the TinyG web based GUI and the TgFX GUI as being lacking. I won't comment on that specifically, but I will say that the original post was in regard to GRBL. TinyG IS NOT GRBL. It is an offshoot of GRBL but it is not GRBL per se. There are a great many GUI's available for GRBL. IMO, some of these rival many of the LinuxCNC GUI's for CNC use. For example The "Universal G-code Sender" gui has the basics including a backplotter.





    There is also "GRBL Panel



    One other benefit that doesn't really apply to me, but many of the GUI's are cross-platform type programs, so MAC users can plug in their macbooks to control their machines.



  7. #7
    Gold Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1651
    Downloads
    1
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Quote Originally Posted by datac View Post

    I'm curious, why would one really consider GRBL over TinyG ? All the reading I have done puts TinyG's motion profile development far more advanced than current GRBL releases (or Lcnc).
    in regard to this, $7 enough said. TinyG is hardware specific and is $129.

    Quote Originally Posted by datac View Post
    Regards #5 above, out of the box, any install of LinuxCNC seems to include effortless networking to windows boxes, so I'm not sure why one would not use it... I have ZERO use for any "controller" that is not on the network at this point in time...... it's 2015 ! If you can not make a control play well when on a network your just doing it wrong.
    I have experience realtime errors on LinuxCNC and as such I have disabled all unnecessary overhead including WIFI and networking. To each his own, but I want a controller to just control the machine.

    In regard to TinyG's super advanced motion control. I simply don't need that level of advancement. I am a hobbyist. Even the OLD versions of LinuxCNC (when it was called EMC), running on a obsolete PC works well enough for me except for the occasional realtime snafus. If I were in this for making money, I wouldn't consider any of them, and would go with a production machine, or a if a smaller scale, a flashcut system and bypass LinuxCNC, GRBL, MACH, etc.



  8. #8
    Gold Member daniellyall's Avatar
    Join Date
    Sep 2009
    Location
    New Zealand
    Posts
    1814
    Downloads
    3
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    its one of the thing that a catch 22 if you only wont bask functions they all will do it, if you wont higher functions not all will do it so its picking the one that will do what you wont and that's that.

    then there`s cost it can go from $10 to $100,000

    so stick with what you got working if it does what you wont

    Arduino GRBL VS LinuxCNC

    Being Disabled is OK CNC is For fuN


  9. #9
    Gold Member
    Join Date
    May 2005
    Location
    USA
    Posts
    3430
    Downloads
    0
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    For those not aware GRBL had a major new release about two months ago. They are now refactoring the code, I would I,shine to remove cruft to add features. I don't think higher step rates are possible on Arduinos.

    To get around this people are working on porting GRBL to ARM M4 based hardware which should be significantly faster. If you are adventurist looking towards M4 based controllers should provide a lot of growth in capability.

    Quote Originally Posted by 109jb View Post
    in regard to this, $7 enough said. TinyG is hardware specific and is $129.



    I have experience realtime errors on LinuxCNC and as such I have disabled all unnecessary overhead including WIFI and networking. To each his own, but I want a controller to just control the machine.

    In regard to TinyG's super advanced motion control. I simply don't need that level of advancement. I am a hobbyist. Even the OLD versions of LinuxCNC (when it was called EMC), running on a obsolete PC works well enough for me except for the occasional realtime snafus. If I were in this for making money, I wouldn't consider any of them, and would go with a production machine, or a if a smaller scale, a flashcut system and bypass LinuxCNC, GRBL, MACH, etc.
    The hunt for boards that work well with LINUXCNC is an ongoing issue. I'm not even sure what the "it" board is now.



  10. #10
    Registered
    Join Date
    Jan 2008
    Location
    Australia
    Posts
    928
    Downloads
    1
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Mesanet boards work great with LinuxCNC and are used in plenty of production machines. $89 gets you going if you already use a parallel port BOB. $200 gets you a full setup with 5 axis BOB with 48 IO plus spindle control etc.

    7xCNC.com - CNC info for the minilathe (7x10, 7x12, 7x14, 7x16)


  11. #11
    Gold Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1651
    Downloads
    1
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Been doing some more research in regard to GRBL, interfaces, and g-code control of the same. I have found that there are indeed a couple CAM postprocessors available that work with the GRBL. One is for HSMExpress which is a tinyG postprocessor. Even though it is for tinyG, it should work the same for GRBL because both GRBL and tinyG use the same set of available machine codes. The other is a GRBL post for CamBam. As before this post should also work for tinyG. So, this would take care of the lack of canned cycles in GRBL and tinyG as the postprocessors would make the machine code using only the available commands. Unfortunately, I don't have either CamBam or HSMExpress due to limited funds. Right now I use pyCAM which works well for making code for LinuxCNC, albeit slowly.

    I have decided to go ahead and dive in and convert my G0704 milling machine over from LinuxCNC to GRBL, at least as an experiment to see how it performs. GRBL can operate at 30kHz, so I should be able to get a stepping rate sufficient to give me 200 IPM, which is plenty fast for my little mill. I may even try turning the microstepping rate down and see if I can run it even faster. I will create a different thread to show my results once I am at that point, showing either success or failure. I can always revert back to the LinuxCNC box if I need to.


    As others have said, GRBL, TinyG, LinuxCNC, Mach3/4,and a host of others, are all different ways to control a machine and each works. Each one has a list of benefits, and drawbacks. It is just a matter of deciding for yourself which one will accomplish what you want to do. Sometimes that can be confusing when considering all of the features and ramification each system has.

    Good luck with your decision.

    John B.



  12. #12
    Registered
    Join Date
    Feb 2015
    Posts
    2
    Downloads
    0
    Uploads
    0

    Default Re: Arduino GRBL VS LinuxCNC

    Thanks everybody for your answers. Now I have a clearer idea of what is GRBL and LCNC.

    Quote Originally Posted by 109jb View Post
    I have decided to go ahead and dive in and convert my G0704 milling machine over from LinuxCNC to GRBL, at least as an experiment to see how it performs. GRBL can operate at 30kHz,
    Have you ever thought to use an Arduino DUE?
    The Arduino Due is a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU (datasheet). It is the first Arduino board based on a 32-bit ARM core microcontroller. It has 54 digital input/output pins (of which 12 can be used as PWM outputs), 12 analog inputs, 4 UARTs (hardware serial ports), a 84 MHz clock, an USB OTG capable connection, 2 DAC (digital to analog), 2 TWI, a power jack, an SPI header, a JTAG header, a reset button and an erase button.
    I don't know if GRBL can be run on an Arduino DUE but it would be very interesting.
    By now, I'm doing hardware cleaning, and I'm drowing down an electric circuit schematic because I haven't it.
    Later, I'll make a LCNC machine to control stepper motors and an Arduino custom to control security switch.
    Maybe later I'll start with GRBL.



Page 1 of 5 1234 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Arduino GRBL VS LinuxCNC

Arduino GRBL VS LinuxCNC