Jump to content
Ultimaker Community of 3D Printing Experts
tinkergnome

Tinker firmware - introduction

Recommended Posts

I was asked to sum up some facts about the alternative "tinker" firmware.

Here are the basics and the main links to start with it:

 

What is the "Tinker-Firmware"?

It's an alternative firmware for machines of the Ultimaker 2 series. The main development was made by me in my spare time. It's open source, based on the standard firmware from Ultimaker, but driven by the community.

One of the benefits is that special requirements can potentially be adapted faster. At least there's a good chance that someone 'jumps on the bandwagon' and implements it.

The tinker firmware does not work on an Ultimaker Original, but @amedee made an excellent job and offers a free online firmware compiler for these machines:

https://bultimaker.bulles.eu/

If you want to learn more about firmware in general (what it does and how it works), you find more information on the homepage of the Marlin Firmware:

http://www.marlinfw.org/

 

What are the differences to the standard firmware?

Basically - the user interface. Most of the "driving logic" under the hood is untouched and derived from the Ultimaker standard firmware (and finally from the Marlin firmware).

um2_geek_printing.thumb.png.2ea836707bdcfdf10d513a15486d5673.png

The menu structure of the tinker firmware is intended to support the needs of advanced users and tinkerers. In the beginning I developed it only to fulfil my personal interests, but it began to grow after I shared the result with the community.

The initial intention was easier access to the 'tune' options during printing. In addition: more preferences are configurable directly on the printer. For example: the beep on key-press and the printing area can be changed without the need to re-compile.

There is also a 'sleep timer' that switches the light off after a configurable period of time.

It's unlikely that something on your printer gets damaged by this firmware, but there's no guarantee.

You are using it on your own risk. If necessary, you can always re-install former versions (or the standard firmware) with Cura. After a subsequent factory reset all behaves like before.

 

How to get it?

At first: be aware that I don't own all printer models by myself. It should work, but each new release should be considered as "untested" until the contrary is reported.

Still interested...? :)

The source files and ready-to-use binary files for several variants of Ultimaker 2 and 2+ machines are hosted on GitHub.

Just download the appropriate hex-file for your printer and store it on a local drive. The file names should be pretty much self-explanatory:

https://github.com/TinkerGnome/Ultimaker2Marlin/releases

The hex-file can be installed on the printer with the assistance of Cura. If you own an Ultimaker, you probably have already installed it. If not, you can download the current version of Cura from the Ultimaker site:

https://ultimaker.com/en/products/cura-software

Within Cura 2.3.x. choose from the menu:

"Settings" -> "Printer" -> "Manage Printers"

Take care that the active printer is the one that you want to use for the firmware update and connect printer and computer with the USB cable.

Click on the button "Upgrade Firmware" and choose the option "Upload custom firmware".

upload_custom_firmware.thumb.png.90069018ed1fcafac6830c72bbfd3c89.png

 

Where to get help?

There's not much documentation for this alternative firmware yet. Just explore the menu structure on your own...

If you have further questions you should ask for assistance on the Ultimaker forum. There are many active and cooperative community members.

Please use the original topic from the link below for questions, suggestions and discussion. That helps to keep everything in one place.

https://ultimaker.com/en/community/7436-more-information-during-print

You can even join the team and contribute by yourself, just offer your skills and ideas there.

If you notice a specific issue, you can also report it on the GitHub page:

https://github.com/TinkerGnome/Ultimaker2Marlin/issues

Have a good time!

um2_geek_printing.thumb.png.2ea836707bdcfdf10d513a15486d5673.png

upload_custom_firmware.thumb.png.90069018ed1fcafac6830c72bbfd3c89.png

Edited by Guest
  • Like 9

Share this post


Link to post
Share on other sites

Love, love, love Tinker! Highly recommend it and can't believe that I had not installed it until recently. Preheat and move on the front panel are worth the time to upgrade on their own.

My only complaint, and this is really a question not a complaint, is that while I can find the firmware for Tinker, and have downloaded it, I have not been able to find the configuration files that are specific to a UM2+. I have hacked a printer to host a laser and want to stop the fan boost and have had to roll back to the stock firmware to do so! :-(

WIsar

Share this post


Link to post
Share on other sites

Is there something bogus in the current version?

I run my upgraded 2 ( to 2+) with the Stock 2+ Firmware everything is fine, i downloaded the Tinker-MarlinUltimaker2plus-16.08.2.hex installed it via Cura and it tells me my x or y switch is broken.

Back to Original Firmware with Cura everything is working again. Somone else the same issue?

Share this post


Link to post
Share on other sites

Is there something bogus in the current version?

I run my upgraded 2 ( to 2+) with the Stock 2+ Firmware everything is fine, i downloaded the Tinker-MarlinUltimaker2plus-16.08.2.hex installed it via Cura and it tells me my x or y switch is broken.

Recent versions of the standard firmware are using the EEPROM storage area of the tinker settings for different things... (one of them is the print area).

The variants are not longer interchangeable without a factory reset (or recheck all settings on the printer):

https://ultimaker.com/en/community/22363-help-upgraded-tinkergnome-firmware-now-i-get-x-or-y-switch-broken#reply-155079

  • Like 1

Share this post


Link to post
Share on other sites

Nice! Thanks a bunch! :)

Reasons to update:

  • Click-Sound - gone!
  • Stats while printing!
  • Better menue!

Missing:

  • Preheat nozzle earlier so it finishes at the same time as the build plate (maybe at 50°C instead of 55°C).
  • Preheat shows wrong pre-set nozzle temp; only while heating bed. It shows 0°C instead 210°C.

Share this post


Link to post
Share on other sites

Hi gang,

You know what got me to switch to TinkerGnome's firmware? Burn-in on the OLED screen (UM2)! This is how I learned that OLEDs, like old CRTs and unlike the LCDs we are all used to, *do*, in fact, get burn in and ghost images. OLED TVs can have this issue too, apparently.

ThinkerGnome's firmware helps in two ways: 1) You can lower the screen brightness, and 2) you can have the screen blank after a while, i.e. a screen saver.

That is what made me change. But having changed, I love it for all the other benefits. Better menus, more stats, more control, etc.

My only (minor) gripes are that I have had the occasional oddness (a bug here or there, nothing major) and I wish retraction settings were not so buried as I tend to tweak them a lot with all the different materials and manufacturers with which I experiment.

Anyway, just wanted to share my experience since I have not seen many/any talk about it.

Hope it helps! :)

Share this post


Link to post
Share on other sites

Another reason to switch:

Continue failed print!  What an amazing feature!

Also it's so easy to do.  Afterwards you will be wondering why you waited so long.

 

Oooh! So true! Only used it once so far, but it really saved by butt. :)

Share this post


Link to post
Share on other sites

Love Tinker ware, now very stable on my UM2+ Mark2+ LOL

But, i also have a UM3. Any chances of Tinkering?

Feels so limited now :-(

The main issue with um3 is that the firmware must be signed by UM for the um3 to accept it.

Oliver and nallath give this answer of how to do it. Ofc, isn't easy at all to change the firmware as easy as a um2 (and that for me is what doesn't make sense).

http://www.3dprintingforum.us/viewtopic.php?f=34&t=12&hilit=Um3+firmware+signed&start=930#p9062

  • Like 1

Share this post


Link to post
Share on other sites

Love Tinker ware, now very stable on my UM2+ Mark2+ LOL

But, i also have a UM3. Any chances of Tinkering?

Feels so limited now :-(

The main issue with um3 is that the firmware must be signed by UM for the um3 to accept it.

Oliver and nallath give this answer of how to do it. Ofc, isn't easy at all to change the firmware as easy as a um2 (and that for me is what doesn't make sense).

http://www.3dprintingforum.us/viewtopic.php?f=34&t=12&hilit=Um3+firmware+signed&start=930#p9062

Will have to wait then....

i miss the lights / screen dim functions, the complete display informations, the babystepping....

When the UM3 is aside the UM2+ dual extruder, the UM3 now feels limited ("closed source")

  • Like 1

Share this post


Link to post
Share on other sites

Hello all!

So, after upgrading my UM2 to a PLUS, I needed to try this out since I wanted to keep using PID bed heating since my prints were horrible as soon as I went past Cura 14.05.

However, it seems to be misreporting which nozzle my gcode files are set for. (Didn't find anything about this upon a search, unless I completely missed it?)

Files that were exported (from Cura 14.01 or .05... OLD I know... but it has always worked) with a 0.6 nozzle setting show "nozzle 0.4" in the Tinker display. Is this just a display bug? I'm going to run a print now ans see what happens.

Cheers!

//Joe

Share this post


Link to post
Share on other sites

I'm going to run a print now ans see what happens.

I assume that the old versions of CuraEngine do not provide any information about the nozzle size in the header of the gcode file. The UM2+ firmware will use the material temperature for the 0.4mm nozzle as a default in those cases.

This is what it looks like with the current version of Cura. If in doubt you can add the missing line and see, if it makes a difference.

;
;FLAVOR:UltiGCode
;TIME:4875
;MATERIAL:5528
;MATERIAL2:0
;NOZZLE_DIAMETER:0.4
;Generated with Cura_SteamEngine 3.0.3

Share this post


Link to post
Share on other sites

Yes, it seems that the line is missing from Cura_steamengine 13.12. I'll add the line when I get a chance and see. (I usually name my files accordingly... was mainly worried about the print.)

But I'm guessing the information for printing with the nozzle must be contained somewhere, or I'd have had a lot of underextrusion this last year since switching to the Olsson block! (I got an OB long before doing the full UM2+ upgrade.)

So far the print seems to be working fine. Thanks for the response! : )

I'm going to run a print now ans see what happens.

I assume that the old versions of CuraEngine do not provide any information about the nozzle size in the header of the gcode file. The UM2+ firmware will use the material temperature for the 0.4mm nozzle as a default in those cases.

This is what it looks like with the current version of Cura. If in doubt you can add the missing line and see, if it makes a difference.

;
;FLAVOR:UltiGCode
;TIME:4875
;MATERIAL:5528
;MATERIAL2:0
;NOZZLE_DIAMETER:0.4
;Generated with Cura_SteamEngine 3.0.3

Share this post


Link to post
Share on other sites

But I'm guessing the information for printing with the nozzle must be contained somewhere, or I'd have had a lot of underextrusion this last year since switching to the Olsson block! (I got an OB long before doing the full UM2+ upgrade.)

The UM2+ firmware allows to specify different print temperatures for each supported nozzle diameter. You will see it once you start customizing of the matrerial settings on the printer. That's the only setting on the printer that depends on the nozzle diameter in the UltiGCode comments. All other things are part of the slicing process.

In fact it prints fine without this extra information, it just uses the default print temperature for the 0.4mm nozzle. That's the intended behavior... :)

Share this post


Link to post
Share on other sites

So material flow is controlled by the slicer calculations? (I mean, it needs to move more material with a 0.6 than with 0.4 nozzle.)

That's the only setting on the printer that depends on the nozzle diameter in the UltiGCode comments. All other things are part of the slicing process.

Share this post


Link to post
Share on other sites

So material flow is controlled by the slicer calculations? (I mean, it needs to move more material with a 0.6 than with 0.4 nozzle.)

Yes, sure. Well, the percentage rate is tune-able on the printer, but the basic value is just a move of the e-axis and is calculated by the slicer like the moves for all other axis too. The only difference is, that the (relative) move of the e-axis depends on the material diameter, line width and layer height in addition. Basically the "flow" is nothing more than the increase of the e coordinate by a specified amount in a distinct amount of time. That's all calculated by the slicer. For UltiGCode the printer firmware has to convert the volumetric e coordinates to the length (because the material diameter is configured on the printer itself), but the principle stays the same.

Share this post


Link to post
Share on other sites

So material flow is controlled by the slicer calculations? (I mean, it needs to move more material with a 0.6 than with 0.4 nozzle.)

tinker is correct but I'll say it another way.

Cura has this concept of line width, layer height, move distance. It uses these three numbers to calculate the volume of a cuboid - very simple - just multiply line width by layer height by distance of XY travel and you get the volume. It then moves the extruder the right amount for that volume.

If you mess with flow % in Cura then cura modifies this final volume one more time. So 200% flow will over extrude by 2X and 50% flow will underextrude by half.

To make things more confusing there is also a flow control on the printer itself. This multiplies ALL extruder moves by this percent. It even affects things like retraction distance. So if you set flow to 120% it will try to overextrude by 20% and it will also retract (and unretract) 20% farther. Marlin (the firmware on the printer) just blindly multiplies all extruder movements by 20%.

  • Like 1

Share this post


Link to post
Share on other sites

Tinkergnome grate job with the firmware. It's awesome!

One small kind request/suggestion. Please add function for Atomic method for nozzle cleaning.

"Atomic Clean"

1. Heating a nozzle to work temperature

2. Beep when ready (message to insert filament manually)

3. Pressing "Next"

4. Nozzle temperature is lowering to defined "Low Temperature"

5. Beep when ready (message "Pull filament now!")

6. Two buttons available "Exit",  "Repeat"

7. "Repeat" start with procecure again from point 1

It would be just amazing to have it as an function in firmware,  do not performing all does steps manually. I really do not understand why Ultimaker itselfs hasn't preapre something like this. Why we need set Up and Down temperature manually for Atomic method.

Edited by Guest

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

×

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!