Jump to content
Ultimaker Community of 3D Printing Experts

Marlin source code for version 5.2


14bitvoid
 Share

Recommended Posts

Posted · Marlin source code for version 5.2

After finally having some time again I decided to look into an issue with my Ultimaker 3 where the nozzle keeps jarring with very detailed curves, causing blips. I wanted to look into the source code of Marlin running on the printer, but found that my copy of that source code (Marlin) is outdated, or at least not the same as what's on the printer now.

 

Where can I find the source code of the "jedi.hex" file on my printer? It was last changed on January 27, 2019.

 

According to Marlin's GPLv3 license, you need to:

  • provide source code with every binary distribution, or a written offer to provide the source code
  • include the license with the distribution
  • supply appropriate legal notices in the interactive user interface (copyright info and disclaimer)

 

I am not finding any Marlin source code or written offer to provide that source code on the device. Nor any Marlin license, and the user interface of the printer doesn't provide copyright information for Marlin.

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2

    If you email ultimaker they will send you the UM3 marlin source code.  I tried it.  They sent it to me.  I can send to you if you want.  I forget where I put it but I'm sure I labelled it and placed it carefully such that I could find it again.

     

    I just found it.  It's from 2017 but I'm 98% sure they didn't touch the path planner.  They have never touched the path planner so it's the same as regular Marlin from many years before 2017.  The sort of things they change are gcodes and features like reading sensors and stuff like that.  Not the path planner.

     

    Send me your email in a DM and I'll email you the code.

     

    Anyway I've been over the source code of Marlin's path planner like 10 times and know it (knew it) pretty well.  Are you familiar with it?  If not I'll tell you a few details:

     

    Ultimaker Marlin looks 16 moves ahead.  The path planner doesn't know what's in the 17th move and it may need to come to a complete stop so it never reaches a speed such that the 16th move can't come to a complete stop.

     

    In other words at any given moment there are typically 16 moves in the queue that have been planned and if you look at them they tend to be a general deceleration to a stop on the 16th move (if they are all short moves).  If there is a "long" move (over 16mm long) then you can go max speed up to that move which alone will be able to come to a stop if necessary.

     

    These 16 moves in the queue keep getting updated when move is completed and a new move is ready to be added (each gcode is one move).  They are updated to higher print speeds.

     

    So here is one cause of slowing/stuttering/erratic moves:

    If you have say 50 moves very close together like on a corner with way too many triangles, then the printer has to come to almost a complete stop and prints that corner very slowly.

     

    If you are printing artwork such as "yoda" and there are lots of movements in different directions on an irregular bumpy surface and there are too many triangles you also get stuttering, erratic printing.

     

    Usually this can be fixed with triangle decimation which reduces the triangles in an STL without changing the part's overall shape much at all.

     

     

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2
    15 minutes ago, 14bitvoid said:

    jarring with very detailed curves, causing blips.

    Yes!  This.  When exporting to STL it's tempting to do high resolution (more detail, more triangles) but this can cause problems for Marlin which doesn't have much memory and can only plan 16 moves ahead.

     

    Also Cura will throw away some points/gcodes if you have too many - this is adjustable in cura.  See these 3 settings in cura and read their descriptions:

    Maximum Resolution

    Maximum Travel Resolution

    Maximum Deviation

     

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2
    On 3/4/2021 at 6:26 PM, 14bitvoid said:

    After finally having some time again I decided to look into an issue with my Ultimaker 3 where the nozzle keeps jarring with very detailed curves, causing blips. I wanted to look into the source code of Marlin running on the printer, but found that my copy of that source code (Marlin) is outdated, or at least not the same as what's on the printer now.

     

    Where can I find the source code of the "jedi.hex" file on my printer? It was last changed on January 27, 2019.

     

     

    --> https://github.com/Ultimaker/UltimakerMarlin

    • Thanks 1
    Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2

    OMG!  There it is.  UM2+C branch, S3/S5 branch, UM2 branch, and UM3 branch.  Thanks, @sj3fk3

    • Like 1
    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
     Share

    • Our picks

      • New here? Get ahead with a free onboarding course
        Hi,
         
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 11 replies
    ×
    ×
    • Create New...