M200 vs M404



  • I used volumetric extrusion in SmoothieWare and slic3r, and would like to continue to do so with the Duet board. I see there are two M codes relating to filament diameter- M200, that was used in SmoothieWare to set the filament diameter at print time, and M404 that also sets filament diameter.

    What is the purpose of the M404 command? Will I need to use it for volumetric extrusion in RRF?

    In smoothieware there was a statement in the config file that set the default filament diameter. How is default filament diameter set in RRF? I would like the default to be 1.75 mm unless I specifically enter a different diameter using the M200 command.



  • @mrehorstdmd According to https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M200_Set_filament_diameter it is M200 that is used to enable volumetric extrusion.

    I had to check the source code to find out what M404 is used for and AFAICT this is only used for print monitor and has nothing to do volumetric extrusion.

    P.S.: You could add a M200 command to your config.g to define a default filament width and override it at runtime with another M200 command.

    P.P.S.: I amended the usage information of M404 to the description in the GCode wiki page.



  • @wilriker Great! Thanks!


  • administrators

    @mrehorstdmd It will be interesting to see how you get on with this. AFAIK very few people use volumetric extrusion. I assume the advantage it being able to specify the filament diameter before each print rather than having to specify it in the slic3r. Is there another advantage I am not aware of?



  • @t3p3tony
    Different spools usually have different average diameters, and if you slice using volumetric extrusion, you can reuse the gcode without having to reslice for a spool of the same material that has a different diameter- a different color, for example.

    You can get consistent results using extrusion flow control, but then you have to make a test print from every spool so you know what flow rate to set at print time for that spool.

    In the end it comes down to your preference- measure and print or print, measure, and print.

    Of course, there's a third choice- you can watch each print and tweak the flow control on the fly, but that's mostly useful for tweaking finish. If you're trying to make parts that fit tightly together, tweaking things on the fly is the last thing you want to do.

    Within the last 6 months or so I have found that filament makers are getting better at controlling diameter. I have purchased several spools of cheap ($15-20/kg) filament from different manufacturers (or at least, marked with different brands names) via amazon.com that is advertised as being 1.75 mm +/- 0.03 or even 0.02 mm and when I measure it, typically 30 points over 5-6 m of filament, the values I get are within the spec'd limit and the average is very close to the nominal diameter. If all the suppliers get diameter sorted out, there won't be much need to adjust either diameter or flow control.


  • administrators



  • @t3p3tony That looks pretty good!



  • I am one of the original Filastruder Kickstarter supporters (this was 2013) and I am pleased that the company is so successful.