Jump to content
Zataras

How to configure Marlin 1.1.x to UM2?

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,

 

 

 

Share this post


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!

 

Share this post


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

Share this post


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.

Share this post


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.

Share this post


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,

Share this post


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. 🙂

 

 

Share this post


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.

Share this post


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.

Share this post


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. 

Share this post


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..

 

Share this post


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

×
×
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!