Jump to content
Ultimaker Community of 3D Printing Experts

Building Marlin: Makefile updates for UM2 and Arduino 1.0.1


stevegt
 Share

Recommended Posts

Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Hi All,

I appear to have a working Makefile for the UM2 and Arduino version 1.0.1. Anyone interested can grab a copy at https://github.com/stevegt/Ultimaker2Marlin/blob/arduino_101_makefile/Marlin/Makefile.

 

Can anyone verify that 'HARDWARE_MOTHERBOARD ?= 72' is correct for the UM2? I tried 7, but that throws DIOSDCARDDETECT_PIN and other undeclared symbol errors during compile with Arduino 1.0.1. Arriving at 72 was a trial and error process, and if it's in fact correct I'll also add a comment to Configuration.h making it more clear which setting is appropriate for the UM2.

If nobody has any objections to these updates, I'll send Daid a pull request in a few days so this is easier for the next guy. The most major issue I can think of myself is that it will slightly contradict Simon's invaluable HOWTO at http://www.extrudable.me/2013/05/03/building-marlin-from-scratch/. That document (for UM1, right?) shows arduino 023 and motherboard 7.

For the record, while getting the build to work, I also commented out the entire SIGNAL(TWI_vect) function in the arduino libraries/Wire/utility/twi.c, per Marlin's Configuration.h and multiple threads elsewhere in these forums. As far as I understand, I didn't need to do this unless I was using the Arduino IDE to build from the .pde, but I wound up building with the IDE in the course of troubleshooting the Makefile-based build anyway.

Thanks,

Steve

 

  • Link to post
    Share on other sites

    Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

    So I suspect 72 is correct. The UM1 uses the arduino mega2560. I don't know which arduino chip the UM2 uses.

     

    UM2 uses the same chip. The UM2 hardware started by just putting all the UM1 hardware on a single board. And then replacing the bits that where not needed or could function better (like the temperature measurements)

     

  • Link to post
    Share on other sites

    Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

    Did you use this for your source?

    https://github.com/Ultimaker/Ultimaker2Marlin

    If so then in Configuration.h I found:

     

    
    

    #ifndef MOTHERBOARD

    #define MOTHERBOARD 72

    #endif

    So I suspect 72 is correct. The UM1 uses the arduino mega2560. I don't know which arduino chip the UM2 uses.

     

    Yes, that's what I'm using for my upstream. I also saw that #define, which is what made me try 72 when 7 didn't work.

    Over in https://github.com/Ultimaker/Ultimaker2Marlin/pull/30, Daid seems to be saying that 72 is wrong for the UM2 though. Googling for those DIOSDCARDDETECT_PIN errors didn't find me much, which makes me think that building with 7, while using the Makefile or Arduino IDE, isn't something that many people are doing right now.

    I haven't dug through what differences there might be between codeblocks and the other build methods (and I might need the codeblocks XML to do that). It could be this is just a case of both the Makefile and .pde drifting behind codeblocks, getting the #ifdefs tangled up in such a way that 72 just happens to make it work right now.

    Steve

     

  • Link to post
    Share on other sites

    Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

    Over in https://github.com/Ultimaker/Ultimaker2Marlin/pull/30, Daid seems to be saying that 72 is wrong for the UM2 though.

     

    No, I think he's just saying that it's wrong to call it 'Ultimaker² Electronics' as it will at some point get used for the Ultimaker Original as well. It happens to be Ultimaker²-only at the moment, but it won't always be.

     

  • Link to post
    Share on other sites

    Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

    Indeed, 72 is proper for the UM2. But saying that 72 is the UM2 is wrong.

    So the comment in the configuration.h (// 72 = Ultiboard v2.0) is correct.

     

  • Link to post
    Share on other sites

    Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

    In my own repo copy I now have:

    // 72 = Ultiboard v2.0 (includes Ultimaker 2)

    ...I tried to also say something about future UM1 kits, but got all tangled up in time warp grammar and gave up.

    I'll include this in a lifetime_stats Makefile update I'm sending your way.

    Steve

     

  • 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
        • 8 replies
    ×
    ×
    • Create New...