# ============================================================================ # USER SETTINGS - Neptune 4 Plus with Cartographer 3D # Optimized for Bambu Lab Hotend (23 mm³/s) & Original Hotend (15 mm³/s) # ============================================================================ [include open4neptune-new/KNCM_settings.cfg] [include open4neptune-new/calibration/*.cfg] [skew_correction] # ============================================================================ # CARTOGRAPHER 3D PROBE CONFIGURATION # ============================================================================ [stepper_z] endstop_pin: probe:z_virtual_endstop homing_retract_dist: 0 [mcu cartographer] serial: /dev/serial/by-id/usb-Cartographer_614e_0A0002000643303459323220-if00 [cartographer] mcu: cartographer x_offset: 0 y_offset: 22 verbose: no [bed_mesh] zero_reference_position: 165, 165 speed: 300 horizontal_move_z: 3 mesh_min: 10, 21 mesh_max: 300.75, 315.45 probe_count: 20, 20 adaptive_margin: 10 mesh_pps: 0,0 [temperature_sensor cartographer] sensor_type: temperature_mcu sensor_mcu: cartographer min_temp: 5 max_temp: 105 # ============================================================================ # EXTRUDER CONFIGURATION # ============================================================================ # Default pressure_advance for Bambu Lab Hotend (calibrated value) # Individual filament profiles in Orca Slicer will override this value # ============================================================================ [extruder] pressure_advance: 0.045 # Default: PLA with Bambu Hotend pressure_advance_smooth_time: 0.040 # Default smoothing time # ============================================================================ # OUTPUT PINS - Neptune 4 Plus # ============================================================================ [output_pin frame_light] pin: PD14 pwm: False value: 0 [output_pin part_light] pin: PD13 pwm: False value: 0 # ============================================================================ # ADXL345 ACCELEROMETER # ============================================================================ # Option 1: Cartographer integrated (V3 or V4) # - Cartographer V3: cs_pin: cartographer:PA3 # - Cartographer V4: cs_pin: cartographer:PA0 # # Option 2: Neptune 4 Plus mainboard (fallback if Cartographer ADXL fails) # - cs_pin: PG11 (Neptune 4 Plus built-in ADXL) # - spi_bus: spi2 # ============================================================================ # ============================================================================ # ADXL345 ACCELEROMETER - DISABLED # ============================================================================ # ADXL is disabled by default. Enable ONE option below if you have ADXL: # # Option 1: Neptune 4 Plus built-in (requires Klipper on printer MCU) # [adxl345] # cs_pin: PG11 # spi_bus: spi2 # axes_map: x, y, z # # Option 2: Cartographer integrated (V3 or V4) # [adxl345] # cs_pin: cartographer:PA3 # V3 # cs_pin: cartographer:PA0 # V4 # spi_bus: spi1 # axes_map: x, y, z # # Option 3: External ADXL345 on RPI (USB SPI adapter) # [adxl345] # cs_pin: spidev1.0 # spi_speed: 5000000 # axes_map: x, y, z # ============================================================================ # ADXL345 is disabled - uncomment one option above if needed # [resonance_tester] requires ADXL to be enabled # [resonance_tester] # accel_chip: adxl345 # probe_points: 165, 165, 20 # Enable above after configuring [adxl345] 165, 165, 20 # ============================================================================ # FILAMENT SENSORS # ============================================================================ [filament_switch_sensor filament_sensor] pause_on_runout: True runout_gcode: {action_respond_info("FILAMENT SENSOR TRIGGERED")} M117 Runout Detected event_delay: 5.0 pause_delay: 1.5 switch_pin: PA12 [filament_motion_sensor filament_motion] switch_pin: PC1 detection_length: 8.00 extruder: extruder pause_on_runout: False event_delay: 5.0 pause_delay: 2.0 runout_gcode: {action_respond_info("FILAMENT MOTION TRIGGERED")} M117 Runout Detected # ============================================================================ # PRINT START MACRO - Optimized with Cartographer # ============================================================================ [gcode_macro PRINT_START] gcode: #--- Setup & Reset --- M117 Setting up parameters... RESPOND MSG="Starting Print Sequence..." SET_GCODE_OFFSET Z=0 G92 E0 G90 BED_MESH_CLEAR Frame_Light_ON Part_Light_ON #--- Home with Cartographer --- CG28 CARTOGRAPHER_TOUCH_HOME #--- Parameters --- {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %} {% set FILAMENT_TYPE = params.FILAMENT_TYPE|default("PLA")|upper %} #--- Pre-Heat --- SET_HEATER_TEMPERATURE HEATER=extruder TARGET=160 SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP} #--- Wait for Bed & Mesh --- {% set MIN_TEMP = BED_TEMP - (BED_TEMP * 0.15) %} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={MIN_TEMP} BED_MESH_CALIBRATE ADAPTIVE=1 #--- Nozzle Clean (KNCM) --- CLEAN_NOZZLE FILAMENT_TYPE={FILAMENT_TYPE} #--- Final Heat --- SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP-2} MAXIMUM={EXTRUDER_TEMP+2} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP-2} MAXIMUM={BED_TEMP+2} #--- Prime & Start --- SMART_PARK SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1 SET_FILAMENT_SENSOR SENSOR=filament_motion ENABLE=0 LINE_PURGE G92 E0 G1 Z2.0 F3000 M117 Printer goes brrbrrr...:) RESPOND MSG="Print starting..." # ============================================================================ # PRINT END MACRO - Optimized # ============================================================================ [gcode_macro PRINT_END] gcode: M117 Finishing print... RESPOND MSG="Print completed! Finishing up..." M400 TURN_OFF_HEATERS G92 E0 G91 G1 E-2 F2700 G1 X5 Y5 F3000 G1 E-2 Z0.2 F1600 G1 Z10 F3000 G90 G1 X0 Y315 F3000 M107 Frame_Light_OFF Part_Light_OFF SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0 SET_FILAMENT_SENSOR SENSOR=filament_motion ENABLE=0 M84 END_TUNE M117 Done! Have a nice day! :) RESPOND MSG="Print complete! You can remove your print now." # ============================================================================ # HELPER MACROS # ============================================================================ [gcode_macro QUICK_TOUCH] description: Quick Z measurement with Cartographer gcode: {% if printer.toolhead.homed_axes != "xyz" %} G28 {% endif %} G1 Z10 F600 CARTOGRAPHER_TOUCH [gcode_macro CALIBRATE_PROBE] description: Manual Z-offset calibration (Survey Touch) gcode: {% if printer.toolhead.homed_axes != "xyz" %} G28 {% endif %} G1 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} Z10 F6000 RESPOND MSG="==============================================" RESPOND MSG="CARTOGRAPHER Z-OFFSET CALIBRATION" RESPOND MSG="==============================================" RESPOND MSG="" RESPOND MSG="Cartographer will now perform a touch probe." RESPOND MSG="" RESPOND MSG="If prompted for manual adjustment:" RESPOND MSG=" 1. Use TESTZ Z=0.01 (or Z=-0.01) to adjust" RESPOND MSG=" 2. Lower nozzle until it barely touches paper" RESPOND MSG=" 3. Type ACCEPT to finish" RESPOND MSG=" 4. Or ABORT to cancel" RESPOND MSG="" RESPOND MSG="Starting probe now..." RESPOND MSG="==============================================" CARTOGRAPHER_SCAN_CALIBRATE RESPOND MSG="" RESPOND MSG="Calibration complete!" RESPOND MSG="Run SAVE_CONFIG to persist settings" [gcode_macro BABYZ_PLUS] gcode: SET_GCODE_OFFSET Z_ADJUST=0.005 MOVE=1 [gcode_macro BABYZ_MINUS] gcode: SET_GCODE_OFFSET Z_ADJUST=-0.005 MOVE=1 # ============================================================================ # FAN CONFIGURATION # ============================================================================ [controller_fan heatbreak+mainboard_fan] fan_speed: 0.40 idle_speed: 0.40 cycle_time: 0.00004 # ============================================================================ # STEPPER DRIVERS # ============================================================================ [tmc2209 stepper_x] driver_SGTHRS: 110 # ============================================================================ # SAFE Z HOME # ============================================================================ [safe_z_home] home_xy_position: 165,165 z_hop: 10 # ============================================================================ # SKEW CORRECTION # ============================================================================ [skew_correction noccis_skew_profile] xy_skew = 0.00100050075747056 xz_skew = 0.0 yz_skew = 0.0 # ============================================================================ # SCREWS TILT ADJUST (for manual bed leveling) # ============================================================================ [screws_tilt_adjust] screw1: 165.0,189.55 screw1_name: middle-rear bed mount (shim adjust) screw2: 165.0,99.55 screw2_name: middle-front bed mount (shim adjust) screw3: 32.50,277.05 screw3_name: rear left screw screw4: 32.50,144.55 screw4_name: center left screw screw5: 32.50,12.05 screw5_name: front left screw screw6: 288.5,12.05 screw6_name: front right screw screw7: 288.5,144.55 screw7_name: center right screw screw8: 288.5,277.05 screw8_name: rear right screw horizontal_move_z: 5 speed: 150 screw_thread: CW-M4 # ============================================================================ # FORCE MOVE (for manual adjustments) # ============================================================================ [force_move] enable_force_move: True # ============================================================================ # FILAMENT-SPECIFIC SETTINGS # Calibrated values for different filament types # Flow Ratio calibrated: 2026-03-14 (Orca Flow Test) # ============================================================================ # ------------------------------------------------------------------------ # FILAMENT TEMPERATURES & CLEANING SETTINGS # Used by KNCM (Klipper Nozzle Clean Macro) # ------------------------------------------------------------------------ # These temperatures are used for nozzle cleaning (lower than print temp) # to prevent oozing during the cleaning motion # ------------------------------------------------------------------------ [gcode_macro _FILAMENT_SETTINGS] description: "Filament-specific settings for cleaning and calibration" # Cleaning temperatures by filament type (used by KNCM) # Format: {"FILAMENT":temp, ...} variable_cleaning_temperatures: {"PLA":140,"PETG":160,"TPU":180,"ABS":190,"ASA":190} # Flow ratios (calibrated values - update per filament spool) # PLA: 1.00 (calibrated 2026-03-14, yellow PLA) # PETG: 0.97 (default, needs calibration) # ABS: 0.95 (default, needs calibration) # TPU: 0.95 (default, needs calibration) variable_flow_ratios: {"PLA":1.00,"PETG":0.97,"ABS":0.95,"TPU":0.95} # Pressure Advance defaults (calibrated values) # Bambu Lab Hotend (steel nozzle, 23 mm³/s) variable_pa_bambu: {"PLA":0.045,"PETG":0.070,"ABS":0.060,"TPU":0.100} # Original Elegoo Hotend (15 mm³/s) variable_pa_original: {"PLA":0.050,"PETG":0.075,"ABS":0.065,"TPU":0.110} # Retraction defaults (mm) # Bambu Lab Hotend variable_retract_bambu: {"PLA":1.8,"PETG":1.8,"ABS":1.8,"TPU":1.2} # Original Elegoo Hotend variable_retract_original: {"PLA":2.5,"PETG":2.5,"ABS":2.5,"TPU":1.5} gcode: {action_respond_info("FILAMENT_SETTINGS loaded - use variables in other macros")} # ============================================================================ # END OF USER SETTINGS # ============================================================================