Initial AON3D M2+ dual MCU configuration

- Octopus Pro: Motors (MOTOR0-7), bed heater (PA1), chamber heater (PB10)
- Azteeg X3: Thermistors, endstops, probe, fan, hotend heaters
- IDEX setup with external DM542T drivers
- Includes wiring documentation and swap guide

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-12 20:52:58 -05:00
commit ef868e7953
26 changed files with 3973 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
[server]
host = 0.0.0.0
port = 7125
max_upload_size = 1024
[file_manager]
enable_object_processing = False
[data_store]
temperature_store_size = 600
gcode_store_size = 1000
[authorization]
force_logins = false
cors_domains =
*.local
*.lan
*://app.fluidd.xyz
trusted_clients =
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.168.0.0/16
FE80::/10
::1/128
127.0.0.1
127.0.0.0
[octoprint_compat]
[history]
[announcements]
subscriptions =
fluidd
[update_manager]
enable_auto_refresh = True
[update_manager client fluidd]
type = web
repo = fluidd-core/fluidd
path = ~/fluidd

View File

@@ -0,0 +1,26 @@
[board_pins arduino-mega]
aliases:
ar0=PE0, ar1=PE1, ar2=PE4, ar3=PE5, ar4=PG5,
ar5=PE3, ar6=PH3, ar7=PH4, ar8=PH5, ar9=PH6,
ar10=PB4, ar11=PB5, ar12=PB6, ar13=PB7, ar14=PJ1,
ar15=PJ0, ar16=PH1, ar17=PH0, ar18=PD3, ar19=PD2,
ar20=PD1, ar21=PD0, ar22=PA0, ar23=PA1, ar24=PA2,
ar25=PA3, ar26=PA4, ar27=PA5, ar28=PA6, ar29=PA7,
ar30=PC7, ar31=PC6, ar32=PC5, ar33=PC4, ar34=PC3,
ar35=PC2, ar36=PC1, ar37=PC0, ar38=PD7, ar39=PG2,
ar40=PG1, ar41=PG0, ar42=PL7, ar43=PL6, ar44=PL5,
ar45=PL4, ar46=PL3, ar47=PL2, ar48=PL1, ar49=PL0,
ar50=PB3, ar51=PB2, ar52=PB1, ar53=PB0, ar54=PF0,
ar55=PF1, ar56=PF2, ar57=PF3, ar58=PF4, ar59=PF5,
ar60=PF6, ar61=PF7, ar62=PK0, ar63=PK1, ar64=PK2,
ar65=PK3, ar66=PK4, ar67=PK5, ar68=PK6, ar69=PK7,
analog0=PF0, analog1=PF1, analog2=PF2, analog3=PF3, analog4=PF4,
analog5=PF5, analog6=PF6, analog7=PF7, analog8=PK0, analog9=PK1,
analog10=PK2, analog11=PK3, analog12=PK4, analog13=PK5, analog14=PK6,
analog15=PK7,
# Marlin adds these additional aliases
ml70=PG4, ml71=PG3, ml72=PJ2, ml73=PJ3, ml74=PJ7,
ml75=PJ4, ml76=PJ5, ml77=PJ6, ml78=PE2, ml79=PE6,
ml80=PE7, ml81=PD4, ml82=PD5, ml83=PD6, ml84=PH2,
ml85=PH7

View File

@@ -0,0 +1,36 @@
[main]
# Invert axis in move panel. Default is False. Change to true to invert
invert_x: False
invert_y: False
invert_z: False
# Time (seconds) before the Job Status page reverts to main menu after a successful job
job_complete_timeout: 30
# Time (seconds) before the Job Status page reverts to main menu after a successful job.
# If this option is 0, the user must click on a button to go back to the main menu.
job_error_timeout: 0
# Specify the language
# The language can be specified here instead of using the system default language.
language: en
# Allows the cursor to be displayed on the screen
show_cursor: False
[printer M2 2020]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
moonraker_port: 7125
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: 755f90d2560c45c5a8bfd1dd1ee6a008
# Define the z_babystep intervals in a CSV list. Currently only 2 are supported
z_babystep_values: 0.01, 0.05
#~# --- Do not edit below this line. This section is auto generated --- #~#
#~#
#~# [main]
#~# language = en
#~# print_estimate_compensation = 133
#~# move_speed_xy = 101
#~# print_sort_dir = date_desc
#~#
#~# [graph M2 2020]
#~# heater_bed = False
#~# extruder = False
#~#

View File

@@ -0,0 +1,243 @@
# Cancel print definition
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
PARK_{printer.toolhead.extruder}
CANCEL_PRINT_BASE
#[pause_resume]
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
{% set Z = params.Z|default(10)|float %}
{% set E = params.E|default(1)|float %}
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F2100
G1 Z{Z}
PARK_{printer.toolhead.extruder}
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
{% set E = params.E|default(1)|float %}
G91
G1 E{E} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
[gcode_macro END_PRINT]
gcode:
{% set Z = params.Z|default(10)|float %}
{% set E = params.E|default(5)|float %}
# Turn off bed, extruder, and fan
; M140 S0
; M104 T0 S0
; M104 T1 S0
M106 S0
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
SET_HEATER_TEMPERATURE HEATER=chamber TARGET=0
G91
G1 E-{E} F2100
G1 Z{Z}
PARK_{printer.toolhead.extruder}
# Disable steppers
M84
# Homing definition
[homing_override]
set_position_z: 10
gcode:
SAVE_GCODE_STATE NAME=home_z_state
G91
G1 Z10 F480
G28 X0 Y0
G28 Z0
G90
G1 Z3 F600
RESTORE_GCODE_STATE NAME=home_z_state
axes: z
# Idle definition
[idle_timeout]
#gcode:
# A list of G-Code commands to execute on an idle timeout. See
# docs/Command_Templates.md for G-Code format. The default is to run
# "TURN_OFF_HEATERS" and "M84".
timeout: 86400 # Allow heaters to run 24 hours lol
# Idle time (in seconds) to wait before running the above G-Code
# commands. The default is 600 seconds.
# Toolhead definition
# Primary toolhead
[gcode_macro PARK_extruder]
gcode:
SAVE_GCODE_STATE NAME=park0
G90
G1 X-85 F12000
RESTORE_GCODE_STATE NAME=park0
# Activate the primary extruder
[gcode_macro T0]
gcode:
PARK_{printer.toolhead.extruder}
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=0
SET_GCODE_OFFSET Z=0
#SWITCH_PROBE PROBE_NUM=0
# Input shaper for carriage 0
SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei
# Secondary toolhead
[gcode_macro PARK_extruder1]
gcode:
SAVE_GCODE_STATE NAME=park1
G90
G1 X518 F12000
RESTORE_GCODE_STATE NAME=park1
[gcode_macro T1]
gcode:
PARK_{printer.toolhead.extruder}
ACTIVATE_EXTRUDER EXTRUDER=extruder1
SET_DUAL_CARRIAGE CARRIAGE=1
SET_GCODE_OFFSET Z=-0.45
#SWITCH_PROBE PROBE_NUM=1
# Input shaper for carriage 1
SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei
[gcode_macro CALIBRATE_M2]
# Macro to calibrate the current tool with a mesh centered at Z=0.
# Useful if you're using Z fade for dupe mode, or anomalously thick sheets.
gcode:
G28
G1 Z15 F600
G1 X200 Y200 F6000
Z_ENDSTOP_CALIBRATE
PROBE
TESTZ Z=-.001
G4 P500
M400
ACCEPT
SET_KINEMATIC_POSITION Z=0
BED_MESH_CALIBRATE
#[gcode_macro SET_HEATER_TEMPERATURE]
#description: Set heater temperature and save temperature to variables file.
#rename_existing: SET_HEATER_TEMPERATURE_BASE
#gcode:
# {% if params.HEATER=="extruder" %}
# SAVE_VARIABLE VARIABLE=t0temp VALUE={params.TARGET}
# {% elif params.HEATER=="extruder1"%}
# SAVE_VARIABLE VARIABLE=t1temp VALUE={params.TARGET}
# {% elif params.HEATER=="heater_bed"%}
# SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.TARGET}
# {% elif params.HEATER=="chamber"%}
# SAVE_VARIABLE VARIABLE=chambertemp VALUE={params.TARGET}
# {% endif%}
# SET_HEATER_TEMPERATURE_BASE HEATER={params.HEATER} TARGET={params.TARGET}
[gcode_macro M140]
rename_existing: M140.1
gcode:
{% if params.S is defined %}
SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S}
{% endif %}
M140.1 { rawparams }
[gcode_macro Calibrate_Tool_Offset]
gcode:
z_endstop_calibrate
[gcode_macro M190]
rename_existing: M190.1
gcode:
{% if params.S is defined %}
SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S}
{% endif %}
M190.1 { rawparams }
[gcode_macro M104]
rename_existing: M104.1
gcode:
{% if params.T is defined and params.T == "3"%}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"}
{% else %}
{% if params.S is defined %}
{% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %}
SAVE_VARIABLE VARIABLE={varname} VALUE={params.S}
{% endif %}
M104.1 { rawparams }
{% endif %}
[gcode_macro M109]
rename_existing: M109.1
gcode:
{% if params.T is defined and params.T == "3"%}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"}
TEMPERATURE_WAIT SENSOR=chamber MINIMUM={params.S} MAXIMUM={params.S}
{% else %}
{% if params.S is defined %}
{% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %}
SAVE_VARIABLE VARIABLE={varname} VALUE={params.S}
{% endif %}
M109.1 { rawparams }
{% endif %}
[save_variables]
filename: ~/savedVariables.cfg
[gcode_macro SET_GCODE_OFFSET]
rename_existing: _SET_GCODE_OFFSET
gcode:
{% if printer.save_variables.variables.gcode_offsets %}
{% set offsets = printer.save_variables.variables.gcode_offsets %}
{% else %}
{% set offsets = {'x': None,'y': None,'z': None} %}
{% endif %}
{% set ns = namespace(offsets={'x': offsets.x,'y': offsets.y,'z': offsets.z}) %}
_SET_GCODE_OFFSET {% for p in params %}{'%s=%s '% (p, params[p])}{% endfor %}
{%if 'X' in params %}{% set null = ns.offsets.update({'x': params.X}) %}{% endif %}
{%if 'Y' in params %}{% set null = ns.offsets.update({'y': params.Y}) %}{% endif %}
{%if 'Z' in params %}{% set null = ns.offsets.update({'z': params.Z}) %}{% endif %}
SAVE_VARIABLE VARIABLE=gcode_offsets VALUE="{ns.offsets}"
[delayed_gcode LOAD_GCODE_OFFSETS]
initial_duration: 2
gcode:
{% if printer.save_variables.variables.gcode_offsets %}
{% set offsets = printer.save_variables.variables.gcode_offsets %}
_SET_GCODE_OFFSET {% for axis, offset in offsets.items()
if offsets[axis] %}{ "%s=%s " % (axis, offset) }{% endfor %}
{ action_respond_info("Loaded gcode offsets from saved variables [%s]" % (offsets)) }
{% endif %}
# Initialize input shaper on startup (for dual_carriage compatibility)
[delayed_gcode INIT_INPUT_SHAPER]
initial_duration: 3
gcode:
# Set default input shaper for carriage 0 (T0)
SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei
{ action_respond_info("Input shaper initialized for dual carriage") }
#[gcode_macro TURN_OFF_HEATERS]
#description: Turn off heaters and wipe saved temperature variables.
#rename_existing: TURN_OFF_HEATERS_BASE
#gcode:
# TURN_OFF_HEATERS_BASE
# SAVE_VARIABLE VARIABLE=t0temp VALUE=0
# SAVE_VARIABLE VARIABLE=t1temp VALUE=0
# SAVE_VARIABLE VARIABLE=bedtemp VALUE=0
# SAVE_VARIABLE VARIABLE=chambertemp VALUE=0

View File

@@ -0,0 +1,101 @@
[main]
# Invert axis in move panel. Default is False. Change to true to invert
invert_x: False
invert_y: False
invert_z: False
# Time (seconds) before the Job Status page reverts to main menu after a successful job
job_complete_timeout: 30
# Time (seconds) before the Job Status page reverts to main menu after a successful job.
# If this option is 0, the user must click on a button to go back to the main menu.
job_error_timeout: 0
# Specify the language
# The language can be specified here instead of using the system default language.
language: en
# Allows the cursor to be displayed on the screen
show_cursor: False
[printer M2 2020]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
moonraker_port: 7125
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False
# Define the z_babystep intervals in a CSV list. Currently only 2 are supported
z_babystep_values: 0.1, 0.05
#~# --- Do not edit below this line. This section is auto generated --- #~#
#~#
#~# [main]
#~# language = en
#~# print_sort_dir = date_desc
#~# screen_blanking = 300
#~# theme = colorized
#~# side_macro_shortcut = False
#~#
#~# [displayed_macros Printer]
#~# bed_mesh_calibrate = False
#~# cancel_print = False
#~# dump_parameters = False
#~# dump_config = False
#~# dump_settings = False
#~# mesh_load = False
#~# m204 = False
#~# m141 = False
#~# man_resonances = False
#~# m600 = False
#~# mesh_store = False
#~# prime_line = False
#~# m300 = False
#~# _caselight_off = False
#~# pause = False
#~# resume = False
#~# _display_plate = False
#~# rst_service = False
#~# rst_filter = False
#~# print_end = False
#~# _extruder_on = False
#~# _display_on = False
#~# _filament_ball = False
#~# test_probe_accuracy = False
#~# quad_gantry_level = False
#~# _list_plates = False
#~# _lcd_knob = False
#~# _add_new_plate = False
#~# _filter_info = False
#~# print_start = False
#~# _runout_info = False
#~# _display_state = False
#~# _add_print_time = False
#~# _extruder_off = False
#~# _set_filter = False
#~# _bed_off = False
#~# _caselight_on = False
#~# _psu_off = False
#~# _vent_info = False
#~# _g32 = False
#~# _bed_on = False
#~# _print_info1 = False
#~# _set_plate_offset = False
#~# _print_info2 = False
#~# _print_ar = False
#~# _filter_on = False
#~# _display_print_time = False
#~# _set_caselight = False
#~# _cg28 = False
#~# _heater_on = False
#~# _display_off = False
#~# _change_plate_name = False
#~# _change_plate_offset = False
#~# _set_z_current = False
#~# _sd_printer_stats = False
#~# _sd_print_stats = False
#~# _wipe = False
#~# _remove_plate = False
#~# _init_plate_array = False
#~# _print_time = False
#~# _set_acc = False
#~# _set_plate = False
#~# _select_pa = False
#~# _shutdown_pi = False
#~#

View File

@@ -0,0 +1,51 @@
[server]
host: 0.0.0.0
port: 7125
max_upload_size: 1024
[file_manager]
# cancel object preprocessing - set to True to enable; leave disabled when running on a low-powered device (e.g. Pi Zero)
enable_object_processing: False
[data_store]
temperature_store_size: 600
gcode_store_size: 1000
[authorization]
force_logins: false
cors_domains:
*.local
*.lan
*://app.fluidd.xyz
trusted_clients:
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.168.0.0/16
FE80::/10
::1/128
127.0.0.1
127.0.0.0
# enables partial support of Octoprint API
[octoprint_compat]
# enables moonraker to track and store print history.
[history]
# this enables moonraker announcements for fluidd
[announcements]
subscriptions:
fluidd
# this enables moonraker's update manager
[update_manager]
enable_auto_refresh: True
# this enabled fluidd updates
[update_manager client fluidd]
type: web
repo: fluidd-core/fluidd
path: ~/fluidd

View File

@@ -0,0 +1,327 @@
# AON3D M2+
# Requirements
[pause_resume]
[display_status]
[virtual_sdcard]
path: ~/gcode_files
[include M2_macros.cfg]
[include Controllino_aliases.cfg]
# MCU definition
;[mcu]
;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
;baud: 115200
;restart_method: command
[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
#serial: /dev/ttyACM0
;baud: 250000
restart_method: command
# Printer definition
[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 3000
max_z_velocity: 12
max_z_accel: 30
# Steppers definition
[stepper_x]
step_pin: ar54
dir_pin: !ar55
enable_pin: !ar38
microsteps: 16
rotation_distance: 80
endstop_pin: ar3
position_endstop: -90
position_min: -90
position_max: 450
homing_speed: 100
step_pulse_duration: 0.000006
[dual_carriage]
axis: x
step_pin: ar23
dir_pin: !ar25
enable_pin: !ar40
microsteps: 16
rotation_distance: 80
endstop_pin: ar2
position_endstop: 518.5
position_max: 518.5
homing_speed: 100
step_pulse_duration: 0.000006
[stepper_y]
step_pin: ar60
dir_pin: !ar61
enable_pin: !ar56
microsteps: 16
rotation_distance: 80
endstop_pin: ar14
position_endstop: -44
position_min: -44
position_max: 450
homing_speed: 80
step_pulse_duration: 0.000006
[stepper_y1]
step_pin: ar27
dir_pin: ar29
enable_pin: !ar41
microsteps: 16
rotation_distance: 80
endstop_pin: ar15
step_pulse_duration: 0.000006
[stepper_z]
step_pin: ar46
dir_pin: ar48
enable_pin: !ar62
microsteps: 4
rotation_distance: 2
endstop_pin: ar18
#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_max: 600
homing_retract_dist: 2
homing_speed: 5
step_pulse_duration: 0.000006
[stepper_z1]
step_pin: ar43
dir_pin: ar37
enable_pin: !ar42
microsteps: 4
rotation_distance: 2
endstop_pin: ar19
step_pulse_duration: 0.000006
# Thermal sensors definition
[adc_temperature thermistor86]
temperature1: 20
voltage1: 4.8239
temperature2: 90
voltage2: 3.3005
temperature3: 180
voltage3: 0.7913
[adc_temperature thermistor20]
temperature1: 20
voltage1: 1.1926
temperature2: 200
voltage2: 1.921
temperature3: 600
voltage3: 3.328
[adc_temperature thermistor5]
temperature1: 20
voltage1: 4.817
temperature2: 150
voltage2: 1.122
temperature3: 300
voltage3: 0.0876
# thermistor89
# temperature1:30
# voltage1:3.391
# temperature2:100
# voltage2:2.171
# temperature1:160
# voltage1:0.819
# Extruders definition
[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: thermistor20
sensor_pin: analog3
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 500
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
max_extrude_cross_section: 10
[extruder1]
step_pin: ar36
dir_pin: ar34
enable_pin: !ar30
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar9
sensor_type: thermistor20
sensor_pin: analog9
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 400
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
# Heat bed definition
[heater_bed]
heater_pin: ar8
sensor_type: thermistor5
sensor_pin: analog14
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -20
max_temp: 230
# Heated chamber definition
[heater_generic chamber]
gcode_id: T2
heater_pin: ar4
sensor_type: thermistor86
sensor_pin: analog13
max_power: 1.0
pwm_cycle_time: 0.3
control: pid
pid_Kp: 100
pid_Ki: 1.8
pid_Kd: 300
min_temp: -20
max_temp: 175
[verify_heater chamber]
check_gain_time: 900
max_error: 200
[heater_fan Enclosure_fan]
pin: ar5
fan_speed: 1.0
heater: chamber
kick_start_time: 10000
shutdown_speed: 0
# Probe definition
[probe]
pin: ^ar22
;probe2: ^ar7
lift_speed: 10
speed: 6.0
#z_offset = -0.06
# Bed mesh definition
[bed_mesh]
speed: 200
horizontal_move_z: 2
mesh_min: 60,60
mesh_max: 380,380
probe_count: 6,6
[force_move]
enable_force_move = True
#[filament_switch_sensor RunoutSensor]
#pause_on_runout: False
#runout_gcode: PAUSE
#insert_gcode: RESUME
#switch_pin: !PC2
[idle_timeout]
timeout : 14400
[input_shaper]
shaper_freq_x: 60
shaper_type_x: ei
shaper_freq_y: 40
shaper_type_y: ei
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [probe]
#*# z_offset = 0.500
#*#
#*# [bed_mesh t0bed]
#*# version = 1
#*# points =
#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833
#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833
#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833
#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833
#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833
#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh t1bed]
#*# version = 1
#*# points =
#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000
#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500
#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500
#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500
#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000
#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500
#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500
#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500
#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500
#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000
#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500
#*# tension = 0.2
#*# min_x = 60.0
#*# algo = lagrange
#*# y_count = 6
#*# mesh_y_pps = 2
#*# min_y = 60.0
#*# x_count = 6
#*# max_y = 380.0
#*# mesh_x_pps = 2
#*# max_x = 380.0
#*#
#*# [stepper_z]
#*# position_endstop = -1.590

View File

@@ -0,0 +1,333 @@
# AON3D M2+
# Requirements
[pause_resume]
[display_status]
[virtual_sdcard]
path: ~/gcode_files
[include M2_macros.cfg]
[include Controllino_aliases.cfg]
# MCU definition
;[mcu]
;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
;baud: 115200
;restart_method: command
[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
#serial: /dev/ttyACM0
;baud: 250000
restart_method: command
# Printer definition
[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 3000
max_z_velocity: 12
max_z_accel: 30
# Steppers definition
[stepper_x]
step_pin: ar54
dir_pin: !ar55
enable_pin: !ar38
microsteps: 16
rotation_distance: 80
endstop_pin: ar3
position_endstop: -90
position_min: -90
position_max: 450
homing_speed: 100
step_pulse_duration: 0.000006
[dual_carriage]
axis: x
step_pin: ar23
dir_pin: !ar25
enable_pin: !ar40
microsteps: 16
rotation_distance: 80
endstop_pin: ar2
position_endstop: 518.5
position_max: 518.5
homing_speed: 100
step_pulse_duration: 0.000006
[stepper_y]
step_pin: ar60
dir_pin: !ar61
enable_pin: !ar56
microsteps: 16
rotation_distance: 80
endstop_pin: ar14
position_endstop: -44
position_min: -44
position_max: 450
homing_speed: 80
step_pulse_duration: 0.000006
[stepper_y1]
step_pin: ar27
dir_pin: ar29
enable_pin: !ar41
microsteps: 16
rotation_distance: 80
endstop_pin: ar15
step_pulse_duration: 0.000006
[stepper_z]
step_pin: ar46
dir_pin: ar48
enable_pin: !ar62
microsteps: 4
rotation_distance: 2
endstop_pin: ar18
#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_max: 600
homing_retract_dist: 2
homing_speed: 5
step_pulse_duration: 0.000006
[stepper_z1]
step_pin: ar43
dir_pin: ar37
enable_pin: !ar42
microsteps: 4
rotation_distance: 2
endstop_pin: ar19
step_pulse_duration: 0.000006
# Thermal sensors definition
[adc_temperature thermistor86]
temperature1: 20
voltage1: 4.8239
temperature2: 90
voltage2: 3.3005
temperature3: 180
voltage3: 0.7913
[adc_temperature thermistor20]
temperature1: 20
voltage1: 1.1926
temperature2: 200
voltage2: 1.921
temperature3: 600
voltage3: 3.328
[adc_temperature thermistor5]
temperature1: 20
voltage1: 4.817
temperature2: 150
voltage2: 1.122
temperature3: 300
voltage3: 0.0876
# thermistor89
# temperature1:30
# voltage1:3.391
# temperature2:100
# voltage2:2.171
# temperature1:160
# voltage1:0.819
# Extruders definition
[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: thermistor20
sensor_pin: analog3
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 500
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
max_extrude_cross_section: 10
[extruder1]
step_pin: ar36
dir_pin: ar34
enable_pin: !ar30
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar9
sensor_type: thermistor20
sensor_pin: analog9
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
min_temp: 0
max_temp: 400
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
# Heat bed definition
[heater_bed]
heater_pin: ar8
sensor_type: thermistor5
sensor_pin: analog14
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -20
max_temp: 230
# Heated chamber definition
[heater_generic chamber]
gcode_id: T2
heater_pin: ar4
sensor_type: thermistor86
sensor_pin: analog13
max_power: 1.0
pwm_cycle_time: 0.3
control: pid
pid_Kp: 100
pid_Ki: 1.8
pid_Kd: 300
min_temp: -20
max_temp: 175
[verify_heater chamber]
check_gain_time: 900
max_error: 200
[heater_fan Enclosure_fan]
pin: ar5
fan_speed: 1.0
heater: chamber
kick_start_time: 10000
shutdown_speed: 0
# Probe definition
[probe]
pin: ^ar22
;probe2: ^ar7
lift_speed: 10
speed: 6.0
#z_offset = -0.06
# Bed mesh definition
[bed_mesh]
speed: 200
horizontal_move_z: 2
mesh_min: 60,60
mesh_max: 380,380
probe_count: 6,6
[force_move]
enable_force_move = True
#[filament_switch_sensor RunoutSensor]
#pause_on_runout: False
#runout_gcode: PAUSE
#insert_gcode: RESUME
#switch_pin: !PC2
[idle_timeout]
timeout : 14400
[input_shaper]
shaper_freq_x: 60
shaper_type_x: ei
shaper_freq_y: 40
shaper_type_y: ei
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [probe]
#*# z_offset = 0.500
#*#
#*# [bed_mesh t0bed]
#*# version = 1
#*# points =
#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833
#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833
#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833
#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833
#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833
#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh t1bed]
#*# version = 1
#*# points =
#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000
#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500
#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500
#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500
#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000
#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500
#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500
#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500
#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500
#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000
#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500
#*# tension = 0.2
#*# min_x = 60.0
#*# algo = lagrange
#*# y_count = 6
#*# mesh_y_pps = 2
#*# min_y = 60.0
#*# x_count = 6
#*# max_y = 380.0
#*# mesh_x_pps = 2
#*# max_x = 380.0
#*#
#*# [stepper_z]
#*# position_endstop = -1.590
#*#
#*# [extruder1]
#*# control = pid
#*# pid_kp = 15.157
#*# pid_ki = 0.529
#*# pid_kd = 108.559

View File

@@ -0,0 +1,364 @@
# AON3D M2+
# Requirements
[pause_resume]
[display_status]
[virtual_sdcard]
path: ~/gcode_files
[include M2_macros.cfg]
[include Controllino_aliases.cfg]
# MCU definition
;[mcu]
;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
;baud: 115200
;restart_method: command
[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0
#serial: /dev/ttyACM0
;baud: 250000
restart_method: command
# Second MCU - Octopus Pro (for testing)
[mcu octopus]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_32000A000E50315939343520-if00
# ================================================================================
# TEST: Thermistors on Octopus (uncomment to test)
# ================================================================================
# Plug thermistors into Octopus T0, T1, T2, TB headers to test
#[temperature_sensor test_extruder0]
#sensor_type: thermistor20
#sensor_pin: octopus:PF4
#[temperature_sensor test_extruder1]
#sensor_type: thermistor20
#sensor_pin: octopus:PF5
#[temperature_sensor test_chamber]
#sensor_type: thermistor86
#sensor_pin: octopus:PF6
#[temperature_sensor test_bed]
#sensor_type: thermistor5
#sensor_pin: octopus:PF3
# Printer definition
[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 3000
max_z_velocity: 12
max_z_accel: 30
# Steppers definition
[stepper_x]
step_pin: ar54
dir_pin: !ar55
enable_pin: !ar38
microsteps: 16
rotation_distance: 80
endstop_pin: ar3
position_endstop: -90
position_min: -90
position_max: 450
homing_speed: 100
step_pulse_duration: 0.000006
[dual_carriage]
axis: x
step_pin: ar23
dir_pin: !ar25
enable_pin: !ar40
microsteps: 16
rotation_distance: 80
endstop_pin: ar2
position_endstop: 518.5
position_max: 518.5
homing_speed: 100
step_pulse_duration: 0.000006
[stepper_y]
step_pin: ar60
dir_pin: !ar61
enable_pin: !ar56
microsteps: 16
rotation_distance: 80
endstop_pin: ar14
position_endstop: -44
position_min: -44
position_max: 450
homing_speed: 80
step_pulse_duration: 0.000006
[stepper_y1]
step_pin: ar27
dir_pin: ar29
enable_pin: !ar41
microsteps: 16
rotation_distance: 80
endstop_pin: ar15
step_pulse_duration: 0.000006
[stepper_z]
step_pin: ar46
dir_pin: ar48
enable_pin: !ar62
microsteps: 4
rotation_distance: 2
endstop_pin: ar18
#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac
position_max: 600
homing_retract_dist: 2
homing_speed: 5
step_pulse_duration: 0.000006
[stepper_z1]
step_pin: ar43
dir_pin: ar37
enable_pin: !ar42
microsteps: 4
rotation_distance: 2
endstop_pin: ar19
step_pulse_duration: 0.000006
# Thermal sensors definition
[adc_temperature thermistor86]
temperature1: 20
voltage1: 4.8239
temperature2: 90
voltage2: 3.3005
temperature3: 180
voltage3: 0.7913
[adc_temperature thermistor20]
temperature1: 20
voltage1: 1.1926
temperature2: 200
voltage2: 1.921
temperature3: 600
voltage3: 3.328
[adc_temperature thermistor5]
temperature1: 20
voltage1: 4.817
temperature2: 150
voltage2: 1.122
temperature3: 300
voltage3: 0.0876
# thermistor89
# temperature1:30
# voltage1:3.391
# temperature2:100
# voltage2:2.171
# temperature1:160
# voltage1:0.819
# Extruders definition
[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: thermistor20
sensor_pin: analog3
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
min_temp: 0
max_temp: 500
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
max_extrude_cross_section: 10
[extruder1]
step_pin: ar36
dir_pin: ar34
enable_pin: !ar30
microsteps: 16
rotation_distance: 4.961
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar9
sensor_type: thermistor20
sensor_pin: analog9
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
min_temp: 0
max_temp: 400
pressure_advance: 0.06
pressure_advance_smooth_time: 0.12
# Heat bed definition
[heater_bed]
heater_pin: ar8
sensor_type: thermistor5
sensor_pin: analog14
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -20
max_temp: 230
# Heated chamber definition
[heater_generic chamber]
gcode_id: T2
heater_pin: ar4
sensor_type: thermistor86
sensor_pin: analog13
max_power: 1.0
pwm_cycle_time: 0.3
control: pid
pid_Kp: 100
pid_Ki: 1.8
pid_Kd: 300
min_temp: -20
max_temp: 175
[verify_heater chamber]
check_gain_time: 900
max_error: 200
[heater_fan Enclosure_fan]
pin: ar5
fan_speed: 1.0
heater: chamber
kick_start_time: 10000
shutdown_speed: 0
# Probe definition
[probe]
pin: ^ar22
;probe2: ^ar7
lift_speed: 10
speed: 6.0
#z_offset = -0.06
# Bed mesh definition
[bed_mesh]
speed: 200
horizontal_move_z: 2
mesh_min: 60,60
mesh_max: 380,380
probe_count: 6,6
[force_move]
enable_force_move = True
#[filament_switch_sensor RunoutSensor]
#pause_on_runout: False
#runout_gcode: PAUSE
#insert_gcode: RESUME
#switch_pin: !PC2
[idle_timeout]
timeout : 14400
# Input Shaper - For IDEX, configure via macros in T0/T1 tool change
# Use SET_INPUT_SHAPER commands in the T0 and T1 macros
# Calibrated values:
# Carriage 0 (T0): shaper_freq_x=60, shaper_type_x=ei
# Carriage 1 (T1): shaper_freq_x=60, shaper_type_x=ei
# Y axis: shaper_freq_y=40, shaper_type_y=ei
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [probe]
#*# z_offset = 0.500
#*#
#*# [bed_mesh t0bed]
#*# version = 1
#*# points =
#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833
#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833
#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833
#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833
#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833
#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh t1bed]
#*# version = 1
#*# points =
#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000
#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500
#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500
#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500
#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000
#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000
#*# tension = 0.2
#*# mesh_x_pps = 2
#*# algo = lagrange
#*# min_x = 0.0
#*# min_y = 0.0
#*# y_count = 6
#*# mesh_y_pps = 2
#*# x_count = 6
#*# max_x = 420.0
#*# max_y = 420.0
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500
#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500
#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500
#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500
#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000
#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500
#*# tension = 0.2
#*# min_x = 60.0
#*# algo = lagrange
#*# y_count = 6
#*# mesh_y_pps = 2
#*# min_y = 60.0
#*# x_count = 6
#*# max_y = 380.0
#*# mesh_x_pps = 2
#*# max_x = 380.0
#*#
#*# [stepper_z]
#*# position_endstop = -1.590
#*#
#*# [extruder1]
#*# control = pid
#*# pid_kp = 15.157
#*# pid_ki = 0.529
#*# pid_kd = 108.559
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 17.123
#*# pid_ki = 0.660
#*# pid_kd = 111.088

View File

@@ -0,0 +1,79 @@
### Windows users: To edit this file use Notepad++, VSCode, Atom or SublimeText.
### Do not use Notepad or WordPad.
### MacOSX users: If you use Textedit to edit this file make sure to use
### "plain text format" and "disable smart quotes" in "Textedit > Preferences"
### Configure which camera to use
#
# Available options are:
# - auto: tries first usb webcam, if that's not available tries raspi cam
# - usb: only tries usb webcam
# - raspi: only tries raspi cam
#
# Defaults to auto
#
#camera="auto"
### Additional options to supply to MJPG Streamer for the USB camera
#
# See https://faq.octoprint.org/mjpg-streamer-config for available options
#
# Defaults to a resolution of 640x480 px and a framerate of 10 fps
#
#camera_usb_options="-r 640x480 -f 10"
### Additional webcam devices known to cause problems with -f
#
# Apparently there a some devices out there that with the current
# mjpg_streamer release do not support the -f parameter (for specifying
# the capturing framerate) and will just refuse to output an image if it
# is supplied.
#
# The webcam daemon will detect those devices by their USB Vendor and Product
# ID and remove the -f parameter from the options provided to mjpg_streamer.
#
# By default, this is done for the following devices:
# Logitech C170 (046d:082b)
# GEMBIRD (1908:2310)
# Genius F100 (0458:708c)
# Cubeternet GL-UPC822 UVC WebCam (1e4e:0102)
#
# Using the following option it is possible to add additional devices. If
# your webcam happens to show above symptoms, try determining your cam's
# vendor and product id via lsusb, activating the line below by removing # and
# adding it, e.g. for two broken cameras "aabb:ccdd" and "aabb:eeff"
#
# additional_brokenfps_usb_devices=("aabb:ccdd" "aabb:eeff")
#
#
#additional_brokenfps_usb_devices=()
### Additional options to supply to MJPG Streamer for the RasPi Cam
#
# See https://faq.octoprint.org/mjpg-streamer-config for available options
#
# Defaults to 10fps
#
#camera_raspi_options="-fps 10"
### Configuration of camera HTTP output
#
# Usually you should NOT need to change this at all! Only touch if you
# know what you are doing and what the parameters mean.
#
# Below settings are used in the mjpg-streamer call like this:
#
# -o "output_http.so -w $camera_http_webroot $camera_http_options"
#
# Current working directory is the mjpg-streamer base directory.
#
#camera_http_webroot="./www-fluidd"
#camera_http_options="-n"
### EXPERIMENTAL
# Support for different streamer types.
#
# Available options:
# mjpeg [default] - stable MJPG-streamer
#camera_streamer=mjpeg