Replacing Carbide Motion Board With Duet3 6HC

So I have decided to replace the Carbide Motion Board with a Duet3 6HC board and plan to document the process as best I can. It’s a 32bit board with built in integration for a Raspberry Pi. It has six stepper drivers rated at over 4A each, has a ton of IO, and is highly customizable. There is also a very good Fusion360 Post Processor for it.

I am curious what insights others who have replaced their boards with other controllers have.

Also I was wondering how well Carbide Create works on none GRBL based controllers and if it would be possible for me to make a custom post processor.


Should be a fun/interesting thread.

At this point it only supports the posts that are included in CC install, and those are all GRBL.
I think there is an intent to support more post-processors down the line, possibly even let people write their own, but for now that’s a no.


That makes me sad. I love CC’s advanced V-Carve.

I was a bit too quick to classify all PP’s are being GRBL flavored, CC does have a “Basic G-code” post. But since I’m not familiar with what flavor of G-code the ReprapFirmware the Duet implements, I can’t really comment whether “Basic G-code” out of CC would be compatible with the Duet.


Its comparable to Marlin.

Well there is hope then, as far as I can see Marlin follows a quite standard G-code definition


Yep and any unsupported GCode can be implemented with a Macro in RepRapFirmware.

I find your choice of controller really odd. The Duet is first and foremost a 3D printer controller and sure it takes G-Code and can handle spindle speed but it lacks a lot of CNC-specific features. For example some things that my EdingCNC controller has that a Duet doesn’t (to my knowledge):

  • M6 tool changes
  • Tool length compensation
  • Tool width compensation
  • Backlash compensation
  • Coolant control
  • Look ahead feed

To be fair, these aren’t something everyone needs and you can get by without them, it just seems odd to use a 3D printer controller for a CNC mill/router.

Is there a reason you went for that instead of something more “normal”? Just price?

If it’s price, it might be worth looking at building a LinuxCNC machine. Find an old junk computer and install LinuxCNC and you’ll have an insanely competent controller for the price, though it wouldn’t include the stepper drivers.


The main reason is I am very familiar with Duet3D and RepRapFirmware (RRF). I have built several 3D printers using Duet 2 boards which I will fully agree are first and foremost a 3D printer controller. The Duet 3 boards however are expanding far more into the CNC space. A number of desktop CNC kits are now using them for advanced functionality compared to GRBL.

  • The M6 command is arguably less powerful than the T gcode RRF has.
  • Tool Offsets can be setup.
  • Coolant can be controlled through GPIO pins and external relays.
  • I can configure my BLDC Dewalt as a spindle in RRF and control its RPM by sending it servo command.
  • In comparison to other GRBL based solutions, the Duet 3 is a much higher quality board than most.
  • Any non-implemented Gcodes can be created using Macros. So for instance if my CAM software insists on using M6 Gcodes I can simply make a file called m6.g, add the necessary gcode commands to convert the M6 to a T command, and put it in the macro directory.
  • Duet’s Macros support GCode Meta Commands like IF statements, FOR loops, Variables, etc. This allows for some pretty crazy Macros to be created.
  • The Duet’s web interface makes managing the system very easy. This includes changing config parameters on the fly.
  • It supports mesh “bed” leveling which can be used to engrave in uneven surfaces like on PCBs.

Over all I think it should work very well for what I am trying to do with my Shapeoko. Is it the best solution for everyone, probably not.


Seems you’ve thought it through thoroughly.

What about tool radius compensation (G40-42)?

These seem pretty standard in a CNC controller, it’s more of a surprise to me that anyone thinks it’s a reasonable proposition to sell a CNC machine with GRBL of all things, especially these days, when you can put LinuxCNC on a Raspberry Pi.

1 Like

They have G40 listed as being something they may implement in the future. I assume that includes G41 and G42 as it is silly to be able to cancel something you cannot enable in the first place.

Personally, I don’t see what you are gaining…

I gain:

  • Two additional stepper drivers which I can use for a 4th axis
  • GPIO pins that can be used for controlling relays which in turn lets me control things like my router, air assist, coolant, lighting, etc
  • Fan controls for cooling my electronics enclosure as well as venting my general enclosure.
  • Z Mesh compensation for things like PCB engraving
  • Advanced Macros for things like probes
  • A web interface for controlling / configuring all of this

In addition to everything @CthulhuLabs already said:

  • A more modular controller, so you can, for example, swap out stepper drivers
  • More flexibility for upgrades, like servos and motor encoders if you want them
  • More power to handle features like look ahead feed and tool width compensation
  • Macros
    • Flow control - I can (and have) for example, written macros for basic toolpaths like facing, so I can just open up the MDI and face a piece of stock without doing any CAM

Anyone know what the pin out is for the inductive endstops?

Blue = Ground
Red = 5v
Black = Signal

1 Like

I would say if you can implement something like an inductive sensor/BL touch, and use mesh leveling, that would be critical for the larger sized machines like the XXL. I have been 3D printing since the Reprap days and use a simple RAMPS board with Marlin, so I have been intrigued by the Duet, so please post your progress on the Shapeoko.

1 Like

I got X moving and homing. And with 16x microstepping interpolated to 256x microstepping it is super quiet. Not that that matters once the router starts up. LOL.

Got Y and Z moving and homing now too.


One thing to watch out for is the loss of torque when microstepping. I don’t think the stock controller is any different but you are only at about 10% of the stepper’s rated torque when you are in between full steps when using 16x microstepping.

1 Like

Yep. I intend to reduce that to 8x or 16x.