Jump to content
Ultimaker Community of 3D Printing Experts

Newest Ultimaker Original Firmware – Where is the sourcecode?

Recommended Posts

I'm looking for the source-code of the exact firmware version for Ultimaker Original (non +) that the newest version of Cura (3.2.0-BETA) would install as hex-file from who knows where. But I just can't find where this comes from. Even by digging in Curas source-code.


As far as I understand the newest firmware should be some branch here:

But how do I check that some branch here is actually the source-code of this specific newest firmware version that Cura 3.2.0-BETA would upload?


I want to make absolutely sure that I don't accidentally downgrade.


I don't get the firmware versioning scheme.
In the aforementioned repository I see:
* MarlinFirmware:1.1.x.
* UltimakerMarlin - 12.12 RC1 - Basic.hex


But then the UltiController just shows the Cura version from which the firmware was uploaded.
Like so:


This is currently on my machine ( Ultimaker N°118 from preorder time :) )
> Firmware version
> Ultimaker:_15.02.1
> 115200_single
> Feb 19 2015 09:56:15


15.02.1 is as far as I can see the Cura Version which uploaded the firmware.
( Its listed here: https://ultimaker.com/en/products/cura-software/list )


I see no way to find out out the source-code-firmware-version this was compiled from.
And no way to find out the source-code-firmware-versions that Cura 3.0.2-BETA's firmware branches in hex form stem from.


**So here's my question more concise:**
How do I get Cura 3.0.2-BETA's newest frimware version (chosen printer version) in source-code form
and how do I then check for ideticallity with Cura 3.0.2-BETA's firmware version in hex-form?

Can anybody help?

**Some details:**

I want to install a Flex3Drive add-on on my Ultimaker (non +),
so I wanted to change the E_steps/mm parameter and some other settings in the firmware.

Yes, I've seen the branch "Marlin_UMO+_Flex3Drive".
I guess I could use that if I change the z-axis settings back to UMO values, but
I suspect manually adding the Flex3Drive stuff to an UMO (non +) firmware branch (whichever that is) is easier.

No matter which of these two options I take though, the basic problem I described above remains the same.

Share this post

Link to post
Share on other sites

First let me say that it should be obvious but took me TWO YEARS to notice that the version number relates to the date.  So "15.02.1" implies 2015 February and the ".1" means this was the second version built and released in february.  I think.  Or it means it's the first version.  I think "15.02" would be the first version and "15.02.1" is the second.  Maybe you already understood that but if you didn't - then this helps greatly in the research.


I'm going to post this and then go look in github as I have some nice git tools I use daily and am familiar with.

Share this post

Link to post
Share on other sites

Okay.  What I learned so far.  The 15.02.1 version is easy to find in git because daid tagged each of these in git each time he released one.  It turns out that 15 of the builds are identical including 15.02, 15.02-RC1, 15.02-RC2, 15.02.1.  And 15.04.4.  And more.  So these version numbers have more to do with Cura than with Marlin.  I suspect this is still the latest code today for UMO.


The ONLY change made to this branch since then is that Ghostkeeper changed the makefile to be "more reliable" in february of 2016.  None of the actual source code has changed since january of 2015.  This is the branch I'm talking about:




As for figuring out what comes with cura 3.1 (or cura 3.0.2 beta or whatever).  I'd just install it.  I wouldn't print with it but if you install it then you can use your ulticontroller to see the version (do you have an ulticontroller?  If not you can check with pronterface).  In fact you can use *any* arduino I suppose and check the version using pronterface.  That way you don't have to lose any eeprom settings on your current printer while doing the research.


  • Like 1

Share this post

Link to post
Share on other sites

Thanks for replying so quickly.
Yes I already knew that the old Cura version numbers (till 15.04.6 ) referred to the date. The new versions (since Version: 2.1.2) do not anymore.

> As for figuring out what comes with cura 3.1 (or cura 3.0.2 beta or whatever).  I'd just install it.

Yes, was just about to answer that I'll try that. I'll update to the new default UMO firmware and check via the UltiController (yes I have one) if the firmware tells the date instead of the new Cura version format  3.0.2-BETA gah I meant 3.2.0-BETA the whole time (or whatever)


> In fact you can use *any* arduino I suppose and check the version using pronterface.

I currently have only one arduino. The one in the Ultimaker. So this is currently not an option. (Just gotta jot the few adjusted parameters down on paper. Its Curas default hex firmware only marginally adjusted by UltiController anyways.)

Edited by mechadense

Share this post

Link to post
Share on other sites

That's not helpful because there are no tags called 2.6.2.  I suspect it is byte for byte identical to the 15.02 versions.  You could use a program like winmerge to compare the two files.  Does has a compare utility (diff?) built in and unix has lots of them.  If you look around the cura install folders you shuld be able to find several ".hex" files that are named things like umo, umoplus, umo_hb, um2, um2ext, um2go, etc.  Find the one for the umo and see if it is byte-for-byte the exact same file as the 15.0X version.  Probably is.  Except maybe the version number and build date?  Maybe?  Probably.

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

  • Our picks

    • Ultimaker Cura | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
        • Like
      • 130 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 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!