Marlin Builder v2.0

Configure Marlin easily, online and without the need to modify a single line of code

Preconfigured firmwares (for commercial printers)

Configuring Marlin

Complete the 5 sections with the basic configuration of your printer and then press the "Download Firmware" button.
For a more advanced configuration, you can edit the downloaded file later.

Shows more detailed information about each parameter

Use the keyboard to scroll through the different settings sections

Main hardware
Step 1 of 5
Selection of enviroment (microcontroller)
ENVIROMENT

Select the environment that corresponds to your electronic board, otherwise Visual Studio Code will give you an error during the compilation process

If you do not know which environment to select for your electronic board, please check this link: List of enviroments

Marlin logotype
SHOW_BOOTSCREEN

Displays the official Marlin logo on startup

Serial port
SERIAL_PORT

Serial communication port. It is advisable not to modify it

Transmission speed
BAUDRATE

Printer communication rate in baud

Printer name
CUSTOM_MACHINE_NAME

Name that will appear on your printers LCD screen (optional)

Author of changes
STRING_CONFIG_H_AUTHOR

Shows who has made the changes to the firmware (optional)

Electronic board
MOTHERBOARD

Select the electronics for your printer. You can find the listing in the "boards.h" file of the Marlin sources

Screen type (LCD/OLED/TFT)
LCD_DISPLAY

Select the type of LCD/OLED/TFT display of your printer

Advanced options (only if you selected "TFT Generic")

Driver
Interface
Resolution
Extruders
EXTRUDERS

Number of extruders available (Max. 8)

Filament
DEFAULT_NOMINAL_FILAMENT_DIA

Nominal diameter of the filament you want to use (in millimeters)

Print volume
X_BED_SIZE / Y_BED_SIZE

Print surface size on XY axes (in millimeters)

X_BED_SIZE
Y_BED_SIZE
Endstops
USE_XMIN_PLUG / USE_XMAX_PLUG

Configure all the limit switches available on your printer

Endstops logic
ENDSTOP_INVERTING

It allows us to reverse the logic of the limit switches if necessary

Shows more detailed information about each parameter

Use the keyboard to scroll through the different settings sections

Temperatures and limits
Step 2 of 5
Temperature sensors (hotends)
TEMP_SENSOR_X

Select the available temperature sensors. Marlin currently supports up to 8 temperature sensors

TEMP_SENSOR_0
TEMP_SENSOR_1
TEMP_SENSOR_2
TEMP_SENSOR_3
TEMP_SENSOR_4
TEMP_SENSOR_5
TEMP_SENSOR_6
TEMP_SENSOR_7
Aditional temperature sensors
TEMP_SENSOR_BED

Select the type of sensor for other elements of your 3D printer

TEMP_SENSOR_BED
TEMP_SENSOR_PROBE
TEMP_SENSOR_CHAMBER
TEMP_SENSOR_COOLER
TEMP_SENSOR_REDUNDANT
Minimum and maximum temperature (hotends)
HEATER_X_MINTEMP / HEATER_X_MAXTEMP

Select the minimum and maximum temperature of the hotends available in your printer

HEATER_0_MINTEMP
HEATER_1_MINTEMP
HEATER_2_MINTEMP
HEATER_3_MINTEMP
HEATER_4_MINTEMP
HEATER_5_MINTEMP
HEATER_6_MINTEMP
HEATER_7_MINTEMP
HEATER_0_MAXTEMP
HEATER_1_MAXTEMP
HEATER_2_MAXTEMP
HEATER_3_MAXTEMP
HEATER_4_MAXTEMP
HEATER_5_MAXTEMP
HEATER_6_MAXTEMP
HEATER_7_MAXTEMP
Minimum and maximum temperature (heatbed)
BED_MINTEMP / BED_MAXTEMP

Limits the minimum and maximum temperature of the printing surface

BED_MINTEMP
BED_MAXTEMP
Minimum and maximum temperature (chamber)
CHAMBER_MINTEMP / CHAMBER_MAXTEMP

Limits the minimum and maximum temperature of the chamber

CHAMBER_MINTEMP
CHAMBER_MAXTEMP
PID Tuning (hotends)
 

Fuser temperature control algorithm. They are generated with the command M303 E0 S200 C8

DEFAULT_Kp
DEFAULT_Ki
DEFAULT_Kd
PID Tuning (heatbed)
 

Bed temperature control algorithm. They are generated with the command M303 E-1 C8 S90

PIDTEMPBED
DEFAULT_bedKp
DEFAULT_bedKi
DEFAULT_bedKd
Limit cold extrusion
EXTRUDE_MINTEMP

Limits plastic extrusion if the hotend does not reach a certain temperature

EXTRUDE_MINTEMP

Shows more detailed information about each parameter

Use the keyboard to scroll through the different settings sections

Motors and movement
Step 3 of 5
Select installed drivers
DRIVER_TYPE

Select the type of driver you have in the motors. If you dont configure any drivers, Marlin will use as default A4988 driver. It is recommendable to select the exact type

X_DRIVER_TYPE
E0_DRIVER_TYPE
Y_DRIVER_TYPE
E1_DRIVER_TYPE
Z_DRIVER_TYPE
E2_DRIVER_TYPE
X2_DRIVER_TYPE
E3_DRIVER_TYPE
Y2_DRIVER_TYPE
E4_DRIVER_TYPE
Z2_DRIVER_TYPE
E5_DRIVER_TYPE
Z3_DRIVER_TYPE
E6_DRIVER_TYPE
Z4_DRIVER_TYPE
E7_DRIVER_TYPE
I_DRIVER_TYPE
J_DRIVER_TYPE
K_DRIVER_TYPE
Steps configuration
DEFAULT_AXIS_STEPS_PER_UNIT

We will introduce the values ​​of the steps of all the motors of our printer (steps / mm)

X
Y
Z
Extruders
Maximum advance setting
DEFAULT_MAX_FEEDRATE

We will introduce the values of the steps of all the motors of our printer (steps/mm)

X
Y
Z
Extruders
Default maximum acceleration setting
DEFAULT_MAX_ACCELERATION

We will introduce the values of the steps of all the motors of our printer (steps/mm)

X
Y
Z
Extruders
Reverse direction of motors
INVERT_X_DIR

Reverses the direction of the steering (or extrusion) motors if necessary

Movement limits
X_MIN_POS / X_MAX_POS

Minimum and maximum movement limits allowed by your printer

X_MIN_POS
Y_MIN_POS
Z_MIN_POS
X_MAX_POS
Y_MAX_POS
Z_MAX_POS
I_MIN_POS
J_MIN_POS
K_MIN_POS
I_MAX_POS
J_MAX_POS
K_MAX_POS
Movement restrictions
MIN_SOFTWARE_ENDSTOP / MAX_SOFTWARE_ENDSTOP

Marlin allows you to disable the minimum movement limits. For security reasons, it is recommended not to disable them

CoreXY kinematics
COREXY

Enable these options to use CoreXY printer kinematics

Shows more detailed information about each parameter

Use the keyboard to scroll through the different settings sections

Leveling and sensors
Step 4 of 5
Distances from sensor to nozzle
NOZZLE_TO_PROBE_OFFSET

Self-leveling sensor positions relative to the nozzle on all three XYZ axes. Enter the values separated by commas

X
Y
Z
Nozzle as sensor / Probing distance
PROBING_MARGIN

If you use your nozzle as a leveling sensor you can increase the probing distances here (in millimeters)

PROBING_MARGIN
Multiple probes
MULTIPLE_PROBING

Allows you to configure the number of probes

XY axis speed between probes
XY_PROBE_FEEDRATE

Sets the travel speed of the head in the XY axes when making leveling probes (mm/m)

XY_PROBE_FEEDRATE
Z clearance during probes (Z Clearance)
Z_CLEARANCE

Configure the different Z axis travels during probes and probe point changes

Z_CLEARANCE_DEPLOY_PROBE
Z_CLEARANCE_BETWEEN_PROBES
Z_CLEARANCE_MULTI_PROBE
Z_AFTER_PROBING
Multiple probe speeds in Z
Z_PROBE_FEEDRATE_FAST / Z_PROBE_FEEDRATE_SLOW

Sets the speed of the first Z-poll (fast) and the second poll (slow). It is measured in mm/m

Z_PROBE_FEEDRATE_FAST
Z_PROBE_FEEDRATE_SLOW
Number of probes per dimension
GRID_MAX_POINTS

Allows you to configure the number of probes for greater precision

GRID_MAX_POINTS_X
GRID_MAX_POINTS_Y
Preconfigured leveling systems
LEVELING

Choose one of the leveling systems listed below that best suits the mechanics of your printer. It is recommended to select one to correctly level your printing surface

Choose this option if you dont have a sensor. Use Marlins Bilinear mode generating a mesh of as many points as you have previously configured in GRID_MAX_POINTS

Choose this option if you have an inductive / capacitive sensor (not BLTouch). Use Marlins Bilinear mode generating a mesh of as many points as you have previously configured in GRID_MAX_POINTS

Choose this option if you have a BLTouch or 3DTouch sensor (equipped with servo). Use Marlins Bilinear mode generating a mesh of as many points as you have previously configured in GRID_MAX_POINTS

BabyStepping function in Z axis
BABYSTEPPING

Allows you to enable the BabyStepping function to adjust Z in real time. It is a very interesting function

Filament cut sensor
FILAMENT_RUNOUT_SENSOR

These options will allow you to configure the filament cut sensors if available

FILAMENT_RUNOUT_SENSOR
NUM_RUNOUT_SENSORS
FIL_RUNOUT_STATE

Shows more detailed information about each parameter

Use the keyboard to scroll through the different settings sections

Another options
Step 5 of 5
Limit extrusion distance
EXTRUDE_MAXLENGTH

Prevents extruding a distance greater than that indicated (in millimeters)

EEPROM storage
EEPROM_SETTINGS

Allows you to save data in the EEPROM. Command "Save Settings" M500

Multi-Material Unit
MMU_MODEL

Set to one of these predefined models:

SDCARD support
SDSUPPORT

Allows you to use SDCard memory cards. It is recommended to activate it

Activate simplified LCD menu
SLIM_LCD_MENUS

Simplify menu structure, save memory and eliminate rarely used functions

It is highly recommended to activate it if you have little memory, as is the case with the Ender3

LCD menu language
LCD_LANGUAGE

Language that will appear on the LCD screen

LCD character set
DISPLAY_CHARSET_HD44780

Choose the character set, by default it uses "Japanese"

Display style
LCD_INFO_SCREEN_STYLE

Choose the display style (Classic or Prusa)

Our users

Statistics Marlin Builder

193296

Site visits

90288

Downloaded firmwares