I’ve been in the MPCNC camp from fairly close to the beginning and used Marlin almost exclusively on numerous machines for years… needle-cutters, laser, pens, etc. All simple, unadorned, CNC stuff for me… no 3d printer functionality needed. I even lent a hand in the development of laser functionality in Marlin… not coding, but running and reporting on tests of different firmware mods, software, boards, etc.
Once I started playing with pens/lasers more than anything else and started looking around at different inexpensive controller boards… I noted that in the “outside world” (the non-MPCNC world) Grbl was the major player for desktop CNC. So I started playing with it more…
When it comes to LASER and basic CNC functionality, I found Grbl ran on very inexpensive Uno/Nano-based controller boards and is very easy to use. And Grbl’s “laser mode” features are especially nice… smooth, uninterrupted, movement of the tool head when engraving and automatic laser power adjustment with feed rate; i.e. no over-burning with acceleration/deceleration of the tool. Check out the “not getting great results” thread to get an idea of the overburn and buffering issues we were dealing with in Marlin at the time. And while Marlin’s advances on the laser front – due to the hard work of many on this very forum – are admirable… Grbl’s “laser mode” had already overcome most of the issues that to my knowledge are still issues in Marlin today.
Another thing – and I’m hardly an expert on this – while similar “laser mode” features may eventually find their way into Marlin, I suspect the underlying way Marlin buffers commands may always be a hindrance. One thing I often do (it’s an old man thing…) is PAUSE/RESUME a job in progress. With Grbl, the action is almost instantaneous… and, with no motion, the laser also turns off. When I’m ready to resume, everything picks right back up where it left off, with no discernible effect on the engraving. With Marlin… interrupting a job has been indeterminant at best… and difficult, if not impossible, to restart.
I realize many first-time machine builders/users need a pretty “canned” and workable solution… and this is where MPCNC shines. For many/most first-timers, Ryan’s design choices and machines – and the support of this community – is second to none. This is definitely the way to go if you are just getting started.
The best advice – having numerous machine builds under my belt – I can give for the rest on us “tinkerers” is… build any machine you want to mechanical completion, including motors. Now take all the bare motor leads in your hand and realize that, at this point, you are completely free to connect and use almost any controller and/or firmware you want to control your machine. So ask yourself what you want to do with it and/or what software chain you might prefer – 3d-print, laser, needle-cutter, milling/routing, etc – and let that guide you in making your choices for what firmware and controller is best for your use case.
My $0.02.
– David