I'm just embarking on my first CNC conversion - a new Warco WM-16 mill. I have been using Ubuntu Linux for a few years now and have not used Windows since discovering Ubuntu. I have experience of programming software in many languages but Python is the one I am most familiar with. When I was a Windows user, my language of choice was VB6.

I have been a maintenance and fabrication engineer for 18 years and have some experience in manual machining but none in CNC. I also have no experience in using CAD packages as we had to use pencils and paper when I was an apprentice! :lol:

My main questions as a newbie are:

1. Assuming that I will use EMC2 as my cnc controller, should I go for a CAD package and then use a g-code generator or would I be better off sketching on paper and then hand writing my g-code?

2. Assuming that CAD is the way forward, which FREE packages are best at the current time? QCAD looks old and reliable but is only 2D...can 3-axis g-code be generated from 2D drawings? Others to consider are HeeksCAD and FreeCAD plus a whole list HERE. As a complete newbie, I won't have the problem of comparing it to AutoCAD or other commercial softwares, however I don't want a steep learning curve either as it is none productive.

My plan is to setup a dedicated CNC control cabinet housing the PSU, stepper drives, breakout board and computer PSU, motherboard, hard drive, etc all in one. I was planning on installing EMC2 on the CNC computer and doing the CAD drawings/g-code on my desktop pc (in comfort!), transferring between the two via usb flash drive. Another option is to install EMC2 and all CAD/g-code tools on a flash drive, then boot from the flash drive.

All advice is welcome, particularly for other Linux users. What I don't particularly want to do is dual boot Windows. I've managed without M$ products for over 3 years so don't want to take a step backwards...