Jump to content

where can I find the firmware(resource code) of ultimaker2plus


Recommended Posts

Posted · where can I find the firmware(resource code) of ultimaker2plus

Hi, I want to do some small modification for the firmware of ultimaker2plus and compile it by myself. where can I get the code? Thanks

  • Link to post
    Share on other sites

    Posted (edited) · where can I find the firmware(resource code) of ultimaker2plus

    source code is here.  It has an open source license.  If you sell or give away Marlin (even if you modify it) then you must also publish or supply the source code.  If you use it only for yourself you don't have to publish it.

    Here are my instructions for accessing and compiling it.

    How to build ultimaker2 marlin on windows (most steps are unneccessary for most people - read it all through before you start or you may waste a lot of time making the test version and never use it)

    Get the source code from github and put somewhere on your hard drive.  I'm not going to give you a tutorial on github - there's a lot to github features alone - you can simply download the zip but if you plan to edit it's best to install git and clone the project.  If you want to submit bug fixes you absolutely have to create your own github account and create a fork, make changes, test changes, push changes to github and then send a pull request.

    Ultimaker2 source is here:


    Ultimaker2 plus is here:


    tinkermarlin - a variant which is better is here:


    First know that the IDE is code::blocks.  We need SDL 1.2 and arduino IDE and mingW compiler.  Start with mingw compiler:

    Install arduino compiler from here - version 1.6.10 works but newer versions should be fine - put it into a path with no spaces (not program files which has a space):


    mingw gcc get here:


    Near the top is a setup.exe file.  After it installs it launches the installation manager - at this point nothing useful is installed.

    Next mark packages mingw32-base and mingw32-gcc-g++ (c++ compiler) to be installed and then menu item "installation" "update catalogue".  Wait for this to finish.

    sdl get here:

    https://www.libsdl.org/download-1.2.php  then get the win32 version near the bottom mingw32 version of sdl - this gets us SDL.h and sdl.dll

    from the gzip file copy the bin\sdl.dll file into c:\mingw\bin\

    and lib\* to c:\mingw\lib\*

    and \include\SDL folder to c:\mingw\include\  such that there are many .h files named SDL*.h in c:\mingw\include\SDL\

    optionally copy SDL.dll to c:\windows so it can be found more easily.  If there is already an SDL.dll there don't overwrite it - yikes.

    codeblocks - you only need codeblocks if you want to create a simulation but you should definitely do this - it allows you to break on a line of code and test so many things!  But if you write perfect code everytime then skip codeblocks.


    I recommend installing this last or at least after mingw or restart it after installing mingw.  After codeblocks is installed

    After launching codeblocks I think it asked me for a project file what was in the source tree here:


    In code::blocks menu click "build" "build".  You should get no errors in bottom "build messages" window.

    Click menu "debug" "start/continue" and it should pop up the simulator and boot.  Simulator shows screen and position of x,y,z axis graphically and more.  Before starting your program you can add a breakpoint in codeblocks on a particular line of code - right click on the number to the left of your

    line of code and add a breakpoint.  Then click the play button called "debug" (versus the play button titled "run").  When the simulator

    gets to that line it wall pause and you can examine variables (right click and add to watch).

    building the hex files: you need to launch the mingw64 shell - it looks like a dos window but better.  I don't know how to launch that but it came for free with my installation of git gui (from the git website).

    You build like this - get to the marlin folder and do:


    But it will fail the first time.  You need to set a few things up.  edit this package.sh file and add this line below the other arduino_path definitions:


    (or change to wherever you installed arduino ide - again - no spaces in path allowed!).  You should probably double check that this file is in this exact path:


    If not, then you probably need to modify AVR_TOOLS_PATH in marlin/Makefile.  I didn't have to modify that.

    You don't have to do anything with ARDUINO_VERSION unless you are using a version before 1.0.0 in which case you should probably get a newer arduino ide anyway.

    Also I had to redefine MAKE by adding the following line in package.sh - this is where mingw32 installed for me (/c/ is the equivalent of c:\)


    Edited by Guest
    • Like 2
    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

      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Like
        • 3 replies
      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
          • Like
        • 26 replies
    • Create New...