This is the first of, hopefully, many postings about CNC, grblHAL, electronics and software.
I spent 35 years in the software industry as a developer, manager and architect. As such, I know a little about a lot of things.
I've been interested in CNC machines for a long time. Dating back to the late 90s when I tried to build a CNC router based on blackpipe, angle iron and skate bearings. It sort of worked but was more discouraging than anything else. It took until 2010s when the availability of quality components at reasonable prices allowed people of modest means to acquire uable machines.
This gave rise to several open source efforts - LinuxCNC and Grbl. Both of which made motion controller software available without having to mortgage the house. Yes, it was (still is?) a bit rough but it worked and allowed some pretty sophisticated things to be made on CNC machines.
Grbl intrigued me. Running on, frankly, a pathetically tiny and slow processor, it did some amazing things. Though not without a boatload of compromises. Yet, it was a lot more than the "talking dog" (doesn't matter what it says, it's talking!). Amazing things were being done with Grbl. And it could be run on off the shelf hardware. I don't know if anyone tracks the number of Grbl machines out there but I would be surprised if it's not in the 100s of thousands of machines or more.
Having come from a software background, I knew that more powerful processors for almost no higher cost were available. I was amazed that the Grbl developers were not actively pushing it onto 32 bit ARM processors. Significantly higher clock rates, vastly larger code and data space and things like floating point hardware (for the non-techies - that's faster, bigger and cooler) were there for the coding. The Grbl team seemed to not be willing to make the move.
A number of developers outside the Grbl project started various ports for specific microcontrollers. A lot of them were fairly well done but none of them focused on making Grbl portable to a number of different processors. For the most part they were one release and done. Except for one - grblHAL. It was designed with a fundamentally important concept in mind - abstracting the core mechanisms from the actual hardware by creating something called a Hardware Abstraction Layer (the HAL in grblHAL). I've written on the benefits of this elsewhere so won't repeat it but it changed everything.
Today we have a maturing code base that runs on 13 different processors and drives mills, routers, laser cutters/engravers and lathes. It Is highly configurable, supports more than 3 axes, has "big iron" features like Ethernet connectivity, canned cycles, M and G codes well beyond "Grbl Classic". The cost of these microcontrollers? The cheapest is about $3 and the most expensive is less than $30. Oddly enough, that is about the same price range as the old Arduinos! Compare this to commercial motion controllers that cost 10X or more. The opportunity is palpable.
So, you ask, why isn't there a stampede to grblHAL? Well, it is still a bit early and there aren't very many easy ways to start using it. That is changing with the availability of grblHAL breakout boards that make it easy. I have created one that is available and know of at least one more being readied. It's a potentially broad market, maybe you have the desire to design one...
The stage is set. The curtain is rising. Hello world!