Jump to content
Ultimaker Community of 3D Printing Experts
  • Sign Up

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

Share this post

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

Share this post

Link to post
Share on other sites
Posted · where can I find the firmware(resource code) of ultimaker2plus

Corrected my reply, thanks.

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

    • Talking additive | The 3D printing podcast
      Why should we be the only ones asking questions? Join us and ask Jabil all your questions on September 22nd 5pm CET
        • Like
      • 2 replies
    • Ultimaker masterclass: Optimizing your Ultimaker Cura workflow
      Save your seat for either broadcast on September 23.
      What will you learn?
      · Best practices for iterative print preparation and every lesson you should learn from each print
      · The right way to use per-object settings and when they are most useful
      · Easy-to-use resources for anyone who wants to develop their own printer definitions, plugins, or print profiles
      · How to optimize print profile settings and whether to “keep” or “discard” changes
      · When is the right time to export your drawing from CAD? (Based on Ultimaker Cura’s surprising power as 3D control software)
      · And a whole lot more tips and tricks!
      How can I join?
      This free masterclass will take place twice:
      1. 11am CEST (5pm SGT, 5am EDT)
      2. 5pm CEST (11am EDT, 8am PDT, 11pm SGT)
        • Like
      • 0 replies
    • Do you use 3D printing at work? Let us know
      It doesn't matter if you are using 1 Ultimaker or 10, there is inspiration in everything. We're looking for ...
      • 1 reply
  • Create New...