#-------------------------------------------------------------------- # # DEFAULT CONFIG FILE FOR BigTreeTech TFT CONTROLLERS # #-------------------------------------------------------------------- #-------------------------------------------------------------------- # Supported TFT Variants #-------------------------------------------------------------------- # # BIGTREE_TFT24_V1_1 / BIGTREE_TFT28_V1_0 / BIGTREE_TFT28_V3_0 # BIGTREE_TFT35_V1_0 / BIGTREE_TFT35_V1_1 / BIGTREE_TFT35_V1_2 # BIGTREE_TFT35_V2_0 / BIGTREE_TFT35_V3_0 / BIGTREE_TFT35_E3_V3_0 # BIGTREE_TFT35_B1_V3_0 / BIGTREE_TFT43_V3_0 / BIGTREE_TFT50_V3_0 # BIGTREE_TFT70_V3_0 # # BIGTREE_GD_TFT24_V1_1 / BIGTREE_GD_TFT35_V2_0 / BIGTREE_GD_TFT35_V3_0 # BIGTREE_GD_TFT35_E3_V3_0 / BIGTREE_GD_TFT35_B1_V3_0 / BIGTREE_GD_TFT43_V3_0 # BIGTREE_GD_TFT50_V3_0 / BIGTREE_GD_TFT70_V3_0 # # MKS_TFT28_V3_0 / MKS_TFT28_V4_0 / MKS_TFT28_NEW_GENIUS # MKS_TFT32_V1_3 / MKS_TFT32_V1_4 / MKS_TFT35_V1_0 # # Firmware source: https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware #-------------------------------------------------------------------- # Supported Marlin Firmware Versions #-------------------------------------------------------------------- # # Minimum Marlin firmware version: 2.1.1 # Distribution date: 2022-08-06 # Firmware source: https://github.com/MarlinFirmware/Marlin/releases # # To use all the features and functionalities supported by the TFT, # the following options must be enabled in Marlin firmware. # # General options which MUST be always activated: # EEPROM_SETTINGS (in Configuration.h) # BABYSTEPPING (in Configuration_adv.h) # AUTO_REPORT_TEMPERATURES (in Configuration_adv.h) # AUTO_REPORT_POSITION (in Configuration_adv.h) # M115_GEOMETRY_REPORT (in Configuration_adv.h) # M114_DETAIL (in Configuration_adv.h) # REPORT_FAN_CHANGE (in Configuration_adv.h) # # Options to support printing from onboard media: # SDSUPPORT (in Configuration.h) # LONG_FILENAME_HOST_SUPPORT (in Configuration_adv.h) # AUTO_REPORT_SD_STATUS (in Configuration_adv.h) # SDCARD_CONNECTION ONBOARD (in Configuration_adv.h) # # Options to support dialog with host: # EMERGENCY_PARSER (in Configuration_adv.h) # SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h) # HOST_ACTION_COMMANDS (in Configuration_adv.h) # HOST_PROMPT_SUPPORT (in Configuration_adv.h) # HOST_STATUS_NOTIFICATIONS (in Configuration_adv.h) # # Options to support M600 with host & (Un)Load menu: # Options to support dialog with host (as pre requisite) # NOZZLE_PARK_FEATURE (in Configuration.h) # ADVANCED_PAUSE_FEATURE (in Configuration_adv.h) # PARK_HEAD_ON_PAUSE (in Configuration_adv.h) # FILAMENT_LOAD_UNLOAD_GCODES (in Configuration_adv.h) # # Options to fully support Bed Leveling menu: # Z_MIN_PROBE_REPEATABILITY_TEST (in Configuration.h) # G26_MESH_VALIDATION (in Configuration.h) # Z_STEPPER_AUTO_ALIGN (in Configuration_adv.h) #-------------------------------------------------------------------- # General Settings #-------------------------------------------------------------------- #### Serial Ports (Primary and Supplementary) # Serial ports connected to devices such as Printer, ESP3D, OctoPrint and other Controllers. # In order to successfully establish a communication through a serial port, set a baudrate # matching the baudrate configured on the connected device. # Disable the serial port when it is not in use and/or not connected to a device (floating) to # avoid to receive and process wrong data due to possible electromagnetic interference (EMI). # # NOTES: # - Serial port P1 is the primary serial connection to the printer and cannot be disabled. # - A baudrate of 250000 works in most cases, but you can try a lower speed if you # commonly experience drop-outs during host printing. # You may try up to 1000000 to speed up SD file transfer. # # Format: [serial_port: P1: P2: P3: P4: # Target port: P1: Printer # P2: WIFI (e.g. ESP3D) # P3: UART 3 (e.g. OctoPrint) # P4: UART 4 # Value range: P1: [min: 1, max: 9] # P2: [min: 0, max: 9] # P3: [min: 0, max: 9] # P4: [min: 0, max: 9] # Options: [OFF (port disabled): 0, 2400: 1, 9600: 2, 19200: 3, 38400: 4, 57600: 5, 115200: 6, 250000: 7, 500000: 8, 1000000: 9] serial_port:P1:6 P2:0 P3:0 P4:0 #### Emulated M600 # The TFT intercepts the M600 G-code (filament change) and emulates the handling logic # otherwise provided by Marlin firmware. # # NOTE: Enable it in case Marlin firmware does not properly support M600 on the mainboard. # # Options: [disable: 0, enable: 1] emulated_m600:0 #### Emulated M109 And M190 # The TFT intercepts the blocking M109 and M190 G-codes (set target hotend and bed temperatures) # and converts them to the non-blocking M104 and M140 G-codes respectively. # # NOTE: Enable it so the TFT can still communicate with Marlin firmware even if the target # temperature is not reached yet. Otherwise the communication (TFT<->Marlin) will be # frozen until desired/set temperatures are obtained. # # Options: [disable: 0, enable: 1] emulated_m109_m190:1 #### Event LED # When printing from TFT SD card / TFT USB disk, the TFT periodically sets the printer's (neopixel) # LED color and TFT's knob LED color, if any, according to the current nozzle and bed temperatures. # # NOTE: If "emulated_m109_m190" is disabled (heating controlled by printer), the TFT cannot control the # printer's (neopixel) LED during heating. It will control only the TFT's knob LED, if any. # # Options: [disable: 0, enable: 1] event_led:1 #### G-code File Comment Parsing # The TFT parses and processes extra information provided by the slicer as comments in the G-code file. # If enabled, the current implementation parses and processes print time and print layer information # from the G-code file (nothing else). # If disabled, the "layer_disp_type" setting provided in "UI Settings" section becomes redundant. # # NOTE: Enable it in case the slicer (e.g. Cura) supports extra information. # # Options: [disable: 0, enable: 1] file_comment_parsing:1 #-------------------------------------------------------------------- # UI Settings #-------------------------------------------------------------------- #### Rotated UI # Rotate UI by 180 degrees. # Options: [disable: 0, enable: 1] rotated_ui:0 #### Touch Mode Language # Select the language to use on the LCD while in Touch Mode. # # NOTE: To add/flash a second language copy the required "language_xx.ini" file from # "Language Packs" folder to the SD root folder. # Then press the reset button to load/flash the copied language file. # # Options: [Primary Language (english): 0, Secondary Language: 1] language:0 #### Status Screen # Select the default home screen while in Touch Mode. # If enabled, the Status Screen menu will become the default home screen. # If disabled, the Main menu will become the default home screen. # # NOTE: Both the Status Screen and Main menus display the current temperature, fan and speeds. # Furthermore, the Status Screen menu provides the status area reporting the printer notifications. # # Options: [disable: 0, enable: 1] status_screen:1 #### Touch Mode Colors # Set colors used in Touch Mode. # # NOTE: Select an option from the provided list or set the color (RGB888 format) hex value directly # (start with "0x"), such as: Red: 0xFF0000, Green: 0x00FF00, Blue: 0x0000FF. # # Options: [ WHITE: 0, BLACK: 1, RED: 2, GREEN: 3, BLUE: 4, CYAN: 5, MAGENTA: 6, YELLOW: 7, # ORANGE: 8, PURPLE: 9, LIME: 10, BROWN: 11, DARKBLUE: 12, DARKGREEN: 13, GRAY: 14, DARKGRAY: 15] ## Title background color title_background_color:1 ## Menu background color menu_background_color:1 ## Menu font color menu_font_color:0 ## Reminder font color, such as: "No print attached", "Busy processing", etc. reminder_font_color:2 ## Status (e.g. volume reminder, ABL probing point etc.) font color, such as: "Card inserted", "Card removed" status_font_color:5 ## Background color for X Y Z position display in Status Screen menu status_xyz_bg_color:15 ## List View border color list_border_color:15 ## List View button background color list_button_bg_color:15 ## Color used by the Mesh Editor menu for drawing the mesh with the minimum value in the grid mesh_min_color:7 ## Color used by the Mesh Editor menu for drawing the mesh with the maximum value in the grid mesh_max_color:2 #### Terminal Text Color Scheme # Color scheme for displaying text in Terminal menu. # Options: [Material Dark: 0, Material Light: 1, High Contrast: 2] # Material Dark: Dark background with light font color and orange command font color. # Material Light: Light background with dark font color and orange command font color. # High Contrast: Black background with white font color and orange command font color. terminal_color_scheme:0 #### Notification Style For ACK Messages # Set the notification style to use for displaying the ACK messages which start with "echo:". # # NOTE: The OFF value is applied to any ACK message type (e.g. even to known echo ACK). # It means that any kind of ACK message is silently discarded. # # Options: [OFF: 0, POPUP: 1, TOAST: 2] # OFF: No notification. The message is ignored. # POPUP: Display a popup window for user confirmation. # TOAST: A non-blocking Toast notification is displayed for few seconds. No user interaction is needed. ack_notification:1 #### Files Sorting # Sort files and folders based on the selected option. # # NOTE: Only applicable for files in TFT SD card and TFT USB disk. # # Options: [Date Newest First: 0, Date Oldest First: 1, Name Ascending: 2, Name Descending: 3] files_sort_by:0 #### Files List Mode # Display files in list mode instead of icon mode. # Options: [disable: 0, enable: 1] files_list_mode:1 #### Filename Extension # Display fullname for files listed in List Mode / Icon Mode menu. # If disabled, any filename extension starting with ".g" or ".G" (e.g. ".g", ".gco", ".gcode" etc.) will be hidden. # Options: [disable: 0, enable: 1] filename_extension:1 #### Fan Speed In Percentage # Show fan speed in percentage. If disabled fan speed will be displayed as PWM values. # Options: [disable: 0, enable: 1] fan_speed_percentage:1 #### Persistent Temperature Info # Show persistent temperature info in all menus. # Options: [disable: 0, enable: 1] persistent_info:1 #### Temperature And Wait ACK In Terminal # Show "temperature" and "wait" ACK in Terminal menu. # Options: [disable: 0, enable: 1] terminal_ack:0 #### Notification M117 # If enabled, any notification received from Marlin through "//action:notification" is also # stored on the notification screen. The notification screen reporting the history of the # received notifications is displayed pressing on the notification bar. # # NOTE: Marlin notifications are also always displayed on the Status Screen menu. # Furthermore, they are also displayed on the notification bar as toast messages # in case the current menu is not the Status Screen menu. # # Options: [disable: 0, enable: 1] notification_m117:1 #### Progress Source # This sets the source of the progress calculation, G-code file advance based mode or time based mode: # - File mode is a simple file progress, it tells you the percentage of the G-codes executed. # It doesn't reflect the amount of work done, only in a very few cases (ex. a 2D shape expanded # vertically like a cylinder, cube etc.). # - Time mode is very close to the real amount of work done, but it is still not perfect and it relies # on the estimate the slicer has done (see notes below). # # NOTES: # - Time mode needs info from the G-code file such as the elapsed time or the remaining time. This info # can be supplied as "M73 Rxx" G-code or as comment. Both must be generated by the slicer. If comment # is used than "file_comment_parsing" has to be enabled for it to take effect. # If that info is missing (comment or "M73 Rxx"), the progress source defaults to option 0 (file mode). # - If "M73 Pxx" is present in the G-code file then file or time based progress modes will be overriden # by that. # # Options: [File mode: 0, Time mode: 1] prog_source:1 #### Progress Numeric Display Mode During Print # This sets the default display type for print progress numeric display. It can be changed during # print by pressing the hourglass icon. At each click it will alter between the 3 variants. # # NOTE: It needs info from the G-code file such as the elapsed time or the remaining time. This info can # be supplied as "M73 Rxx" G-code or as comment. Both must be generated by the slicer. If comment # is used than "file_comment_parsing" has to be enabled for it to take effect. # If that info is missing (comment or "M73 Rxx"), the display defaults to option 0 (percentage & # elapsed time). # # Options: [Percentage & Elapsed time: 0, Percentage & Remaining time: 1, Elapsed time & Remaining time: 2] prog_disp_type:2 #### Current Layer Display Mode During Print # This sets the default display type for the printing layer. It can be changed during print by # pressing the nozzle icon. At each click it will alter between the 3 variants. # # NOTES: # - It requires "file_comment_parsing" to be enabled. # - This feature uses the layer number comments added by slicers at the starting of each layer. # - Some slicers may not include the total number of layers in the G-code file. In this case only # the current layer will be displayed. To display total number of layers, a comment should be # added at the beginning of the G-code file in the format "; Layer count: xx". # Separators can be " ", ":", "_" or "=". # - If the total number of layers exceeds 999, this information will not be displayed because # there is not enough space for both current and total layer number to be shown. # - If PrusaSlicer is used, to enable the layer number display, the following comment lines must # be added in Printer Settings -> Custom G-code section: # - In After layer change G-code section: # ";LAYER:[layer_num]" # - In Start G-code section: # ";LAYER_COUNT:[total_layer_count]" # # Options: [Layer height: 0, Layer number: 1, Both - height & number: 2] layer_disp_type:2 #-------------------------------------------------------------------- # Marlin Mode Settings (only for TFT24 V1.1 & TFT28/TFT35/TFT43/TFT50/TFT70 V3.0) #-------------------------------------------------------------------- #### Default Mode # Set Marlin/Touch Mode as the default mode at startup. # # NOTE: Mode switching is possible only for Marlin Mode and Touch Mode by a long press of # 1.5 seconds on the display or holding down the encoder button for 1.5 seconds. # # Options: [Marlin Mode: 0, Touch Mode: 1, Blocked Marlin Mode: 2, Blocked Touch Mode: 3] default_mode:1 #### Serial Always ON # Keep UART (serial communication) alive in Marlin Mode. # Allows seamless OctoPrint UART connection to the TFT's UART/serial expansion port # no matter which mode the TFT is in. # Options: [disable: 0, enable: 1] serial_always_on:0 #### Marlin Mode Background & Font Colors # Set colors used in Marlin Mode. # # NOTE: Select an option from the provided list or set the color (RGB888 format) hex value directly # (start with "0x"), such as: Red: 0xFF0000, Green: 0x00FF00, Blue: 0x0000FF. # # Options: [ WHITE: 0, BLACK: 1, RED: 2, GREEN: 3, BLUE: 4, CYAN: 5, MAGENTA: 6, YELLOW: 7, # ORANGE: 8, PURPLE: 9, LIME: 10, BROWN: 11, DARKBLUE: 12, DARKGREEN: 13, GRAY: 14, DARKGRAY: 15] ## Marlin Mode background color marlin_background_color:1 ## Marlin Mode font color marlin_font_color:8 #### Fullscreen Marlin Mode # Run Marlin Mode in fullscreen. # # NOTE: Disable is recommended for TFT24. # # Options: [disable: 0, enable: 1] marlin_fullscreen:0 #### Show Marlin Mode Title # Show banner text at the top of the TFT in Marlin Mode. # Options: [disable: 0, enable: 1] marlin_show_title:1 #### Marlin Mode Title # Banner text displayed at the top of the TFT in Marlin Mode. # Value range: [min: 3, max: 20 characters] marlin_title:Marlin Mode #### Marlin Mode Type # Select Marlin Mode type. # Options: [128x64 Full Graphic LCD: 0, 20x4 Character LCD: 1] marlin_type:0 #-------------------------------------------------------------------- # Printer / Machine Settings #-------------------------------------------------------------------- #### Hotend Count # Value range: [min: 0, max: 6] hotend_count:1 #### Heated Bed Support # Enable/disable presence of heated bed. # # NOTE: Disable it to let the TFT auto-detect if bed heating is enabled in Marlin firmware. # # Options: [disable: 0, enable: 1] heated_bed:1 #### Heated Chamber Support # Enable/disable presence of heated chamber. # # NOTE: Disable it to let the TFT auto-detect if chamber heating is enabled in Marlin firmware. # # Options: [disable: 0, enable: 1] heated_chamber:0 #### Extruder Count # Set extruder count. # # NOTE: This value is overridden by the TFT if provided by Marlin firmware. # # Value range: [min: 0, max: 6] ext_count:1 #### Fan Count # Value range: [min: 1, max: 6] fan_count:1 #### Controller Fan Support # Enable/disable controller fan speed control for Active and Idle cooling if Marlin # firmware supports controller fan (M710). # Options: [disable: 0, enable: 1] controller_fan:0 #### Bed / Extruder / Chamber Maximum Temperatures # Format: [max_temp: T0: T1: T2: T3: T4: T5: BED: CHAMBER:] # Unit: [temperature in °C] # Value range: hotend: [min: 20, max: 1000] # bed: [min: 20, max: 400] # chamber: [min: 20, max: 200] max_temp:T0:275 T1:275 T2:275 T3:275 T4:275 T5:275 BED:150 CHAMBER:60 #### Cold Extrusion Minimum Temperature # Minimum temperature needed to extrude/retract. # Any extrusion/retraction below this temperature will be prevented. # Unit: [temperature in °C] # Value range: [min: 20, max: 1000] min_temp:180 #### Fan Maximum PWM Speed # Set minimum and maximum fan speed allowed by the printer for Cooling Fans & Controller Fan. # Cooling fans have index from F0 to F5. # Controller fan has index CtA and CtI (Active and Idle). It requires "controller_fan" to be enabled. # Format: [fan_max: F0: F1: F2: F3: F4: F5: CtA: CtI:] # Unit: [PWM] # Value range: [min: 25, max: 255] fan_max:F0:255 F1:255 F2:255 F3:255 F4:255 F5:255 CtA:255 CtI:255 #### Machine Size / Build Area # The TFT will auto-detect the machine size (min and max) in Marlin firmware (requires # enabling "M115_GEOMETRY_REPORT" in Configuration_adv.h in Marlin firmware). # Format: [size_min: X Y Z] # [size_max: X Y Z] # Unit: [distance in mm] # Value range: [min: -2000, max: 2000] size_min:X0 Y0 Z0 size_max:X300 Y300 Z400 #### X & Y Move Speeds/Feedrates # Move speeds used in Move menu to move X and Y axes. # Format: [move_speed: S N F] # Unit: [feedrate in mm/min] # Value range: [min: 10, max: 12000] xy_speed:S1000 N3000 F5000 #### Z Speeds/Feedrates # Move speeds used in Move menu to move Z axis. # Format: [move_speed: S N F] # Unit: [feedrate in mm/min] # Value range: [min: 10, max: 12000] z_speed:S500 N1000 F2000 #### Extruder Speeds/Feedrates # Speed settings used to extrude/retract. # Format: [ext_speed: S N F] # Unit: [feedrate in mm/min] # Value range: [min: 10, max: 12000] ext_speed:S60 N600 F1200 #### Auto Load Bed Leveling Data # If enabled, load bed leveling data and turn leveling on at startup sending gcode "M420 S1". # # NOTE: If enabled, it is required: # 1) EEPROM and a bed leveling type (e.g. UBL) enabled in Marlin. # 2) A valid mesh saved on EEPROM (it is required to enable bed leveling). # If the mesh is invalid / incomplete leveling will not be enabled. # # Options: [disable: 0, enable: 1] auto_load_leveling:0 #### Onboard / Printer Media Support # Enable/disable presence of onboard media. # # NOTE: Auto-detect option is currently available (supported) by Marlin firmware. # Auto-detect is not available for other firmwares like Smoothieware. # # Options: [disable: 0, enable: 1, auto-detect: 2] onboard_sd:0 #### M27 Printing Status Refresh Time # M27 printing status refresh time (this will be used if SD_AUTOREPORT is not detected by the TFT). # Unit: [time in seconds] # Value range: [min: 1, max: 100] M27_refresh_time:3 #### M27 Always Active # Keep polling M27 even if not printing (e.g. SD print not started from TFT). # Options: [disable: 0, enable: 1] M27_always_active:1 #### Long File Names Support # Enable/disable support to long file names. # # NOTE: Auto-detect option is currently available (supported) by Marlin firmware. # Auto-detect is not available for other firmwares like Smoothieware. # # Options: [disable: 0, enable: 1, auto-detect: 2] long_filename:2 #### Pause/Nozzle Park Settings # These settings are used when a print is paused or in any feature which requires moving/parking the nozzle # before performing a task like in (Un)Load or Extruder Tuning menus. ## Pause Retract Length # Format: [pause_retract: R P] # Unit: [length in mm] # Value range: [min: 0.0, max: 20.0] pause_retract:R15.0 P16.0 ## Pause XY Position # NOTES: # - It MUST BE a value >= 0 for a Cartesian printer. # - It MUST BE a value <= 0 for a Delta printer. # # Format: [pause_pos: X Y] # Unit: [position in mm] # Value range: [min: -2000.0, max: 2000.0] pause_pos:X10.0 Y10.0 ## Pause Z Raise # Raise Z axis by this value relative to the current layer height. # Unit: [distance in mm] # Value range: [min: 0.0, max: 2000.0] pause_z_raise:10.0 ## Pause Feed Rate # Feedrate to use when moving an axis when printing is paused. # Format: [pause_feedrate: XY Z E] # Unit: [feedrate in mm/min] # Value range: [min: 10, max: 12000] pause_feedrate:XY6000 Z6000 E600 #### Leveling Settings # These settings are used for leveling. ## Leveling Edge Distance (Manual Leveling, Leveling Corner) # Inset distance from bed edges. This distance is added to minimum X & Y bed coordinates and # subtracted from maximum X & Y bed coordinates to calculate manual leveling points. # For Leveling Corner, the default distance is the maximum between this setting value and # the rounded probe offset X/Y values configured in Marlin firmware. # Unit: [distance in mm] # Value range: [min: 0, max: 2000] level_edge_distance:20 ## Leveling Z Position (Manual Leveling, Leveling Corner, Mesh Leveling, Probe/Home Offset, Mesh Tuner) # For Manual Leveling and MBL, lower Z axis to this absolute position after reaching a leveling point. # For Probe/Home Offset and ABL in Mesh Tuner, raise Z axis by this relative position after reaching # a leveling point. # Unit: [position in mm] # Value range: [min: 0.0, max: 2000.0] level_z_pos:0.1 ## Leveling Z Raise (Manual Leveling, Leveling Corner, Mesh Leveling) # Raise Z axis by this relative value before moving to another point during leveling/probing procedures. # Unit: [distance in mm] # Value range: [min: 0.0, max: 2000.0] level_z_raise:10.0 ## Leveling Feed Rate (Manual Leveling, Leveling Corner, Mesh Leveling) # Feedrate to use when moving an axis during leveling/probing procedures. # Format: [level_feedrate: XY Z] # Unit: [feedrate in mm/min] # Value range: [min: 10, max: 12000] level_feedrate:XY6000 Z6000 #### Inverted Axes (Manual Leveling, Leveling Corner, Move, Probe Offset) # Used by Manual Leveling, Leveling Corner, Move and Probe Offset menus in order axis matches the actual axis movement. # # NOTE: The Y axis of different printer (move hotbed or move nozzle) move in different directions. # So Y axis leveling inversion can't follow up inverted_axis[Y_AXIS]. # We separate a single variable "LY" (Leveling Y axis) to deal with the Y axis leveling movement direction. # # Format: [X