Jump to content
UltiMaker Community of 3D Printing Experts

Default gcode in UM3 Hardware is a Problem for Restarting Prints

Would you prefer UM gcode to be modifiable or to be uneditable?  

2 members have voted

  1. 1. Would you prefer UM gcode to be modifiable or to be uneditable?

    • GCode is fixed and unchangeable
    • Same gcode but able to be edited if so desired

Recommended Posts

Posted · Default gcode in UM3 Hardware is a Problem for Restarting Prints

It seems that the UM3 hardware includes gcode at the very beginning of every print that is outside of the code generated by slicing in Cura. This includes the wipe, the auto leveling and printcore and bed plate heat checks. I would propose that this part of the hardware gcode be put back into the slicer-generated software gcode to improve the machine's versatility. These are the reasons I am having a problem with hardware gcode:

1. Continuing a print after the filament extrusion fails: When extrusion fails but the gcode keeps executing, the machine operator will often discover the failure after many millimeters of Z stepping has been bypassed in the gcode. To restart the print at the correct spot after the filament has been fixed you can compare which spot the object failed at to the layer number in Cura's preview and just delete all the gcode up until that point. But when you try the modified gcode, the wipe and the leveling ruin it because the nozzle comes down to the bed plate and crashes into your half-printed object. This is especially frustrating with long prints that take days to print because it is so important to be able to attempt a restart halfway through the print when it is such a large amount of time. If the default beginning gcode was completely included in the generated Cura code then it could be deleted in these circumstances, allowing continuation of the print.

2. The second reason to keep default startup code in the software gcode instead of hardware is to allow the printer to be more versatile for other purposes than making an object. I want to use my printer to extrude filament in mid-air for testing the quality of new filament materials with only gcode written for extrusion-speed and temperature . For this I want to be able to write my own gcode and skip the preparation steps - because it wastes time and is unnecessary.


I don't see why some gcode needs to be hardwired. The exact same gcode could be generated at the beginning of every slice, which is better for modification. And more importantly it is absolutely needed for restarting long prints with filament failure.



  • Link to post
    Share on other sites

    Posted · Default gcode in UM3 Hardware is a Problem for Restarting Prints

    While I understand your frustration about not being able to restart a failed print at a specific height there are good arguments against making those routines available as changeable gcode.

    First, it's not all gcode. On both UM3 and S5 those routines are written in Python. Most commands do actually send a line of gcode to the motion controller. But in between them there are commands which use different routines and functionalities not on the motion controller but on the Olimex board.

    You also have to keep in mind that those two models are not designed for makers but for professionals. Their main request is to have an automated start-print-procedure which cannot be accidentally changed.

    If you want to do extrusion tests, I recommend to build a test station maybe based on a printcore with some simple electronics or even a standard printer control board. You may get some ideas from a project to use a printcore on an Ultimaker 2+ by @ultiarjan:

    As for the restart of a failed print: This does not happen on a S5 due to the filament sensor. Running out and printing air is UM3 specific. But please be aware that such a runout does not happen at once but starts with an underextrusion which is getting worse. Depending on the size of the print this can go over multiple layers. Restarting such a failed print might result in a very bad print quality around the layer it started to run out. Finding the right layer might also be a bit too tricky for most users. However, a restart after a short power cut would be a great feature (hint, hint) but I guess it's not what you meant.

    We know that it is quite unlikely that it will be possible to upgrade an UM3 with the filament sensor from the S5. But there is a community project driven by @foehnsturm going on which puts a filament sensor to an UM2(+):

    As you can see, bringing it to the UM3 is an option but requires that Ultimaker releases the source code of the UM3.

  • Link to post
    Share on other sites

    Posted · Default gcode in UM3 Hardware is a Problem for Restarting Prints

    I don't understand how the startup g code commands could be "accidentally" changed, especially by a supposed professional. I am 3d printing professionally and this is in the way of being professional. When a print fails 2/3 of the way through, which is several days long this is a professional waste of time. As for restarting a print with new code it is actually much easier than you think. The worst that can happen (if you are a professionally skilled) is the restart layer deviates in layer height by like 50 microns, which is either negligible of able to be easily sanded off. I've even done it with the awkward UM3 hardware by cutting off the under-extrusion layers very carefully with an exacto knife, marking where the base of the model touches the bed plate and then removing the model and putting it back precisely where it was after the startup routine during a quickly-timed print pause. But this is so hard and takes so long. The quality wasn't even that bad with the temporary removal of the whole object. I suspect I could make a  near-perfect startup layer if the Ultimaker3 coding wasn't flawed like this. I think its a huge shame these things are hardwired considering that the annoying parts of the startup are merely X/Y/Z and extrusion movements. Pretty short-sighted considering there is no filament sensor

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.3 stable released
        In this stable release, Cura 5.3 achieves yet another huge leap forward in 3D printing thanks to material interlocking! As well as introducing an expanded recommended print settings menu and lots of print quality improvements. Not to mention, a whole bunch of new printer profiles for non-UltiMaker printers!
          • Thanks
          • Like
        • 22 replies
      • Here it is. The new UltiMaker S7
        The UltiMaker S7 is built on the success of the UltiMaker S5 and its design decisions were heavily based on feedback from customers.
        So what’s new?
        The obvious change is the S7’s height. It now includes an integrated Air Manager. This filters the exhaust air of every print and also improves build temperature stability. To further enclose the build chamber the S7 only has one magnetically latched door.
        The build stack has also been completely redesigned. A PEI-coated flexible steel build plate makes a big difference to productivity. Not only do you not need tools to pop a printed part off. But we also don’t recommend using or adhesion structures for UltiMaker materials (except PC, because...it’s PC). Along with that, 4 pins and 25 magnets make it easy to replace the flex plate perfectly – even with one hand.
        The re-engineered print head has an inductive sensor which reduces noise when probing the build plate. This effectively makes it much harder to not achieve a perfect first layer, improving overall print success. We also reversed the front fan direction (fewer plastic hairs, less maintenance), made the print core door magnets stronger, and add a sensor that helps avoid flooding.

        The UltiMaker S7 also includes quality of life improvements:
        Reliable bed tilt compensation (no more thumbscrews) 2.4 and 5 GHz Wi-Fi A 1080p camera (mounted higher for a better view) Compatibility with 280+ Marketplace materials Compatibility with S5 project files (no reslicing needed) And a whole lot more  
        Curious to see the S7 in action?
        We’re hosting a free tech demo on February 7.
        It will be live and you can ask any questions to our CTO, Miguel Calvo.
        Register here for the Webinar
          • Like
        • 18 replies
      • UltiMaker Cura Alpha 🎄 Tree Support Spotlight 🎄
        Are you a fan of tree support, but dislike the removal process and the amount of filament it uses? Then we would like to invite you to try this special release of UltiMaker Cura. Brought to you by our special community contributor @thomasrahm
        We generated a special version of Cura 5.2 called 5.3.0 Alpha + Xmas. The only changes we introduced compared to UltiMaker Cura 5.2.1 are those which are needed for the new supports. So keep in mind, this is not a sneak peek for Cura 5.3 (there are some really cool new features coming up) but a spotlight release highlighting this new version of tree supports.  
          • Like
        • 22 replies
    • Create New...