This is a really good starting place but as someone in the middle of retrofitting a commercial CNC, it's missing _a lot_ as well. My highlights while reading:
- For an Aluminium frame, you could also use solid Aluminium bar or plate. Depending on your location, it might be cheaper/easier to acquire. One benefit is that plate especially can be purchased pre-milled, so you can get it very flat, which is good for things like mounting linear rails, which require high-tolerances from their mounting surfaces.
- Missing from the "Linear guides" section is the varying tolerances and rigidity specifications of the various options. Linear rails can have some crazy high ratings for stiffness (e.g. page 27 of [0]) and high degrees of parallelism and overall precision. Shafts are often unspecified. However a tradeoff here is that linear rails also require high tolerances from the surfaces they're mounting, otherwise they're out of spec and can wear out quicker. It also misses that rails can be quite expensive. I'd also add that though the rails are low-profile, if you want more clearance you can always elevate them.
- Missing from the "Linear actuation" section is how much stuff and expense goes into a proper ballscrew setup. In addition to the ballscrew and nut (which usually have to be purchased pre-assembled together), you also need a fixed support to hold the motor-end of the screw (this keeps the axial load off the motor), a floating support at the opposite end of the screw, some kind of mount to hold the stepper motor concentric with the screw and a coupler to connect the screw to the motor shaft. Ballscrews can also be expensive.
- I'd actually add a whole section for the stepper drivers. 3D printing in particular has led to some interesting options that can be applicable to smaller DIY CNCs. Trinamic stepper drivers for example are able to drive stepper motors silently, even with high current.
- I'd add accuracy to the pros of servos. They're typically limited by the resolution of the attached encoder, which can be obscenely high.
- The controller section is focused on Arduino-based or derived controllers which aren't much seen in much of the DIY CNC community. The most popular options by far are [1] Mach 3 and LinuxCNC/PathPilot. Personally, I really like EdingCNC [2] but it seems to see limited success outside the German-speaking parts of Europe.
- For an Aluminium frame, you could also use solid Aluminium bar or plate. Depending on your location, it might be cheaper/easier to acquire. One benefit is that plate especially can be purchased pre-milled, so you can get it very flat, which is good for things like mounting linear rails, which require high-tolerances from their mounting surfaces.
- Missing from the "Linear guides" section is the varying tolerances and rigidity specifications of the various options. Linear rails can have some crazy high ratings for stiffness (e.g. page 27 of [0]) and high degrees of parallelism and overall precision. Shafts are often unspecified. However a tradeoff here is that linear rails also require high tolerances from the surfaces they're mounting, otherwise they're out of spec and can wear out quicker. It also misses that rails can be quite expensive. I'd also add that though the rails are low-profile, if you want more clearance you can always elevate them.
- Missing from the "Linear actuation" section is how much stuff and expense goes into a proper ballscrew setup. In addition to the ballscrew and nut (which usually have to be purchased pre-assembled together), you also need a fixed support to hold the motor-end of the screw (this keeps the axial load off the motor), a floating support at the opposite end of the screw, some kind of mount to hold the stepper motor concentric with the screw and a coupler to connect the screw to the motor shaft. Ballscrews can also be expensive.
- I'd actually add a whole section for the stepper drivers. 3D printing in particular has led to some interesting options that can be applicable to smaller DIY CNCs. Trinamic stepper drivers for example are able to drive stepper motors silently, even with high current.
- I'd add accuracy to the pros of servos. They're typically limited by the resolution of the attached encoder, which can be obscenely high.
- The controller section is focused on Arduino-based or derived controllers which aren't much seen in much of the DIY CNC community. The most popular options by far are [1] Mach 3 and LinuxCNC/PathPilot. Personally, I really like EdingCNC [2] but it seems to see limited success outside the German-speaking parts of Europe.
[0]: https://www.hiwin.com/pdf/linear_guideways_1.pdf
[1]: https://www.cnccookbook.com/choose-best-cnc-control-2017-cnc...
[2]: https://edingcnc.com/