I'm starting to get some experience with my CNC router and quickly learning that there are so many variables due to material, cutting tools, and individual machine capability that there will be quite a lot of trial and error. As with most tools, the only real way to get more proficient with them is to use the tool for an actual project.
I'm still looking for a tool flow that will work well for me. I recently got an RPi4 and I 'm going to try to use that as my workshop computer. I currently use a mishmash of different computers to support my 3D printer, the CNC router, and my development boards and digital oscilloscope. I use a Mac Mini with my 3D printer, a Win10 box with the CNC and another Win10 box for application development and the oscilloscope. An RPi4 with dual monitors seems like just the ticket to consolidating all this stuff.
As for a fabrication workflow, almost everything that I currently use or am considering has a Linux version. The one notable exception is Fusion 360. I haven't invested time learning Fusion 360 yet, so I'm going to postpone that until later. I'll see how well I can do with FreeCad. I'm sure I'll get back to Fusion 360 when my designs get more complex. But even FreeCad has quite a learning curve and for a beginner it would be nice to separate hardware issues from software issues. So, I've decided to start with some simpler programs to get a feel for different cutting tools and material with different machining operations.
I thought I'd start with some simple engraving to get a feel for spindle speed and feed rate for different tools and materials. I found a program called F-Engrave by Scorchworks https://www.scorchworks.com/Fengrave/fengrave.html . It's a pretty basic tool. It does text engraving and v-carving with text and images. I bought 1/4" birch veneer plywood slats from a local crafts store to practice. For simple text I find that I like the look of solid line stick fonts rather than the two line silhouette fonts. I downloaded a set of CAMBam stick fonts to use (the program uses true type fonts). For engraving you need to manage the character spacing and depth based on the tool (cutting bit) that you are using, the program doesn't do any auto-adjusting but it does preview the effect of the settings.
This was a simple exercise but it surfaced a few issues. The most significant one is the surface flatness of what I was engraving. Part of it is the dimensional variation of the plywood, some of it is the flatness of my extruded bed, and a lot of it is due to the warp from clamping soft wood. Secondly, I really don't have any feel for these cutting bits (also that I don't have a great selection to choose from). You can see from the program setup that I'm using a very slow feed rate of 127 mm/min. I'm using a 20 degree v-bit that came with the kit. The 775 spindle motor that I have is rated at 3000-9000 RPM (12V-36V). I'm running it at around 7000 rpm.
Here is my setup in F-Engrave (the spindle speed is set manually in the G-Code header).
Rather than watching the CNC router cutting, I found it more interesting to watch the controller executing the toolpath. For engraving the solid stick font the cutter makes precisely two passes for each segment. The sequencing of the toolpath is pretty neat. The F-Engrave program is written in Python. It would be interesting to look at how it is implemented.
Here is the G-Code running in Candle (GRBL controller):
And the finished output. The cut is rough around the edges. Next try will be to use an endmill instead of the v-bit.
I can see that it is going to take me a few months and a lot of scrap to get somewhat proficient at this.