Things to consider while buying small CNC machine - Page 1
Forum section: electronics / beginners

author: sairfan1
author_rank: Frequent Contributor
timestamp: June 19, 2017, 10:21:29 pm
content: Hi,There are a lot of models available from China (aliexpress) for small CNC machines (2020, 3020 etc). Being a hobbyist we mostly thing to do with these machines are PCB engraving, and cutting wood, PCB, aclyric etc.These machines mostly support g-code or some other formats, whereas I found cloest format gerber on my PCB software (Diptrace) I want to know which formats support we should look for when buying such machines for cutting/evgraving purpose. And also which software is suitable for cutting only.thanks.

author: Smokey
author_rank: Super Contributor
timestamp: June 20, 2017, 12:48:05 am
content: One thing to be heads up on with the table top routers is how the controller connects to the PC. The cheap ones are all parallel port. So if you don't have a parallel port you can't run the thing until you get a real parallel port some how. USB to parallel adapters typically don't work... and some sellers are pretty deceptive by including a USB to parallel adapter and Claiming it connects to USB even though that doesn't work.

author: endevor100
author_rank: Contributor
timestamp: June 20, 2017, 02:16:36 am
content: You can do you modeling and CAM in Fusion 360 with their free hobbyist licence. You can then use the included post processor to generate the G-code for your specific CNC machine. Even their commercial licences are pretty reasonable.Keep in mind that everything you cut away from your stock has to go somewhere. Dust and chips can be a real problem, especially if you're trying to use this at home.

author: ggchab
author_rank: Frequent Contributor
timestamp: June 20, 2017, 05:42:16 am
content: I am using CamBam. It's simple to learn and not very expensive. Certainly not the most powerful software but for the simple things I am doing, it's perfect.

author: sairfan1
author_rank: Frequent Contributor
timestamp: June 20, 2017, 06:40:59 pm
content: "Considering USB connectivity and cleaning issues while using at home" are really big issues that i did not thought about.But I'm still looking for some workable solution for PCB engraving as most of the machines supports g-code and some other software, does anyone has gone through this situation?

author: rx8pilot
author_rank: Super Contributor
timestamp: June 20, 2017, 07:01:30 pm
content: What do you want this machine to accomplish? One of the most critical things to do is develop appropriate expectations about what you will be able to accomplish with the machine you choose. In my early days of machining, I purchased some low-end tools thinking 'this is all I need for now....' All those tools did was consume time, break tools, and make marginal parts.

author: john_c
author_rank: Contributor
timestamp: June 20, 2017, 07:22:22 pm
content: A CH382L parallel port card can solve the interface problem for you if you've got a computer with a PCI-e slot available. They only cost about $20. There are other chipsets, but that's the only native pci express chipset that works well with Linux in addition to Windows.I didn't know Fusion 360 had a hobbyist license. That route sounds pretty good!If you're interested in building a shop-ready computer with parallel port, I can tell you about my experience with some boards and cases that are available now.Are there actually better CNC controllers available using ethernet or something else, other than parallel?Quote from: rx8pilot on June 20, 2017, 07:01:30 pmGood question.

author: janoc
author_rank: Super Contributor
timestamp: June 20, 2017, 08:26:22 pm
content: Quote from: john_c on June 20, 2017, 07:22:22 pmPlenty. Hint - look at the 3D printer market. From the dirt cheap (and not great) Arduino-based RAMPS boards to something like a Smoothieboard:http://smoothieware.org/smoothieboardThere are plenty of these things around. All of them run the G-code interpreter, in most cases you wouldn't even have to modify it for milling. All of these work either from an SD card or through USB. There are some that support a wifi module too. Otherwise you could always use something like Raspberry Pi to run the interface software to it - it works, because unlike the parallel port based systems the Pi is not bitbanging the stepper signals, the controller board handles that - way more reliable.If you decide to go this way and replace the stock parallel port controller on a small mill, I would keep the motor drivers and only feed them with the control signals from new control board - the stepper drivers on these boards may not be up to the task if your mill has large motors. However, most should be able to handle the most common Nema 17 and Nema 23 motors even directly.

author: jmelson
author_rank: Super Contributor
timestamp: June 20, 2017, 10:25:13 pm
content: Quote from: janoc on June 20, 2017, 08:26:22 pm

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 20, 2017, 10:45:27 pm
content: I'd highly recommend one of the small standalone Chinese CNC controllers - just turn on & go with no messing about with PCs, parallel ports etc.I've tried these twoSMC4http://www.ebay.co.uk/itm/50KHZ-CNC-4-Axis-Offline-Motion-Carving-Engraving-Machine-Controller-System-SMC4-/292125965812?hash=item4404107df4:g:N~YAAOSwHsRYEHoZDDCSV1.1http://www.ebay.co.uk/itm/4-Axis-CNC-Controller-Offline-Stand-Alone-DDCSV1-1-500Khz-G-Code-Replace-MACH3-/122386044140?hash=item1c7ec6d4ec:g:Aj4AAOSw4A5YvhbTBoth have good & bad points, currently using the second and preferring it slightly due to USB vs. MicroSD and MPG support, but both are very useable.Also just got one of these out of curiosity, not done more than power it up so far, but UI doesn't look promisinghttp://www.ebay.co.uk/itm/ECO-4-Axis-CNC-controller-Stand-Alone-Servo-Stepper-USB-Spindle-G-Code-MPG-/122500512206?hash=item1c859979ce:g:EMIAAOSw-K9ZG-2~

author: rstofer
author_rank: Super Contributor
timestamp: June 20, 2017, 10:52:38 pm
content: I wanted to build my entire CNC controller inside a PC tower. That means I had to use one of those very small PCs with a Mini-ATX form factor from LogicSupply.com. The model I bought doesn't seem to be available any longer. Anyway, it runs Win 7.So, having no parallel port (or perhaps just one if I pulled a flat cable out the back of the PC, I decided to use the SmoothStepper - specifically the Ethernet version. This board breaks out 3 parallel ports and works very well with Mach3.https://warp9td.com/index.php/productsI put the stepper power supply on the bottom of the case and the 3 stepper drivers and the SmoothStepper on a plate and mounted it to the motherboard standoffs. I added some low voltage power supplies for the PC, SmoothStepper, and a Start/Stop relay scheme (very industrial looking).An entry level version of AutoCad is used to create the geometry, CamBam is used to convert the geometry to machining Gcode, Mach3 is the program interpreting the Gcode, Smoothstepper is just controlling the motors and providing IO for other functions.This is all connected to a small Grizzly G0704http://www.grizzly.com/products/Drill-Mill-with-Stand/G0704?utm_campaign=zPage&utm_source=grizzly.comI use the exact same controller on a small router system. I just reduce the stepper current settings.I added a photo - on the right is the Mini-ATX on a hinged panel. At the bottom is the 48 VDC power supply and above is the SmoothStepper. Above that is the relay for power and 3 small DIN style power supplies. On the far right, buried behind part of the cabinet are the 3 stepper drivers.

author: john_c
author_rank: Contributor
timestamp: June 20, 2017, 11:05:52 pm
content: Are there disadvantages to using a standalone controller, compared to running Mach3?

author: rstofer
author_rank: Super Contributor
timestamp: June 20, 2017, 11:37:24 pm
content: Quote from: john_c on June 20, 2017, 11:05:52 pmSure! It turns out that, for whatever reason, the table won't move exactly as far as the calculations would make you think. Or you have backlash in the lead screws. Mach3 works through this with calibrations and gets it right. There are MANY external panel assemblies that work with Mach3. Whether they work with anything else, I really don't know.There is a pretty good Linux system but I'm always worried about interfacing IO devices to Linux itself. Permissions are a HUGE PITA. If you are lucky, your USB gadget implements HID or one of the other standard protocols. If not, you will never get it to work. Custom drivers are unlikely to work out-of-the-box on Linux.Mach3 is the standard in the industry for non-proprietary controllers. Sure, some big manufacturers write their own machine interface but a good number just ship Mach3.ETA:One thing I forgot: When you are using a proprietary control system, you probably can't jump into CAD, make a change, run it through CamBam and get a new gcode file right there on the controller. I seriously wouldn't want to do it that but sometimes you need to make a minor change. A system based on Windows connected to your network storage (NAS) make things run pretty smooth.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 21, 2017, 08:01:20 am
content: Quote from: rstofer on June 20, 2017, 11:37:24 pmThe DDCS has backlash compensation settings.For an occasional user like me, the advantages of the standalone controller are :Takes up minimal space. You'd always want a dedicated PC to run a CNC to avoid the risk of something screwing up a long job.I can switch on from cold and be cutting in less than 10 seconds.Obviously the other minor irritation is having to copy the G-Code to an USB stick.A potential disadvantage is if you want to do something interactive, needing realtime control based on sensor inputs, though I think the DDCS may be able to take G-code from an external serial port, I've not tried it.

author: rstofer
author_rank: Super Contributor
timestamp: June 21, 2017, 04:00:40 pm
content: Quote from: mikeselectricstuff on June 21, 2017, 08:01:20 amThat DDCS controller seems like a very nice unit. I didn't read through much of the information simply because I already have a Mach3 system but I have seen similar systems in machine shops. So what if you have to have your laptop nearby just to make changes. It'll work out just as well.I see it has a handwheel option and that's pretty nice. I just ordered a USB based MPG for my setup. I have a job where all I want/need is manual machining and readouts.Of course, the DDCS still requires external stepper drivers and a stepper power supply. The cost/complexity of this is dependent on the size of the stepper motors.

author: janoc
author_rank: Super Contributor
timestamp: June 21, 2017, 04:25:56 pm
content: Quote from: rstofer on June 20, 2017, 11:37:24 pmMost of the standalone controllers can deal with this and have all sorts of calibration settings. Mach emulates these controllers, not vice versa ...Quote from: rstofer on June 20, 2017, 11:37:24 pmNah, hyperbole too much? I do wonder how my ST-Link, USBasp, Saleae clone, Pickit 3, Kinect and few other weird and wonderful gadgets then work on my desktop.If the device is really custom but uses USB, you want to use an UDEV rule to configure the permissions. There is plenty of documentation on how to do that online, basically you specify the devices VID:PID and what permissions it should get when connected. That works withevery USB device(and also non-USB ones, but most people won't deal with those), regardless of protocols and what not. Heck, even kids do this with their Raspberry Pis, I think an engineer should be able to handle this.If you don't care about security because it is a dedicated machine and only you have access, there is always the possibility to simply change the permissions on the device to make it world-writable. Or to run the application as root (administrator) - which is not recommended because a bug could theoretically wipe your entire machine.For standard protocols like CDC, HID, mass storage, etc you don't need to bother at all, as you have said - most distributions will come correctly preconfigured so 90% of common devicesjust work(e.g. anything that uses USB-to-UART bridges - 99.9% of the CNC controllers).Quote from: rstofer on June 20, 2017, 11:37:24 pmThis is one point where you are right, but with a caveat - custom (e.g. vendor-provided) driver should be the last thing to look at if you can't get the device to work otherwise. They are often buggy, barely or not at all maintained and if they need kernel modules they are going to be invariably outdated. Most common hardware has "official" (aka included with Linux) drivers today, so Google should be your first stop if you have some uncommon hardware that you are not sure about to see whether there is a Linux driver for it and which one it is. This is exactly the opposite than with Windows where downloading drivers from the internet is often the only way to make the device work.A typical example are the various FTDI dongles. You could try to make the FTDI D2xx vendor driver to work but it is an enormous PITA because it is both buggy and doesn't support the standard installation procedure (using your distro's package manager), so you would have to deal with some arcane command line incantations. Or you can use the "official" Linux driver and everything works out of the box.

author: rstofer
author_rank: Super Contributor
timestamp: June 21, 2017, 05:28:14 pm
content: Quote from: janoc on June 21, 2017, 04:25:56 pmThey work because they implement one of the standard protocols. HID, VCOM, Mass Storage, etc. for which Linux provides standard drivers. These will nearly always work. Custom protocols? Not a chance!An engineer might discover udev rules if they researched Google long enough. First, what if the user is a machinist, highly skilled in a different field? Second, why should they have to?I get annoyed with Linux when I can't even use MiniTerm without messing around adding myself to some arcane modem group. How in the world is a new user going to discover this? Google? Well, sure, eventually... If they don't just give up and move to printers. Wait! Same problem! In fact it's even worse if you forget which port the web interface of CUPS is using on localhost.People get to make a choice and only 1% or so choose Linux. There are a whole lot of reasons. But in summary, Linux is a hard thing to get working. Oh, sure, the desktop will play but, if you choose Ubuntu (probably the most popular distro), the system buttons will be on the wrong side of the window due to the shear arrogance of the developer. Yes, you can hit up Google and find a way to fix it but why should you have to? Yes, I have Ubuntu on one machine but I'm using Debian on the other 2. I will eventually get out of the Ubuntu business altogether.ETA: Ubuntu can use various desktops. It is the Unity desktop that has the odd button location.Anybody using Linux will get a bunch of Frequent User Points with Google. Google will be their new best friend!

author: janoc
author_rank: Super Contributor
timestamp: June 21, 2017, 07:48:07 pm
content: Quote from: rstofer on June 21, 2017, 05:28:14 pmUSBasp, STlink, various JTAG dongles, Saleae logic analyzer, my Rigol scope and one of those cheap Chinese signal generators are just what I have at arm's reach - and pretty much all of them implement custom protocols (aka not HID or CDC or something similar) and every single device works. So what are you talking about?Yes, if you have an obscure gadget that nobody has made a driver for (or more likely didn't create any application support for) , sure that won't work. But those things are fairly rare and becoming rarer.Quote from: rstofer on June 21, 2017, 05:28:14 pmThey shouldn't - and in most cases they don't have to. A machinist is unlikely to be plugging in anything more sophisticated than an USB stick or a common serial port emulating dongle/controller card. I have yet to see one that doesn't use a standard USB to UART bridge. And those all work without you having to do anything.On the other hand just look at Dave swearing up a storm each time he has to get a programmer or something else work in Windows. Yes, you don't have to deal with device permissions (which is a solvable issue) but you may have to deal with unsupported OS versions, unsigned drivers (if you can find them in the first place) and general wonkiness of the Windows USB subsystem that detects a peripheral one time out of three insertions and similar issues. But it is always the Linux that is "hard to use".Quote from: rstofer on June 21, 2017, 05:28:14 pmIt is very interesting that the last time I had to do something like that has been maybe 10 years ago. And I am using both serial ports and printers pretty much every day. Perhaps blame idiots who have built your distribution? (or upgrade to something actually recent - like built in the last 5+ years). Pretty much every modern distro will grant permissions for common USB devices such as serial port dongles, USB sticks or printers to the "console" user (i.e. the user sitting at the physical keyboard, not one connected remotely) when they are connected automatically, without you having to configure anything.The same for CUPS - your system doesn't have a normal printer management tool (aka CUPS frontend) that you have to resort to the web interface? This is how e.g. Ubuntu does it:https://help.ubuntu.com/stable/ubuntu-help/printing-setup.htmlQuote from: rstofer on June 21, 2017, 05:28:14 pmI am not going to argue whether or not Linux is hard to get working or whether or not someone should use it. However it would help if people at least didn't spread patent untruths or stuff "that everyone knows" about it which were maybe valid last time a decade ago.Quote from: rstofer on June 21, 2017, 05:28:14 pmI think here is your problem. I have nothing against Debian, having used it myself on many occasions. However Debian doesn't exactly make the life easy for a desktop user because it doesn't preconfigure almost anything for you. I certainly wouldn't suggest Debian to a non-expert user. I guess you had your reasons why did you choose it but then that is pretty much the case of a self-inflicted wound. And then you are declaring "Linux sucks!" because of your bad experience. How is that fault of Linux in general?Try an actual desktop distribution - Suse, CentOS, Mageia or even one of the many Ubuntu derivatives that don't use Unity (I do hate that desktop with passion too) and you will be surprised that things will suddenly work and that it is often MUCH easier to get various hardware working in Linux than it is in Windows these days.Case in the point - had to make a Nonin pulse-oximeter device (one of these:http://www.nonin.com/buynonin/noninconnect) connect to our application recently. That's about as non-standard and obscure hardware as it gets. The device uses Bluetooth Low Energy and broadcasts the pulse and blood oxygenation value when you wear it on your finger. They are meant to be used with Android phones/tablets, the vendor doesn't even provide desktop tooling for it.In Windows you literallycan'tmake this to work, because BLE is supported only in Windows 10 and then only with the device paired. Which the Nonin gizmo does not support (it has no provision for pairing). The non-paired mode "will be supported in a future Windows 10 update". Yay.So I took a Raspberry Pi 3 with the built-in Bluetooth, installed an open source package for Node.js to talk to the oximeter over BLE that someone has made already and had everything working and talking to our application in a few hours, including writing the necessary network code to send the data over. Saving the demo for our client.Quote from: rstofer on June 21, 2017, 05:28:14 pmI guess you haven't used Windows or Mac then and needed to fix a problem or install a recalcitrant device/software. I am using both Windows & Linux and have been exposed to Macs too and you can't really do without Google with neither of them. So I am not sure what your point is.