M221 and Advanced Ditto Printing

M221 used with Ditto Printing

This question is for advanced Ditto Printing.

I am involved with a manufacturing start up for small 3D printed pieces.

We have a part that has tight tolerances for the parts to work and fit correctly.


                    We use 3 different filament PLA colors, on one printer, printing 3 parts at one time in Ditto Printing, using Simplify 3D as the slicer.


                   Simplify 3D allows for separate Extrusion Multipliers for each extruder, but Repetier only uses settings for T0 and ignores Extrusion Multiplier settings for T1 and T2.

I tried to use M221 in all of its configurations to separate each individual extruder, but it only uses all the settings from a single setting, the last M221 in the command line.

Question:  is there a way to address each individual extruders, Extrusion Multiplier?

The reason for this separation, is to have each extruder head to be independent from each other.  This allows different Density Filaments to be printed at the same time on the same printer.

The only other way, at this moment is to change the extruders steps per each different filament. This is not a logical solution for commercial printing configurations.


  • M221 is to change extrusion amount during print for all extruders the same value, so that will not help.

    In V1 firmware ditto printing means the extruder steps from T0 get copied 1:1 to T1/T2 so even changing steps per mm will have no effect here.

    In V2 firmware there is a module to equalize all extruders to same steps per mm while maintaining different resolutions. This would be the only solution within our firmwares that would help with different required resolutions.

    So if you need different steps only V2 can help you here.
  • Ok, then how about a work around using M92?

    3 Extruders on Tool0 to Ditto Print.

     Printer is calibrated with all Extruders set the same inEEPROM.

    Filament on Extruder 3, is 1.78 mm  compared to 1.75 mm on Extruder 1&2.

    Proposed Solution:
    Add M92 E40.5:40.5:38.225 (Preprint process)

    Expected Results:
    Ditto Printing clones all info on T0 (except current settings set on M92). Each Extruder maintains its set Esteps set in M92. When printer is reset or powered off, all settings revert back to EEPROM.

    Is this viable? or will All Extruders use E40.5, derived from T0, and override any M92 settings?
  • Apart from being an illegal gcode format for repetier this will not work. As I said in ditto mode resolutions for T1/T2 are ignored. The step signals are copied 1:1. There is no real work around. Only with a mixing extruder setup you could have different ratios, but then you only have one heater and you need 3.
  • I see the error, M92 doesn’t allow multiple extruder configuration like Marlin.
    So how does V2 help? What module are you referring to?

    Since STACKER uses Repetier, I would think that they would have noticed this problem. No doubt if they used three different colors, there would have been a noticeable dimensional difference between their parts being printed at the same time.

    I’m printing a part that has a tight tolerances for a bolt, and then the sleeve must fit into a socket.  So the exterior dimension and the interior dimension for the bolt are highly affected by any sort of under or over extrusion. Multiply that by 3 different extruders, and all sorts of dimensional inaccuracies are possible.  

    Rule:  A profitable manufacturing process, must be duplicatable, with little to no extra time in post processing.  When a time component is introduced, manufacturing costs go up and feasibility of the manufacturing process goes down.

    At this point and crossroads, I’m afraid that Ditto Printing has its limitations, unless individual controls to the Extrusion Multiplier, or Esteps can be adjusted.  The only fix to this, is to use the same exact filament color and batch per printer for all extruders. 
  • This module would fix the problem in V2:

    If you check the dual x/stacker example you see how to use it as I added it there for ditto printing to solve that problem. At least the resolution difference. For bulk production I assume identical material and behaviour for all nozzles, but of course this makes it also adjustable.
  • What stacker do you have? V2 only supports the superboard from stacker at the moment and not the 8bit board used on the S500 I think it was named. 8 bit support is planned but not available at the moment.
  • We don’t have A  STACKER printer.  We have developed our own printer using a dozen new proprietary designs.  Our hotends have cutting edge improvements and modifications that currently don’t exist on the open market. 
    We do however know the problems Stacker has through their instructions such as head leveling and calibration procedures. We designed our machines to alleviate the challenges of calibration and bed leveling.
    Our printer is specific to printing one specific product. Our product can’t be printed without the afore mentioned modifications. 
    The marketing principal is to design a usable and practical design, that would be easier to purchase then printing one. Saves a boatload of money in patents, and competition from knockoff pop up companies. That doesn’t mean that it won’t happen, but it will guarantee a superior quality product compared to a knockoff.

    We are currently in the process of converting over to Rumba32’s from standard Rumba and Rumba+.  We just haven’t made it to that point in the punch list. We are still working on perfecting a smooth manufacturing process, that has the necessary qualities, and time saving procedures in printing our product.
  • Rumba32 is good. That is already supported in V2 and will never get support to V1 so you need V2 anyway. Also you can make own modules for highly specialized problems here if needed. That is the main advantage of the new module system.
  • I’m not a coder, and I know enough to be dangerous. 
    I see a picture, but not the whole picture.
    How will this integrate with Simplify3D?

    Will a three Extruder setup on one Tool, address each extruders Extrusion multiplier in Ditto mode for S3D?

    I think the modules are great, as long as you maintain a smooth selection process for those modifications.  I do like the firmware selection process of Repetier, but some of the settings for the motors, are a bit overwhelming.

  • > but some of the settings for the motors, are a bit overwhelming.
    One of the problems we want to solve. In V1 we are not flexible so all modules of one kind are merged into one big containing all settings possible, regardless if you need them or not. In V2 you only set what is needed for your special problem.

    >Will a three Extruder setup on one Tool, address each extruders Extrusion multiplier in Ditto mode for S3D?
    Not sure what you mean here. All extruders will extrude the same amount in distance. Ditto is copying to extruder 2 and 3. The only additional thing is that each extruder has it's own resolution to adjust for different steps per mm. If you need for example T1 to be 1.1*T0 you need to increase steps per MM for T1 by factor 1.1 to do so. M221 is still working with same amount on all extruders just as it was always designed to do. If you want a command that sets these like M2222 Axxx Bxxx Cxxx setting these factors you can write an extra command that does the setting. For example you can double the resolution adjustments. One is for real resolution and one for your material difference setable with e.g. M2222. With teh event system you can also add any extra Mcode you like. But if you want very special behaviour you will in the end always need to write a bit, also not really much.
  • What about M200.
    Will Ditto still default to T0 across all extruders?
  • No difference, M200 will also copy signals. There is no time eating conversion in that function.
Sign In or Register to comment.