Marlin 2.0.9.3
This release includes many fixes and improvements from contributors, testers, and co-developers.
Issues Fixed
- 🐛 Fix SKR Mini E3 V2 I2C-based EEPROM (#22919, #22955)
- 🐛 Fix MKS Robin Pro 1.0 LCD reset pin (#22937)
- 🐛 Fix
G33
homing current (#22909) - 🐛 Fix Tool Change Park (#22968)
- 🐛 Fix JyersUI ZOffset Multiplication (#22975)
- 🐛 Fix probe temp compensation maths (#23004)
- 🐛 More explicit allocation of solenoids (f179e25)
- 🐛 Fix Ender-3 V2 Enhanced SetFlow (#23016)
- 🐛 Fix børken
E_DUAL_STEPPER_DRIVERS
(#23017) - 🐛 Fix
Y_SERIAL_RX_PIN
for FYSETC S6 (#23055) - 🐛 Fix
NEOPIXEL2_SEPARATE
default color (#23057) - 🐛 Fix serial_data_available (#23160)
- 🐛 Fix IDEX Duplication Mode Positioning (#22914)
- 🐛 Fix homing current for extra axes (#23152)
- 🐛 Fix loud_kill heater disable (#23314)
- 🐛 Fix IDEX +
DISABLE_INACTIVE_EXTRUDER
(#22925) - 🐛 Fix max chamber fan speed (#22977)
- 🐛 Fix
AUTOTEMP
bug (thermal runaway) (#23025) - 🐛 Fix serial
PORT_RESTORE
(andBUFFER_MONITORING
) (#23022) - 🐛 Fix MKS Robin E3/E3D Z Stop/Probe pins (#23034)
- 🐛 Fix EZBoard V2 board name (e8a5597)
- 🐛 Fix TFT backlight [STM32] (#23062)
- 🐛 Prevent AVR watchdogpile (#23075)
- 🍻 Get/clear reset source earlier (9b76b58)
- 🩹 Fix
M503
report (#23084) - 🐛 Fix FYSETC Cheetah 2.0 pins for production (#23104)
- 🐛 [LCP1768] Init PWM in set_pwm_duty (#23110)
- 🐛 Fix
SENSORLESS_HOMING
for 6-axis (cb1570d) - 🐛 Fix
G33
, Delta radii, reachable (#22795) - 🐛 Fix fast PWM WGM code (feffc19)
- 🐛 Init
PROBE_ENABLE_PIN
(#23133) - 🐛 Fix TFT backlight sleep/wake (#23153)
- 🐛 Fix STM32 set_pwm_duty (#23125)
- 🐛 Fix STM32 FastPWM (77af48e, 52a44eb)
- 🐛 Fix
TIMER_TONE
for ZM3E4 (#23212) - 🐛 Fix
env:chitu_f103
(#23225) - 🐛
HAL_reboot
for native HAL (#23246) - 🐛 Fix
TWIBus
Wire.begin
call (#23183) - 🐛 Fix
Endstops::report_states
(#23280) - 🐛 Fix MARLIN_F103Rx variant SCK / MOSI pins (#23282)
- 🐛 Fix
TFT_COLOR_UI
Release Media issue (#23123) - 🐛 Fix Chitu
Z_STOP_PIN
(#23330) - 🐛 Fix Robin Nano v3 filament runout pins (#23344)
- 🏗️ Fix Maple HAL/STM32F1 PWM (#23211)
- 🐛 Fix and improve MAX31865 (#23215)
G-Code Changes
- ✨
M261 S
I2C output format (#22890)
New Features
- ✨ Add option
EVENT_GCODE_TOOLCHANGE_ALWAYS_RUN
(#22960) - 🐛 Add
USE_TEMP_EXT_COMPENSATION
options (#23007) - ✨ Shutdown Host Action (#22908)
- ✨ Allow Low EJERK with LA, optional (#23054)
- ✨
M3426
to read i2c MCP3426 ADC (#23184) - ✨
M115
flagEXTENDED_M20
(#22941) - 🧑💻 Option allowing > 127 Neopixels (#23322)
- ✨ Support for BIQU B1-SE-Plus strain gauge probe (#23101)
- ✨ Fan tachometer support (#23086, #23180, #23199)
- ✨ MarkForged YX kinematics (#23163)
- ✨ X Twist Compensation & Calibration (#23238)
- ✨ Configuration embedding (#21321, #23303)
- ✨ Option to reset EEPROM on first run (#23276)
- ✨ BLTouch High Speed mode runtime configuration (#22916, #23337)
- ✨ Per-axis TMC hold multiplier (#23345)
New LCD / Controller
- ✨ BigTreeTech TFT35 SPI V1.0 (#22986)
- ✨ WYH L12864 LCD (Alfawise Ex8) (#22863)
- ✨ BigTreeTech Mini 12864 V1.0 (#23130)
New Boards
- ✨ ESP32 Panda_ZHU and Panda_M4 (#22644)
- ✨ MKS Eagle (STM32F407VET6) board (#22897)
- ✨ Eryone Ery32 mini (STM32F103VET6) board (#22956)
- ✨ Creality v2.4.S1 (Ender 7) board (#23010)
- ✨ BTT Octopus Pro V1.0 (STM32F446ZET6) (#22971)
- ✨ BTT Octopus Pro V1.0 (STM32F429ZGT6) (#23008, #23072)
- ✨ "Rutilea" ESP32 board (#22880)
- ✨ Artillery Ruby (STM32F401RCT6) (#23029)
- ⚡️ BTT002 (STM32F407VET6) variant,
MK3_FAN_PINS
flag (#23093) - ✨ FYSETC Spider v2.2 (#23208)
- ✨ BigTree SKR 2 with F429 (#23177)
- ✨ EasyThreeD ET4000+ board and UI (#23080)
- ✨ BigTreeTech SKR mini E3 V3.0 (STM32G0B1RET6) (#23283)
- ✨ Creality3D V4.2.3 / Ender-2 Pro board (#23307)
- ✨ MKS TinyBee (#23340)
Improve Boards/Pins
- 🎨 Define Octopus allocated endstop pins (#22882)
- 🩹 Adjust GTR 1.0 ST7920 display delay (#22904)
- 💡 Sub-include pins labels (b108741)
- ⚡️ Add'l PCINTs for Mega Extended (#23019)
- ⚡️ Formbot ST7920 delays, intentional X2 pins (#22915)
- 🎨 Refactor MOSFET pins layout (#22983)
- 🩹 Retain LCD pins with motor expansion (#23024)
- 📌 Default NeoPixel pin for MKS Robin E3/E3D (#23060)
- 📌 'STOP' auto-assign, some Chitu V9 pins (#22889)
- 🎨 MPX ARM Mini pins cleanup (#23113)
- 🩹 UM2 extruder cooling fan on PJ6 (#23194)
- 🩹 Assume 4K EEPROM for RUMBA32 BTT (#23205)
- 🔧 Cutter pins for SKR 2.0 (05b5727)
- 📌 More Longer3D LKx Pro serial tests (#23260)
- 🚸 Onboard SD for SKR 2.0 / SKR PRO (#23274)
- 📌 Overridable probe-related pins (#23107)
Improvements
- 🚸 Default T0 for
M569
,M906
,M913
(#23020) - 🚸 Tweaks to UBL
G29 Q
(12f8168) - 🚸 More flexible Probe Temperature Compensation (#23033)
- ⚡️ Controller Fan software PWM (etc.) (#23102)
- 🚸 Simplify touchscreen calibration for SimUI (#23124)
- ⚡️ Reduce calls to set fan PWM (#23149)
- 🚸 Park nozzle on "loud kill" (#23172)
- 🩹 SD abort requires open file (daa8fff)
- 🩹 Init fan speed at boot (#23181)
- 🚸 Use
M600
for disabled MMU (#21865)
Configuration
- 🔧 Remove obsolete
G34
sanity check (#22929) - 🔧 Safety feature warnings (522cdd5)
- ✅ Warn about dummy thermistors (c3a4e6b)
- 🔨 Move Creality 4.2.2 warning (49e8def)
- 🔧 Add, update TFT sanity checks (#22928)
- 🔧 Fewer alerts about
Z_SAFE_HOMING
(a0da7e8) - 🔧 Configuration version 02000903 (6f59d81)
- 💚 Update Ender-3 V2 config path (692c9a6)
- 🔧 Endstop / DIAG homing conflict warning (#23050)
- 🔧 Fix unknown board test (c781ecc)
- 🔧 Warning for
IGNORE_THERMOCOUPLE_ERRORS
(#23312) - 🚑️
FAST_PWM_FAN
default 1KHz base freq. (#23326) - 🔧 Sanity check
MMU2_MENUS
(226ee7c) - 🚸 Expose sub-options for E3V2 Enhanced (#23099)
- 🔧
SOUND_MENU_ITEM
for E3V2 (884308f) - 🔧 Chamber Fan index option (#23262)
- 🔧 Group
FAST_PWM_FAN
options (#23331) - 🔧 Move
MOTHERBOARD
closer to top (677568e)
Build / Upload
- 🐛 Fix Arduino IDE compile error (#22877)
- 🩹 Fix EXTRUDER 0 compile warning (#22868)
- 🐛 Fix FYSETC Cheetah v2.0 build (#22926)
- 🎨 Fix
pinsDebug_list
warnings (5f6d9e9) - 🔨 Fix older GCC
CXXFLAGS
warning (3015842) - 🎨 Fix redefine warnings (#23061)
- 🎨 Suppress type warning (#22976)
- 🐛 Fix MMU1 compile (#22965)
- 🎨 Pragma GCC cleanup (aa198e4)
- 🩹 Fix pragma ignored for older GCC (#22978)
- 🩹 Fix RGB case light compile (#23108)
- 🩹 Fix include path (#23150)
- 🩹 Fix non-PWM cutter compile (#23169)
- 🐛 Fix
LCD_BED_LEVELING
compile (#23298)
Build Env
- 🔨 Add 'opt_find' to find matching options (40cb7cf)
- 🔨 Port libsdl2_net required for macOS simulator (99d51af)
- 🔨 Update 'pio vscode init' detection (2c6fe45)
- 🔨 Delete after encrypt. Lerdge encrypt only once (b4904cc)
- 🔨 Help for GDB remote debugging (5cbb820)
- 🔨 Support ABM in mf scripts (20c7477)
- 🔨 Update git helper scripts (5efef86)
- 🔨 Script 'mfprep' finds pending commits (a0a5740)
- 🔨 Fix IntelliSense / PIO conflicts (#23058)
- 🔨 Port libsdl2_net required for macOS simulator (1d8941d)
- 🔨 Bring Makefile up to date (f637e1c)
- 🔨 Configurable firmware bin filename (a2349fc)
Language
- 🚸 Change "SD" to "Media" or "SD/FD" (#23297)
User Interface
- 🐛 Fix ExtUI Pause messages (#22874)
- 🐛 Fix E3V2 width/height defines (#22994)
- 🐛 Fix JyersUI current positions (scaling) (#23005)
- 🚸 E3V2 Enhanced cosmetic fixes (#23009, #23100)
- 🎨 Update MKS UI for no bed, extruder (#22938)
- 🚸 Tweak MKS UI G-code console (af08f16)
- 🐛 Fix JyersUI
SHOW_REMAINING_TIME
(#22999) - 🐛 Fix E3V2 (CrealityUI) position display (#23023)
- 🚸 Scroll long filename on MKS TFT (#23031)
- 🐛 Fix E3V2 (CrealityUI) Tune/Prepare > Zoffset (#23040)
- 🐛 Fix DGUS Reloaded status message (#23090)
- 🐛 Fix JyersUI scrolling filename, etc. (#23082)
- 🚸 Indicate Preheating for probe / leveling (#23088)
- 🚸
LCD_SHOW_E_TOTAL
forTFT_COLOR_UI
(#23127) - 🐛 Fix
ACTION_ITEM
with nullptr (#23195) - 🐛 Fix MKS LVGL UI retraction (#23267)
- 🚸 Show
MM'SS
during first hour (#23335)
For Developers
- 🔨 Improve 'mftest' error message (61b574f)
- 🎨 Tweak FORCE_INLINE (d137f30)
- 🩹 Fill gaps in
pinsDebug_list
(#23051) - 🎨 Axis name string interpolation, with examples (#22879)
- 🎨 Update F string declarations (433a27e)
- 🎨 Apply
F()
to E3V2 titles, popups (59503c6) - 🎨 Apply
F()
to G-code subcommands (2b9ae0c) - 🎨 Apply
F()
to G-code suite and queue (46c53f6) - 🎨 Apply
F()
to serial macros (433eedd) - 🎨 Apply
F()
to status message (360311f) - 🎨 Apply
F()
to Host Actions strings (7626d85) - 🎨 Apply
F()
to some ExtUI functions (c3ae221, d9f7de7) - 🎨 Apply
F()
to UTF-8/MMU2 string put (9cf1c3c) - 🎨 Apply
F()
to G-code report header (cabd538) - 🎨 Apply
F()
to various reports (24dbece, d48cb11) - 🎨 Apply
F()
to MKS UI errors, assets (492d704) - 🎨 Apply
F()
to kill / sendinfoscreen (3d102a7) - 🎨 Refactor Host Actions as singleton (f80bcdc)
- 🎨 Add MKS UI goto_previous_ui (de77dfc)
- 🎨 Define
HAS_PREHEAT
conditional (84f9490) - 🎨 Standard material presets behavior (205d867)
- 🎨 Standard 'cooldown' method (d29a901)
- ⚗️ Use pwm_set_duty over analogWrite to set PWM (#23048)
- 🍻 Preliminary fix for Max31865 SPI (#22682)
- 🏗️
Planner::busy()
(#23145) - 📌 Biqu BX temporary framework workaround (#23131)
- 🩹 Handle
nullptr
inCardReader::printLongPath
(#23197) - 🩹 Coerce
pin_t
inset_pwm_duty
macros (#23273) - 🎨 Rename HAL timer elements (9b1c0a7)
- 🏗️ Rework STM32 timer frequency protection (#23187)
General Cleanup
- 🎨 Rename
MarlinUI::zoffset_overlay
(b8c32e2) - 💡 Update old gnu.org links (641bae6)
- 🎨 Fix up MKS UI defines (01a0f3a)
- 🎨 Apply
HAS_MULTI_HOTEND
conditional (cbc7dad) - 🎨 Adjust Ender-3 V2 DWIN options (545d14f)
- 🎨 Fix misspelling (#23137)
- ✏️ MAX31856 => MAX31865 (b77a5d4)
- 🎨 Rename MAX31865 elements (8d4e4ac)
- ✏️ Clean up duplicate defs (#23182)
- 📝 Fix a config comment (1a8307b)
- 🩹 Fix settings
G21
report (#23338)