Assets 2

Marlin 1.1.9 is the final 8-bit flat version of this firmware, and the last 1.1.x release. A monumental amount of talent and effort has gone into its production. Throughout Marlin 1.1 development we worked closely with the community, contributors, vendors, host developers, library developers, etc. to improve the quality, configurability, and compatibility of Marlin Firmware, while supporting a wide variety of Arduino-based boards.

For this development cycle we aimed to address bugs and overhaul the motion planner. The end result is a much smarter and more robust motion system, and this should be noticeable as improved print results and reduced print job times.

Change Log

New Features

  • Specify stepper drivers per-axis. Marlin determines pulse timing.
  • Updated to Linear Advance 1.5 (with new K value range)
  • Added POWER_LOSS_RECOVERY for SD printing (based on work by Creality3D)
  • Added POWER_LOSS_PIN to detect power loss early and save state
  • Added Z_CLEARANCE_MULTI_PROBE to set probe "bump" distance
  • Added DELTA_FEEDRATE_SCALING to dynamically scale the feedrate for correct delta motion
  • Added a Lightweight Status Screen LIGHTWEIGHT_UI for ST7920 (most graphical displays!)
  • Added homing / leveling / probing options
  • Added M701 / M702 filament load / unload
  • Added SLIM_LCD_MENUS for reduced build size
  • Added AUTO_POWER_CONTROL to turn power on/off as needed
  • Added M421 N parameter to set a mesh point to NAN
  • Added support for Malyan LCD

Fixed and Optimized

  • PlatformIO Auto Build for Atom and VSCode. Builds based on MOTHERBOARD setting.
  • Improved stepper timing, smoothness, etc. Try these new features:
    • ADAPTIVE_STEP_SMOOTHING : Smoother multi-axis motion at lower speeds
    • JUNCTION_DEVIATION : An alternative to classic jerk limiting
    • S_CURVE_ACCELERATION : S-shaped acceleration curves to reduce ringing
    • DELTA_FEEDRATE_SCALING : Correct the feedrate so it applies to Cartesian mm/s
  • Improved performance, stability, reliability, and error handling
  • Improved LCD display, status message, and controller response
  • Improved multi-extruder filament change
  • Added Creality and other example configurations
  • Many improvements for Trinamic stepper drivers, sensorless homing
  • Various improvements for UBL and G26
  • Various improvements for Auto Bed Leveling
  • Updated languages: Chinese, Czech, French, German, Italian, Portuguese, Slovak, Spanish
  • Improved M43 pins debugging
  • Improved PlatformIO build support
  • Improved G33 delta calibration
  • Improved Max7219 LED matrix support, daisy-chaining
  • Improved handling of probe/endstop errors
  • Improved temperature reading and thermocouples support
  • Better handling of serial communication
  • More complete M503 report with ABL mesh
  • Various improvements for SWITCHING_EXTRUDER and MK2_MULTIPLEXER
  • Various improvements to pin assignments
  • Improved custom boot and status screens, add 3-frame fan animation

Miscellaneous Changes

  • Update Advanced Pause / Filament Change settings
  • Report an error on unsupported commands
  • Set laser/spindle power to minimum on disable
  • Allow LCD_SET_PROGRESS_MANUALLY without SDSUPPORT
  • MIN_PROBE_EDGE replaces DELTA_PROBEABLE_RADIUS

For Developers

  • Linux / Darwin-compatible build scripts for running tests locally
  • Improved GitHub helper scripts.

Known Issues

  • Please report any issues with tool change, bed leveling, special extruders, dual X axis, and SCARA.

Helpful Links

@thinkyhead thinkyhead released this Dec 25, 2017 · 1181 commits to 1.1.x since this release

Assets 2

This release contains bug-fixes and other changes aimed at improving stability and addressing outstanding issues.

Known Issues

  • Please report any issues with tool change, bed leveling, special extruders, dual X axis, and SCARA.

New Features & Changes

  • #8844 : Add NO_VOLUMETRICS to leave all volumetric code out
  • #8849 : Host Actions for pause and resume (with M600 / M125)
  • #8851 : SCARA feedrate scaling similar to Evezor
  • #8864 : Use NOZZLE_PARK_FEATURE for ADVANCED_PAUSE_FEATURE

Bug Fixes

  • #8847 : Fix LIN_ADVANCE (also back-ported to 1.1.7)
  • #8891 : Allow consecutive uses of G29 (ABL-BILINEAR) without cumulative error
  • #8892 : Fix 3POINT movement between points

Configurations

  • #8888 : Reduce default jerk values to better fit current jerk code

Languages

Hardware / Boards

  • #8849 : Fix SERVO pin with GT2560 Rev.A+

For Developers

  • #8738 : Compile all .cpp files by wildcard in Makefile
  • #8828 : Stop compiling in PlatformIO after 5 errors

Top Contributors
See the list of commits since 1.1.7 (or PRs since 1.1.7) for more details.

@thinkyhead thinkyhead released this Dec 16, 2017 · 1209 commits to 1.1.x since this release

Assets 2

We've had one of the most active periods ever, with over 125 pull requests and 450 commits, representing dozens of evolutionary improvements. The 1.1.7 release contains bug-fixes, enhancements, refinements, new features, and other changes aimed at improving stability and addressing outstanding issues.

Known Issues

  • Please report any issues with tool change, special extruders, dual X axis, and SCARA.

Major Changes

  • #8229, #8381 : Operate in Native Machine Space
    Marlin now operates internally in native workspace, which simplifies and optimizes the movement code.
  • #8458 : No retroactive adjustment with M851 Z
    Version 1.1.6 incorrectly modifies the BILINEAR mesh in response to M851 Z. This has been fixed!
  • #8596, #8636 : Add SEGMENT_LEVELED_MOVES for MBL, Bilinear, UBL
    With this option Cartesian moves are broken into small segments when a mesh-based bed leveling system is enabled.
  • #8658 : Split first move to planner for better chaining
    This change fixes the dreaded "first move stutter" that Marlin inherited from Grbl long ago.
  • #8690 : Purge remaining blocks on endstop/probe hit
    This change prevents any extra moves left in the planner from running after a quick-stop.
  • #8697 : Alter jerk code to address COREXY stuttering
    There are many ways to handle "jerk" (and we've tried a few). The latest iteration fixes a Core stuttering issue while reducing the jerk code to its essence.

New Features & Changes

  • #7980 : Add per-axis Software Endstop options
  • #7991 : Add EXTRA_FAN_SPEED feature
  • #8014 : Add M290 babystepping
  • #8017 : Change G30 S0 to G30 T1 (revise boolval)
  • #8020 : Add SCROLL_LONG_FILENAMES to reveal longer filenames
  • #8112 : Improved Firmware Retraction logic
  • #8123, #8143 : Add Dual Endstops for XYZ
  • #8167 : Constrain Delta / SCARA to printable radius
  • #8200 : Add CNC_COORDINATE_SYSTEMS
  • #8126, #8209 : Add thermal runaway protection to M303
  • #8337 : Add NanoDLP Z movement synchronization
  • #8417 : Add M114_DETAIL to Configuration_adv.h
  • #8488 : Add LED Control sub-menu
  • #8623, #8745 : Add SKEW_CORRECTION and sub-options
  • #8705 : Add MULTIPLE_PROBING (replacing PROBE_DOUBLE_TOUCH)
    Apply a weighted average to fast/slow probes.
  • #8712 : Improved TMC driver supporting TMC2208, M122, M915
  • #8790 : Extend NANODLP_Z_SYNC to G4, G28, with an option for all axes

Bug Fixes

  • #7977 : Fix Emergency Parser
  • #8041 : Fix endstops with BOARD_RAMPS_14_EFB on Micromake C1
  • #8073 : Fix position sync in M600 pause/resume
  • #8104, #8114, #8160 : Fix and simplify SD_REPRINT_LAST_SELECTED_FILE
  • #8177 : Fix NO_MOTION_BEFORE_HOMING behavior
  • #8182 : Fix double bootscreen on graphical display
  • #8196 : Allow asterisks in G-Code commands
  • #8205 : Fix Case Light "off" function
  • #8216 : Restore MKS_GEN_L
  • #8228 : Fix automatic stepper assignment for X/Y/Z dual stepper drivers
  • #8230 : Fix watchdog in WATCHDOG_RESET_MANUAL mode AVR
  • #8283, #8305 : Fixes for EEPROM
  • #8342 : Fix PROBE_MANUALLY on kinematic bots
  • #8357 : Fix M600 move length with flow multiplier
  • #8419 : Fix Software Fan PWM
  • #8431 : Fix a bug in the G-code parameter value parser
  • #8487 : M43 end pin correction/compatibility
  • #8496 : Fix tool-change bad behavior
  • #8550 : Fix probe height output issue
  • #8552 : Fix MK2_MULTIPLEXER (E2/E3 stepper pins not required)
  • #8586 : Fix watchdog timeout during long delta moves
  • #8613 : Fix some planner bugs
  • #8653 : SERIAL_XON_XOFF not supported on USB-native AVR devices
  • #8690 : Purge leftover blocks on probe / endstop interrupted move
  • #8697 : Prevent occasional stutter on Core machines
  • #8772 : Filament width sensor display fixes
  • #8068, #8309, #8325, #8330, #8335, #8397, #8447 : Miscellaneous patches

Bed Leveling & Calibration

Unified Bed Leveling

  • #7948 : Fix feedrate multiplier when using UBL on Delta
  • #8011 : Fix UBL mesh boundaries with bed center 0,0
  • #8291 : Fix G26 circle drawing
  • #8713 : Better off-mesh behavior
  • #8729 : Allow UBL to work with Dual X Carriage

LCDs & Controllers

  • #8048 : Add MKS MINI 12864 support to GT2560
  • #8179 : Faster menu navigation for Anet A8
  • #8243 : Add Anet Keypad LCD support for RAMPS-based boards
  • #8459 : Fix FILAMENT_LCD_DISPLAY, disabled state, optimize
  • #8526 : Improve LCD init / charset code
  • #8760 : Support for Tronxy and Zonestar LCD
  • #8813 : Support for MKS_12864OLED with SSD1306 controller

Configurations

  • #7983 : Add Micromake C1 configurations
  • #8043 : Simplify mesh bounds configuration
  • #8128 : Revert default BABYSTEP_MULTIPLICATOR to 1
  • #8241 : Correct probes configuration url
  • #8282 : Update Thermal Protection Documentation
  • #8331, #8412 : Add extrusion parameters to Configuration.h for G26
  • #8426 : Updated Anet A8 configuration
  • #8614 : Add Wanhao Duplicator 6 configurations
  • #8681 : Change K1 to required option PID_K1

Hosts & Protocols

  • #7986 : Add M73 (LCD_SET_PROGRESS_MANUALLY)
  • #7988 : Add Capability BUILD_PERCENT in M115
  • #8635 : Add Capability SERIAL_XON_XOFF in M115

Other Improvements

  • #6853 : Init Mixing Extruder to behave like a multi-extruder
  • #8296 : Misc. fixes picked up from 2.0.x
  • #8524 : Tool change bad behavior fix
  • #8548 : Adapt MESH_EDIT_GFX_OVERLAY

General Cleanup

Languages

  • #8107, #8295 : Save 1400 bytes of FLASH with a reduced font for some languages
  • #8347 : Translation updates for Traditional Chinese
  • #7983 : French for HD44780
  • #8095 : 1.1.x - save 1400 bytes of FLASH by using reduced font for some languages
  • #8306 : Length fix and translation

Hardware / Boards

  • #8088 : Add MKS GEN L board
  • #8193 : Support for SilverGate Board
  • #8655 : Added Support for RAMPS 1.4 Plus board
  • #8398 : Fix Printrboard pins for parity with 2.0
  • #7286 : Updated pin definitions for PRINTRBOARD REV F.
  • #8156 : Define a default SERVO0_PIN for Anet 1.0

For Developers

  • #8049 : Use some clearer names
  • #8257 : Updated Marlin+Github helper scripts
  • #8345 : Use delta_height in lieu of home_offset
  • #8432 : Fix M32 P subroutines
  • #8437 : Add OV() macro for thermistor tables
  • #8452 : Fix PlatformIO dependencies
  • #8454 : .gitignore Visual Studio update
  • #8589 : Additional Travis BABYSTEPPING tests
  • #8661 : Add missing library to Makefile

Top Contributors
See the list of commits since 1.1.6 (or PRs since 1.1.6) for more details.

@thinkyhead thinkyhead released this Oct 29, 2016

Assets 2
  • Fixes a conflict with fpos_t defined in libc

@thinkyhead thinkyhead released this Oct 10, 2017 · 1690 commits to 1.1.x since this release

Assets 2

This release contains bug-fixes, improvements, refinements, and other changes aimed at improving stability and addressing outstanding issues.

Known Issues

  • You must use E1 and A1 with M118 rather than just E or A
  • BABYSTEP_Z_OFFSET with AUTO_BED_LEVELING_BILINEAR is broken.

New Features

  • #7459 : Add XON/XOFF serial handshaking for faster transfers to SD
  • #7591 : M111 with no args reports current debug flags
  • #7592 : CNC workspace planes for G5
  • #7772 : Add a User Menu return-to-status option
  • #7918 : Support more types of NEOPIXEL

Languages

Fixes

  • #7564 : Cleanup to MAX7219 code
  • #7632 : Improved hotend error messages
  • #7697, #7865 : G33 Improvements
  • #7720 : Fix Case Light compile issues
  • #7766 : Melzi pins fixes
  • #7802 : Fix firmware retraction G10 and G11
  • #7811 : Fix broken M600 resume_print
  • #7871 : Fix an obscure SD file list display bug

Configurations

  • #7577, #7725 : Improved full-featured Creality CR-10 configurations
  • #7769, #7873 : Fixes for GT2560, ANET A8
  • #7814 : Option to disallow motion before homing
  • #7878 : Enable DISABLE_REDUCED_ACCURACY_WARNING with HOME_AFTER_DEACTIVATE
  • #7908 : Remove legacy ADVANCE feature

LCDs & Controllers

  • #7593 : Option to show graphic overlay on Z adjust screen
  • #7762 : Fix G3D_PANEL encoder steps (and babystep label)
  • #7773 : Show leveling status on character LCD
  • #7828 : Fix DUAL_X_CARRIAGE manual movement
  • #7867 : Add support for 4 new LCDs
  • #7917 : Do segmented manual moves on Delta/SCARA

Bed Leveling

  • #7598 : UBL LCD Bugfixes
  • #7915 : Allow UBL G29 and G26 to build without a probe

General Cleanup

  • #7864 : Tweak spacing in utf8_mapper.h

Top Contributors
See the list of commits since 1.1.5 (or PRs since 1.1.5) for more details.

@thinkyhead thinkyhead released this Aug 29, 2017 · 1784 commits to 1.1.x since this release

Assets 2

This release contains bug-fixes, improvements, refinements, and other changes aimed at improving stability and addressing outstanding issues.

New Features

  • #7315, #7530 : Can now use SWITCHING_EXTRUDER with more hotends
  • #7340 : Add Neopixel RGBW strip support
  • #7519 : Add "Level Corners" option to LCD menu
  • #7532 : Part cooling fan multiplexer
  • #7563 : MAX7219 LED Matrix (as a debug display)

Hosts & Protocols

  • #7253 : Output keepalive messages during wait-for-heating

Bug Fixes

  • #7251 : Modify M23 output for Simplify3D compatibility
  • #7308, #7332 : More reliable FWRETRACT auto-retraction
  • #7386 : Fix Dual X Carriage movement
  • #7397 : Fix freeze during filament change
  • #7412, #7518 : Fix ADVANCED_PAUSE_FEATURE issues
  • #7560 : Fix M406 not updating feedrate multiplier

Language Updates

Example Configurations

Configuration Changes

  • #7258 : Add BQ Heated Bed Kit to Hephestos 2
  • #7341, #7480 : Add X_BED_SIZE and Y_BED_SIZE configuration options
  • #7504, #7529 : SERVO_DELAY is now a per-extruder array

Bed Leveling

LCD & Controller

  • #7272, #7410 : Stay in User Menu on action, with optional audio feedback
  • #7372 : Move Delta Calibration to the Prepare menu

Other Improvements

  • #7255 : Apply FastIO to recent features.
  • #7260 : Cleanup G33, reduce output
  • #7338 : Define a PS_ON pin for MKS 1.3+
  • #7448 : Prevent damage if DELTA_HEIGHT is wrong
  • #7256 : Allow LCD_PINS_Dn to be left out of pins files
  • #7275, #7281, #7368, #7426, #7428, #7430, #7471 : Misc. cleanup
  • #7347 : Remove extraneous USBCON defines for AT90USB
  • #7357, #7363 : Makefile fixes, U8G support
  • #7359 : Add PRINTRBOARD_REVF option for PlatformIO
  • #7398 : Improve LCD_BED_LEVELING sanity-check
  • #7420 : Add VSCode folder to .gitignore

Top Contributors
See the list of commits since 1.1.4 (or PRs since 1.1.4) for more details.

@thinkyhead thinkyhead released this Jul 4, 2017 · 1948 commits to 1.1.x since this release

Assets 2

This release contains several fixes, improvements, refinements, and changes aimed at improving stability and addressing outstanding issues.

New Features

  • #6938 : Initial support for the Průša MK2 Multiplexer
  • #6946, #7007 : Add I2C position encoder support
  • #7038 : Add PCA9632 PWM color LED support
  • #7042 : Include Z Fade Height in M420 output, when enabled
  • #7096 : Support for two Switching Extruders
  • #7128 : Enhance G2/G3 with 'P' and G17/G18/G19 Plane Select
  • #7136 : Edit digipot currents via LCD, save to EEPROM
  • #7168, #7170 : Add M118 Echo to Serial (with A and E parameters)
  • #7208 : Add LCD for Melzi support
  • #7217 : Option to send an "action command" on kill

Bug Fixes

Language Updates

New Example Configs

Configuration Changes

  • #6969 : Enable extended capabilities report by default
  • #6973 : Enable AUTO_REPORT_TEMPERATURES by default
  • #6991 : Sanity check MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET
  • #7008 : Use numerical Z_MIN_PROBE_PIN in Configuration.h
  • #7060 : Add I2C Position Encoders example configuration
  • #7120 : Add a link to F. Malpartida LiquidCrystal library
  • #7187 : Add sanity checks for DELTA_AUTO_CALIBRATION
  • #7207, #7220 : Expose more EEPROM optimization options
  • #7212 : Require a real probe for M48
  • #7232 : Sanity check DISABLE_[XYZ] for conflicts

Unified Bed Leveling

  • #6971 : Allow UBL to work without an LCD controller
  • #6972 : Add UBL Manual Build Menu Option
  • #7045 : LCD Panel Interactive Mesh Editing
  • #7098 : Add UBL menu items in step order
  • #7144 : Added option 'H' to G29 P4.
  • #7167 : UBL Map Cleanup and LCD display
  • #7062, #7204 : And other UBL fixes...

LCD & Controller

  • #6976 : Include Leveling type in About Printer
  • #7030 : Circular scrolling of the status message

Other Improvements

  • #6850, #7157, #7221, #7238 : G33 improvements and fixes
  • #6954 : Allow all CPUs to use SD Card Soft SPI
  • #6964, #6965, #7031 : Reduce SRAM and PROGMEM usage
  • #7000 : Remove ADVANCED_PAUSE_FEATURE requirement for PROBING_HEATERS_OFF
  • #7054 : Prevent filament change without homing
  • #7210 : Printrboard RevF pins cleanup

For Developers

  • #6889, #7156 : Unify all AVR90USB pin mappings
  • #6929 : Added an Issue template to get better feedback
  • #7219 : Update Marlin+git helper scripts
  • #7011 : Tweak serial macros
  • #7033 : Fix and improve PINS_DEBUGGING
  • #7100 : Apply maths macros and type changes ahead of HAL
  • #7165 : Use parser.seenval, add shorthand functions
  • #7211 : Tweaks to lcd_bootscreen to delay the delay

Miscellaneous

  • #6952 : General cleanup preparing for release
  • #7201 : intermittent AT90USB & G26 compile problem (proposal)

Top Contributors
See the list of commits since 1.1.3 (or PRs since 1.1.3) for more details.

@thinkyhead thinkyhead released this Jun 4, 2017 · 2202 commits to 1.1.x since this release

Assets 2

Patches to various issues discovered since the 1.1.2 release.

  • #6797, #6928 : Case light improvements
  • #6852, #6922 : Improved sanity checking
  • #6887 : Apply patches for Switching Nozzle
  • #6894 : Fix LCD value draw lagging behind value edit
  • #6897 : Fixes for STATUS_MESSAGE_SCROLLING
  • #6903, #6921 : Fixes for Advanced Pause feature with DELTA
  • #6908 : Fix a Morgan SCARA kinematics issue
  • #6912 : Slightly improve pulse extra delay estimate
  • #6931 : Add sample configuration for Malyan M150
  • #6932 : Add support for the ZRIB 2.0 control board
  • #6940 : Fix handling of spaces around G-code parameters
  • #6941 : Improvements to UBL for DELTA
  • #6948, #6947, #6952 : Other minor fixes
  • #6950 : Fix G29 with 3-Point leveling
  • #6951 : Init extruder/nozzle servos on startup

Known Issues:

  • #6407 : Regression to M600 Filament Change. Temperature is not properly ensured.

Top Contributors
See the list of commits since 1.1.2 (or PRs since 1.1.2) for more details.

@thinkyhead thinkyhead released this May 30, 2017 · 2255 commits to 1.1.x since this release

Assets 2

Patches to various issues discovered since the 1.1.1 release.

  • Fixes and improvements for Unified Bed Leveling G29 and G26
  • #6228 : Improved support for Teensy and AT90USB-based boards
  • #6268 : Initial support for M3/M4/M5 spindle and laser
  • #6407 : Unified M600 / M125 as ADVANCED_PAUSE_FEATURE
  • #6777, #6831, #6833 : Add G42 to move to grid points for probing
  • #6810 : Add "live editing" to LCD menu system, demo with LCD contrast
  • #6895 : Added custom user commands menu option

Top Contributors
See the list of commits since 1.1.1 (or PRs since 1.1.1) for more details.

@thinkyhead thinkyhead released this May 12, 2017 · 2514 commits to 1.1.x since this release

Assets 2

Patches to minor issues discovered since the 1.1.0 release.

Top Contributors
See the list of commits since 1.1.0 (or PRs since 1.1.0) for more details.