Jump to content
UltiMaker Community of 3D Printing Experts

Building Marlin: Makefile updates for UM2 and Arduino 1.0.1


stevegt

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