Skip to content

Instantly share code, notes, and snippets.

@jbjhjm
Created September 4, 2021 13:22
Show Gist options
  • Save jbjhjm/eb713c1995d2a8c42c0de064ed24abc6 to your computer and use it in GitHub Desktop.
Save jbjhjm/eb713c1995d2a8c42c0de064ed24abc6 to your computer and use it in GitHub Desktop.
Example config for setting up a V-Core 3 with Duet 3.
; this is only an EXAMPLE!
; use on your own risk and keep in mind it is unlikely that this will work for your printer without any changes!
; Base specs: Duet3 6HC with bltouch on a V-Core 300x300
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
; M550 P"V-Core 3" ; set printer name -- only for standalone use with network
M669 K1 ; CoreXY
G29 S1 ; Set Units to Millimeters
; Motors
M569 P0.0 S0 D3 ; Z motors run backwards
M569 P0.1 S0 D3 ; Z motors run backwards
M569 P0.2 S0 D3 ; Z motors run backwards
M569 P0.3 S1 D3 ; Y goes forwards
M569 P0.4 S1 D3 ; X goes forwards
M569 P0.5 S0 D3 ; Ext goes backwards
M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
;Step sizes
M92 X80.00 Y80.00 Z800.00 ; set steps per mm
M906 X1000 Y1000 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; speed limit configuration
M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) // same as M205 but with mm/min
M203 X10800.00 Y10800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2)
; define axis limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X310 Y300 Z300 S0 ; set axis maxima
; define endstops
M574 X1 S1 P"io0.in" ; configure active high endstops
M574 Y2 S1 P"io1.in" ; configure active high endstops
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Lead screw positions
M671 X-3:150:306.5 Y2:312:2 S5 ; define positions of Z leadscrews or bed levelling screws | ideal: X-4.5:150:304.5 Y-4.52:305:-4.52 S5
M557 X10:275 Y15:275 P5 ; define 5x5 mesh grid
; configurate heat bed
M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out1" T0 ; create bed heater output on out5 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S110 ; set temperature limit for heater 0 to 110C
; Set the Bed PID values - gathered from PID tune
M307 H0 B0 R0.435 C373.3 D1.30 S1.00 V23.9
; define fans
; Hotend Fan - does not support PWM?
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 C"Hotend Fan" S0 H1 L1 T60 ; set fan 0 name and value. H1 = Thermostatic control ON | H-1 = OFF | L0.5 = minimum 50% | T = temperature range
; Layer Fan
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 C"Layer Fan" S0 H-1 L0.5 ; set fan 1 name and value. Thermostatic control is turned off
; back CPU/PSU fans
M308 S10 Y"mcu-temp" A"MCU" ; configure sensor 10 to represent MCU temp
M308 S11 Y"drivers" A"Drivers" ; configure sensor 11 to represent Drivers temp
M950 F10 C"!out4+^out4.tach" Q100 ; create fan 10 on out4 (1st PWM slot)
M106 P10 C"Duet/RasPi Fan" H10:11 L0.3 X1 B0.3 T35:70 ; assign fan 10 to sensors 10 and 11 | B = run x seconds on full power | L + X = min/max bounds
; define tool
M563 P0 D0 H1 F1 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; hotend heater and temperature sensor
M308 S1 P"temp1" Y"pt1000" A"Hotend" ; register hotend temperature sensor
M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set the maximum temperature in C for heater
; Set the Hotend PID values - gathered from PID tune
;M307 H1 B0 R1.912 C187.2 D8.16 S1.00 V23.9
;M307 H1 B0 R1.992 C217.8 D8.12 S1.00 V23.9
M307 H1 B0 R1.989 C208.6 D6.92 S1.00 V23.9
; define extruder / hotend
M92 E830 ; set extruder steps per mm, 0.9 angle/step (LDO Pancake)
M906 E800 ; set extruder motor current (mA) and idle factor in per cent
M302 S150 R110 ; Allow extrusion starting at 150°C and retractions starting at 110°C
M207 S4.0 F2400 Z0.1 ; configurate G10/G11 extruder retraction, move 4mm at 2400mm/min, also move bed 1mm
;; BLTouch
M950 S0 C"io5.out" ; Create servo pin 0 on io5
M558 P9 C"io5.in" H8 F320 T18000 A5 ; set Z probe type to unmodulated - dive height increased from 5mm, Feed rate increased from 240. P9 = type bltouch
; Z offset calibrated using guide https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/#testandcalibrate
G31 P25 X-28.00 Y-23.00 Z3.09 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed
; Filament
M404 N1.75 D0.4 ; Filament width and nozzle diameter
T0
; for unknown reasons this does not work in config.g but in homeall.g.
; toggle the ATX relay once to let duet know we use one. THis will show the ATX power widget in DWC
;M80
;G4 P1000 ; need a short pause
;M81 S0
; Pressure Advance
; M572 D0 S0.10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment