Jump to content

How to configure Marlin 1.1.x to UM2?


Zataras

Recommended Posts

Posted · How to configure Marlin 1.1.x to UM2?

Howdy every one,

 

    I upgrade the UM2 firmware to Marlin 1.1.x version, so I could have access to BLtouch and some other extra features. The printer is working fine except for two things:

 

  • The Hotend auto fan will not work, no matter what I do. (same issue as here : )
  • The controller leds behind the nob will not turn on.

Is there anyone who have a fully working UM2 with BLtouch able to share the firmware files or help?

Thank you in advance,

 

 

 

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    Welcome @Zataras!

     

    On 7/29/2019 at 8:26 PM, Zataras said:

    The Hotend auto fan will not work, no matter what I do.

     

    I'm not familiar with the structure of Marlin 1.1.

    The method from the older thread obviously works with the older Marlin version that is used by Ultimaker, so 🤷‍♂️?

     

     

    On 7/29/2019 at 8:26 PM, Zataras said:

    The controller leds behind the nob will not turn on.

     

    The encoder LED ring is initialized (and controlled) by I2C commands.

    Search for all occurrences of "i2c_led_write" to get an idea.

    https://github.com/Ultimaker/UM2.1-Firmware/blob/UM2.1_JarJar/Marlin/UltiLCD2_low_lib.cpp#L121

     

    And there are some macros defined for the more fancy stuff.

    https://github.com/Ultimaker/UM2.1-Firmware/blob/UM2.1_JarJar/Marlin/UltiLCD2_hi_lib.h#L110

     

     

    Good luck!

     

  • Link to post
    Share on other sites

    Posted (edited) · How to configure Marlin 1.1.x to UM2?

    Thank you @tinkergnome, and I am not sure if the solution suggested in the previous thread resolved it. Nevertheless, I actually like more the Ultimaker 2 firmware than the marlin 1.1.x for various reason.

    Are you familiar with any version of the Ultimaker 2 firmware(official or not) w/ autobed leveling option in it?if not, how does it work to merge the autobed leveling option from the Marlin1.1x to the Ultimaker 2 firmware? 

    Or could I use the Ultimaker 3 firmware configured to my hardware?

     

    regards,

     

     

    Edited by Zataras
  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?
    On 8/3/2019 at 12:18 AM, Zataras said:

    how does it work to merge the autobed leveling option from the Marlin1.1x to the Ultimaker 2 firmware?

     

    I don't want to say it's impossible, but it's not a quick task for sure...

    The Marlin documentation provides a list of all relevant keywords you can search for in the source files.

    But back-porting all the dependencies into the older version will be... not worth the trouble, if you ask me... 😈

     

    If you don't need the "UltiGCode" features, it would be probably easier to adopt the Ultimaker menu system for a newer Marlin version, although this would be a lot of work as well.

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    The UM3 firmware is not going to help you since a lot of the bed leveling code is not handled by Marlin but by the extra Linux board.

     

    Porting the leveling code from Marlin to UM2 will be a lot of work. Both source codes were equal 6 years ago but then deviated in so many details that it will be a lot of work. Do-able, but very easy to miss out a few details and then it will take you long time to find the bugs. Make it a proper github fork and other people might be willing to help you and you help others by sharing the code.

     

    Best way to go seems to be to use the Marlin code as it is and add the few UM2 features that you find important. You will miss the Ultigcode flavour but the other gcode variants work just as well.

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?
    33 minutes ago, CarloK said:

    The UM3 firmware is not going to help you since a lot of the bed leveling code is not handled by Marlin but by the extra Linux board.

     

    Porting the leveling code from Marlin to UM2 will be a lot of work. Both source codes were equal 6 years ago but then deviated in so many details that it will be a lot of work. Do-able, but very easy to miss out a few details and then it will take you long time to find the bugs. Make it a proper github fork and other people might be willing to help you and you help others by sharing the code.

     

    Best way to go seems to be to use the Marlin code as it is and add the few UM2 features that you find important. You will miss the Ultigcode flavour but the other gcode variants work just as well.

    Hi CarloK, thank you for the heads up. Marlin 1.1.x works fine is just that hotend fan that doesnt turn on,  and the leds on the controller that look pretty nice and it is not working either. I do not not how to make it a proper github fork, but it is the most reasonable suggestion that I heard so far.

     

    REgards,

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    The UM2 hotend cooling fan is connected to pin J6 of the CPU, for this pin there is no corresponding pin number defined in Arduino. This means that you can't use the standard Arduino functions for controlling this fan and configuration of this pin in the file pins.h won't work. In the UM2 firmware you will see the pin is controlled by a direct register write.  Some similar solution will have to be added to the Marlin firmware (this is your special UM2 hack on your own forked Marlin variant).

     

    Note that forking a project in Github is easy. It is just pressing the 'fork' logo on the right top of the Marlin Github page. There are already over 7500 forks of this project. 🙂

     

     

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    Hey @CarloK, is something like this https://github.com/Ultimaker/UM2.1-Firmware/blob/UM2.1_JarJar/Marlin/temperature.cpp#L552  that would connect that "direct register write"? if so, how can one compile it with Marlin 1.1.x? I follow the instructions, but no avail.

    Also, I found this version https://github.com/nullsibnelf/Marlin-for-UMOplus-UM2Extruders-E3Dv6lite

    that has the bltouch option, the hotend fan works, but there's no define ULTI_CONTROLLER. So very unfortunately the screen doesnt work.

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    You found the correct patch for the UM2 hotend fan. When you say it fails when adding to Marlin 1.1.x  I don't understand how it fails so can't help you.

    Also, I'm on vacation now and don't want to spend to much time in this topic. Sorry.

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    Hi @CarloK, I did go through my post and I cannot find mentions for "it fails when adding to Marlin 1.1.x ." Nevertheless, enjoy your vacation. 

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

     

    @Zataras, well, i think you could be more specific about this quote from your post.

     

    On 8/15/2019 at 11:14 PM, Zataras said:

    how can one compile it with Marlin 1.1.x? I follow the instructions, but no avail.

     

    • First of all: which instructions??
    • How have you merged the "direct register write" into the Marlin 1.1 sources? (only copy&paste will not work, that's for sure 🙂)
    • How deep is your knowledge in C programming for the Arduino?
    • What exactly did not work (what about a code snippet and/or error messages)?

    BTW: doing your own fork on GitHub is actually a good idea, because it makes collaboration so much easier..

     

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    @Zataras Hi, I was just wondering if you ever were able to achieve this or if there was a fork created on Github?

     

    I am looking to add bltouch capability to UM 2+ machines but struggling to find the best way to do it.  Any suggestions or pointers would be helpful.

     

    I'm familiar enough with setting up configuration.h for various printers but it looks like this may be more complex.

     

    kind regards, Julian 🙂 

  • Link to post
    Share on other sites

    Posted (edited) · How to configure Marlin 1.1.x to UM2?

    @Zataras

    For anyone else finding this thread, the Ultimaker 2 main controller board LED behind the encoder button now works in Marlin. I checked the I2C chip which is PCA9632 and was able to replicate the on/off functionality in the current Marlin build. The updated change in Marlin should be in the next released version 2.0.9.4

    As a plus, you can now change the color of the RGB LED.

     

    Equivalent Marlin commands  to activate the LED in the default color. 

    M260 A96 B00;
    M260 A96 B128 S1;
    M260 A96 B01;
    M260 A96 B28 S1;
    M260 A96 B02;
    M260 A96 B48 S1;
    M260 A96 B03;
    M260 A96 B48 S1;
    M260 A96 B04;
    M260 A96 B60 S1;
    M260 A96 B05;
    M260 A96 B00 S1;
    M260 A96 B06;
    M260 A96 B255 S1;
    M260 A96 B07;
    M260 A96 B00 S1;
    M260 A96 B08;
    M260 A96 B170 S1;

     

    ulticontroller_led-min.jpg

    Edited by ansonl
  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?

    I have uploaded also marlin to my UM2 but if i auto home it crashes to the extruder. Domthing goes wrong. Do xou have a working FW gor UM2or 2+?

  • Link to post
    Share on other sites

    Posted · How to configure Marlin 1.1.x to UM2?
    11 hours ago, mulawi said:

    I have uploaded also marlin to my UM2 but if i auto home it crashes to the extruder. Domthing goes wrong. Do xou have a working FW gor UM2or 2+?

    Did you use a configuration from here? https://github.com/MarlinFirmware/Configurations/tree/import-2.1.x/config/examples/Ultimaker

  • 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.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 26 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...