Releases: MarlinFirmware/Marlin
1.1.2
Patches to various issues discovered since the 1.1.1 release.
- Fixes and improvements for Unified Bed Leveling
G29
andG26
- #6228 : Improved support for Teensy and AT90USB-based boards
- #6268 : Initial support for
M3
/M4
/M5
spindle and laser - #6407 : Unified
M600
/M125
asADVANCED_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.
1.1.1
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.
1.1.0
Marlin 1.1 Release Notes
Marlin 1.1 represents an evolutionary leap over Marlin 1.0.2. It is the result of over two years of effort by several volunteers around the world who have paid meticulous and sometimes obsessive attention to every detail. For this release we focused on code quality, performance, stability, and overall user experience. Several new features have also been added, many of which require no extra hardware.
The code has been significantly optimized in several areas, leading to fewer stutters, better delta performance, more reliable USB/Serial communication, and more consistent and deterministic results.
Among the most significant improvements are:
- More consistent configuration with sanity-checking.
- Many more boards supported, with sane defaults for most common features.
- Improved thermal protection, enabled by default with tight margins for error.
- Improved Auto Bed Leveling with Bilinear Mesh and probeless operation.
- Unified Bed Leveling™ – Combining all forms of bed leveling in one package, plus
tools likeG26
Mesh Validation to improve leveling accuracy even further. - Option to "fade" leveling compensation out over several layers to save computes on long prints.
- Support for up to 5 extruders with different geometries.
- Support for mixing and switching extruders.
- Linear Advance compensates for viscosity and pressure to reduce ooze and improve surfaces.
- Dozens of languages including Japanese, Galician, and Simplified Chinese.
- Significantly improved UI performance, especially Graphical Display.
- Display rate adjusts dynamically to prevent print stuttering.
M600
Filament Change, Nozzle Clean, Nozzle Park, Auto Park on Pause, etc.- Improved support for Bed Leveling probes and Manual Probing.
- Support for Trinamic steppers, i2c control, steppers as endstops.
- Endstops can use pin interrupts for improved performance.
M43
Pins Debugging to report about, test, and monitor pins and endstops.- Print Job Timer
- Sorted SD Card file listings.
- Improved host integration, extended capabilities report, keepalive messages,
auto-report temperature, and more! - Integrated I2C Bus allowing Marlin to interoperate on multiple boards.
- Support for Case Light, RGB LED, LED Strip. Printer events feedback.
- New features too numerous to list here. Read the config files for details!
For complete Marlin documentation click over to the Marlin Homepage <marlinfw.org>.
1.1.0-RC8 to 1.1.0 Change Log
Language
- #6422 : Polish font added
- #6032, #6437 : Updated Germain language
- #6458 : Updated Italian language
- #5406, #6463 : Update Turkish language
- #6465 : Update Czech language
- #6475 : Updated French language
- #6478 : Update Dutch language
- #6482, #6495 : Updated Spanish language
New Features
- #3152 : SD files alphabetical sort in LCD menus
- #5887, #5942 : Double Click of Encoder Wheel Jumps to Z-BabyStepping
- #6154 : Show Filament Width on LCD when SD is disabled
- #6177 : Support for TinyBoy 2 3D printer (and its OLED display)
- #6187, #6533, #6410 : G33 Delta Auto-Calibration, Delta optimizations
- #6240 : Extend RGB LED with Printer Events
- #6285 : Cheaptronic V2 support
- #6284 : wt150 (Mightyboard Rev E) & RRD Full Graphic Smart Controller
- #6325 : M20 now includes file size in listing
- #6346 : Add support for
SOLENOID_PROBE
Configuration
- #5676 : Configuration.h - reword Z PROBE section
- #5762 : Z_DUAL_ENDSTOPS - make offset a configuration item
- #6256 : Use same config name for all mesh dimensions
- #6293 : Put TOSHIBA with other stepper driver options
- #6457, #6460, #6471 : "FolgerTech-i3-2020" & "gCreate gMax" example configs
- #6556 : Use
USE_CONTROLLER_FAN
for a controller fan
Bug Fixes
- #5678 : G38 bug fix, made double touch optional & reverted to Z_MIN_PROBE
- #5854 : M600 cleanup and bugfix
- #5989 : Fix delta_angles
- #5994 : Fix makefile errors, cleanup
- #6088 : Make sure heaters are off in kill()
- #6139 : Board A4JP should be SCOOVO_X9H
- #6201 : Fix broken auto#.g, some other regressions
- #6212 : Fix LCD preheat menus
- #6213 : Init bed_level_virt_interpolate on EEPROM load
- #6215 : Fix thermal runaway when nonexistent bed temp is set
- #6309 : Fix incorrect MINIMUM_STEPPER_PULSE calculations
- #6311 : Have M109 / M190 do nothing with no parameters
- #6337 : CORExx endstop detection fixes
- #6341 : Fix lcd_babystep_zoffset()
- #6342 : Fix softspi variant conditional for 1284p
- #6362 : Only queue babysteps if axis is in a known position
- #6363 : Fixed a display initialization issue.
- #6487 : Fix issue in itostr4sign with numbers <100
- #6490 : Fix endstop not enabled if pin is zero
- #6516 :
DAC_MOTOR_CURRENT_DEFAULT
for Rigidboard V2 - #6530 : Fixes for
DUAL_NOZZLE_DUPLICATION_MODE
- #6548 : Fix Dual-Z endstop conditional test
- #6557 : Keep refreshing LCD if hotend status is on-screen
Bed Leveling
- #5729, #6114, #6214 : Improved BLTouch Support
- #6050, #6358 : Auto Bed Leveling without a probe (
PROBE_MANUALLY
) - #6054, #6057, #6070, #6071, #6075, #6082, #6099,
#6101, #6118, #6123, #6126, #6131, #6133, #6150,
#6152, #6174, #6181, #6202, #6218, #6222, #6254,
#6265, #6266, #6267, #6275, #6277, #6351, #6359,
#6401, #6420, #6432, #6452, #6500, #6505, #6506,
#6507, #6511, #6538, #6540, #6552, #6559 : Unified Bed Leveling - #6332, #6245 :
BABYSTEPPING
updates Z probe offset (BABYSTEP_ZPROBE_OFFSET
) - #6251, #6258 : Fix bilinear leveling z offset
- #6248, #6289 : Option to output Bilinear grids in JSON (for visualization)
- #6300 : Fix mbl_mesh_report
- #6409 : Spend some SRAM to optimize bilinear leveling
- #6476, #6485, #6549 :
BLTOUCH_HEATERS_OFF
- during each probe
Improvements
- #5794 : M600 wait for heatup, prevent stepper timeout, etc.
- #5984, #6278 : Additional Delta calibration settings
- #6100 : Enhancement of PWM, with dithering
- #6124, #6271 : Improved MCP4728 support (stepper current control)
- #6149 : Convert feedrate on SCARA from mm/s to deg/s
- #6190 : Message for every KILL and STOP (also need delays)
- #6220 : Implement M421 for BiLinear and UBL
- #6264, #6281, #6282 : Add Support for up to 5 extruders
- #6272 : Make ADC sensor reading frequency adjustable
- #6283 : Save / restore z_fade_height in EEPROM
- #6315 :
M421
for all forms of bed leveling - #6330 : Sanity check per-axis options' array sizes
- #6348 : Improved support for TMC2130.
- #6368 : Add Linear Advance values to EEPROM and LCD
- #6406 : New Marlin git Unix/Linux/macOS helper scripts
- #6508 : PlatformIO-related improvements
- #6567 : Shutdown heaters, autotemp on SD Cancel
LCD / Controllers
- #6313 : Allow 10mm Movements for Z-Axis
Code Cleanup
- #6035, #6210, #6217 : Improved git integration
- #6176 : Make MBL a
static
class, use lookup for index-to-point conversion - #6208 : Patch MarlinSerial to match up with 32-bit version
- #6209 : Power Supply 0 as "General"
- #6354 : Fix undefined symbol if DOUBLECLICK_FOR_Z_BABYSTEPPING and HAS_BED_PROBE defined
- #6373 : Fix Makefile build
- #6382 : Fix double definition in configuration_store
- #6400, #6418, #6443 : Interrupt helper macros
- #6527 : Patch
DELTA_HEIGHT
,BLTOUCH
init - #6537 : Leveling-related patches
- #5908, #6266, #6296, #6297, #6307, #6352, #6353,
#6367, #6403, #6429, #6431, #6453, #6491, #6509,
#6515, #6519 : Code cleanup and optimization
Debug/Troubleshoot
1.1.0-RC8 "Woozy Wookiee"
This release candidate aims to be the last before the official 1.1.0 release. Please report any issues you experience. The faster we can find and fix bugs, the sooner 1.1.0 will be ready!
Known Issues
- Graphical display is laggy even when the machine is idle. Working on it.
- The mesh can't be saved with
AUTO_BED_LEVELING_BILINEAR
. Working on it. - SCARA needs some work. Stick with 1.0.2-2 or an earlier 1.1.0-RC.
New / Updated Features
- #4595, #4606, #4608, #4620, #4625, #4718 : Improved i2c messaging
- #4667 : Add
M211
to Enable/Disable Software Endstops - #4722 : Add
MINIMUM_STEPPER_PULSE
option - #4832, #5088, #5094 : Enable
M0
/M1
withM108
(EMERGENCY_PARSER
) - #4833 : Remove SCARA axis_scaling
- #4840 : Add support for
G2
/G3
withR
parameter - #4900 : Add
G38.2
/G38.3
commands for CNC-style probing - #4955, #4974, #5118, #5132 :
PINS_DEBUGGING
andM43
: Read pin states - #5082 : Only trigger MAXTEMP error during heating
- #5133 : Add
M355
to turn the case light on/off and set brightness - #5109 : Save configured hotend offsets to EEPROM
- #5179 : Support for Trinamic TMC2130 SilentStepStick drivers
- #5188 : Add
M155
auto-report temperature (AUTO_REPORT_TEMPERATURES
) - #5188 : Add
M115
capabilities protocol (EXTENDED_CAPABILITIES_REPORT
) - #5238 : Support for
AUTOTEMP
options inM104
(not justM109
) - #5184, #5252 : Support endstops interrupts to improve performance
- #5255 : Case Light menu item (
MENU_ITEM_CASE_LIGHT
) - #5330 : Support for a 3-pin RGB LED (
RGB_LED
) - #5371 : Each E stepper can have different steps/mm, acceleration, max feedrate
Code Cleanup & Documentation
- #4537, #4602, #4650, #4655, #4665, #4691, #4693, #4721,
#4749, #4779, #4797, #4836, #4895, #4941, #4993, #5053 : Code cleanup and documentation - #4703 : Add note suggesting RAMBo users use the RAMBo board type or platformio environment
- #4893 : Define status LED pins without condition
- #5289 : Eliminate 'unused function' warnings in
ultralcd.cpp
- #5394 : Remove board ID 99 (demo board). Use other board files as templates.
Planner & Stepper
- #4868, #4982, #5070, #5214 : Optimization of leveling and planner code
- #4611 : Use acceleration limiting based on BQ Marlin
- #4720 : Patch stepper.cpp to allow omitting steppers
- #4738 : Optimize stepper ISRs, plus cleanup, shorthand
- #4754 : Fix bug in mixing extruder mix factors
- #4852, #4980, #4984, #5056, #4963, #5124 : Fixes for Advance Extrusion
- #4936, #4997 : Adapt Jerk / Speed code based on Prusa MK2
- #5074 : Fix and optimize planner acceleration
- #5115 : Do more pre-calculation in
buffer_line
before waiting for a free block
Performance & Stability
- #4554 : Repair SPI-pins, some other pins
- #4564 : MISO is an input
- #4569 : Always disable
SLOWDOWN
for DELTA/SCARA - #4572 : Show up to 99:59 in digital time
- #4573 : Throw MINTEMP BED error only if heating
- #4594 : Fix serial output for MBL,
M303
- #4605 : Fixup 3DRAG pins based on updated RAMPS pins
- #4610 : Fix stopSDPrint so it works when paused
- #4621 : Init PWM-able AUTO_FAN pins with
SET_OUTPUT
- #4688 : Repair MarlinSerial with TX-buffer
- #4748 : Patch
duration_t
toDigital
method - #4804 : Fix some regressive typos in
G29
- #4820 : Fix Pin Definition Files to define
USBCON
- #4834 : Standardize
code_value_bool
for flag parameters - #4859 : Kinematic and SCARA patches
- #4860, #4883 : Fix
BLTOUCH
string andSERVO_DELAY
- #4887 : Improve
MINIMUM_STEPPER_PULSE
- #4889 : Fix
HEATERS_PARALLEL
- #4914 : Clean up PID algorithm for heaters
- #4954 : Fix buzzer when both i2c and beeper pin are set
- #4991, #5036 : Patches for Stepper DAC and MAX31855
- #5033 : Fix freezing and MINTEMP Error with MAX31855 thermocouple
- #5071 : Extend measurement range of MAX31855
- #5087 : Fix Azteeg X3 servo pins
- #5110 : Include Z2 min endstop in
M119
output - #5148 : Fix Z raise in Dual X auto-park mode
- #5175 : Fix various Dual X Carriage and Dual Z issues
- #5144, #5230 : Fix and optimize
LIN_ADVANCE
- #5212, #5228 : Fix and optimize
MIXING_EXTRUDER
- #5258 : Fix MBL Z feedrate
- #5267 : Fix LCD edit items to support over 999 steps/mm
- #5288, #5303, #5389 : Graphical LCD optimizations to reduce print lag
Configuration
- #4535 : Move tests for old symbols to the top of sanity check
- #4666 :
dropsegments
=>MIN_SEGMENTS_FOR_MOVE
- #4669 :
PREVENT_DANGEROUS_EXTRUDE
=>PREVENT_COLD_EXTRUSION
- #4673 :
MIN_SEGMENTS_FOR_MOVE
=>MIN_STEPS_PER_SEGMENT
- #4727 : Add heading for movement settings
- #4765 : Sanity check endstop plugs based on homing direction
- #4805 : Additional documentation of
Configuration.h
- #4821 : Z Raise/Clearance rather than Height
- #4842 : Drop
DISABLE_Z_MIN_PROBE_ENDSTOP
, clean up probe config - #4919 : K8400 has 1xXY and 2xZ endstop plugs
- #5072 : Pre-define auto fan pins.
EXTRUDER_n_AUTO_FAN_PIN
=>En_AUTO_FAN_PIN
- #5141 : Remove obsolete
OLD_SLOWDOWN
option - #5371 : Allow E steppers to have different factors (
DISTINCT_E_FACTORS
)
Homing and Bed Leveling
- #4551 : Make Allen Key Probe stow
- #4562 : Fix
Z_DUAL_ENDSTOPS
with Z MIN Homing - #4563 : Explain that
Z_PROBE_*_HEIGHT
options are nozzle-relative - #4651 : Improvements to homing / leveling
- #4660 : Fix zigzag moves with MBL
- #4709 : Log whether homing with probe or endstop
- #4710 : Bed leveling that accounts for home XYZ
- #4719 : Marlin patches for homing, esp. Delta
- #4781 : Use simplified Z correction in
G29
when possible - #4789 : Big cleanup of leveling code
- #4835 : Allow non-square Auto Bed Leveling grid
- #4837 : Handle nonlinear bed-leveling in Planner
- #4839, #4856 : Better
BLTOUCH
support - #4851 : Patch
G29
for 3-point leveling - #4875 : Use probe clearance for bump when homing Z with probe
- #4888 : Suppress warnings, fix nonlinear_z_offset
- #4899 : ABL: Enable by type. Bilinear grid leveling for all.
- #4918 : Add
PROBE_Y_FIRST
option. Arduino 1.6.8 required. - #4927 : Don't check Z_MAX endstops on raise when the probe pwns the pin
- #4958 : Improve
M48
output; Add min, max, range, etc. - #5097 : Fix Y endstop bit set by Z2 or probe
- #5224 : Apply limits in
G30
, report correct XY - #5264 : Make Delta Safe Zone homing optional (
DELTA_HOME_TO_SAFE_ZONE
) - #5299 : Extend
M420
withZ
to limit compensation to a given height - #5388 : Bilinear subdivision via Catmull-Rom (
ABL_BILINEAR_SUBDIVISION
)
Mesh (Manual) Bed Leveling
- #4555 : Remove premature int-cast from MBL cell index methods
- #5008 : Save some PROGMEM in MBL G28
- #5057 : Fix manual leveling coordinates
LCD Controllers
- #4553 : Save bytes for custom chars (Hitachi LCD)
- #4570, #4571, #4584 : Make
DELTA_CALIBRATION_MENU
universal - #4574 : Include days in Graphical LCD print timer
- #4597 : Added hyphenated strings for full graphic display
- #4747 : Option to show SD percent on Graphical LCD
- #4803 : Clear LCD button state, apply timer to all
- #4967 : Revised DAC Drive Strength Menu
- #5059 : Set defer delay back to
false
when exiting babystepping - #5089 : Better handling of encoder clicks
- #5176 : Instant feedback for (
M600
) Filament Change - #5209 : Megatronics has no SD Detect
- #5298 : Fix Turkish and Greek font descents
- #5303 : Draw no more than 4 stripes on graphical LCD
- #5304 : Draw a hollow frame to optimize graphical LCD (`MENU_HOLLOW_FRAME
- #5313 : Refine preheat options for multiple nozzles
- #5378 : Right-align or center elapsed print time
- #5385 : Show decimals for small XY values (
LCD_DECIMAL_SMALL_XY
)
Languages
- #4603 : Strip never-translated strings from language files
- #4634 : Set language display charset in language.h
- #4530, #4542, #4578, #4806, #4822, #5043 : Updated German language (Thanks AnHardt, Kaibob2, and blubbfish!)
- #4624 : Updated Spanish language (Thanks RicardoGA!)
- #4642 : Updated Russian language (Thanks mkile, lcfm1!)
- #4649, #4723 : Updated Danish language (Thanks boelle!)
- #4685, #5066 : Updated French language (Thanks gege2b!)
- #4815, #5347 : Updated Italian language (Thanks tnw513!)
- #4885, #4943, #4981, #5233, #5292 : Updated Japanese language (Thanks esenapaj!)
- #5065, #5351 : Updated Czech language (Thanks petrzjunior!)
- #5167, #5284 : Turkish language support (Thanks Rigid3D!)
- #5323 : Ukrainian language support (Thanks akaJes!)
- #5364 : Updated Croatian language (Thanks robimarko!)
- #5386 : Update Galician language (Thanks rafacouto!)
- #5387 : Update Polish language (Thanks c64pl and android444!)
For Developers
- #4196 : Add PlatformIO support
- #4556 : Within Marlin, maintain most feed rates in mm/s
- #4652 : Add Rambo support/env to platformio.ini; properly map extended pins
- #4717 : Debug logging of nozzle type and offsets
- #4725 : Log machine info in G28 and G29
- #4756 : Makefile fix for Arduino 1.6.9 unzipped
- #4857 : Arduino 1.6.10, direct download U8glib in Travis CI
- #4934 : More detailed debugging of G28 delta
- #4972 : Move platformio directories out of source tree
- #5226 : Bump -std in
Makefile
to C++11 - #5251 : Support for CMake build
- #5358 : Improved missing translations shell script
1.1.0-RC7 "Jittery Jedi"
New / Updated Features
- #3611 : Add
M108
command to cancelM109
,M190
, andM303
- #3625, #3813, #3819, #4298 : Add Print Job Timer and statistics (
PRINTCOUNTER
) - #3653, #4106 : Add temperature watch for the heated bed (
WATCH_BED_TEMP_PERIOD
) - #3662 : New Filament Change feature (
FILAMENT_CHANGE_FEATURE
) - #3676, #4035, #4040, #4126 : New advance extrusion algorithm (
LIN_ADVANCE
) - #3720 : Use a positive flag for Host Keepalive (
HOST_KEEPALIVE
) - #3789 : Add
M999 S1
to restart without flushing the buffer - #3806 : Add CoreYZ support, fix CoreXY, CoreXZ (
COREYZ
) - #3808, #3895 :
SINGLENOZZLE
basic multi-extruder support - #3985 : Support for inches, Fahrenheit, Kelvin (
INCH_MODE_SUPPORT
,TEMPERATURE_UNITS_SUPPORT
) - #3992 : Add error-checking of
E
parameter inM303
- #4013 : Add
S
parameter to stay in place on tool-change. Example:T1 S1
- #4053, #4060, #4094, #4158 : Add support for the Cartesio UI (
BOARD_CNCONTROLS_12
) - #4159 : Support for RigidBot V2 and its digipot (
BOARD_RIGIDBOARD_V2
) - #4192: Support for Vellemann K8400 (
BOARD_K8400
) - #4054, #4354 : Add
NOZZLE_CLEAN_FEATURE
- #4163, #4339 : Add
MIXING_EXTRUDER
andSWITCHING_EXTRUDER
- #4222 : Add
P
parameter toM302
(more like RepRapFirmware) - #4226 : Add
EMERGENCY_PARSER
to allow override commands - #4241 : Add a serial transfer buffer option (
TX_BUFFER_SIZE
) - #4244 : Dyze High Temperature Thermistor support (up to 500°C)
- #4271, #4279 : Add
X_DUAL_STEPPER_DRIVERS
option - #4299 : Add
NOZZLE_PARK_FEATURE
- #4305 : Drop-in custom boot screens
- #4336 : Add support for BLTouch sensor (
BLTOUCH
) - #4362 : Add
DUAL_NOZZLE_DUPLICATION_MODE
- #4408 : Add support for
REPRAPWORLD_GRAPHICAL_LCD
Performance & Stability
- #3613 : Fix an issue with sudden acceleration
- #3642 : Suppress host keepalive during
M109
/M190
- #3650 : Prevent stuck
M109
/M190
if a target temperature is changed - #3661 : Fix handling of UTF-8 characters in SD card filenames
- #3751 : Fix long
G2
/G3
arcs blocking machine idle - #3757 : Don't allow setting auto fan pins in
M42
- #3781 : Improved performance in Delta movement
- #3788 : Improvements for Dual X Carriage
- #3797 : Less blocking in
G2
,G3
, andG5
- #3828 : Fix endstops default enabled state
- #3829, #4010 : Fix position adjustment when switching extruders
- #3888 : Fix issues with MAX31855 thermocouples
- #3909 : Fix initialization of some arrays
- #3939, #4214 : Reduce positional error, clear command queue on "Stop print"
- #3955, #3958 : Fix
M428
for compatibility with Delta and SCARA - #3995, #4140 : Beeps and tones no longer stall execution
- #4012 : Prevent bad watchdog timeouts
- #4092 : Add reporting of SD read errors
- #4095, #4097 : Fix issues with Filament Runout Sensor
- #4165 : Bring RUMBA pins file up to current methods
- #4167 : Add a checksum to the EEPROM to detect errors
- #4169 : Fix wait-for-cooling in
M109
/M190
- #4204 : Adjust software endstops, if needed, on tool-change
- #4250 : Adjust wait-for-cooling timeout
- #4253, #4257 : Broader support for filament runout sensor
- #4256, #4278, #4291 : Optimizations for single-hotend setups
- #4258, #4287, #4321, #4327, #4374, #4376, #4390 : Fix and improve print job timer and counter
- #4280 : Fix write-to-file serial output
- #4287 : Support for prints over 18h 12m 15s in the print counter
- #4360 : Fix issues with
G28
when T0 isn't the active tool - #4365 : Tweak planner acceleration constraint
- #4370 : Add DELTA forward kinematics (to get XYZ from ABC)
- #4389 : Optimize planner code with less
float
division - #4402 : Fix bugs related to the shifted coordinate space
Configuration
- #3609 : Add versioning to the configuration files
- #3632 : Simplified language setting in
Configuration.h
- #3672 : Simplified probe configuration
- #3702 : Simplified pins files
- #3779 : Automatic assignment of X2, Y2, Z2 stepper connectors
- #3928 : Clean up Delta configuration examples
- #4065 : Remove support for XY servo endstops
- #4252, #4292 : Generalize options that specify PLA and ABS
- #4296 : Update BQ Hephestos 2 configuration
- #4306 : Replace
ENDSTOPS_ONLY_FOR_HOMING
withENDSTOPS_ALWAYS_ON_DEFAULT
- #4337 : Change endstop-inverting options from const bool to define
- #4398, #4400 : Sanity checking of safe homing, temp sensors
- #4414 : Remove all
#include
fromConfiguration.h
/Configuration_adv.h
Homing and Bed Leveling
- #3707 : Fix curved movements in
G29
for Delta - #3775 : Report current position to host after
G29
- #3782 : Require homing of Z before
G29
bed leveling - #3798 : Allow using probe indices (
I
andJ
) withM421
Set Probe Point - #3942 : Fix servo probe raise in
G28
and other non-leveling contexts - #4021, #4066, #4085, #4093, #4108 : Allow the use of probes without Auto Bed Leveling
- #4181 : Fix curved movements in Allen Key deploy & stow
- #4207 : Clean up Allen Key code, allow use on Cartesian machines
- #4217, #4235 : Fix
MIN_Z_HEIGHT_FOR_HOMING
cumulative raising - #4307, #4320, #4323, #4342, #4356, #4358, #4361, #4368, #4373, #4381, #4387 : Major cleanup of homing and leveling
- #4308, #4330, #4378, #4379 : Improved logging of homing and leveling
Mesh (Manual) Bed Leveling
- #3760, #3903, #3911 : Improved Mesh (Manual) Bed Leveling
- #3802 : Add MBL resting position after homing (
MESH_G28_REST_ORIGIN
) - #3956, #4199 : Keep Mesh Bed Leveling active when homing X, Y, or Z alone
- #4146 : Allow Mesh Bed Leveling to work when homing to max Z
- #4154 : Use
Z_RAISE_BETWEEN_PROBINGS
for Mesh (Manual) Bed Leveling - #4202 : Fix position adjustment for MBL when switching tools
LCD Controllers
- #3110, #4001 : Improved axis movement from the LCD controller
- #3670 : Use directional buttons on controllers that have them
- #3739 : Option to reverse the encoder wheel (
REVERSE_ENCODER_DIRECTION
) - #3740 : Add individual axis homing to the LCD menu
- #3762 : Don't display heated bed on Graphical LCD if no heated bed
- #3914, #3944 : Fix LCD contrast adjustment range for different panels
- #3936 : Support for SAV_3DGLCD OLED LCD controller
- #4025 : Fix manual LCD movement with multiple extruders
- #4057 : Show millimeters (not steps) moved in LCD babystepping
- #4168, #4277 : Support VIKI2 display with RAMPS and MKS 1.3 / 1.4
- #4188, #4201 : Add Printer Info and Printer Statistics to the LCD menu
- #4243, #4309 : Improve static/scrolling LCD screens
- #4254 : Show full kill screen (not just message line)
- #4265 : All new beeper / speaker / buzzer code and tone queue
- #4285 : Remove delay for small manual encoder axis moves
- #4357, #3957 : Improvements for the RepRapWorld Keypad
Languages
- #3712, #3746, #3785, #4185, #4341 : Updated Japanese language
- #3748, #3976, #4228, #4259, #4415 : Updated Czech language
- #3754 : Updated Portuguese language
- #3787, #3952 : Updated Galician language
- #3805 : Updated Polish language
- #3932, #3933, #3950 : Updated Danish language
- #4024, #4274: Add Greek language (el, el-gr)
- #4029, #4329, #4395 : Updated Italian language
- #4055, #4069 : Add Croatian language
- #4078 : Updated Spanish language
- #4229 : Updated German language
For Developers
- #3224 : Fix Makefile for Melzi and Arduino 1.6.x
- #3631, #3643, #3660, #3671, #3681 : Stepper, Planner, Endstops, Temperature as singletons
- #3715, #3803 : Clean up the
buildroot
folder - #3922, #3923, #3924, #3925, #3926, #3947 : Optimize singletons with
static
data & methods - #4043 : Add a non-blocking delay function
- #4023, #4049 : Add macros for moving servos
- #4034 : Allow the use of a custom image to display at startup
- #4080, #4081, #4096, #4100, #4134, #4162, #4183 : Cleanup of probing / leveling functions
- #3567, #4056 : Add helper scripts to make working with Marlin and Git easier
- #4064, #4074 : Additional patterns added to
.gitignore
- #4186 : Add generalized macros to initialize variable-size arrays
- #4245 : Simplify
thermistortables.h
- #4272 : Fix M100 issues (
M100_FREE_MEMORY_WATCHER
) - #4286 : Make it easier to do formatted debug output
- #4319 : Specify units (
mm_s
ormm_m
) in feedrate variable names - #4355 : Rename ultralcd implementation files
- #4397 : Cleanup to EEPROM read/write code
- #4404 : Cleanup to stepper indirection code
- #4232, #4234, #4335, #4340, #4353, #4349, #4355, #4359, #4369, #4372, #4383 : …and more code cleanup
1.1.0-RC6 "Trembling Tusken"
Commits since 1.1.0-RC5
All commits since 1.0.2-1
Top Contributors
- Cleanup and fixes for Info Screen on graphical displays
- Simplified endstop configuration – just set which plugs are used
- Improvements to the LCD menu manager:
- Implement proper Forward / Back menu navigation
- Allow menu screen handlers to wait for a condition
REVERSE_MENU_DIRECTION
makes CLOCKWISE move UP in menus
- Improved Mesh / Manual Bed Leveling
- Lift nozzle between probe points if using
MIN_Z_HEIGHT_FOR_HOMING
- Improved LCD interface with more feedback
- Lift nozzle between probe points if using
- Fix Sainsmart 2-in-1 pins include
- Fix graphical display when no PWM fan is present
- Fix LCD command "Move Axis" > "Y Axis"
- Patch for endstops in Hephestos configuration
- Set DEFAULT_NOMINAL_FILAMENT_DIA to 3.0 for some configs
- Fix DEFAULT_SOURCE_URL issues (e.g., with RUMBA)
- Fix LCD babystep menu items
- Fix temperature 0 display with MAX31855 thermocouple
- Updated Japanese translations
- Completed CoreXY / CoreXZ implementation for all standard features
- Improvements to Mesh and Manual Bed Leveling
- More changes to be listed soon…
1.1.0-RC5 "Sapient Saber"
Commits since 1.1.0-RC4
All commits since 1.0.2-1
- Fix LCD blinking speed when using encoder
- Fix various LCD menu issues
- Manual Bed Leveling: Improve LCD display of MBL
- Add formal support for MKSv1.3 and Sainsmart (RAMPS variants)
- Fix compile issues and apply general code improvements
- Fix failure to deploy/stow servo probes on Delta machines
- Fix print job timer failing to start
- Fix wait-for-heating bugs in M104, M109, and M190
- Fix "heating failed" error when heating a second time
- Rename FILAMENT_SENSOR to FILAMENT_WIDTH_SENSOR
- Warn if compiling with older versions of Arduino
- Fix bad string pointers in two LCD menu items
- Updated Japanese fonts and translations
- Fix broken M404 command
- More output for M111
- Fix SD card reader subcalls in subfolders
- Fix issues with M23 and "Start SD Print"
- Fix bug with escaped characters in GCode comments sent by host
- Relax default settings to reduce "heating failed" errors
- Increase host keepalive interval from 2 to 10 seconds
- Fix a bug opening SD files that begin with a number
- Fix for the PCF8575 backlight
- Mesh Bed Leveling: Fix final move to Z=0
- Mesh Bed Leveling: Allow Z level fine-tuning via
G29 S4
1.1.0-RC4 "Earnest Ewok"
Commits since 1.1.0-RC3
All commits since 1.0.2-1
Top Contributors
CoreXY and CoreXZ:
- #3127: XY BABYSTEPPING for CoreXY and CoreXZ
- #2995: Add CORE support to st_get_position_mm (and elsewhere)
Hosts, GCode:
- #3109: Add "Host Keepalive" (enabled by default) to inform hosts when Marlin is busy
- #3219: Send position to hosts after some commands.
- #2983: Remove "ok" from the output of M280, M301, M304, M851
- #3052: Fix "M145" output in M503 report
- #3108: Improved handling of
M110
for hosts - #2985, #2987, #3051, #3044, #3027, #3111: Many more fixes for GCode handling
LCD Controllers and SD cards:
- #3114: Option to reverse the click-wheel direction in menus
- #3202:
M303
PID Autotune from the LCD menu, applying the result - #3156: Fix CardReader::lsDive()
- #3157: Use variable in lcd_erase_line()
- #3151: Update the pt-br translation
- #3116: Fix value edit click bugs
- #2989: Blink XYZ on display when positions are uncertain
- #2942: Better number format for editing Delta Jerk and Z Steps
- #2973: Update splash screen with current no-domain
- f18d3f4: LCD-based movement better-constrained for Deltas (#1869)
Minor bugs:
- #2902: Fix Z min endstop stepper.cpp
- #3161: Fix initial extruder direction for second/third/fourth extruder if they run inverted to the first
- #3050, #3126: Fix stack overflow issue with many LCD movements
- #3132: Fix a bad "heating failed" error when starting to reheat a warm extruder
- #3092: Fix Printrboard with LCD
- #3077: Prevent a
kill()
from rebooting withUSE_WATCHDOG
enabled - #3066: Fix
disable_all_heaters()
for MAX6675 - #2848: Fix Rigidbot LCD Panel Support
- #2821: Fix status LEDs update when reinitializing the display
- #3222: Fix endstops disabling after homing, even without
ENDSTOPS_ONLY_FOR_HOMING
- #3197: Fix conflict between servos and PWM current control
- #3177: Save all
M665
parameters in EEPROM
Homing, Bed Leveling:
- #3164: Fix #3160 -
MESH_BED_LEVELING
broke correctG1
movement in Z - #3107:
MIN_Z_HEIGHT_FOR_HOMING
replacesZ_RAISE_BEFORE_HOMING
- #3107: Adjustments to Z Raise options for probes and homing
- #3102: Bugfix: G28 was lifting Z-axis multiple times
- #3013: Enhanced #3010 - formal Mesh/Manual dependency
- #3057: Fix
Z_RAISE_AFTER_PROBING
for non DELTA printers - #3001: Fix Z-raise order with
Z_SAFE_HOMING
- #2978: Apply Auto Bed Leveling matrix when switching extruders
- #3089: Fix
raise_z_for_servo
for Z offsets below the nozzle - #3124: Update the bed topography output in
G29
New Hardware Support:
- #3112: Formal support for the MAX31855 thermocouple
- #3182: Support for Printrboard Rev F
- #3086: Support for multiple PWM fans (for extruders)
- #3201: Hephestos configuration improvements
New and Experimental Features:
- #3069: Very New support for DELTA with
M48
Probe Repeatability Test - #3043: Example configuration for Kossel XL
- #2976: Move the experimental Configurator to its own repository
Configurations:
- #2988: Automatically assign the next open E connector for Y2/Z2
- #3131: Allow override of
PWM_MOTOR_CURRENT
in configuration - #3105: Much cleanup of configuration descriptions and code comments
- #3053: Improve description for nozzle-to-probe offsets
- #2986: Enable USE_WATCHDOG by default
- #3031: Fix board type for Hephestos: RAMPS 1.4
- #2868: Fix AUTOTEMP documentation in configs
- #3018: K8200: sample config back in sync
And...
1.1.0-RC3 "Gunshy Gungan"
Commits since 1.1.0-RC2
All commits since 1.0.2
Top Contributors
- Handle temp callbacks when THERMAL_PROTECTION_HOTENDS is not defined
- Update LCD buttons less frequently
- Add BABYSTEP_MULTIPLICATOR applying to all babystepping
- Update reference to the Marlin wiki
- Suppress Z_MIN_PROBE_REPEATABILITY_TEST for DELTA and SCARA configurations
- Use separate MOTHERBOARD values for RAMPS 1.3 and 1.4
- Fix XY formatting on LCD
- Enable thermal protection when setting temp from LCD
- Fix GCode parser to allow the letter "N" in strings
- Clean up watchdog implementation
- MSG_EXTRUDER_SWITCHED_OFF renamed to MSG_REDUNDANCY
- Fix DUAL_X_CARRIAGE motor enabling
- Fixed various code bugs and compiler issues
- Clean up spacing in code and configurations
- Updated Japanese Kana language
- Fix Portuguese (Portugal) strings
- Added Galician (gl) language support
1.1.0-RC2 "Ten Ton Tauntaun"
Changes: 1.0.2...1.1.0-RC2
- Reduced binary size, depending on your configuration.
- 7 new languages supported:
- Bulgarian
- Chinese
- Czech
- Danish
- Galician
- Japanese Katakana
- Brazilian Portuguese
- The large
pins.h
file has been split up into separate files - one for each unique board. - New electronics supported in 1.1.x - (See
boards.h
file):BOARD_BRAINWAVE_PRO (85)
: Brainwave ProBOARD_BAM_DICE (401)
: 2PrintBeta BAM&DICEBOARD_BAM_DICE_DUE (402)
: 2PrintBeta BAM&DICE Due.BOARD_FELIX2 (37)
: Felix 2.0+BOARD_K8200 (78)
: Vellemann K8200 Controller (derived from 3Drag Controller)BOARD_MEGACONTROLLER (310)
: Mega controllerBOARD_MINIRAMBO (302)
: Ultimachine Mini-RAMBoBOARD_MINITRONICS (702)
: Minitronics v1.0/1.1BOARD_MEGATRONICS_3 (703)
: Megatronics v3.0BOARD_MKS_BASE (40)
: MKS BASE 1.0
- Dropped support for
BOARD_DUEMILANOVE_328P
. BOARD_MELZI_1284
renamed toBOARD_MELZI_MAKR3D
.- LCD Probe Z Offset now shows the actual (usually negative) offset value.
- Improved support for Delta, SCARA, and COREXY, and COREXZ kinematics.
- Fixed bugs with Dual X Carriage setups.
- Move parts of Configuration files to
Conditionals.h
andSanityCheck.h
. - Clean up of temperature code.
- Fix handling of invisible SD files. Files and folders starting with underscore are now visible.
- Enhanced
G29
with improved grid bed leveling based on Roxy code. See documentation. - EEPROM layout updated to
V21
. - Short EEPROM output as G-Code – Replay to restore settings. Use
M503 S0
. - Added
M204
travel acceleration options. M204
"P
" parameter replaces "S
." ("S
" retained for backward compatibility.)- Support for more RAMPS-based boards.
- Support for Mega Controller and Minipanel.
M404
"N
" parameter replaced with "W
." ("N
" is for line numbers only).- Improved support for Cyrillic and accented languages.
- Fix
M303
so it doesn't swallow commands while running. - LCD controller knob acceleration. Makes it quicker to select settings values.
ENCODER_RATE_MULTIPLIER
- Improved compatibility with various sensors, MAX6675 thermocouple.
- Improved support for
M110
, with or without the extraN
parameter. - Filament Runout Sensor support. (
FILAMENT_RUNOUT_SENSOR
) - Filament width measurement support. (
FILAMENT_SENSOR
) - Support for TMC and L6470 stepper drivers.
- Improved support for Texas Instruments DRV8811 stepper drivers.
- Support for the SSD1306 Monochrome 128X32 I2C OLED Graphic Display.
- Better support of G-Code
;
comments,\
,N
line numbers, and*
checksums. - Fixed an issue causing too many "cold extrusion prevented" messages.
- Fixed LCD display of Volumetric Multiplier. Now shows percent instead of scaling value.
- Preliminary support for
M111
with debug flags TBD. - Support for Repetier
DEBUG_DRYRUN
flag. UseM111 S8
. - Detailed logging to debug Auto Bed Leveling. Use
M111 S16
. - Added
FAN_MIN_PWM
configuration option
• Cleaned up code formatting