Preview version of CNC optimized DWC.

  • Moderator

    There is a preview of the CNC version of DWC at

    You may also be interested in some plugins created by @Sindarius
    Adds the ability to use a gamepad to jog your spindle

    Will let you get a visual of your gcode, I recommend sticking to wire mode for CNC gcode. Just recently finished adding G2&3 support.

  •'s time to grab a duet 3 board for my cnc then🤘🤘🤘

  • This is probably a dumb question, but I'm new to this. How do I install this? I'm using a duet 3 main board with a rpi4. Any help is greatly appreciated.

  • @R4ffers just upload the zip file to the systems tab in DWC.
    If you're using the duet in SBC mode (with a raspberry pi attached by a ribbon cable) use the one with SBC at the end

  • @jay_s_uk excellent thanks, I'll give it a try later.

  • What are the differences between this new CNC DWC and the Workbee DWC?

  • @Shanian79 this works with RRF3 whereas the workbee one doesn't

  • Just installed the new CNC DWC and it's just what we needed, thanks guys.

  • @Shanian79 As you can probably tell the UI on the Experimental DWC-CNC is heavily influenced by the great work that Ooznest has done.

    The key differences right now

    • Developed against DWC 3.2 beta so it has support for plugins
    • Maintains the FFF dashboard so you can use the same install for a printer or a cnc

    As more feedback comes in there will be more opportunity to expand the capabilities of the CNC version to fit users needs. Plugins also open up the potential to add new functionality based on users needs.

  • @Sindarius

    Really like the "set local csys" which is far easier for beginners with the push of a button and not to get confused with G5x (the big printer I build in 2018/19 was for an art-school) -> Hope that makes it into the printer-version also 🙂 Already working on a use-case for it 🙂 really hope you can integrate some sort of reflection for the "abs"/"machine"-csys and the following "sub-"/"local-"csys in the viewer also (see where the stuff would be actually printed/milled with or without the offset from absolute to relative csys) - that would be awesome!

  • @LB I do have that on my list from our previous discussions. I have to make sure that everything still plays nice on the viewer when I implement it. The viewer does not currently account for user coordinates vs machine coordinates at the moment.

  • Thank you very much for this. I've just loaded it onto a Duet 2 Ethernet based CNC and my initial impressions are that the new interface looks clean and much better suited to CNC work.

    When setting up a CNC job using a pendant, I find I am often up to a metre away from the monitor and just can't see the machine/tool position coordinates. Could the size of these digits be increased to make them visible at a distance - perhaps user selectable in the machine settings?

    I'm curious how the current spindle RPM number is derived? Is it just the set RPM or perhaps this presages actual spindle RPM measurement?!

  • @cjm If you have a spindle setup you would configure it with M453 and set your min and max spindle rpm.

    That is what is used to drive the spindle panel which sends M3, and eventually M4, commands to tell the duet to set the spindle to the RPM specified.

    For your case I would think a plugin that gives a large screen readout would be a worthwhile effort. That's one of the great things about the new plugin system, you can customize and make controls that fit your needs without having to reinvent the wheel.

  • Regarding a larger panel for display of bigger coordinates, I’d definitely vote for that for CNC use. It’s a distinguishing feature of other popular CNC interfaces (Mach 3, Linux CNC etc) and I guess reflects the fact that CNCs are generally bigger than 3D printers so when setting up a job you are much further away from the control panel.

    My question about spindle speed was probably a bit off-topic as I was more thinking about monitoring and displaying the actual RPM of the spindle, rather than what it is set to.

    I do use M453 in my CNC config, but note that what is displayed as spindle RPM in DWC is just what the spindle has been commanded to run at, rather than what it is actually running at. This is not the same thing, particularly whilst the spindle ramps up/down in speed and if PWM/analogue control is used to set the speed.

    Many spindles have a spindle speed output giving one pulse per revolution, so in principle a Duet board could use one of the micro’s timers to measure the frequency of this signal and hence the actual RPM of the spindle.

    Why would that be useful? Well, it could be used to do things like ensuring the spindle is fully up to speed after an M3/M4, closing the loop around the spindle speed and enabling DWC to display the actual speed.

    This is analogous to measuring and then controlling and displaying the actual extruder/heated bed temperature in a 3D printer.

  • @cjm I could see an argument for increasing the size of the tool position fonts and let me play around with that a little bit. But going across the room may need a significantly larger font depending on your distance.

    As far as getting spindle speed feedback I think that would be worth starting a separate topic since that is a much larger topic than the UI alone. I personally do not have a spindle just a simple DeWalt router on my CNC.

  • Fantastic work ! love it and works as expected .

  • I could see something like this working for tool position. I don't know if I would go much larger than that though.


  • @cjm

    Another option would be to get a big screen to connect to the raspi -> I read the new raspi supports quite big resolutions

    As long as people with small screens do not get discriminated their screensize I am O.K. with it 😉

  • If you're looking for extra large that you could read from further out I would really say a plugin so we don't impact people who have a computer next to thier machine. Something along this line.


  • I am extremely excited to have a CNC focused release as I have a large CNC router just waiting for a Duet upgrade.

    Besides making the font larger, the biggest issue I see is how unclear the Duet "machine movement" section is and how easy it is to click on wrong speed. For example the "Jogging" section in this UI is both smaller and easier to use/intuitively understand.
    alt text

  • @mikedahlgren this is a jog control idea I have been playing with. It is in no way complete but gives an idea of an option.


  • @Sindarius it looks very good to me...!

  • @Sindarius I have a decent size screen hooked up to my pi but still struggle to read the tool position when setting up jobs, so the examples of larger fonts look really useful to me.

    I’ve added spindle RPM to the Duet firmware wishlist to see what interest it garners.

  • @Sindarius All looks good to me too...

  • @Sindarius WOW! I didn't expect that kind of response, and I think that looks great! Really appreciate the work that you are doing.

Log in to reply