Main links for Marlin firmware

1
Daid Team Ultimaker Points: 6182
Posts: 4667

Posted by
Daid

Posted Oct 15, 2014 - 2:04 PM  

These are the main firmware links for the Ultimaker printers.

Ultimaker Original (Green electronics, Arduino)

https://github.com/Ultimaker/Marlin/

Ultimaker Original with Heated Bed Upgrade KIT (Green electronics, Arduino)

https://github.com/..._UM_HeatedBedUpgrade

Ultimaker Original PLUS (White electronics)

https://github.com/...lin_UM_Original_Plus

Ultimaker 2 (White electronics)

https://github.com/Ultimaker/Ultimaker2Marlin

All these firmwares can be build with the Arduino environment from

http://arduino.cc/en/Main/Software

Ultimaker 2 - Building problems!

Note that to build the Ultimaker2 firmware you will have to make an adjustment to the Arduino environment, or else you will get an error.

The file at "C:\arduino-1.0.3\libraries\Wire\utility" called "twi.c", open it in wordpad or any other text editor (except for windows notepad). And search for the line that starts with "SIGNAL(TWI_vect)". Remove this line and everything below it.

You might want to keep a backup of this file, or install a seperate Arduino environment for the Ultimaker 2 if you use the Arduino environment for anything other then building Ultimaker firmware. (This change does not conflict with the Ultimaker original firmware)

Origin

The Marlin firmware is based of the work of countless people. The "main" marlin version which is used as base for every other Marlin firmware can be found at:

https://github.com/ErikZalm/Marlin/

Online Marlin Builder

An online tool for building slightly customized firmwares has been made. This saves you fiddling with the Arduino environment if you just want to change a minor option. Cura can upload the resulting hex file to your printer.

http://marlinbuilder.robotfuzz.com/

Final note of warning

While it should be quite safe to test around with custom build firmwares, there are protections in the firmware to prevent problems with the hotend melting itself. Installing customized firmware is at your own risk.

21 replies
 20635 1
Best replies 
Sort 
gr5 Moderator Points: 16129
Posts: 9738
Location: Boston, United States Printers: Ultimaker 2, Ultimaker Original, Ultimaker 2 Extended, Ultimaker 2 Go, Ultimaker 3
Posted by
gr5

Posted Oct 15, 2014 - 5:09 PM

Here are my instructions for building Marlin - I've only tried them with the UMO firmware. There are tons of options you can mess with in Configuration.h and this file is very well documented and very easy to edit.

GUI METHOD

There are instructions that come with the erik zalm download (and probably all firmware versions) in the "README.md" text file.

Basically you download and install arduino ide:

http://arduino.cc/en/main/software

Then copy the sanguino software as explained in README file. Open Marlin.ino file in Arduino IDE by double clicking it (not pde file as stated in README - I think that's old). Select board as "Mega 2560" as explained in README file (white UM2 likely uses a different computer chip). Go to "file" "preferences" and select "verbose output" so you can find your hex file. Then build it by clicking the check box in the upper left corner. At the bottom you will see it compiling Marlin. At the end of this it says where the hex file is. If you are currently connected to your UM through USB you can just click "file" "upload" and you are done! But you should locate that hex file and save it somewhere along with the Configuration.h file used to create it so you can recreate the same version with maybe one change. Also you can upload the hex file using Cura in expert menu.

COMMAND LINE METHOD

Alternatively you can build Marlin with somewhat more detailed step by step instructions the command line way (which I don't prefer):

http://www.extrudable.me/...marlin-from-scratch/

Nicolinux Moderator Points: 3703
Posts: 2515
Location: Wiesbaden, Germany Printers: Ultimaker 2+, Ultimaker 3
Posted by
Nicolinux

Posted Dec 12, 2014 - 11:22 PM

Daid, just a quick question. If I want to change a little something in the UM2 firmware but otherwise stay in sync with your releases, I just need to check out the latest "release" from:

... and generate a hex file right? All settings are set and I don't need to scurry around in Configuration.h and Configuration_adv.h to add missing settings?

thx.

I
insight01 Level 1 - Starter Points: 25
Posts: 25
Posted by
I
insight01

Posted Mar 3, 2015 - 4:08 PM

Daid or anyone, can you provide more information on how to find the line that starts with "SIGNAL(TWI_vect)" in file twi.c ? I have searched that file and not been able to find the function "SIGNAL(TWI_vect)". I am using the latest firmware Daid references in his post above for the Ultimaker 2. Currently using Arduino 1.6.0. Im currently stuck as my Ultimaker 2 is not functioning and needs a firmware reload. Thanks for your help in advance.

tinkergnome Becoming an expert Level: 60 Points: 3102
Posts: 1167
Location: Germany Printers: Ultimaker 2, Ultimaker 3
Posted by
tinkergnome

Posted Mar 3, 2015 - 5:02 PM

Quote by Insight01

Daid or anyone, can you provide more information on how to find the line that starts with "SIGNAL(TWI_vect)" in file twi.c ? I have searched that file and not been able to find the function "SIGNAL(TWI_vect)".

The name of the macro has changed in recent versions of avr. Look for "ISR(TWI_vect)" instead.

The location of the file is also different, for V1.6.0:

..\hardware\arduino\avr\libraries\Wire\utility\twi.c

BTW: i had no success with the V1.6.0, and had no time to find the reason until now. Consider to downgrade your compiler to V1.0.6 if you run into other problems.

amedee I got this! Level: 43 Points: 1598
Posts: 975
Location: Brussels, Belgium Printers: Ultimaker Original, Ultimaker Original+
Posted by
amedee

Posted Mar 3, 2015 - 5:57 PM

I always build from the Makefile, which works with vanilla Arduino (you don't have to delete anything).

But stay away from 1.5/1.6, Marlin is untested with these versions.

(Daid compiles the official builds with 1.0.3 for Windows and 1.0.5 on the other platforms, so no need for cutting edge Arduino )

I
insight01 Level 1 - Starter Points: 25
Posts: 25
Posted by
I
insight01

Posted Mar 3, 2015 - 6:59 PM

Thanks TinkerGnome and Amedee for the sound advice. In the shower after posting the question it dawned on me that the only thing I did not consider was the Arduino version being used. So it was refreshing to see that I was thinking in the right direction. I installed the Adruino 1.0.3 and compiled my new mods with success. Now with my sanity partially restored I will attempt to unbrick the Ultimaker 2!

NBroenner 3D printing enthusiast Level: 11 Points: 120
Posts: 78
Location: Near Frankfurt am Main, Germany Printers: Ultimaker 2
Posted by
NBroenner

Posted Jul 2, 2015 - 10:32 AM

Hi,

I am starting to develop some changes to the UM2 firmware and I want to know how to recover it in case of something went wrong. Is the boot loader always starting the MEGA256, so that you can upload a stock version with Cura via USB or could there be situations to use the ICSP header. I own an AVRISP MK II. How would be the procedure if ICSP programming is needed ? I am working on Win 7.

Thanks and regards,

Nils

lars86 I know my way around here Level: 25 Points: 488
Posts: 302
Location: United States Printers: Ultimaker Original
Posted by
lars86

Posted Oct 8, 2015 - 11:50 PM

Does anyone have / know of a list of the customizations which differentiate the Ultimaker (original) branches from the vanilla Marlin master?

I'm interested in testing out their new RC build, but the structure has changed enough to make comparing files tricky. I could compare (file by file) the master Marlin release to one of the UM branches, but it would take a while. I'm hoping somebody has catalogued the changes.

Thanks!

J
Jabbrwcky Level 1 - Starter Points: 0
Posts: 2
Location: Germany
Posted by
J
Jabbrwcky

Posted Nov 13, 2015 - 3:52 PM

Which Marlin firmware is the Ultimaker 2 firmware based on? I updated to the latest (released) Ultimaker 2 firmware and it still has a bug that supposedly has been resolved in Marlin (Printing from SD card via M23 truncates the last letter from the filename, e.g. foo.gco => foo.gc)

And the link to the Marlin firmware also does not work anymore. Marlin is now hosted at: https://github.com/MarlinFirmware/Marlin

gr5 Moderator Points: 16129
Posts: 9738
Location: Boston, United States Printers: Ultimaker 2, Ultimaker Original, Ultimaker 2 Extended, Ultimaker 2 Go, Ultimaker 3
Posted by
gr5

Posted Nov 13, 2015 - 4:10 PM

I think the um2 drifted apart long ago - I think the last merge from the main marlin branch was 6/27/2013 07:41:11 (I could be interpreting git wrong). I think the problem is probably that the menu system changed so much from the main marlin branch that Daid was no longer able to safely merge in the latest features.

You could probably create a fresh github copy of um2marlin, make the M23 fixes, test the fix, and then send a pull request to Daid. All us um2 users would probably appreciate that.

J
Jabbrwcky Level 1 - Starter Points: 0
Posts: 2
Location: Germany
Posted by
J
Jabbrwcky

Posted Nov 13, 2015 - 4:19 PM

I'll have to see if I find the time.

As I am trying to get Ultimaker2 to work with Octoprint it would be nice to exctract the UltiGCode handling from the LCD printing implementation and also use it for the M command to start a print job from SD card.

But that is another topic...

Quote by gr5

You could probably create a fresh github copy of um2marlin, make the M23 fixes, test the fix, and then send a pull request to Daid.  All us um2 users would probably appreciate that.

gr5 Moderator Points: 16129
Posts: 9738
Location: Boston, United States Printers: Ultimaker 2, Ultimaker Original, Ultimaker 2 Extended, Ultimaker 2 Go, Ultimaker 3
Posted by
gr5

Posted Nov 13, 2015 - 4:35 PM

You could message tinkerGnome directly - he has made many modifications to the UM2 firmware we call "tinker marlin" and he may have fixed the M23 bug it's a looong thread to read:

https://ultimaker.com/...rmation-during-print

etix Getting started Level: 5 Points: 50
Posts: 6
Location: Paris, France Printers: Ultimaker Original+
Posted by
etix

Posted Nov 25, 2015 - 1:39 PM

Just wondering, does Ultimaker have plans to rebase their firmware on top of the upcoming Marlin 1.1 for the UMO+? The code of the upstream seems to be much more clean and has some interesting new features.

lars86 I know my way around here Level: 25 Points: 488
Posts: 302
Location: United States Printers: Ultimaker Original
Posted by
lars86

Posted Nov 26, 2015 - 6:00 AM

Quote by etix

Just wondering, does Ultimaker have plans to rebase their firmware on top of the upcoming Marlin 1.1 for the UMO+? The code of the upstream seems to be much more clean and has some interesting new features.

I am hoping so! It looks like the devs have improved it a lot with the upcoming release.

nallath Team Ultimaker Points: 4120
Posts: 2272
Location: Geldermalsen, Netherlands Printers: Ultimaker 3
Posted by
nallath

Posted Nov 26, 2015 - 1:35 PM

We don't have any such plans as far as I'm aware.

etix Getting started Level: 5 Points: 50
Posts: 6
Location: Paris, France Printers: Ultimaker Original+
Posted by
etix

Posted Nov 26, 2015 - 6:25 PM

Does anyone knows the current state of Marlin (upstream) running on Ultimaker printers? They are supposed to be supported but I really doubt it will work out of the box.

In addition, I wonder how much non-backported changes were made since the fork took place. If anyone who knows can give some insight, it would be nice to get a clear picture of the amount of work required.

nallath Team Ultimaker Points: 4120
Posts: 2272
Location: Geldermalsen, Netherlands Printers: Ultimaker 3
Posted by
nallath

Posted Nov 27, 2015 - 9:24 AM

Ultimaker printers is a quite broad term. Getting the UMO to work with the new marlin stuff shouldn't be that hard. The UM2 has quite a few changes, especially with respect to the display screen and how materials etc are handled.

etix Getting started Level: 5 Points: 50
Posts: 6
Location: Paris, France Printers: Ultimaker Original+
Posted by
etix

Posted Nov 27, 2015 - 12:44 PM

That's what I thought. I will probably start porting the changes from the Marlin_UM_Original_Plus to Marlin upstream and report how it works as soon as I find some time

nallath Team Ultimaker Points: 4120
Posts: 2272
Location: Geldermalsen, Netherlands Printers: Ultimaker 3
Posted by
nallath

Posted Nov 27, 2015 - 4:16 PM

Quote by etix

That's what I thought. I will probably start porting the changes from the Marlin_UM_Original_Plus to Marlin upstream and report how it works as soon as I find some time

Cool

I
IAtkinI Level 1 - Starter Points: 0
Posts: 1
Location: United Kingdom
Posted by
I
IAtkinI

Posted Jun 12, 2016 - 12:29 PM

I'm struggling massively with compiling the firmware for a UM2 board, all i need to do is adjust the max positions on X & Y but I'm failing massively,

i cannot compile as it comes up with an array of coding errors,

D
designsoul 3D printing enthusiast Level: 11 Points: 124
Posts: 16
Location: Tilburg, Netherlands Printers: Ultimaker Original
Posted by
D
designsoul

Posted Nov 1, 2016 - 11:48 AM

For the ones with an UMO and dual extrusion upgrade, this firmware generator works like a champ:

https://bultimaker.bulles.eu

Don't forget to also install Arduino drivers from arduino.cc

21 replies
 20635 1
Best replies 
Sort 
Support