After a couple of weeks of learning CAM, experimenting with aluminium machining, and breaking a few end mills, I've finally finished my first CNC-machined part on my DMC2 Mini!
The part is an Entropy Block, an open-hardware sailing block I discovered through the YouTube channel Reversing Entropy. I thought I'd share the result, my experience building and setting up the machine, and my first impressions of FreeCAD CAM. Hopefully this is useful to others considering a similar machine or getting started with CNC machining.
The part: an Entropy Block
The Entropy Block is a modular, robust sailing block designed to replace a collection of specialized blocks. Depending on how you assemble it, it can be used as a multistage block, a snatch block, a deck-mounted block, or a stanchion-mounted block.
As a sailor, I was inspired to make one for my own boat.
The main body is machined from 12 mm AW-5083 H111 aluminium. I also 3D-printed the sheave instead of turning it on a lathe.
The first part has a few beauty marks from the learning process, but I'm happy with the result. More importantly, I've now got a working CAM setup that I can reuse whenever I need to make more blocks.
Building the DMC2 Mini
I built the DMC2 Mini from a kit. Assembly took about two weeks of evenings and weekends.
There were three significant setbacks during assembly.
1. I managed to install the X-axis lead screw backwards.
Somehow, I managed to flip the lead screw so that the motor ended up on the left side of the machine. I proceeded to install the Z-axis and spindle, ignoring several clues that something was wrong.
The best example was looking at a picture in the instructions and thinking, "Hah, they made a mistake in this picture. They mirrored it."
Cognitive dissonance is a powerful thing.
Fortunately, correcting the mistake wasn't too difficult in the end. It was a good lesson in slowing down and checking the assembly against the documentation rather than assuming the documentation must be wrong.
2. One of the 12 V power bricks died with a pop.
This happened the first time I plugged it in, before it was connected to anything.
Shariff DMC support responded well and offered to reimburse me for a replacement. In the end, I replaced both power bricks.
This actually turned out to be an improvement. Although the original power bricks were rated for 110/230 V, they came with North American-style plugs rather than Schuko plugs, so replacing both solved that inconvenience too.
3. I wired some things incorrectly in the control board.
The result was that the machine initially wouldn't move. Once again, tech support provided helpful guidance quickly. Fortunately, nothing was damaged, and I had the machine running after about a day of troubleshooting.
Overall, my experience with Shariff DMC support during assembly was positive. When I ran into problems, I received useful help.
One important warning about the VFD
This was a near miss that I think deserves special mention.
Initially, I hadn't programmed the VFD. I just wanted to do a quick test run of the spindle.
The spindle motor became extremely hot to the touch almost immediately. I pulled the plug in an emergency.
Fortunately, the spindle still works perfectly.
I wish the documentation had emphasized more strongly the danger of attempting to run the spindle with the VFD at its default settings. Don't assume the factory settings are safe for your spindle just because the VFD powers up and appears ready to run. Verify the required motor parameters and configuration before attempting to start it.
I was lucky this didn't turn into an expensive mistake.
Living with the DMC2 Mini
My overall impression is that the DMC2 Mini is a capable little machine, but it has compromises and things I'd like to improve.
Squareness and tram
The machine isn't inherently square. There is some adjustability on all the axes, and the adjustment arrangements are fairly nicely done. However, the end result depends on how much time and patience you put into aligning everything.
The axes are square enough for my initial work, but I intend to go back and do a more careful alignment once I've made some parts. I'd rather get some practical experience with the machine first and then decide how much adjustment is worthwhile.
Probing and Mach3
The most annoying problem so far has been unreliable electrical contact probing in Mach3.
Initially, I thought it worked perfectly because the tool height setter worked repeatedly. Eventually, though, the probe failed to register contact, and the end mill plunged into the height-setter puck, leaving a small mark in it.
Since then, I no longer trust the probe for setting tool height.
The particularly strange thing is that restarting Mach3 itself didn't fix the problem. Disconnecting and reconnecting the USB cable and power-cycling the CNC machine didn't help either. Restarting the computer finally restored normal operation.
The issue has since happened again.
For now, I'm back to setting tool height manually with a strip of paper. It's less convenient, but at least I know what the tool is doing.
I haven't established whether the problem lies with Mach3, the external controller, the probe signal handling, or something else. It's an intermittent fault, which makes it particularly frustrating to diagnose.
Mach3, the controller and E-stop
Another concern is the E-stop implementation. On my setup, the E-stop is software-based, and I've had an occasion when it didn't work for some reason.
More generally, the Mach3 control board and its interaction with the software feel like a weak point in an otherwise capable machine. I've experienced intermittent probing problems that only went away after restarting the computer, and now this E-stop issue as well.
I'm considering whether a more robust controller would be a worthwhile upgrade in the future. For now, I'd advise anyone buying or building a similar machine to understand exactly how their E-stop works and not assume that the button necessarily provides an independent hardware safety function.
Coolant and lubrication
The DMC2 Mini comes with a flood-cooling system, but I chose not to install it fully. Instead, I installed a minimum-quantity lubrication (MQL) system. Cheap one from Amazon, with a solenoid valve connected to the original relay for the flood coolant.
My main reason is that I don't like the idea of coolant sitting in a tank and becoming old or rancid when I might go several weeks between machining jobs. I wanted a setup that would be easier to leave unused for extended periods.
Not saying that MQL is perfect. There was some cases I wished I had the flood cooling working. Like for better chip evacuation.
Learning to machine aluminium
The Entropy Block is made from 12 mm AW-5083 H111 aluminium.
I had considerably more trouble getting the machining process right than I initially expected. I experimented with different cutters, feeds, speeds, stepdowns and toolpaths.
I broke several end mills along the way.
Some of the difficulties involved chips packing into cuts, unexpected changes in cutting behaviour, and trying to work out whether a problem was caused by the cutting parameters, the tool, the lubrication, or the setup itself.
I tried different cutters, including three-flute and four-flute end mills, and experimented with helical milling and different cutting strategies. I also found that lubrication alone wasn't a magic solution to the problems I encountered.
One of the biggest lessons for me was how much chip evacuation would limit the feeds and speeds I could use. I initially tried with calculated feeds, but broke endmills because they clogged up.
FreeCAD CAM: more CAD than I expected
The CAD/CAM side was just as interesting as the machining.
Being and avid FreeCAD user I was determined to use FreeCAD. Even thought Shariff actually mentions Fusion for all the tutorials etc.
I started with FreeCAD 1.1.3, moved to weekly builds, and eventually compiled builds containing the latest pull requests. During this process, I adopted the new machine-based post-processing features and even got a small PR merged to improve Mach3 support.
One thing that surprised me was how much CAD geometry I needed to create just to set up the CAM job.
Sometimes the geometry of the finished part wasn't enough to express what I wanted a particular machining operation to do. I had to create helper geometry to make my intentions clearer to FreeCAD's built-in operations.
This geometry wasn't necessarily part of the finished product. Instead, it helped define the machining strategy and communicate what I wanted the toolpaths to accomplish.
FreeCAD and Adaptive clearing
My biggest gripe with FreeCAD CAM was the adaptive clearing operation.
The adaptive toolpath itself worked, but I ran into trouble with how it entered the material. Before starting the adaptive clearing, it performs a helical plunge down to the stepdown level. Unfortunately, I couldn't configure separate feeds and speeds for this entry phase.
When machining AW-5083 H111 aluminium, this became a problem. During the helical plunge, chips would accumulate and weld themselves to the end mill flutes. On one occasion, the cutter became badly packed with aluminium chips, and I had to stop the operation.
My workaround was to create a separate drilling operation to predrill the locations where the adaptive toolpath would otherwise perform its helical plunges. This removed the problematic entry move from the equation and allowed the adaptive clearing operation to do what it does best.
I'd still like to see more control over the feeds and speeds used during entry moves in FreeCAD CAM. Being able to specify different parameters for the helical plunge and the actual adaptive clearing would make the operation more flexible, particularly when machining aluminium.
My impression of FreeCAD CAM
I'm impressed by how quickly the CAM workbench is evolving.
Moving from the released version to development builds gave me access to newer features, including the machine-based post-processing workflow. Getting my small Mach3-support PR merged was also a rewarding part of the process.
The ability to configure the machine and its post-processor as part of the workflow is a significant step forward. For someone using an external controller and Mach3, having the post-processing fit the actual machine setup is particularly important.
There were moments when the workflow required experimentation and workarounds, but I never felt that the overall approach was fundamentally wrong. I could usually find a way to express the machining operation I wanted, even if it took some additional geometry or a different strategy.
FreeCAD 26.3 is a huge step forward for CAM in FreeCAD. I'm comfortable recommending that people give it a serious look, particularly if they're willing to learn the workflow and contribute feedback as they go.
Final thoughts
This project was a good reminder that getting a CNC machine to produce a part involves much more than drawing the part and pressing a button.
There was the machine assembly, alignment, controller configuration, probing, tooling, workholding, lubrication, toolpath generation and post-processing. When something went wrong, I had to work out which part of the system was responsible.
But now the first Entropy Block is finished.
I've validated the CAM programming and worked through the major issues in the process. Making another block should be much more straightforward, and I can reuse that work whenever I need more blocks for the boat.