Files
OrcaSlicer/resources/profiles/Lulzbot/machine/Lulzbot Mini 1 0.5 nozzle.json
T
226e95f734 feat(profiles): add Lulzbot Mini 1 (#15476)
Adds the LulzBot Mini 1 (single extruder, 0.5 mm nozzle, 2.85 mm filament)
to the existing Lulzbot vendor, which previously shipped only TAZ models.

Values are taken from LulzBot's own current slicer configuration
(github.com/lulzbot3d/CuraLE) rather than estimated:

  - geometry and custom g-code from resources/definitions/single_mini_mini_1.def.json
    and resources/gcodes/mini_1/{mini_1_start,mini_1_end}.gcode
  - filament temperatures and cooling from resources/materials/*.xml.fdm_material,
    overridden by resources/quality/single_mini/<material>/*.inst.cfg

The start g-code reproduces the Mini's nozzle wipe and four-washer G29 probe,
with the filament-type temperature conditionals used by the sibling TAZ profiles.

One deliberate departure from current CuraLE: the pre-wipe retract is 30 mm,
the value used by Cura LE 4.13.x, rather than the 4 mm current CuraLE uses.
The Mini probes by electrical contact between nozzle and washer, so the nozzle
must stay clean through the wipe and all four touches. At 4 mm the melt zone
stays full and can ooze onto a washer, which caused auto-levelling failures on
hardware; 30 mm empties it. The cost is a ~24 s purge at print start.

The three filament presets follow docs/HLSD/filament_id.md rule 4: a vendor
tuning a generic material inherits Generic X @System, keeps the Generic X base
name and declares no filament_id, so identity stays with OrcaFilamentLibrary.
Their compatible_printers is the Mini alone, disjoint from Generic X @Lulzbot
(TAZ only) as rule 3 requires. They exist because temperature is a filament-scope
setting, so LulzBot's values need printer-scoped presets. All six plate types
carry the same temperature, because the Mini has a single bed and curr_bed_type
can hold a stale value carried over from another printer.

Strictly additive: no existing profile is modified, so TAZ behaviour is
unchanged and no migration is required. Lulzbot.json is bumped to 02.04.00.05.

Verified with scripts/orca_profile_tool.py check and scripts/check_profile.sh
on the full tree (profile tool, system validation, slice, filament subtypes and
custom-preset fixtures all pass), by diffing sliced output against LulzBot's own
Cura LE g-code for the same model and filament (temps, retraction, speeds and
the full wipe/probe sequence match), and by printing a 3DBenchy on a Mini 1 over
OctoPrint.


Claude-Session: https://claude.ai/code/session_012aLyqsXB7FKqwQdE2QF7Et

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2026-09-22 23:53:15 +08:00

111 lines
9.2 KiB
JSON

{
"type": "machine",
"name": "Lulzbot Mini 1 0.5 nozzle",
"inherits": "fdm_machine_common",
"from": "system",
"setting_id": "Jhc8WqYmrK3y65fQ",
"instantiation": "true",
"printer_model": "Lulzbot Mini 1",
"default_print_profile": "0.25mm Standard @Lulzbot Mini 1",
"nozzle_diameter": [
"0.5"
],
"printable_area": [
"0x0",
"154x0",
"154x154",
"0x154"
],
"printable_height": "158",
"nozzle_type": "undefine",
"auxiliary_fan": "0",
"emit_machine_limits_to_gcode": "0",
"machine_max_acceleration_extruding": [
"2000",
"2000"
],
"machine_max_acceleration_retracting": [
"1000",
"1000"
],
"machine_max_acceleration_travel": [
"2000",
"2000"
],
"machine_max_acceleration_x": [
"2000",
"2000"
],
"machine_max_acceleration_y": [
"2000",
"2000"
],
"machine_max_acceleration_z": [
"100",
"100"
],
"machine_max_speed_e": [
"40",
"40"
],
"machine_max_speed_x": [
"500",
"500"
],
"machine_max_speed_y": [
"500",
"500"
],
"machine_max_speed_z": [
"3",
"3"
],
"machine_max_jerk_e": [
"5",
"5"
],
"machine_max_jerk_x": [
"8",
"8"
],
"machine_max_jerk_y": [
"8",
"8"
],
"machine_max_jerk_z": [
"0.4",
"0.4"
],
"max_layer_height": [
"0.4"
],
"min_layer_height": [
"0.08"
],
"printer_settings_id": "Lulzbot",
"retraction_minimum_travel": [
"2"
],
"retract_before_wipe": [
"70%"
],
"retraction_length": [
"1.5"
],
"retraction_speed": [
"10"
],
"deretraction_speed": [
"10"
],
"single_extruder_multi_material": "1",
"default_filament_profile": [
"Generic PLA @Lulzbot Mini 1"
],
"machine_start_gcode": ";This G-Code has been translated from LulzBot's CuraLE (resources/gcodes/mini_1) startup GCODE for the Mini 1 Single Extruder\nM73 P0; clear GLCD progress bar (ignored if no LCD is fitted)\nM75; start GLCD timer\nM107; disable fans\nM420 S0; disable leveling matrix\nG90; absolute positioning\nM82; set extruder to absolute mode\nG92 E0; set extruder position to 0\nM140 S{bed_temperature_initial_layer[0]}; start bed heating up (w)\nG28; home all axes (Z homes to the top on the Mini)\nG0 X0 Y187 Z156 F200; move away from endstops\nM109 {if filament_type[0] == \"PLA\"}R180\n{elsif filament_type[0] == \"ABS\"}R190\n{elsif filament_type[0] == \"ABS-GF\"}R190\n{elsif filament_type[0] == \"ASA\"}R190\n{elsif filament_type[0] == \"ASA-Aero\"}R190\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R220\n{elsif filament_type[0] == \"PA-CF\"}R220\n{elsif filament_type[0] == \"PA-GF\"}R220\n{elsif filament_type[0] == \"PA6-CF\"}R220\n{elsif filament_type[0] == \"PA11-CF\"}R220\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R220\n{elsif filament_type[0] == \"PC-CF\"}R220\n{elsif filament_type[0] == \"PCTG\"}R180\n{elsif filament_type[0] == \"PE\"}R190\n{elsif filament_type[0] == \"PE-CF\"}R190\n{elsif filament_type[0] == \"PET-CF\"}R190\n{elsif filament_type[0] == \"PETG\"}R190\n{elsif filament_type[0] == \"PETG-CF10\"}R190\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R180\n{elsif filament_type[0] == \"PVB\"}R180\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R180\n{elsif filament_type[0] == \"FLEX\"}R180\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R170\n{elsif filament_type[0] == \"NYLON\"}R220\n{else}R190; unknown filament type soften temp before homing Z{endif}\nG1 E-30 F75; retract filament clear of the melt zone so it cannot ooze onto the probe washers\nM109 {if filament_type[0] == \"PLA\"}R180\n{elsif filament_type[0] == \"ABS\"}R190\n{elsif filament_type[0] == \"ABS-GF\"}R190\n{elsif filament_type[0] == \"ASA\"}R190\n{elsif filament_type[0] == \"ASA-Aero\"}R190\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R220\n{elsif filament_type[0] == \"PA-CF\"}R220\n{elsif filament_type[0] == \"PA-GF\"}R220\n{elsif filament_type[0] == \"PA6-CF\"}R220\n{elsif filament_type[0] == \"PA11-CF\"}R220\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R220\n{elsif filament_type[0] == \"PC-CF\"}R220\n{elsif filament_type[0] == \"PCTG\"}R190\n{elsif filament_type[0] == \"PE\"}R190\n{elsif filament_type[0] == \"PE-CF\"}R190\n{elsif filament_type[0] == \"PET-CF\"}R190\n{elsif filament_type[0] == \"PETG\"}R190\n{elsif filament_type[0] == \"PETG-CF10\"}R190\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R180\n{elsif filament_type[0] == \"PVB\"}R180\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R180\n{elsif filament_type[0] == \"FLEX\"}R180\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R180\n{elsif filament_type[0] == \"NYLON\"}R220\n{else}R170; unknown filament type wipe temp{endif}\nG1 X45 Y173 F11520; move above wiper pad\nG1 Z0 F1200; push nozzle into wiper\nG1 X42 Y173 Z-.5 F4000; wiping\nG1 X52 Y171 Z-.5 F4000; wiping\nG1 X42 Y173 Z0 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X42 Y173 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X42 Y173 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X77 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X77 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X87 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X112 Y171 Z-0.5 F1000; wiping\nG1 Z10; raise extruder\nG28 X0 Y0; home X and Y\nG0 X0 Y187 F200; move away from endstops\nM109 {if filament_type[0] == \"PLA\"}R160\n{elsif filament_type[0] == \"ABS\"}R170\n{elsif filament_type[0] == \"ABS-GF\"}R170\n{elsif filament_type[0] == \"ASA\"}R170\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R200\n{elsif filament_type[0] == \"PA-CF\"}R200\n{elsif filament_type[0] == \"PA-GF\"}R170\n{elsif filament_type[0] == \"PA6-CF\"}R170\n{elsif filament_type[0] == \"PA11-CF\"}R200\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R200\n{elsif filament_type[0] == \"PC-CF\"}R200\n{elsif filament_type[0] == \"PCTG\"}R180\n{elsif filament_type[0] == \"PE\"}R180\n{elsif filament_type[0] == \"PE-CF\"}R180\n{elsif filament_type[0] == \"PET-CF\"}R170\n{elsif filament_type[0] == \"PETG\"}R170\n{elsif filament_type[0] == \"PETG-CF10\"}R170\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R160\n{elsif filament_type[0] == \"PVB\"}R160\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R160\n{elsif filament_type[0] == \"FLEX\"}R160\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R160\n{elsif filament_type[0] == \"NYLON\"}R200\n{else}R170; unknown filament type probe temp{endif}\nM204 S300; set probing acceleration\nG29; start auto-leveling sequence\nM420 S1; enable leveling matrix\nM204 S2000; restore standard acceleration\nG28 X0 Y0; re-home to account for build variance of earlier Mini builds\nG0 X0 Y187 F200; move away from endstops\nG0 Y152 F4000; move in front of wiper pad\nG4 S1; pause\nM400; wait for moves to finish\nM117 Heating...; progress indicator message on LCD\nM109 R{nozzle_temperature_initial_layer[0]}; wait for extruder to reach printing temp (w)\nM190 R{bed_temperature_initial_layer[0]}; wait for bed to reach printing temp\nG1 Z2 E0 F75; prime tiny bit of filament into the nozzle\nM117 Mini Printing...; progress indicator message on LCD\n;Start G-Code End",
"machine_end_gcode": ";End G-Code Begin\nM400; wait for moves to finish\nM104 S0; disable hotend\nM140 S0; start bed cooling\nM107; disable fans\nG92 E5; set extruder to 5mm for retract on print end\nG1 X5 Y5 Z158 E0 F10000; move to cooling position, retracting on the way\nG1 E5; re-prime extruder\nM77; stop GLCD timer\nG1 X145 F1000; move extruder out of the way\nG1 Y175 F1000; present finished print\nM84; disable steppers\nG90; absolute positioning\nM117 Print Complete.; print complete message\n;End G-Code End",
"before_layer_change_gcode": "G92 E0; reset relative extrusion",
"layer_change_gcode": "; LAYER:{layer_num}\nM117 Layer: {layer_num +1} / [total_layer_count]",
"scan_first_layer": "0"
}