Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
stevegt

Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Recommended Posts

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

 

Share this post


Link to post
Share on other sites

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)

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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.

 

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
Sign in to follow this  

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

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!