diff --git a/resources/profiles/Zonestar.idx b/resources/profiles/Zonestar.idx
new file mode 100644
index 000000000..7259ff432
--- /dev/null
+++ b/resources/profiles/Zonestar.idx
@@ -0,0 +1,2 @@
+min_slic3r_version = 2.4.1
+1.0.0 Initial version
diff --git a/resources/profiles/Zonestar.ini b/resources/profiles/Zonestar.ini
new file mode 100644
index 000000000..286000f19
--- /dev/null
+++ b/resources/profiles/Zonestar.ini
@@ -0,0 +1,744 @@
+# Zonestar print profiles
+
+# based on https://github.com/slic3r/slic3r-profiles/pull/19 by @ZONESTAR3D
+
+[vendor]
+# Vendor name will be shown by the Config Wizard.
+name = Zonestar
+# Configuration version of this file. Config file will only be installed, if the config_version differs.
+# This means, the server may force the PrusaSlicer configuration to be downgraded.
+config_version = 1.0.0
+# Where to get the updates from?
+config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Zonestar/
+
+# The printer models will be shown by the Configuration Wizard in this order,
+# also the first model installed & the first nozzle installed will be activated after install.
+# Printer model name will be shown by the installation wizard.
+
+[printer_model:Z5]
+name = Zonestar Z5
+variants = 0.4
+technology = FFF
+bed_model = bed_220.stl
+bed_texture = 220_texture.svg
+default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
+
+[printer_model:Z6]
+name = Zonestar Z6
+variants = 0.4
+technology = FFF
+bed_model = bed_150.stl
+bed_texture = 150_texture.svg
+default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
+
+[printer_model:Z5X]
+name = Zonestar Z5X
+variants = 0.4
+technology = FFF
+bed_model = bed_310.stl
+bed_texture = 310_texture.svg
+default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
+
+[printer_model:Z8]
+name = Zonestar Z8
+variants = 0.4
+technology = FFF
+bed_model = bed_310.stl
+bed_texture = 310_texture.svg
+default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
+
+[printer_model:Z9]
+name = Zonestar Z9
+variants = 0.4
+technology = FFF
+bed_model = bed_310.stl
+bed_texture = 310_texture.svg
+default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
+
+###################
+#### print ####
+###################
+
+[print:*common*]
+avoid_crossing_perimeters = 0
+avoid_crossing_perimeters_max_detour = 0
+bottom_fill_pattern = monotonic
+bottom_solid_layers = 4
+bottom_solid_min_thickness = 0
+bridge_acceleration = 0
+bridge_angle = 0
+bridge_flow_ratio = 1
+bridge_speed = 60
+brim_separation = 0
+brim_type = outer_only
+brim_width = 4
+clip_multipart_objects = 1
+complete_objects = 0
+default_acceleration = 0
+dont_support_bridges = 1
+draft_shield = disabled
+elefant_foot_compensation = 0
+ensure_vertical_shell_thickness = 1
+external_perimeter_extrusion_width = 0.45
+external_perimeter_speed = 50%
+external_perimeters_first = 0
+extra_perimeters = 0
+extruder_clearance_height = 20
+extruder_clearance_radius = 20
+extrusion_width = 0.45
+fill_angle = 45
+fill_density = 20%
+fill_pattern = grid
+first_layer_acceleration = 0
+first_layer_acceleration_over_raft = 0
+first_layer_extrusion_width = 0.45
+first_layer_height = 0.3
+first_layer_speed = 25
+first_layer_speed_over_raft = 30
+fuzzy_skin = none
+fuzzy_skin_point_dist = 0.8
+fuzzy_skin_thickness = 0.3
+gap_fill_enabled = 1
+gap_fill_speed = 20
+gcode_comments = 0
+gcode_label_objects = 0
+gcode_resolution = 0.0125
+gcode_substitutions =
+infill_acceleration = 0
+infill_anchor = 600%
+infill_anchor_max = 50
+infill_every_layers = 1
+infill_extruder = 1
+infill_extrusion_width = 0.45
+infill_first = 0
+infill_only_where_needed = 0
+infill_overlap = 25%
+infill_speed = 60
+inherits =
+interface_shells = 0
+ironing = 0
+ironing_flowrate = 15%
+ironing_spacing = 0.1
+ironing_speed = 15
+ironing_type = top
+layer_height = 0.2
+max_print_speed = 80
+max_volumetric_speed = 0
+min_skirt_length = 0
+mmu_segmented_region_max_width = 0
+notes =
+only_retract_when_crossing_perimeters = 0
+ooze_prevention = 0
+output_filename_format = {printer_model}_{input_filename_base}.gcode
+overhangs = 1
+perimeter_acceleration = 0
+perimeter_extruder = 1
+perimeter_extrusion_width = 0.45
+perimeter_speed = 50
+perimeters = 3
+post_process =
+print_settings_id =
+raft_contact_distance = 0.1
+raft_expansion = 1.5
+raft_first_layer_density = 90%
+raft_first_layer_expansion = 3
+raft_layers = 0
+resolution = 0
+seam_position = aligned
+single_extruder_multi_material_priming = 0
+skirt_distance = 6
+skirt_height = 1
+skirts = 0
+slice_closing_radius = 0.049
+slicing_mode = regular
+small_perimeter_speed = 15
+solid_infill_below_area = 0
+solid_infill_every_layers = 0
+solid_infill_extruder = 1
+solid_infill_extrusion_width = 0.45
+solid_infill_speed = 20
+spiral_vase = 0
+standby_temperature_delta = -5
+support_material = 0
+support_material_angle = 0
+support_material_auto = 1
+support_material_bottom_contact_distance = 0
+support_material_bottom_interface_layers = -1
+support_material_buildplate_only = 0
+support_material_closing_radius = 2
+support_material_contact_distance = 0.2
+support_material_enforce_layers = 0
+support_material_extruder = 1
+support_material_extrusion_width = 0.35
+support_material_interface_contact_loops = 0
+support_material_interface_extruder = 1
+support_material_interface_layers = 3
+support_material_interface_pattern = rectilinear
+support_material_interface_spacing = 0
+support_material_interface_speed = 100%
+support_material_pattern = rectilinear
+support_material_spacing = 2.5
+support_material_speed = 60
+support_material_style = grid
+support_material_synchronize_layers = 0
+support_material_threshold = 0
+support_material_with_sheath = 1
+support_material_xy_spacing = 50%
+thick_bridges = 1
+thin_walls = 0
+threads = 4
+top_fill_pattern = monotonic
+top_infill_extrusion_width = 0.4
+top_solid_infill_speed = 15
+top_solid_layers = 5
+top_solid_min_thickness = 0
+travel_speed = 100
+travel_speed_z = 0
+wipe_tower = 0
+xy_size_compensation = 0
+compatible_printers_condition = nozzle_diameter[0]==0.4 and num_extruders==1
+
+[print:0.20mm @Zonestar MULTI]
+inherits = *common*
+wipe_tower = 1
+wipe_tower_x = 125
+wipe_tower_y = 195
+compatible_printers_condition = nozzle_diameter[0]==0.4 and num_extruders>1
+
+
+[print:0.20mm @Zonestar SINGLE]
+inherits = *common*
+
+###################
+#### filament ####
+###################
+[filament:Generic ABS @Zonestar]
+bed_temperature = 100
+bridge_fan_speed = 30
+cooling = 1
+disable_fan_first_layers = 3
+extrusion_multiplier = 1
+fan_always_on = 0
+fan_below_layer_time = 60
+filament_colour = #29B2B2
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cost = 0
+filament_density = 0
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_minimal_purge_on_wipe_tower = 50
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_type = ABS
+filament_unloading_speed = 40
+filament_unloading_speed_start = 60
+filament_vendor = Generic
+first_layer_bed_temperature = 100
+first_layer_temperature = 245
+max_fan_speed = 0
+min_fan_speed = 0
+min_print_speed = 15
+slowdown_below_layer_time = 25
+temperature = 245
+
+[filament:Generic PETG @Zonestar]
+bed_temperature = 70
+bridge_fan_speed = 100
+cooling = 1
+disable_fan_first_layers = 3
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 1
+fan_always_on = 1
+fan_below_layer_time = 60
+filament_colour = #29B2B2
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_diameter = 1.75
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 50
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_type = PETG
+filament_unloading_speed = 40
+filament_unloading_speed_start = 60
+filament_vendor = Generic
+first_layer_bed_temperature = 70
+first_layer_temperature = 210
+full_fan_speed_layer = 0
+max_fan_speed = 50
+min_fan_speed = 25
+min_print_speed = 10
+slowdown_below_layer_time = 5
+start_filament_gcode = "; Filament gcode\n"
+temperature = 210
+
+[filament:Generic PLA @Zonestar]
+bed_temperature = 60
+bridge_fan_speed = 100
+cooling = 1
+disable_fan_first_layers = 3
+extrusion_multiplier = 1
+fan_always_on = 1
+fan_below_layer_time = 60
+filament_colour = #29B2B2
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cost = 0
+filament_density = 0
+filament_diameter = 1.75
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 50
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_toolchange_delay = 0
+filament_type = PLA
+filament_unloading_speed = 40
+filament_unloading_speed_start = 60
+filament_vendor = Generic
+filament_wipe = nil
+first_layer_bed_temperature = 60
+first_layer_temperature = 200
+full_fan_speed_layer = 5
+max_fan_speed = 100
+min_fan_speed = 50
+min_print_speed = 10
+slowdown_below_layer_time = 5
+temperature = 200
+
+[filament:Generic TPU @Zonestar]
+bed_temperature = 50
+bridge_fan_speed = 100
+cooling = 1
+disable_fan_first_layers = 3
+extrusion_multiplier = 1
+fan_always_on = 0
+fan_below_layer_time = 60
+filament_colour = #29B2B2
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_diameter = 1.75
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_volumetric_speed = 3
+filament_minimal_purge_on_wipe_tower = 50
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_toolchange_delay = 0
+filament_type = FLEX
+filament_unloading_speed = 30
+filament_unloading_speed_start = 30
+filament_vendor = Generic
+first_layer_bed_temperature = 50
+first_layer_temperature = 225
+full_fan_speed_layer = 0
+max_fan_speed = 100
+min_fan_speed = 50
+min_print_speed = 10
+slowdown_below_layer_time = 5
+temperature = 225
+
+###################
+#### printer ####
+###################
+[printer:*common*]
+printer_technology = FFF
+before_layer_gcode =
+between_objects_gcode =
+color_change_gcode = M600
+cooling_tube_retraction = 35
+default_filament_profile =
+default_print_profile =
+deretract_speed =
+end_gcode =
+extra_loading_move = -2
+gcode_flavor = marlin2
+high_current_on_filament_swap = 0
+host_type = octoprint
+layer_gcode =
+machine_limits_usage = ignore
+machine_max_acceleration_e = 10000
+machine_max_acceleration_extruding = 1500
+machine_max_acceleration_retracting = 1500
+machine_max_acceleration_travel = 1500
+machine_max_acceleration_x = 9000
+machine_max_acceleration_y = 9000
+machine_max_acceleration_z = 500
+machine_max_feedrate_e = 120
+machine_max_feedrate_x = 500
+machine_max_feedrate_y = 500
+machine_max_feedrate_z = 12
+machine_max_jerk_e = 2.5
+machine_max_jerk_x = 10
+machine_max_jerk_y = 10
+machine_max_jerk_z = 0.2
+machine_min_extruding_rate = 0
+machine_min_travel_rate = 0
+max_layer_height = 0.3
+min_layer_height = 0.1
+nozzle_diameter = 0.4
+pause_print_gcode =
+remaining_times = 0
+retract_speed = 40
+silent_mode = 0
+single_extruder_multi_material = 0
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_firmware_retraction = 0
+use_relative_e_distances = 1
+use_volumetric_e = 0
+variable_layer_height = 0
+wipe = 0
+z_offset = 0
+
+[printer:Zonestar Z5+M2 HOTEND]
+inherits = *common*
+printer_model = Z5
+printer_variant = 0.4
+bed_shape = 0x0,220x0,220x220,0x220
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30
+before_layer_gcode = G92 E0
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #FF0000;#00FF00
+extruder_offset = 0x0,0x0
+max_layer_height = 0.3,0.3
+max_print_height = 220
+min_layer_height = 0.15,0.15
+nozzle_diameter = 0.4,0.4
+retract_before_travel = 2,2
+retract_before_wipe = 0%
+retract_layer_change = 0
+retract_length = 10,10
+retract_length_toolchange = 0,0
+retract_lift = 0,0
+retract_lift_above = 0,0
+retract_lift_below = 0,0
+retract_restart_extra = 0,0
+retract_restart_extra_toolchange = 0,0
+retract_speed = 35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0
+
+
+[printer:Zonestar Z6]
+inherits = *common*
+printer_model = Z6
+printer_variant = 0.4
+bed_shape = 0x0,150x0,150x150,0x150
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar SINGLE
+deretract_speed = 30
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #00FF00
+extruder_offset = 0x0
+min_layer_height = 0.1
+max_layer_height = 0.3
+max_print_height = 150
+nozzle_diameter = 0.4
+retract_before_travel = 2
+retract_before_wipe = 0%
+retract_layer_change = 0
+retract_length = 6.5
+retract_length_toolchange = 0
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000; lift nozzle\nG1 X5 Y5 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y100 E8 F600 ; prime nozzle\nG1 Y50 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 0
+
+[printer:Zonestar Z5X]
+inherits = *common*
+printer_model = Z5X
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar SINGLE
+deretract_speed = 30
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #00FF00
+extruder_offset = 0x0
+min_layer_height = 0.1
+max_layer_height = 0.3
+max_print_height = 400
+nozzle_diameter = 0.4
+retract_before_travel = 2
+retract_before_wipe = 0%
+retract_layer_change = 0
+retract_length = 6.5
+retract_length_toolchange = 0
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000; lift nozzle\nG1 X5 Y5 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y50 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 0
+
+#Z8 with different types of hotend
+[printer:Zonestar Z8+M3 HOTEND]
+inherits = *common*
+printer_model = Z8
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.15,0.15,0.15
+nozzle_diameter = 0.4,0.4,0.4
+retract_before_travel = 2,2,2
+retract_before_wipe = 0%,0%,0%
+retract_layer_change = 0,0,0
+retract_length = 10,10,10
+retract_length_toolchange = 0,0,0
+retract_lift = 0,0,0
+retract_lift_above = 0,0,0
+retract_lift_below = 0,0,0
+retract_restart_extra = 0,0,0
+retract_restart_extra_toolchange = 0,0,0
+retract_speed = 35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z8+M4 HOTEND]
+inherits = *common*
+printer_model = Z8
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.15,0.15,0.15,0.15
+nozzle_diameter = 0.4,0.4,0.4,0.4
+retract_before_travel = 2,2,2,2
+retract_before_wipe = 0%,0%,0%,0%
+retract_layer_change = 0,0,0,0
+retract_length = 10,10,10,10
+retract_length_toolchange = 0,0,0,0
+retract_lift = 0,0,0,0
+retract_lift_above = 0,0,0,0
+retract_lift_below = 0,0,0,0
+retract_restart_extra = 0,0,0,0
+retract_restart_extra_toolchange = 0,0,0,0
+retract_speed = 35,35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z8+E4 HOTEND]
+inherits = *common*
+printer_model = Z8
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G1 E-30 F2100 ;pull out filament\nG28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.1,0.1,0.1,0.1
+nozzle_diameter = 0.4,0.4,0.4,0.4
+retract_before_travel = 2,2,2,2
+retract_before_wipe = 0%,0%,0%,0%
+retract_layer_change = 0,0,0,0
+retract_length = 8,8,8,8
+retract_length_toolchange = 0,0,0,0
+retract_lift = 0,0,0,0
+retract_lift_above = 0,0,0,0
+retract_lift_below = 0,0,0,0
+retract_restart_extra = 0,0,0,0
+retract_restart_extra_toolchange = 0,0,0,0
+retract_speed = 35,35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+toolchange_gcode = G92 E0\nG1 E-30 F1200;pull filament\nG92 E0\nT[next_extruder];Change extruder\nG92 E0\nG1 E15 F1800; push filament-1\nG1 E25 F900; pushfilament-2\nG1 E29 F1200; push filament-3\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z8+DDE]
+inherits = *common*
+printer_model = Z8
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic TPU @Zonestar
+default_print_profile = 0.20mm @Zonestar SINGLE
+deretract_speed = 30
+end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #00FF00
+extruder_offset = 0x0
+max_layer_height = 0.3
+max_print_height = 400
+min_layer_height = 0.1
+nozzle_diameter = 0.4
+retract_before_travel = 2
+retract_before_wipe = 0%
+retract_layer_change = 0
+retract_length = 6.5
+retract_length_toolchange = 0
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 0
+
+#Z9 with different types of hotend
+[printer:Zonestar Z9+M3 HOTEND]
+inherits = *common*
+printer_model = Z9
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.15,0.15,0.15
+nozzle_diameter = 0.4,0.4,0.4
+retract_before_travel = 2,2,2
+retract_before_wipe = 0%,0%,0%
+retract_layer_change = 0,0,0
+retract_length = 10,10,10
+retract_length_toolchange = 0,0,0
+retract_lift = 0,0,0
+retract_lift_above = 0,0,0
+retract_lift_below = 0,0,0
+retract_restart_extra = 0,0,0
+retract_restart_extra_toolchange = 0,0,0
+retract_speed = 35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z9+M4 HOTEND]
+inherits = *common*
+printer_model = Z9
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.15,0.15,0.15,0.15
+nozzle_diameter = 0.4,0.4,0.4,0.4
+retract_before_travel = 2,2,2,2
+retract_before_wipe = 0%,0%,0%,0%
+retract_layer_change = 0,0,0,0
+retract_length = 10,10,10,10
+retract_length_toolchange = 0,0,0,0
+retract_lift = 0,0,0,0
+retract_lift_above = 0,0,0,0
+retract_lift_below = 0,0,0,0
+retract_restart_extra = 0,0,0,0
+retract_restart_extra_toolchange = 0,0,0,0
+retract_speed = 35,35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z9+E4 HOTEND]
+inherits = *common*
+printer_model = Z9
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic PLA @Zonestar
+default_print_profile = 0.20mm @Zonestar MULTI
+deretract_speed = 30,30,30,30
+before_layer_gcode = G92 E0
+end_gcode = G1 E-30 F2100 ;pull out filament\nG28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
+extruder_offset = 0x0,0x0,0x0,0x0
+max_layer_height = 0.3,0.3,0.3,0.3
+max_print_height = 400
+min_layer_height = 0.1,0.1,0.1,0.1
+nozzle_diameter = 0.4,0.4,0.4,0.4
+retract_before_travel = 2,2,2,2
+retract_before_wipe = 0%,0%,0%,0%
+retract_layer_change = 0,0,0,0
+retract_length = 8,8,8,8
+retract_length_toolchange = 0,0,0,0
+retract_lift = 0,0,0,0
+retract_lift_above = 0,0,0,0
+retract_lift_below = 0,0,0,0
+retract_restart_extra = 0,0,0,0
+retract_restart_extra_toolchange = 0,0,0,0
+retract_speed = 35,35,35,35
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+toolchange_gcode = G92 E0\nG1 E-30 F1200;pull filament\nG92 E0\nT[next_extruder];Change extruder\nG92 E0\nG1 E15 F1800; push filament-1\nG1 E25 F900; pushfilament-2\nG1 E29 F1200; push filament-3\nG92 E0
+use_relative_e_distances = 1
+wipe = 0,0,0,0
+layer_gcode = G92 E0
+
+[printer:Zonestar Z9+DDE]
+inherits = *common*
+printer_model = Z9
+printer_variant = 0.4
+bed_shape = 0x0,310x0,310x310,0x310
+default_filament_profile = Generic TPU @Zonestar
+default_print_profile = 0.20mm @Zonestar SINGLE
+deretract_speed = 30
+end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
+extruder_colour = #00FF00
+extruder_offset = 0x0
+max_layer_height = 0.3
+max_print_height = 400
+min_layer_height = 0.1
+nozzle_diameter = 0.4
+retract_before_travel = 2
+retract_before_wipe = 0%
+retract_layer_change = 0
+retract_length = 6.5
+retract_length_toolchange = 0
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
+use_relative_e_distances = 0
diff --git a/resources/profiles/Zonestar/150_texture.svg b/resources/profiles/Zonestar/150_texture.svg
new file mode 100644
index 000000000..32e4ec4a3
--- /dev/null
+++ b/resources/profiles/Zonestar/150_texture.svg
@@ -0,0 +1,142 @@
+
+
diff --git a/resources/profiles/Zonestar/220_texture.svg b/resources/profiles/Zonestar/220_texture.svg
new file mode 100644
index 000000000..079e498ec
--- /dev/null
+++ b/resources/profiles/Zonestar/220_texture.svg
@@ -0,0 +1,198 @@
+
+
diff --git a/resources/profiles/Zonestar/310_texture.svg b/resources/profiles/Zonestar/310_texture.svg
new file mode 100644
index 000000000..1d6039019
--- /dev/null
+++ b/resources/profiles/Zonestar/310_texture.svg
@@ -0,0 +1,270 @@
+
+
diff --git a/resources/profiles/Zonestar/Z5X_thumbnail.png b/resources/profiles/Zonestar/Z5X_thumbnail.png
new file mode 100644
index 000000000..5abdfea42
Binary files /dev/null and b/resources/profiles/Zonestar/Z5X_thumbnail.png differ
diff --git a/resources/profiles/Zonestar/Z5_thumbnail.png b/resources/profiles/Zonestar/Z5_thumbnail.png
new file mode 100644
index 000000000..5a7fc70c4
Binary files /dev/null and b/resources/profiles/Zonestar/Z5_thumbnail.png differ
diff --git a/resources/profiles/Zonestar/Z6_thumbnail.png b/resources/profiles/Zonestar/Z6_thumbnail.png
new file mode 100644
index 000000000..62f25553e
Binary files /dev/null and b/resources/profiles/Zonestar/Z6_thumbnail.png differ
diff --git a/resources/profiles/Zonestar/Z8_thumbnail.png b/resources/profiles/Zonestar/Z8_thumbnail.png
new file mode 100644
index 000000000..24c065756
Binary files /dev/null and b/resources/profiles/Zonestar/Z8_thumbnail.png differ
diff --git a/resources/profiles/Zonestar/Z9_thumbnail.png b/resources/profiles/Zonestar/Z9_thumbnail.png
new file mode 100644
index 000000000..e8b093cc5
Binary files /dev/null and b/resources/profiles/Zonestar/Z9_thumbnail.png differ
diff --git a/resources/profiles/Zonestar/bed_150.stl b/resources/profiles/Zonestar/bed_150.stl
new file mode 100644
index 000000000..bb1854271
Binary files /dev/null and b/resources/profiles/Zonestar/bed_150.stl differ
diff --git a/resources/profiles/Zonestar/bed_220.stl b/resources/profiles/Zonestar/bed_220.stl
new file mode 100644
index 000000000..8610b8ff6
Binary files /dev/null and b/resources/profiles/Zonestar/bed_220.stl differ
diff --git a/resources/profiles/Zonestar/bed_310.stl b/resources/profiles/Zonestar/bed_310.stl
new file mode 100644
index 000000000..2e5f54442
Binary files /dev/null and b/resources/profiles/Zonestar/bed_310.stl differ