/Marlin

Reprap FW with look ahead. SDcard and LCD support. It works on Gen6, Ultimaker, RAMPS and Sanguinololu

Primary LanguageC

Marlin for Ultimaker Original / Original+

For the original README, see README-Marlin.md in this directory.

What is this all about?

This firmware is a fork of the official Ultimaker firmware for the Ultimaker Original and Original+ 3D printers.

The main focus of this fork is stability and compatibility with the official Ultimaker firmware. If you do not select any option for your build, you will get the same firmware as the one shipped with Cura.

For maintenance purpose, the UMO, UMO-HBK (with Heated Bed Kit) and the UMO+ branches are merged in a single branch.

Additionally this offers tweaks, cosmetic changes and some bug fixes.

The easiest way to build a custom firmware is to use the associated builder:

The Experimental builder corresponds to the experimental branch of this firmware and contains the latest code.
When the experimental features are proven to be stable they are merged in the stable branch and are available with the Stable builder.

The builder is safe to use and will generate valid firmware for your UMO(+), but be aware that the UMO and the UMO+ have a different controller board and selecting the wrong printer may brick your controller.
New features are first tested on my own printers (UMO and UMO+), then by the community. Untested features won't be pushed to the stable branch.

Note that I won't support builds that are not generated by the builder.

More information on this firmware and the builder is available in the Ultimaker Original custom firmware builder article.

Feature summary

This list summarizes the features offered by the firmware (F) and/or the builder (B)

  • 17.01: Merge 17.01 RC into stable.
  • 17.01-RC2 - F/B - Software adjustable bed leveling.
    Adjust your bed level in the same way the Ultimaker2 does.
  • 17.01-RC2 - F/B - Software endstops for UMO.
    UMO with HBK and UMO+ are using "software endstops": limit switches are only used for homing. This feature allows you to have software endstops on the UMO as well.
  • 17.01-RC1 - F/B - Temperature tweak feature.
    Allows temperatures (and fan) tweaks from the controller.
    This is useful when you want to print an existing GCode with different temperature/fan settings.
    Note that a values of 0 (off) is always honored as we want to be sure that the devices can be turned off in all circumstances.
    • Overrides: temperature override will take precedence over current and future temperature changes (from the controller or the GCode).
      Override of 0 means disabled (If you want to turn off the fan permanently set ratio to 0% with the Offset feature).
    • Offset: the selected offset will be added to the current and future temperature changes.
      For the fan, we use a ratio (0%-200%) of the requested fan setting instead of an offset.
  • 16.12 - F - Fix buffer overrun during initialization (Marlin bug)
  • 16.05-RC5 - F - Bed PID is now saved in EEPROM.
    If you use PID instead of 'bang-bang' to control your bed temperature, the bed PID can now be viewed/changed on the controller and saved in EEPROM
  • 16.05-RC5 - B - Allow higher temps for the hot end & some tweaks in the UI
  • 16.05-RC4 - F/B - Support for hot end fan on Ultiboard 2.1.4+
    The latest version of the Ultiboard allows to control the hot end fan by software and the 5v fan output is now off by default. You need this fix if you have an hot end fan and a recent Uliboard!
  • 16.05-RC3 - F/B - FAN_MIN_PWM feature.
    This is a backport from the latest Marlin: when this feature is enabled you can specify the minimum PWM your fan(s) needs to continue running.
  • 16.05-RC2 - B - Add choice between Fast and Slow PWM for the fan.
    The so-called 'Fast PWM' method is used to control the fan. On some machines, Fast PWM generates interferences and the temperature reading from the thermocouple becomes unstable at slow fan speeds. Disabling Fast PWM typically solves that issue.
  • 16.05-RC1 - B - Allow PID control for heated bed (Instead of 'bang-bang')
  • Apr-2016 - F - Fix for filament detection
  • Mar-2016 - F - LED brightness now saved in EEPROM (UMO+ or custom LEDs)
  • Mar-2016 - F - Marlin fix: corrected some edge case where auto.g files where ran after a print.
  • Mar-2016 - F - Marlin fix for UMO: don't assign PS_ON_PIN as it is not connected
  • Mar-2016 - B - Add option to kickstart fan.
    Although most fans will keep running at low speed, they typically won't start at these speeds. This options will ensure that fans are briefly started at full power before setting the request rate.
  • Mar-2016 - F/B - Filament runout sensor support. This feature is a backport from latest Marlin and needs custom hardware.
  • Mar-2016 - B - Configurable Z axis / Extruders direction.
    In case you have installed custom Z stage or extruder...
  • Mar-2016 - F/B - Implementation of '// action:command'.
    This feature is Useful for USB printing, in particular when using OctoPrint (You can e.g. pause a print from OctoPrint and restart it from the controller)
  • Mar-2016 - F - Motor current selection and stored in EEPROM (UMO+)
  • Sep-2015 - B - Allow to reverse the rotary knob encoder (On the FGSC).
    It seems that some 'full graphic smart controllers' have their encoder reversed...
  • Sep 2015 - F - Fix for integer arithmetic (Marlin bug)
  • Aug-2015 - B - Configurable MaxTemp
  • Jul-2015 - F - Fix for M117 missing character when printing from USB (Marlin bug)
  • Jun-2015- B - Configuration for GT2 Pulleys
  • May-2015 - F - Print Fan% on UltiController status line
  • May-2015 - F - Fix float rounding when converting to integer (Marlin bug)
  • Mar-2015 - B - Configurable LCD Timeout (time before returning to main screen)
  • Feb-2015 - B - Configurable language (French only, contributions accepted!)
  • Mar-2015 - B - Configurable Axis direction.
    For direct drive
  • Feb-2015 - B - Configurable temperature sensors.
    For custom heated bed, hot end sensor, ...
  • Jan-2015 - F - Better handling of special characters in file names (both UltiController and FGSC)
  • Dec-2014 - F/B - Support for the RepRap Discount ‘Full Graphic Smart Controller’ (FGSC)
  • Dec-2014 - F/B - LED Support for UMO+. LED brightness can be selected on the controller
  • Dec-2014 - F/B - Merge UMO / UMO with Heated Bed Kit / UMO+ in a single firmware.