general questions about using Duet for traditional cnc

  • I've been using the Duet for my delta printer and now I'm shopping for a desktop milling machine (which ironically I need to make custom parts for the printer.)
    I'm converging on the Shapeoko Nomad but it runs GRBL on an AT2560 Mega MPU, which now seems lame after using the Duet. GRBL only does 3 axes too and at some time I would like to design a fourth (rotary) axis or other extended capabilities.
    So the Nomad would eventually be a hardware foundation for modding.
    Would the Duet be good for this function? I know it has non-printing capabilities but not sure it would be a good true controller for the system.
    Also, I'm only used to the Duet for printing, using the web interface. I can't imagine that interface is good for subtractive fabbing and any software that comes with the Nomad would be useless at this point. The Nomad is controlled by a PC streaming gcode so I'm not even sure what the interface would look like since the Duet runs it's own files.
    Another thing that might be an issue is I'm not sure the Duet would be strong enough to drive motors pushing a milling head through material, which would be using external drivers. I did not see an obvious way to get the digital stepper motor signals off the Duet.

  • @shadowphile I will be pretty straight forward in my reply...

    • The Nomad is a small machine with stepper drivers soldered directly to the controller board. Those look like one of the driver models normally available on the Pololu modules, so rather low current. The Duet board is capable of higher current, so I wouldn't worry about it being capable of driving the Nomad. Simply put, I have a WorkBee with 3A rated stepper, really high torque (345oz - 2.4Nm) and running the steppers is not a problem. The Nomad is a much smaller machine, by default fitted with steppers that should normally be much lower current - my whole X gantry alone is over 12kg heavy while the whole Nomad is about 25kg),
    • For the last 8 months or so I'm using exclusively the Duet on this machine. Initially, before the Duet had the minimum required firmware capabilities (for some I might be guilty! 😉 ) I have used a GRBL from the previous CNC. Apart from 3D view of the CNC milling paths, everything is in there, directly or through very simple macros.
    • I went for the Ethernet version. I'm mainly a radio guy (by training and through the work over the past 20 years) and I hate useless radio things... WiFi is one of those, from my point of view, when we are discussing a rather heavy and pretty static "objects" (be it 3D printer, CNC milling machine or whatever!).
    • You might have to use something else for viewing the 3D paths generated by the CAM tools before feeding them into the Duet, just for safety. Unlike 3D printing when you waste only some filament, in the CNC world things get easily pretty expensive through cutting tool breaking. There are a lot of usable, free tools until the DWC will include preview of the toolpath. Still, it can be survived! Machinists lived without until not so many years ago!
    • I have used a 4th rotary axis. No problem connecting it to the Duet as long as the stepper isn't rated for more than 3A. Low priced ones aren't!

  • End of last year, I bought a CNC Machine which I have upgraded to run a Duet Wifi mainboard (I did not want to place a computer or even a RaspberryPi right next to it to stream the commands; choose wifi as the place needed wifi for the IP cam I want to use), and for me it works very good. The way I did it:

    • The stepper motors are 3A rated Nema 23 steppers, so I simply run it directly off the Duet at 2.4A (80% of rated); with a fan blowing air over the drivers (running them at firmware max requires good airflow).
    • Using a PanelDue for easier movements, starting and stopping jobs etc.
    • Machine dedicated DB Box, with power sockets (Vacuum, Spindle and Fluid; each one with a relay configured and controllable using macros). This was the easiest way to connect the Makita spindle to have the machine control on and off (only manual speed control, but having it auto shut down is nice).

    The Duet have a CNC mode ( which provides changes the way it works slightly (G0 is slightly different to G1; M3, M4 and M5 are active; workspace coordinates are usable etc).

    While the DWC and PanelDue interfaces are more optimized for 3D printing using FFF/FDM, in my setup they are sufficient. This is my first CNC, so I probably don't know what I am missing from other types of setups.

    While the Duet can control external stepper drivers (, I find it easier to use the onboard ones (and the onboard ones are quiet and have stall detection, which I use on Zmax). Adding extra axis (like a rotating one) are quit easy, just study the Wiki and Gcodes.

    For toolpaths, I created a Fusion 360 post processor that works just fine for me (allowing tool changes mid job, auto probing the tool after each tool change etc). After I Post the toolpaths, I log into DWC, upload the paths, and start the job from the machine.

    The main reason to use the Workspace Coordinate Systems (G54, is that most software will create toolpaths relative to an origin (typically we select this in the software; I like using Stock Top, Front Left as my relative origin), which may include negative coordinates. By using these coordinates, you define an offset from your machines absolute home (0,0,0) where your stock is located (so the same job can be run with different offsets without having to create a new toolpath for each of your instances).

  • thanks for the replies, it sounds like there isn't really an issue on the hardware side.
    I've been learning Fusion360 and no issues there, just export the .nc file.
    I'm also learning to use to Tormach CNC in our makerspace. These machines always come with their own software interfaces that do the same thing as the Duet webcontrol, but since that is printing-oriented, what would I use to manage the machine and jobs? Webcontrol can monitor progress, start and stop jobs, define tools and such, even jogging. But there are a lot of elements non relevant to cnc and cnc oriented items not in webcontrol (maybe setting the Duet to CNC mode also modifies the web interface to match?)

Log in to reply