; Configuration file for Board: fly_cdyv2 (STMWiFi) ; Firmware: RepRapFirmware for STM32F4 based Boards 3.3beta1_3 (2021-03-08) ; Duet WiFi Server Version: 1.25-01S-D ; customized by Jan Griffioen info@jantec.nl 2021 04 08 ; Made for a Cartesian printer with single X,Y,Z steppers and a triple hotend with 3 extruders, 1 heater and 3 nozzles. ; Included is: Neopixels, BLTouch, 3 filament sensors on the X,Y- and Zmax inputs, active fans for hotend tool on fan1 and object on fan0 ; If so desired, sensorless homing is possible with the correct driver boards. In this version, 3 optical endstops have been used on inputs xmin, ymin and zmin. ; Retraction is set ON in this firmware by default to make the triple hotend drip less (2 mm retract and -0.5 extrude without Z-hop), do experiment with these settings! ; Please be aware that some pin names for the FLYCDYV2 board differ form the Duet's naming convention like "bed" versus "bed-heater" et cetera. : Plus, some typical Duet2wifi extensions are NOT available like the GPIO bus. ; The FLYCDYV2 has some interesting standard extra's like the BLTouch connector with power, driver pins and Z probe pins, the Neopixel connector AND the 6 driver slots and 3 extruder heaters/sensors/fans! ; It is quite simple to change this setup to a dual Z axis with independant Z-motors and either single extruder or a dual setup, single or dual nozzle, mixing or non-mixing. ; Please see my complete ready-to-go setups for this board and for the Duet2wifi to help you getting started! http://www.jangriffioen.com/downloads ; Also available for Delta machines, CoreXY, Prusa clones and Dual-carriage machines ; General preferences G90 ; send absolute coordinates M83 ; and relative extruder moves M550 P"JG printer Duet2wifi` ; set printer name M551 Preprap ; Machine password M552 S1 ; WIFI ON ; Network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet M552 P0.0.0.0 ; IP address (0.0.0.0 = use DHCP) M554 P192.168.178.1 ; Gateway M553 P255.255.255.0 ; Netmask M555 P2 ; Set output to look like Marlin M575 P1 S3 B57600 ; comms settings S3 for BTT TFT24-V1.1, S1 for PanelDue ; Drives M569 P0 S1 ; physical drive 0 goes forwards using default driver timings M569 P1 S1 ; physical drive 1 goes forwards using default driver timings M569 P2 S1 ; physical drive 2 goes forwards using default driver timings M569 P3 S1 ; physical drive 3 goes forwards using default driver timings M569 P4 S1 ; physical drive 4 goes forwards using default driver timings M569 P5 S1 ; physical drive 5 goes forwards using default driver timings M584 X0 Y1 Z2 E3:4:5 ; set drive mapping M350 X16 Y16 Z16 E16:16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 ; set setps per mm M92 E420:420:420 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120:120:120 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200:1200:1200 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250:250:250 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800:800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X230 Y210 Z200 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop ; Z-Probe M558 P9 C"^probe" H5 R0.2 A5 B1 F120 T3000 ; BLTouch connected to Z probe IN pin M950 S0 C"servo0" ; create servo/gpio 0 on heater 3 pin on expansion connector M280 P0 S10 ; send control signal to BLTouch to achive the setup G31 P250 X20 Y6 Z2.5 ; This is the height-difference between nozzle versus switching moment of the probe. Higher Z value = lower nozzle (closer to bed) M98 P/sys/resetprobe.g ; reset the probe to get started ;M98 P/sys/deployprobe.g ; deploy the probe once to test the probe ;M98 P/sys/retractprobe.g ; retract the probe to prevent any collisions ; Mesh G29 M557 X15:215 Y15:195 S20 ; define mesh grid to be called upon by G29 for an authentic Mesh bed levelling ; Heater and thermistor section M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; define thermistor bed temperature sensor T0 M950 H0 C"bed" T0 ; heater H0 uses the bed pin, sensor T0 M140 H0 ; the bed heater is heater H0 M307 H0 B1 S1 ; 100% PWM, bang-bang mode M143 H0 S120 ; set temperature limit for bed heater H0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4725 ; define thermistor sensor on hotend for e0temp M950 H1 C"e0heat" T1 ; create heater for hotend and map sensor T1 M307 H1 B1 S1 ; 100% PWM, bang-bang mode M570 S35000 ; Increase this value to allow extra heating time if needed ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P1 S1 H1:2 T35 ; set toolfans value. S can be set to 0.7 to keep the noise down. Thermostatic control is turned on for heATER 1 AND/OR 2 ; Tool definition section; NO extruder/tool settings for X,Y,Z are needed in slicer! This setup is for a triple bowden hotend with 3 independent extruders, 3 nozzles and 1 heater (H1) ; T0-nozzle is positioned towards the front of the printer (equals the center of the hotend on the X value here and the nozzle is then at 8mm to the front of the center of the headend. ; The used hotend is circular non-mixing 3 in 3 out D=28 mm, L=75mm incl. nozzle length M563 P0 D0 H1 F0 ; Define first tool T0 to use extruder D=drive D0 and H=heater H1 G10 L1 P0 S0 R0 X0 Y-8 Z0 ; Z value fixed at value 0 here to act as reference for the Z probe (only change Z probe settings for Z when needed to change Z jointly for all nozzles) ; Set Tool 0 to fixed measured values versus the (imaginary) center of the hotend and change only Tools 1 and 2 M563 P1 D1 H1 F0 ; Define 2nd tool T1 for extruder D=1 and H=1 G10 L1 P1 S0 R0 X6 Y6 Z0 ; and make X,Y,Z values the values versus the (imaginary) center of the used hotend ; Z more positive means lower nozle here. M563 P2 D2 H1 F0 ; Define 3rd tool T2 for extruder D=2 and H=1 G10 L1 P2 S0 R0 X-6 Y6 Z0 ; and make X,Y,Z values the values versus the (imaginary) center of the used hotend ; Z more positive means lower nozle here. ; Firmware retraction ; M207 S2 R-0.5 Z0 F3000 ; OPTIONAL: set 'standard' firmware retraction. S is the amount in mm. F is the Feed rate mm/min (divide by /60 to get mm/sec). ; Optionally one could also have R (additional, or less if negative, length on unretract) and Z (additional Z lift in mm) ; Filament monitoring M591 D0 P2 C"xmax" S1 ; filament monitor first extruder (serial, NC between pin 1 and 3) connected to xmax M591 D1 P2 C"ymax" S1 ; filament monitor second extruder (serial, NC between pin 1 and 3) connected to ymax M591 D2 P2 C"zmax" S1 ; filament monitor second extruder (serial, NC between pin 1 and 3) connected to zmax ; Dnn Extruder drive number (0, 1, 2...), ; Pnn Type of sensor: 0=none, 1=simple sensor (high signal when filament present), 2=simple sensor (low signal when filament present) ; 3=Duet3D rotating magnet sensor, 4=Duet3D rotating magnet sensor with microswitch, 5 = Duet3D laser sensor, 6 = Duet3D laser sensor with microswitch ; 7 = pulse-generating sensor ; C"name" Pin name the filament sensor is connected to (RRF_3 only), see Pin Names ; Sn 0 = disable filament monitoring (default) when printing from SD card and 1 = enable filament monitoring when printing from SD card. ; Epilogue ;M556 S78 X0 Y0 Z0 ; Axis compensation here if needed m98 P/sys/leds_show.g ; Neopixels show (max number is 60) m98 P/sys/leds_off.g ; Neopixels OFF (max number is 60) T0:1:3 : select first hot end T0 M501 ; execute config_override.g