[M SERIES PLUS / M300 DUAL / ENDUREAL] 2.7.0 firmware release

Firmware 2.7.0 has just been released.

You can download it from downloads section of the support center.
Direct links: M200 Plus, M300 Plus, M300 Dual, Endureal

Changelog available below:

  • Added option to load model material onto the support hotend for multi-material printing
  • Added G-code support
  • Added manual nozzle offset Z calibration for Endureal printer
  • Other fixes, improvements and changes in firmware architecture

About G-code support:

We currently support G-code files generated by PrusaSlicer and Ultimaker Cura. We parse the headers accordingly, verify the dimensions of the build area, read the print time, etc.

G2/G3 arc and M900 linear advance commands are supported.

To print G-codes, enable G-code support in the Working Options menu and disable filtering by printer type in the Files menu to display G-code files.

Basic parameters of the printers for adding a printer profile to your preferred software:

  • Work Area Dimensions (XYZ):
    • M200 Plus: 200 x 200 x 175 mm
    • M300 Plus: 300 x 300 x 312 mm
    • M300 Dual: 265 x 265 x 300 mm
    • Endureal: 390 x 300 x 300 mm
  • Relative positioning for E axis
  • No offset added for second extruder in dual extrusion mode (offset is handled by firmware)

Any feedback is welcome!

good news for the community!

I hope SO much this comes to the inventure too. I have a whole print farm of those and this would basically save it from being discontinued.
Thanks for finally going these steps! If this would have happened earlier, it would have been so good for Zortrax!

When loading a gcode file, the following message appears:

Can you please send the gcode to maciej.zaborowski@zortrax.com so I can test it? I admit, more work around gcode support is cerainly to do.

What slicer software did you use?

Prusa Slicer and Cura. I tested several files, the effect is identical. I sent the files.

Thank you! I got it. Will investigate further and get back to you tomorrow.

After investigation I can share 2 conclusions/bugs:

  • For gcode lines where there is no space separating command and arguments (ie. “G28X0” instead of “G28 X0”), the command won’t be parsed and will be ignored. Quick fix to that is to edit file in text editor and replace all occurences of “G28” (without space) to "G28 " (with space).
  • If you are using printer in language where decimal separator is comma instead of dot then you may experience error as in picutre. Quick fix is to change language to english.

Those will be fixed in next update.

Thank you for your assistance!

1 Like

@m4cias
Hello, what are the basic commands in G-Code, so that the M200Plus does the same start and end routine when slicing for example with Prusa-Slicer?

Hello, this should be enough for the start. You can upgrade it as you see fit. I did not test this exact code yet, so you you need to run it yourself. Before I used Prusa MK4 as template with some minor changes but this is simplier.

Start G-code:

G90 ; use absolute coordinates
M83 ; extruder relative mode

M900 T0 K0.00 ; set linear advance K to 0 for extruder 0
M900 T1 K0.00 ; set linear advance K to 0 for extruder 1

M140 S[first_layer_bed_temperature] ; set bed temperature

G28 X0.0000 Y0.0000 ; home X & Y axes
G28 Z0.0000 ; home Z axis
G1 Z15.0000 F180 ; move to 15mm above print bed

M190 S{first_layer_bed_temperature[0] - 5} ; wait for bed temperature - 5
M140 S[first_layer_bed_temperature]	; set bed temperature

M109 S[first_layer_temperature] T0; wait for nozzle 0 temperature

End G-code:

M140 S0.0000 ; disable bed heating
M109 S0.0000 T0; disable hotend 0 heating

G1 X0 Y0 F4800 ; move to 0x0 positon

Hello @m4cias, thank you for the information.
today I’ve tested this start and end-code with prusa slicer

The printer is jumping back and forth a little bit with the percentage count while heating. Also the heater is already fully heated up, while the platform is still heating up.

Also the homing of the printer doesn’t work as normally with the perforated plate. The nozzle doesn’t touch the contact pad.

Can you share your .config file from pursa slicer? This would really help. Maybe I made some mistake by the configuration.

Hey, sorry for the delay.

You can remove:

G28 X0.0000 Y0.0000 ; home X & Y axes
G28 Z0.0000 ; home Z axis
G1 Z15.0000 F180 ; move to 15mm above print bed

As firmware does homing before it starts executing gcode anyway.

Then we can get rid of some heating commands and stay with relatively short gcode:

G90 ; use absolute coordinates
M83 ; extruder relative mode

M900 T0 K0.00 ; set linear advance K to 0 for extruder 0
M900 T1 K0.00 ; set linear advance K to 0 for extruder 1

M190 S[first_layer_bed_temperature] ; wait for bed temperature
M109 S[first_layer_temperature] T0; wait for nozzle 0 temperature

Our firmware hadles heating a bit different than others so there can be some confusion in heating progress but that shouldn’t affect printing in any way. This way we get homing twice.