Skip to content

Releases: MarlinFirmware/Marlin

Marlin 2.0.5

14 Mar 06:07
Compare
Choose a tag to compare

Commits in this Release

New Features

  • Quad-Z bed alignment

Boards / Pins

  • Added E2 stepper pins for Rumba
  • Improve FYSETC S6 pins and variants, set platform version
  • Fix default SKR 1.4 TEMP_PROBE_PIN
  • Allow Z_STOP_PIN override on SKR 1.4
  • Define a Z_MIN_PROBE_PIN for Cohesion 3D Remix

Configuration

  • Configurations version bumped to 020005
  • Sanity-check for Trinamic micro-steps values
  • Use bed max temp for probe temp compensation default
  • Move SENSORLESS_PROBING to the probes section
  • Changed SD_DETECT_INVERTED to SD_DETECT_STATE HIGH to clarify its meaning
  • Expose BOOTSCREEN_TIMEOUT for character LCD
  • Added HOME_AFTER_G34 option

Hosts and UI

  • Fixed build issues with REPRAPWORLD_KEYPAD
  • Fixed undefined STATUS_CHAMBER_WIDTH
  • Updated German, Turkish, Traditional Chinese
  • M220 without arguments prints the current value
  • Send SD file open message to all attached hosts
  • Improvements for DGUS displays
  • Fix Malyan LCD compile issue with PID tuning

HAL / Platforms

  • Shorten HAL / environment names to reduce command size for Windows
  • Added early checks for LPC1768 pin conflicts
  • Added SoftwareSerial for SAMD51
  • More explicit conditionals for EEPROM types
  • Fixed STM32 low level _WRITE macro bug

Issues Patched

  • Fixed SD print crash / freeze (enqueue_P)
  • Fixed M117 not working in auto[N].g
  • Fixed longstanding bad line ending handling in Emergency Parser
  • Fixed a longstanding bug in M810 so it is now usable
  • Improve reliability of QUICK_HOME with Sensorless Homing
  • Always look for the power-loss file on boot (even if disabled by default)
  • Fixed handling of extra axis CS pin auto-assignment
  • Fixed Z4 stepper indirection compile issue
  • Fixed G34 decreasing accuracy, probe range bugs
  • Fixed ADC calculation for AD595 / AD8495
  • Fixed a bug with synchronizing the E position
  • Fix build with 3 auto fans
  • More fixes supporting 8 and zero extruders
  • Make M114 non-blocking so it won't affect prints
  • Change PID "dummy" value to NAN (not 3000.0)

Optimized / Improved

  • Improved MarlinMesh.scad mesh visualizer script
  • Improved SD print completion handling
  • Minor string usage optimization
  • Optimized and improved M900
  • Added Max7219::suspend and resume methods
  • Fixed Max7219 init animations to be non-blocking
  • Init the SD card on an external controller later
  • Apply soft endstops to joystick jogging

For Developers

  • Modified ENABLED / DISABLED macros so they can be used in C++ code
  • Added logging for setup() with MARLIN_DEV_MODE enabled
  • Added missing pins to the pins debug list
  • More liberal use of loop shorthand macros
  • Added build tests for GTR Pro 1.0
  • Moved some 2560 tests to 1280 for balance
  • prepare_move_to_destination renamed prepare_line_to_destination for consistency
  • position_is_reachable_by_probe moved to Probe::can_reach

Marlin 2.0.4.4

26 Feb 19:11
Compare
Choose a tag to compare

Commits in this Release

New Features

  • TRAVEL_EXTRA_XYJERK permits more CLASSIC_JERK on travel moves
  • Optional case-insensitive G-code Parser

Boards / Pins

  • Fix BTT SKR 1.4 Turbo SD detect pin
  • Fix SD card connection override for STM32
  • Fix SKR expansion port pin indexes
  • Define DIAG pins and endstop retcons for MKS SGen-L

Configuration

  • Sanity check potential LPC176x serial port pin conflicts
  • Fix assignment, reset, and editing of servo angles

LCD / Hosts

  • Fix cutter / bed icon overlap
  • "Init. Media" changed to "Attach Media"
  • "Reset to failsafe" changed to "Reset to defaults"
  • Fix bed temperature display with "unified" status screen

HAL / Platforms

  • Fix overlapping defines in GTR10 build flags

Issues Patched

  • Fix broken M0/M1 break detection
  • Fix printer LED event onPrintCompleted early triggering
  • Prevent potential hang on SD print completion
  • Fix default TMC driver pulse rate assignments
  • Fix probing failed in G33
  • Fix a park_point glitch with some compilers

Optimized / Improved

  • Show EEPROM init errors on LCD
  • More reliable power-loss recovery after pause-and-shutdown
  • Do a small back-off on sensorless homing

For Developers

  • Added notes on proper use of enqueue methods
  • LPC176x serial ports added to Pins Debugging
  • New naming convention for Serial versus LCD strings

Marlin 2.0.4.3

24 Feb 12:37
Compare
Choose a tag to compare

Fixed Issues

  • Fix borked babystepping loop (really!).
  • Fix evaluation of which stepper drivers have Software Serial.
  • Suppress "packed member" warning with new LPC176x compiler.
  • Ensure last line from SD card is committed before closing print job.
  • Reduce default TMC baudrate to 57600 with Software Serial.

Configuration

  • Improved Geeetech A10T / A20T configurations.

LCD / Controller

  • "Init. Media" changed to "Attach Media."

For Developers

  • Allow use of USE_GCODE_SUBCODES for debugging.
  • Allow override of LCD_PIXEL_WIDTH / HEIGHT for experimentation.

Marlin 2.0.4.2

24 Feb 12:16
Compare
Choose a tag to compare
  • Fix M0 / M1 broken wait loop
  • Support for ANET_FULL_GRAPHICS_LCD with SKR 1.4
  • Sanity check all custom user menu items

Marlin 2.0.4.1

22 Feb 11:11
Compare
Choose a tag to compare

Fixed Issues

  • Bring back Y and Z babystepping.
  • Tweak Core babystepping for consistency.

Known Issues

  • Babystepping in stealthChop mode may cause TMC2209 steppers to shut down on some 32-bit platforms

Marlin 2.0.4

21 Feb 16:15
Compare
Choose a tag to compare

New Features

  • G34 test points can now be auto-assigned
  • Z_AFTER_HOMING for a standard raise after G28
  • Individual edge insets for corner leveling
  • Separate config for secure data (Excluded by .gitignore)

Boards / Pins

  • Added MKS BASE 1.6 board support
  • MKS RUMBA split up into AUS3D and MKS variants
  • Improved support for Adafruit Grand Central M4 (SAMD51)
    • Added RAMPS 1.4.4
    • Use RTC for the temperature (1kHz) timer
  • Added old and new PICA Shield support

Configuration

  • Direct link to example configs for the current version
  • Configurable G26 retraction length
  • Configuration versions bumped to 020004
  • Don't require Z sensorless when homing with probe
  • Sanity-check recommending safe homing with probes
  • Simplify safe homing point sanity check

Hosts and UI

  • Cosmetic tweaks for character LCD
  • ExtUI API support for PID, probe offsets
  • Optional support for G-code quoted strings
  • Updated FYSETC S6 pins, LCD settings
  • Fixed fan speed editing, decimal value rounding
  • Updated French, Russian, Italian
  • Fixed STOP reply going to wrong serial port
  • Added semicolon (comment prefix) to M503 headings

HAL / Platforms

  • Fixed LPC build with watchdog off
  • Removed extraneous serial initialization
  • Fixed bad pin state transitions on SAMD51
  • Fixed ESP32 extraneous library include
  • Put the ESP32 stepper I2S task and Marlin on the same core

Issues Patched

  • Fixed a bug in TMC2209 StallGuard handling
  • Fixed a bug preventing extruder motors being turned off
  • Fixed Arduino IDE compilation for DUE
  • Fixed SKR 1.4 "extra" endstop pins
  • Add Trigorilla endstop add-on option
  • Fixed M112 behavior with emergency parser
  • Fixed end of print behavior with print status LEDs
  • Fixed Neopixel white when used with other LEDs
  • Further fixups for 8 extruders
  • Ensure that UBL uses Tool 0 for bed leveling
  • Fixed G425 CALIBRATION_GCODE pin handling
  • Fixed a probe conflict with multi-endstop features
  • Fixed MKS Robin nano build options
  • Fixed DGUS serial ports not defined
  • Display "*" when Trinamic stst = 0

Optimized / Improved

  • Start and stop the print job timer on bed heating (also)
  • Use SDIO for onboard SD with STM32duino boards
  • Improved (safer) handling of probe failure

For Developers

  • Added mftest -b and -u options for auto-build
  • Improved git, jekyll, and test helper scripts
  • Refactored Probe as singleton class
  • Define more EXP and AUX pins in SKR pins defines
  • Added RREPEAT nested repeat macros and apply
  • Added .editorconfig defining basic formatting
  • Add logging for Z adjust when leveling is toggled
  • Cleanup of host actions code
  • To optimize auto-build drop some ATmega 1280 targets

Known Issues

  • Babystepping in stealthChop mode may cause TMC2209 steppers to shut down on some 32-bit platforms

Marlin 2.0.3

31 Jan 00:39
Compare
Choose a tag to compare

Boards / Pins

  • Support for E4d@BOX mainboard
  • Defined RX/TX pins for up to 8 extruders

Configuration

  • Auto-assign stallGuard DIAG pins for X2/Y2/Z2/Z3/Z4
  • Add Thermistor 21 for PT100 with 3.3V logic

Hosts and UI

  • Allow combined use of wheel with touch buttons

Issues Patched

  • Fix manual bed leveling with multiple extruders
  • Prevent lengthy SD access from resetting ESP32
  • Fix tool-change breaking interactive bed leveling
  • Fix defined fan reckoning macro _HAS_FAN
  • Fix M48 compile error
  • Fix G60/G61 with more than 8 slots

Optimizations

  • Use less SRAM for L64xx stepper drivers

For Developers

  • Refactor and clean up heater watch
  • Refactor and clean up print job timer autostart

Known Issues

  • M18 / M84 fails to turn off E steppers. Fixed in 2.0.4.
  • See 2.0.4 release notes for others

Marlin 2.0.2

27 Jan 11:37
Compare
Choose a tag to compare

New Boards

  • Add HMS434 V15 ATSAM board
  • BigTreeTech GTR V1.0 board support

Configurations

  • Configurations moved to the MarlinFirmware/Configurations repo
  • Adjustable debounce for ADC keypads
  • Per-tool defaults for G12 Nozzle Clean
  • New tuning options for G2/G3 arc segmenting

Patched boards / pins / configs

  • Better Geeetech GTM32 support
  • Improve STEVAL 3DP001V1 support. Easier use of serial 2 for wifi.
  • Updated BigTreeTech BTT002 pins
  • Use Flash-based EEPROM storage on BTT002
  • Updated FYSTEC F6 pins
  • Remap BigTreeTech SKR 1.3 endstops with sensorless homing
  • Fix Trigorilla 1.4 X-Max and Y-min limit switches

Hosts and UI

  • Fixed issues with Touch UI FTDI Eve
  • Permit more RRW Keypad / LCD combinations
  • Slightly slimmer slim menus
  • Better Chamber temperature safety margin
  • Fix locked UI on failed G26
  • Fix PID-F edit item label
  • Retain SD working directory on file write/delete
  • Fix serial output redirection for injected commands

New Features

  • Support for up to 8 extruders
  • Support for Duet Smart Effector (probe)
  • Add G60/G61 position save / restore
  • Add P.I.N.D.A. probe temperature compensation
  • Add Heated bed probe temperature compensation
  • Support for 4x Z steppers and 4x Z endstops
  • Support for Nikon IR and other irregular shutter timings
  • Option to set LPC1768 i2c master id (for u8g and digipots)

Issues Patched

  • Better support for STmicro L64xx and powerSTEP drivers
  • Fix ESP32 periodic random print pausing
  • Fix power loss recovery cancel for ExtUI displays
  • Fix i2c address for MCP4728 on LPC1768
  • Patched Melzi fan and LCD pins
  • Fix M112 when used with EMERGENCY_PARSER
  • Fix errant timeout in response to M85
  • Fix MBL compile issue
  • Fix allocation of STM32F4/7 timers
  • Optimized UTF8 to HD44780 charset translation
  • Fix ESP3DLib wifi idle task
  • Fix HOMING_BACKOFF_MM for delta

For Developers

  • Improved STM32 build settings and timer allocation
  • Updated helper scripts for Jekyll documentation

Marlin 2.0.1

24 Dec 06:08
Compare
Choose a tag to compare

New Boards

  • MKS Robin Pro
  • MKS Robin Lite3
  • MKS Robin 2 base pins
  • MRR_ESPA / ESPE (ESP32)
  • FLYBOARD (STM32F4)
  • RUMBA32 with PlatformIO

New Configurations

  • Creality Ender 5 Pro
  • Geeetech A10D
  • Geeetech PI3A Pro
  • EXP3D Imprimante Multifonction
  • Flsun QQ-S
  • Tevo Nereus (with Robin nano)
  • RAMBo for CNC
  • Kossel Clear

Patched boards / pins / configs

  • ESP32: Fix HAL and other issues
  • STM32: boards, servos, flash-based EEPROM
  • MKS SGEN-L: SD detect, MKS 12864 OLED pins
  • MKS Robin Nano: Fix LCD controller / SD
  • MKS Robin Mini: EEPROM defines
  • MKS SGen-L: EEBF / EFBF pins
  • Wanhao D6: Fix LCD config
  • 3DFabXYZ: Refine settings
  • Geeetech A10: Fix E direction
  • Geeetech A20, E180: Improved configs
  • BigTreeTech E3: Disable SD_CHECK_AND_RETRY
  • BigTreeTech SKR v1.4 support
  • BTT002: Fix SD init and platform settings
  • Longer: Use onboard pullups
  • GT2560: Define extra fan pins
  • SKR Mini E3 + Ender 3: Improved settings
  • RADDS: Spindle/Laser pins
  • Anet A6: Improved settings

Hosts and UI

  • Host-friendly error message prefixes
  • Improve Touch Buttons behavior
  • Updated languages: French, Italian, Czech
  • Tweak ExtUI probeless babystepping

New Probes

  • Nozzle as Probe option for contact / piezo probes

Issues Patched

  • Improve flash storage code to extend component life (some STM32)
  • Fix STEP Pulse timing to prevent missed steps
  • Fix Filament Runout state reset
  • Fix TMC2209 Sensorless Homing
  • Retire HOME_USING_SPREADCYCLE option
  • Support onboard (always-on) pullups
  • Fix STM32 serial flush TX
  • Fix Malyan LCD serial port
  • Fix M503 output for MBL
  • Fix M100 optional features
  • Include Z in SCARA linear feedrate
  • Fix Touch MI fallback X position
  • Fix a few settings-dependent compile issues
  • Update outdated product links
  • Update config and TMC stepper sanity checks

For Developers

  • Now using GitHub Actions for CI (etc.)
  • Add card.openFileRead/openFileWrite methods
  • Add dev-2.1.x to git helper scripts (via mfinfo 3)

Marlin 2.0.0

01 Dec 21:26
Compare
Choose a tag to compare

New Features

  • 32-bit support with several boards added
    • DUE / SAM3X8E
    • Grand Central / SAM5D
    • Smoothie / SBASE / EZBoard / LPC176x
    • SKR Mini / STM32
    • ESP32
  • Improved support for AVR boards
    • Melzi / ATmega 1280
    • RAMPS / ATmega 2560
    • RAMBo / miniRAMBo / Einsy RAMBo
  • Initial support for running Marlin in Linux (RAMPS mapping)
  • PlatformIO build environments for supported boards
  • VSCode “Auto Build Marlin" extension for one-click build
  • Power-Loss Recovery (for SD print jobs)
  • (Magnetic) Parking Extruder support
  • (Magnetic) Switching Toolhead and Toolchanger support
  • Prusa MK2 Multiplexer support
  • Prusa Multi-Material Unit v2 (MMU2) support
  • Gradient Mixing and Gradient Virtual Tools
  • Automatic power supply control
  • More Trinamic driver support, including TMC2208/9
  • Touch Mi probe support
  • Rack & Pinion probe support
  • Improved BLTouch support, extended 3.0 options
  • Games for Graphical LCD
  • More customizable Status Screen
  • LED control menu
  • EEPROM auto-init
  • Lulzbot Touch UI support
  • Extensible UI for serial / touch displays, from Lulzbot
  • FSMC display support
  • Custom thermistor formula option
  • Heated Chamber support
  • External closed loop controller support
  • Dual stepper axes, triple Z, multi-endstop, Z auto-align
  • Dual X (IDEX) mirror mode
  • Homing backoff
  • Minimum planner speed option
  • Backlash Compensation with tuning
  • Re-Print last SD file from LCD option
  • SD firmware flash support
  • SD card sharing with host PC options
  • Optimized SD binary file transfer option
  • Distinct Spindle / Laser options
  • M7/M8/M9 Coolant Control
  • M16 Expected Printer Check
  • M486 Cancel Objects
  • Analog Joystick axis jogging
  • Display total E during print option

Improvements

  • Support for up to 6 extruders
  • Junction Deviation enabled by default
  • Improved Linear Advance compatibility
  • More temperature sensors supported
  • Simplified probe boundary configuration
  • Extended tool-change options
  • Extended M240 photo trigger options
  • Improved Max7219 support
  • More UI languages including Korean and Vietnamese
  • More graphical Status Screen layout options
  • Configurable limits for editable planner settings
  • More LCD display types and options
  • Improved delta calibration

For Developers

  • Hierarchical file layout
  • Standardized HAL interfaces
  • Indexed menu item titles
  • Automated serial response routing

Known Issues

  • Mixing Extruder with G10/G11 may have quirks
  • Sensor-less probing is still pretty experimental