Releases: MarlinFirmware/Marlin
Marlin 2.1.3 beta 2
BETA RELEASE!
Marlin 2.1.3 is a major update focusing on stability, performance, and user interface.
This release is recommended for all users. Visit the Marlin Discord for assistance with configuration migration and build.
Pre-Built Firmware
We now publish pre-built binaries for many common 3D printers and other machines, according to the tuned configuration examples donated by users like you! Binaries for this version are published at the link below.
Changelog
- Full Changelog: e33dafe...2.1.3-b2
New Features
- ✨
EVENT_GCODE_BEFORE_G29
(#27566) - ✨ Teensy 4 hardware PWM for laser/spindle/fan (#27608)
- ✨ MAX31865 Bed settings (#27611)
- ✨ Games for E3V2 + MarlinUI (#27620)
Fixed Issues
- 🩹 Fix
VALIDATE_HOMING_ENDSTOPS
missing header (e0c60a8) - 🐛 Fix
M119
filament sensor part (#27596) - 🐛 Fix JG Aurora A1 implementation (#27622)
- 🩹 Fix EEPROM CRC display (#27631)
- 🐛 Fix config embed and restore (#27628)
- 🐛 Fix ERYONE Ery32 mini SPI for SD (#27600)
Improved
- ⚡️ STM32H7 Flash Wear Leveling (#27634)
- 🚸 Enabled probe clearance in
do_move_after_z_homing
(#27593) - 🧑💻 Update types forward decl (#27637)
- 🧑💻 Add STM32/STM32F1 Open Drain (OD) pin mode (#27616)
Build
Configuration
- 🔧 Standard filament runout pins for MKS_UI / MKS TFT (#27640)
- 🔧 BTT SKRat UART driver support pending (#27639)
Miscellaneous
- 📝 Add'l homeaxis comments (70cdfbe)
- 🔨 Migrate
use_example_configs
to Python (#27632) - 🩹 Fix
DGUS_LCD_UI_MKS
typo (30697cb)
For previous release notes see Marlin 2.1.3-b1.
Marlin 2.1.3 beta 1
BETA RELEASE!
Marlin 2.1.3 (beta 1) is a major update focusing on stability, performance, and user interface.
This release is recommended for all users. Visit the Marlin Discord for assistance with configuration migration and build.
Pre-Built Firmware
We now publish pre-built binaries for many common 3D printers and other machines, according to the tuned configuration examples donated by users like you! Binaries for this version are published at the link below.
Full Changelog: e33dafe...2.1.3-b1
Highlights
- ✨ Fixed-Time Motion with Input Shaping by Ulendo
(#25394, #25835, #26083, #26557, #25637, #25719, #26020, #26074, #26175,
#26595, #26620, #26628, #26643, #26670, #26720, #26785, #26848, #27063,
#27179, #27302, #27335, #27349, #27359, #27367, #27401, #27416, #27474,
e7e77d9, 5bd39ba, 97d8a68, c25a673, af4ba2b, ade05c0,
ec6bc15, b062a3b, 2d60948, 46e8b9c) - ✨ Polar Kinematics (#25214)
- ✨ RS485 support with G-code
M485
(#25680) - ✨ HAL for RP2040 with BTT SKR Pico (#24042)
- ✨ HAL for HC32F460 (#26414)
- ✨
STARTUP_TUNE
configuration (42c62ff, d77e921) - ✨
POLARGRAPH
/PEN_UP_DOWN_MENU
(#25303, #25514) - ✨ "One Click" Print newest file (#25781)
- ✨ Nonlinear Extrusion Control (
M592
) (#26127) - ✨ BIQU MicroProbe (#26527)
- ✨ Prusa MMU3 (#26635)
- ✨ MAX Thermocouples for Heated Bed (#26441)
- ✨
PELTIER_BED
(#27334) - ✨🔧 Minimal configuration with
Config.h
(#27338) - 🚸 Probe / Level Menu (#27393)
- 🩹⚡️ Fix judder, optimize planner (#27035)
- 🚸 Support Bed Leveling Mesh > 16x16 (060ddf5)
- 🚸 Restore Object Cancel info on Power-Loss Recovery (#27501)
- 🔧 Thermistor 100 : SoC sensor (#25745)
New Features
- ✨ Extra Z Servo Probe options (#21427)
- ✨
Z_SAFE_HOMING_POINT_ABSOLUTE
(#23069) - ✨
Z_SERVO_DEACTIVATE_AFTER_STOW
(#24215) - ✨
PROBING_TOOL
(#24411) - ✨ Switching extruder/nozzle without servo (e.g., Dondolo) (#24553)
- ✨
LARGE_MOVE_ITEMS
(#25026) - ✨⚡️ UTF support for TFT Color UI (#25073)
- ✨ Persistent
AUTOTEMP
settings (#25093) - ✨
PREHEAT_TIME_BED_MS
(#25146) - ✨
AVOID_OBSTACLES
for UBL (#25256) - ✨
STATUS_HEAT_POWER
(#25268) - ✨
M306 E
for MPC extruder index (#25326) - ✨
TC_GCODE_USE_GLOBAL_*
(#25399) - ✨
LCD_BACKLIGHT_TIMEOUT
for Neopixel LCD (#25438) - ✨
REPORT_ADAPTIVE_FAN_SLOWING
(#25537) - ✨
FILAMENT_SWITCH_AND_MOTION
(#25548) - ✨
TEMP_SENSOR_SOC
(#25642) - ✨
BLTOUCH_HS_EXTRA_CLEARANCE
(#25655) - ✨
NOZZLE_CLEAN_PATTERN_*
(#25666) - ✨
AUTO_REPORT_REAL_POSITION
option for M154 (#25738) - ✨
AUTO_POWER_SPINDLE_LASER
(#25739) - ✨
NUM_REDUNDANT_FANS
(#25808) - ✨
EP_BABYSTEPPING
(#25869) - ✨
VOLUMETRIC_EXTRUDER_LIMIT_MAX
(#25884) - ✨ G-code '
T
' report current tool (#26151) - ✨
MAX7219_REINIT_ON_POWERUP
(#26163) - ✨
Z_PROBE_ERROR_TOLERANCE
(expose) (#26229) - ✨ Tool Migration-specific settings (#26244)
- ✨ Probe XY Offset value limits (#26267)
- ✨
SERIAL_DMA
(for some STM32Fx) (#26328) - ✨
BED_ANNEALING_GCODE
(#26341) - ✨
BD_SENSOR_PROBE_NO_STOP
(#26353) - ✨
G27 P3
/P4
(#26401) - ✨
COMPACT_CUSTOM_BOOTSCREEN
(#26419) - ✨
XY_AFTER_HOMING
,EVENT_GCODE_AFTER_HOMING
(#26469) - ✨
DOUBLE_LCD_FRAMERATE
(#26500) - ✨
MARKFORGED_INVERSE
(#26516) - ✨
EDITABLE_DISPLAY_TIMEOUT
(#26517) - ✨
EDITABLE_STEPS_PER_UNIT
(#26618) - ✨ Status Screen flow adjustment (#26627)
- ✨
PLR_BED_THRESHOLD
(#26649) - ✨🔨 EEPROM exclusion zone (#26729)
- ✨ Redundant PSU Control with EDM (#26751)
- ✨
MARLIN_SMALL_BUILD
option (#26775) - ✨
SHOW_CUSTOM_BOOTSCREEN
for HD44780 (#26793) - ✨🐛 HC32 - Add
SERIAL_DMA
, fix SDIO andMEATPACK
(#26845) - ✨
M3
/M4 O
for laser/spindle (#26883) - ✨
FAN_KICKSTART_LINEAR
(#27072) - ✨
INPUT_SHAPING_Z
(#27073) - ✨
M110
Get Command Line Number (#27090) - ✨
CONTROLLER_FAN_BED_HEATING
(#27409) - ✨
EDITABLE_HOMING_FEEDRATE
/M210
(#27456) - ✨
M820
Report temporaryM810
-M819
macros (#27458) - ✨
GENERIC_BACK_MENU_ITEM
(bebf5dc) - ✨
MAX7219_DEBUG_MULTISTEPPING
(4fdb0fb) - ✨
NUM_REDUNDANT_FANS
too (f97a813) - ✨
PROBE_TARE_MENU
(9b472a0) - ✨ Rename
@
strings_A
=>_N
(556d716)
New Controllers
- ✨ New
DGUS_LCD_UI
option,IA_CREALITY
(#25143, #25175, 42cfa4f, #25397) - ✨ TFT 320x240 portrait (#25207)
- ✨ SPI TFT / Touchscreen for STM32H7 (#25784)
- ✨ Sovol SV06 Plus Touchscreen (#25864)
- ✨
CTC_A10S_A13
(#26514) - ✨ Initial support for HC32 U8G LCD (#26568)
- ✨ Ender-3 V2 LCD with SKR 3 EZ (#27061)
New Boards
- ✨ BigTreeTech Manta M4P, M5P, M8P V1.0 / 1.1, E3 EZ (#25001)
- ✨ Blackpill-based custom board (#25152)
- ✨ Sovol v1.3.1 (Sovol SV06) (#25267)
- ✨ BTT Octopus Max EZ 1.0, SKR 3.0 / 3.0 EZ (#25387)
- ✨ AnyCubic Vyper / Vyper LCD (#25405)
- ✨ I3DBEEZ9 board (#25614)
- ✨ Creality E3 Free-runs Silent Motherboard (#25636)
- ✨ Panowin Cutlass / Bardo (F1 / Trinus) (#25663)
- ✨ Creality Ender-2 (Melzi) (#25754)
- ✨ Creality STM32F401RE board (e.g., Ender-5 S1) (#25773)
- ✨ KEDI (STM32F1) and GODI (ESP32) boards (#25796)
- ✨ Geeetech GT2560 V4.1B board (#25888)
- ✨ MM-JOKER (ESP32) board (#25897)
- ✨ Ender 3 S1 Pro/Plus stock touchscreen (#25905)
- ✨ BTT RAMPS 1.6+ (#25970)
- ✨ BTT Octopus Pro V1.1 (STM32H723ZE) (#26043)
- ✨ Mellow Fly E3 V2 (STM32F407VG) (#26081)
- ✨ BTT Octopus Pro V1.0.1 (STM32H723ZE) (#26159)
- ✨ FYSETC Cheetah v3.0 (#26314)
- ✨ MINGDA D2 D301 v1.0 (#26340)
- ✨ BlackBeezMini 3D by I3DBEE (#26406)
- ✨ Voxelab Aquila N32 (via Maple) (#26470)
- ✨ Orca 3D Modular Controller (#26534, c313811)
- ✨ BigTreeTech Kraken V1.0 (STM32H723ZG) (#26565)
- ✨ BigTreeTech Manta M8P V2.0 (STM32H723ZE) (#26578)
- ✨ Creality v2.4.S4_170 (Ender 2 Pro, HC32F460KCTA) (#26730)
- ✨ Dagoma D6 / DiscoUltimate v2 TMC (#26874, 0269106)
- ✨ Ender-3 V3 board CR4NS200320C13 (#27003)
- ✨ XTLW boards (#27260)
- ✨ BigTreeTech SKRat V1.0 (STM32G0B1VE) (#27361)
- ✨ Mellow/Fly RRF E3 V1.0 (STM32F407VG) (#27466)
Optimizations
- ⚡️ Implement
CALIBRATION_GCODE
as endstop (#27204) - ⚡️ Misc. optimizations (e6ac9ff)
- ⚡️ Major shaper optimization (e4b83ad)
- ⚡️ Improve TFT DMA for STM32 (#25359)
- ⚡️ Use
strlcpy
with buffer size (#26513) - ⚡️ Update ISR cycle counts (db2b8a6)
- ⚡️ Reduce
DISPLAY_SLEEP_MINUTES
overhead (#26964) - ⚡️ Ethernet Buffer for Input Shaping on LPC (#26027)
- ⚡️ Optimize LPC176x
set_pwm_duty
(#27178) - ⚡️ Use cached
la_active
state (d554844) - ⚡️ Load/init (most) settings after showing boot-screen (#27199)
- ⚡️ Exit from ISR on AVR already does
sei
(cb66bff) - ⚡️ Reduce
edit_screen
code size (#25420) - ⚡️ Tiny string optimization (bf61e52)
- ⚡️ Faster
COMPACT_MARLIN_BOOT_LOGO
(rle16) (#26153) - ⚡️ Slimmer null
T
command (#26615) - ⚡️
G30
optimize and comment (7901eb9) - ⚡️ Add / enforce
min_entry_speed_sqr
(#27089) - ⚡️ Compact RGB565 TFT boot images (#26011)
- ⚡️ Skip a redundant
BLTouch::command
(#25656) - ⚡️ Set
steps_per_isr
incalc_multistep_timer_interval
(549419e) - ⚡️ Mixer label in
PROGMEM
(4b8e4ef) - ⚡️ Use
AxisFlags
forstep_needed
(4a0cb4f) - ⚡️ Smart Adaptive Multi-Stepping (#25474)
- ⚡️ Fix motion smoothness (#27013)
- ⚡️ Fix MMU2
sscanf
bug, optimize (#26449) - ⚡️ Improve Homing / Probing Current (#26714)
- ⚡️ Optimize LPC176x pin toggle (#27149)
- ⚡️ SAMD21 LCD uses HW SPI with media (#26012)
- ⚡️ Use
hal_timer_t
for timing vars (194f587) - ⚡️ Extend bitmap compression (178938d)
- ⚡️ Optimize speed lookup for AVR (143a870)
LCD / Controller
- 🚸 Improve MMU2 unload (like original MMU2S) (#20147)
- 🚸 Temperature Variance Monitor tweaks (#23571)
- 🚸 Color UI remaining time (#24843)
- 🚸
M86
-M87
Hotend Idle Timeout (#25015) - 🚸 Negative temperature display option (#25036)
- 🚸 Unify edit limits for some E3V2 LCDs (#25045)
- 🚸 Attach USB media (#25120)
- 🚸
MarlinUI
edit steps/mm to 2 decimal places (#25144) - 🚸 Z Servo Probe is
HAS_STOWABLE_PROBE
(#25158) - 🚸
RGB_STARTUP_TEST
for PCA9632 (#25163) - 🚸 ProUI updates (#25176)
- 🚸 ProUI MPC menu (#25232)
- 📺 Melzi v4 with BTT SKR Mini E3 (#25321)
- 🚸 Option to report temperature on error (#25341)
- 🚸 SPI endstops for X/Y Dual and Core (#25371)
- 🚸 Stop button for Touch UI (#25379, a321125, #26342)
- 🚸 Interruptible PLR (#25395)
- 📺 Update Re-ARM VIKI2 SPI pins (#25411)
- 🚸 Optional X-Axis (#25418)
- 🚸 Fix / improve
LCD_BED_TRAMMING
(#25425) - 🚸 Improve CocoaPress Touch UI (#25446)
- 🚸 Refinements for UBL
G29 J
(tilt mesh) (#25486) - 📺
DGUS_RELOADED
1.03 (#25490) - 🚸 Improve Z-Probe raise for deploy (#25498)
- 🚸 Improved
MPCTEMP
autotune (#25503) - 🚸 TFT optional axes/extruder (#25624)
- 🚸 TS35 portrait display (#25629)
- 🚸 Support CoreXY without Z (#25630)
- 🚸
G28
/G30
return for failed probe deploy (#25652) - 🚸
MarlinUI
Endstop Test Screen, and more (#25667) - 🚸 Echo
G30
out-of-bounds (#25671) - 🚸 Improve
PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED
(#25681) - 🚸 Permit
G38
with Core (#25713) - 🚸 Bed distance sensor improvements (#25847)
- 🚸 Improve EEPROM validation (#25860)
- 🚸 Fix TFT menu positioning (#25942)
- 🚸 Portrait TS35 move axis screen (#25945)
- 🚸 Revert
M206
Home Offset behavior (#25996) - 🚸 Update DWIN ProUI (#26003)
- 🚸 BD Sensor Z axis stop height (#26015)
- 🚸 JyersUI MPC menu (#26017)
- 🚸 Fix HD44780
EDIT_ITEM
position (#26073) - 🚸 Fix input shaping menu for
SHAPING_FREQ_[XY]
== 0 (#26075) - 🚸 Fixes for ProUI, JyersUI, backlight, etc. (#26086)
- 🚸 Update LCD Manual Leveling display (#26088)
- 🚸 UI Sound off/on with
M300 E<0|1>
(#26142) - 🚸 Adjust ColorUI chamber bmp (#26149)
- 🚸 DOGM active extruder in...
Marlin 2.1.2.5
This is a minor release bringing over some changes from the latest development branch. Configurations have been patched up to allow for a more complete binary deployment.
Example Configurations for many machines are posted at:
https://github.com/MarlinFirmware/Configurations/tree/release-2.1.2.5
Binaries of this release can be found at:
https://github.com/MarlinFirmware/MarlinBuilds/tree/release-2.1.2.5
Full Changelog: 2.1.2.4...2.1.2.5
Changes
- 🩹 Fix STM32 CPU serial UUID (#26715, #26727, #26737)
- 🐛 Fix skipping of G2/G3 E-only moves
- 🐛 Update and patch some pins files
- 📝 Update some config links and defaults
- 🔨 Update build and other supporting scripts
- 🔨 Add
mega1281
specific build environment - 🔨 Update to the newest Simulator
- 🧑💻 Update to the newest Pins Debugging
Marlin 2.1.2.4
Marlin 2.1.2.4 is a maintenance release to patch a few issues affecting certain kinds of setups, e.g., independent axes with multiple endstops. We recommend trying this version if you've encountered any of these issues.
Fixed / Improved
- 🩹 Fix broken
STEPTEST
for multi-endstop (9e02be4) - 🐛 Mount media early for
POWER_LOSS_RECOVERY
(#27177) - ✏️ Fix comma typo (#27138)
- 🚸 Prefer friendly Power Off over Auto-unalive (aa778c3)
- ⚡️ Optimize LPC176x pin toggle (#27149)
Build
- 🔨 Update SAMD51 build deps (1d13aaa)
- 🔧 Overridable
SUICIDE_PIN
forRAMPS_CREALITY
(#27143) - 🔧 Assume
RAMPS_CREALITY
is not CR2020 (e6787f7)
Miscellany
Marlin 2.1.2.3
Marlin 2.1.2.3 is a maintenance release patching a few bugs and regressions. We recommend giving this version a try if you encountered any of the following issues that existed in Marlin 2.1.2.2.
- 🐛 Fix
DETECT_BROKEN_ENDSTOP
on IDEX (#26790) - 📝 Fix
M201
typos (#26854) - 👷 Minor
signature.py
adjustments - ✏️ Fix stepper MS pin typos (#26891)
- 🚸 Hide auto-run as needed (#26853)
- 🐛 Fix ESP32 laser
M4
exception (#26884) - 📝 Fix
Cutter.md
typo (#26901) - 🔨 Fix binary upload firmware path (#26909)
- 🩹 Fix missing
MSG_ATTACH_SD_MEDIA
define (#27020) - 🩹 Fix missing
EXTENSIBLE_UI
include (#27021) - 🩹 Fix broken
ENDSTOPPULLUP_ZMIN_PROBE
(#27022) - 🩹 Update preheat end time var (#27023)
- 🩹 Fix missing
HAS_DUAL_Y_STEPPERS
(#27024) - 🩹 Fix ESP3D WiFi, bump config version (#27025)
- 🐛 Fix
bool
operator forXYval
, etc. (#27026) - 🩹 Fix serial temp error language [63fba61]
- 🐛 Prevent '
EVAL
' macro collision (#27132)
Marlin 2.1.2.2
Marlin 2.1.2.2 is a maintenance release with several patches to improve existing features, with minor adjustments to configuration.
New Features
- ✨ Add Thermistor 14 (used for the Ender-5 S1).
Issues Fixed
- 🐛 Fix I/J/K chopper timing (#26736)
- 🚸 Fix repeating "Power Off" message (#26755)
- 🐛 Fix
G38
probe target probe checking. - 🚸 Raise top temperature to 320°C for Thermistor 1.
- 🐛 Fix leveling XY move feedrate on ExtUI displays.
- 🐛 Fix quick homing for UVW with
SENSORLESS_HOMING
. - 🔧 Improved support for machines without X, Y, Z, E axes.
- 🚸 Remove extra
G76
probe raise. - 🔧 Allow per-axis baud rate for TMC stepper drivers.
- 🐛 Fix fan software PWM init.
- 🐛 Fix inverted fan state.
- 🐛 Fix init for inverted heater states.
- 🐛 Fix build error with Thermistor 68.
- 🐛 Fix support for more than 4 servos.
- 🐛 Ensure serial flush after
M303
. - 🐛 Fix
M125
wait for user with some displays.
LCD / Controller / UI
- 🚸 Fix Filament Change item position with/without encoder.
- 🚸 Update FTDI Eve Touch UI (Lulzbot / Cocoa Press).
- 🍱 Update DWIN icon graphic files.
- 🚸 Use the term "Tramming" instead of "Level Corners."
- 🌐 Update Romanian font data.
- 🌐 Allow menu strings to contain '='.
Build / Install
- 🔨 Improve PlatformIO INI feature filters.
- 🔨 Apply specific version / commit ID to libraries.
Boards / Pins
- 🔧 Rename
BOARD_BTT_MANTA_M4P_V1_0
toBOARD_BTT_MANTA_M4P_V2_1
. - 🎨 Replace
LCD_PINS_ENABLE
withLCD_PINS_EN
. - 🎨 Replace
FAN_PIN
withFAN0_PIN
. - 🎨 Replace
SDIO_SUPPORT
withONBOARD_SDIO
. - 🔥 Remove unpublished board VAkE 403D.
Configuration Changes
- 📝 Update links to products, documentation.
- 🔧 Move configuration change alerts to
inc/Changes.h
. - 🔧 Replace
DISABLE_[AXIS] true/false
with simple switchesDISABLE_[AXIS]
. - 🔧 Replace
TFT_SHARED_SPI
withTFT_SHARED_IO
. - 🔧 Remove
X2_HOME_DIR
(always assume +1). - 🔧 Remove
EXPERIMENTAL_SCURVE
(not needed). - 🔧 Replace
TMC_SW_MOSI
/MISO
/SCK
withTMC_SPI_MOSI
/MISO
/SCK
. - 🔧 Replace
BTT_MINI_12864_V1
withBTT_MINI_12864
. - 🔧 Replace
FOLDER_SORTING
withSDSORT_FOLDERS
. - 🔧 Replace
DISABLE_INACTIVE_EXTRUDER
withDISABLE_OTHER_EXTRUDERS
. - 🔧 Replace
DEFAULT_STEPPER_DEACTIVE_TIME
withDEFAULT_STEPPER_TIMEOUT_SEC
. - 🔧 Replace
DISABLE_INACTIVE_[AXIS] true/false
with simple switchesDISABLE_IDLE_[AXIS]
.
General Cleanup
- 🎨 Clean up file headings, whitespace, code formatting, comments.
For Developers
- 🧑💻 Globally replace
EITHER
/BOTH
withANY
/ALL
- 🧑💻 Globally replace
LOOP*
macros with for loops. - 🧑💻 Globally replace
SDSUPPORT
with conditionalHAS_MEDIA
. - 🧑💻 Replace
ADC_VREF
withADC_VREF_MV
for easier validation. - 🧑💻 Replace
AS_CHAR()
withC()
for serial echo.
Known Issues
- See #27019 for a list of known issues.
Marlin 2.1.1.1
- 🔨 Update for compatibility with PlatformIO 6
Marlin 2.1.0.1
- 🔨 Update for compatibility with PlatformIO 6
Marlin 2.0.8.3
- 🔨 Update for compatibility with PlatformIO 6
Marlin 2.0.7.3
- 🔨 Update for compatibility with PlatformIO 6