Artillery Sidewinder X2 - Marlin 2.1.1 Firmware v5 Nov 3rd

Artillery Sidewinder X2 - Marlin 2.1.1 Firmware v5 Nov 3rd

thingiverse

<h1>Artillery Sidewinder X2 - Marlin 2.1.1 Firmware</h1> <h2>UPDATE Nov 3rd. Just activated second stepper driver for double Z axis and G34 - Z Steppers Auto-Alignment. It will only works if you install a new stepper driver in your mainboard and connect each Z axis stepper motor to each different stepper driver. You can buy a new stepper driver in artillery homepage, amazon or aliexpress. If you don't install the new stepper driver, the firmware will works anyway just like old version.</h2> <h2>UPDATE Oct 14th. Fixed UBL Mesh to fit the Bed Size. Now it measures all points in Bed</h2> <h3>UPDATE Sept 29th Activated MPC Autotune for Nozzle <a href="https://marlinfw.org/docs/features/model_predictive_control.html">https://marlinfw.org/docs/features/model_predictive_control.html</a>. If you don't want to use it, the previous version is with PID Autotune, just don't update it</h3> <h2>Caution: Do it only if you know what you are doing, it's absolutely your own risk. I'm not responsible for any problems/defects. BTW you can always come back and reflash the stock firmware.</h2> <p>Basically I activated the options from @prezi in <a href="https://www.thingiverse.com/thing:5186707">https://www.thingiverse.com/thing:5186707</a> and some options for me to the new Marlin 2.1.1 Thanks to him for his work.</p> <p>Release notes for Marlin 2.1.1 in <a href="https://github.com/MarlinFirmware/Marlin/releases">https://github.com/MarlinFirmware/Marlin/releases</a></p> <p>It has all the tweaks for the old TFT activated, you can flash the TFT from @digant at <a href="https://www.thingiverse.com/thing:4294049">https://www.thingiverse.com/thing:4294049</a></p> <h2>Try to flash the TFT first, if it doesn't work, you probably have a new TFT. If you own a new TFT like GD32F305 I don't recommend you to install this firmware.</h2> <p>There is a firmware for mainboard with the new TFT, without the tweaks for the Flashed TFT created by @freakyDude and you can find it here: <a href="https://www.thingiverse.com/thing:5359311">https://www.thingiverse.com/thing:5359311</a></p> <h2>CREDITS: </h2> <p>Firmware for Artillery Sidewinder X2 (SWX2) compiled from latest Marlin 2.1.1 sources. <br /> Courtesy of Marlin (GPL-3.0 License)<br /> <a href="https://marlinfw.org">https://marlinfw.org</a></p> <p>STM32Cube Programmer -- Copyright STMicroelectronics All rights reserved.<br /> <a href="https://www.st.com/content/st_com/en/about/st_company_information/who-we-are.html ">https://www.st.com/content/st_com/en/about/st_company_information/who-we-are.html </a></p> <p>Pronterface/Printrun -- Copyright (C) 2011-2020 Kliment Yanev, Guillaume Seguin<br /> <a href="https://github.com/kliment/Printrun">https://github.com/kliment/Printrun</a></p> <p>Compiled from sources found here:<br /> <a href="https://github.com/MarlinFirmware/Marlin/">https://github.com/MarlinFirmware/Marlin/</a></p> <h2><strong>FIRMWARE INFORMATION:</strong></h2> <p>All changes to default (or parameters which I thought are viable) have been commented with //Maniac </p> <p><strong>Special Tweaks besides the "TFT Tweaks" : </strong><br /> -EEPROM Storage enabled incl. EEPROM autoinit on first boot after flash.<br /> -Homing feedrate tweaks<br /> -Z Safehoming enabled<br /> -Unified bed leveling enabled with finer 9x9 grid<br /> if you want to switch to a different method -- switch between mesh bl and ubl in config.h <br /> -Detailed logging of G28, G29 and other leveling features -- as the new Mainboard has now more mem and more powah - why not<br /> -Restore Leveling after G28<br /> -Repeatability test for BLTouch clone enabled<br /> -Increased probing to 3 with extra probing step 1 - means more accurate bed leveling and discards one result from 3 that is way above the rest -- further increasing accuracy<br /> -S_Curve acceleration enabled, experimental S_curve acceleration also enabled<br /> -Linear advance enabled and set to K=0.13 (seems it is more or less accurate value for stock, if you replaced the nozzle or heatbreaker you might want to tweak it – for me it is 0.05 after the changes to heatbreak and nozzle)<br /> -Tuned the acceleration values taken from Artillery<br /> -Since I tweaked the heatbreaker I have also risen the max safe temp to 320 (if you have all stock you can either revert it back or just stay below 260 degrees Celsius.)<br /> -LED Test enabled at the start<br/> -BufferBuddy and Meatpack Octoprint's plugins support enabled.</p> <p><strong>Tweaks required for the TFT to be functional + additional tweaks for extended features : General options which MUST be activated:</strong><br /> -EEPROM_SETTINGS (in Configuration.h)<br /> -BABYSTEPPING (in Configuration_adv.h)<br /> -AUTO_REPORT_TEMPERATURES (in Configuration_adv.h)<br /> -AUTO_REPORT_POSITION (in Configuration_adv.h)<br /> -M115_GEOMETRY_REPORT (in Configuration_adv.h)<br /> -M114_DETAIL (in Configuration_adv.h)<br /> -REPORT_FAN_CHANGE (in Configuration_adv.h)</p> <p><strong>Options to support printing from onboard SD:</strong><br /> -SDSUPPORT (in Configuration.h)<br /> -LONG_FILENAME_HOST_SUPPORT (in Configuration_adv.h)<br /> -AUTO_REPORT_SD_STATUS (in Configuration_adv.h)<br /> -SDCARD_CONNECTION ONBOARD (in Configuration_adv.h)</p> <p><strong>Options to support dialog with host:</strong><br /> -EMERGENCY_PARSER (in Configuration_adv.h)<br /> -SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h)<br /> -HOST_ACTION_COMMANDS (in Configuration_adv.h)<br /> -HOST_PROMPT_SUPPORT (in Configuration_adv.h)</p> <p><strong>Options to support M600 with host & (Un)Load menu: (Options to support dialog with host as pre requisite)</strong><br /> -NOZZLE_PARK_FEATURE (in Configuration.h)<br /> -ADVANCED_PAUSE_FEATURE (in Configuration_adv.h)<br /> -PARK_HEAD_ON_PAUSE (in Configuration_adv.h)<br /> -FILAMENT_LOAD_UNLOAD_GCODES (in Configuration_adv.h)</p> <p><strong>Options to fully support Bed Leveling menu:</strong><br /> -Z_MIN_PROBE_REPEATABILITY_TEST (in Configuration.h)<br /> -G26_MESH_VALIDATION (in Configuration.h) (in Configuration.h)<br /> -Z_STEPPER_AUTO_ALIGN (in Configuration_adv.h)</p> <p>-FILAMENT_RUNOUT_SCRIPT "M600" -- separate definition of the M600 runout script (it is disabled if the Filament sensor is not connected to mainboard and M600 never will be defined in a clean way). Since SWX2/GP have the runout sensor connected to TFT instead of mainboard – this might improve the filament runout handling when printing e.g. from Octo, Pronterface etc.<br /> -UBL_HILBERT_CURVE - this one should optimize the movement paths when doing multi-point UBL<br /> -SHOW_REMAINING_TIME in conjunction with LCD_SET_PROGRESS_MANUALLY it should allow the display of remaining time provided from external sources (e.g. Octo)<br /> -LONG_FILENAME_WRITE_SUPPORT -- ability to write to SD – pre-requisite for e.g. embedding the configuration into firmware, writing and deleting files via M28 and M30 and Binary Transfer <br /> -SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu </p> <h2>MAINBOARD:</h2> <p>--Download Firmware”<br /> --Download and install STM32CubeProgrammer (includes drivers) from <br /> https://www.st.com/en/development-tools/stm32cubeprog.html<br /> (you can register for free)<br /> --Install and allow the drivers to be installed too.<br /> --Turn the printer off (no need for external power source as we get it via USB)<br /> --Connect your printer via USB<br /> --Download and open Pronterface (Printrun) which can be downloaded e.g. from here :<br /> https://github.com/kliment/Printrun/releases/tag/printrun-2.0.0rc8<br /> --Check under which port the Serial device was installed (COM Port might vary)<br /> --Connect with Pronterface and the specific port with baud speed 115200.<br /> --Type M997 in the console and send the command to the printer. <br /> --Ignore the error messages and disconnect pronterface from the printer. DO NOT disconnect USB, we aren't done yet.<br /> --Look again in the device manager and look for "STM32 BOOTLOADER" this time.<br /> --If you don't see it --- you have an older version and you need to do the jumper trick to force the mainboard into the Bootloader/DFU mode. Read further on what to do.<br /> --If you see the bootloader in device manages / usb-devices then start the STM32 Cube Programmer, switch from "ST-Link" to "USB" (which is actually DFU mode) and click on connect.<br /> --If everything went fine you will see some hex/ascii code read and displayed left --- this is your current firmware. If you want to save/backup it - click on "Read" and "save as" - save your backup somewhere.<br /> --Then switch from "device memory" to "open file" and point to the firmware bin file (or point to your firmware compiled from the sources). <br /> --Click on "Download" to trigger the flashing of your mainboard with the new firmware.<br /> --After a while you should get a popup "File download complete" --- click on "OK", click on "disconnect" and remove the USB Cable.<br /> --IF you needed a jumper -- this before powering the printer back on - remove the jumper.<br /> --If you flashed it without the necessity to use the jumper - you are done and can proceed with configuring the Firmware --- first perform an EEPROM reset --- if you already have custom TFT Firmware -- either by going into menu/commands -- EEPROM defaults, then EEPROM Save - or by issuing the M502 command ( restore EEPROM defaults) followed by M500 (Save to EEPROM). <br /> --Proceed with PID Tuning, Bed Leveling and other calibration steps.</p> <p><br /> JUMPER Method to force the Mainboard into DFU/Bootloader mode (or after a broken flash): --Open the bottom and place a jumper on the two pins described as "BOOT" and "3.3V".<br /> --Connect the printer via USB only to your PC, if the correct STM32 drivers are installed (included in STM32 Cube Programmer) the STM32 Bootloader device should be visible in the device manager.<br /> --Proceed to flashing using STM32 Cube Programmer described above.</p> <h3><br /> CALIBRATION after the Flash</h3> <p>-ALWAYS put a thin sheet of paper to prevent the nozzle from crashing into the bed. The values have been increased and deemed as “safe” but I won’t take any responsibility for any damages caused by these files. I have tested it several times + have a beta-tester that is helping me, but it is better to be safe than sorry.<br /> -After the flash start with Homing all axes – homes fine and doesn’t crash into the bed ? Move on.<br /> -do the PID Tuning<br /> -preheat nozzle and bed to the target temp of your liking<br /> -Go into Movement – Leveling – and set the “P offset” – I do this till the nozzle is just before slightly scratching the surface of the paper. Please keep in mind that I put the paper only under the nozzle – not under the BLtouch sensor.<br /> -do the rest of the calibration steps --- e.g. steps per mm, UBL.<br /> -after doing UBL make sure you turn BL on (in the same menu as UBL -- BL : on is displayed)<br /> -make sure you save everything to EEProm<br /> -start printing and be ready to fine-tune your first layer with the “Babystepping” – do it in small increments. Do not forget to save afterwards.<br /> -Done! Enjoy your prints! <br /> Oh... you may also want to tweak Linear advance. Current k value is 0.13 but if you switched the nozzle or heatbreaker you may be nearer to 0.05 rather than 0.13 :-) </p> <p> --You NEED to use Visual Studio Code with PlatformIO Extension to compile. Forget about ArduinoIDE, PERIOD. If you don't know how to use MS VSC + Platformio and how to set it up - before starting to ask questions here - LEARN from various YT tutorials. I am not here to school you through VSC.</p> <p><br /> P.S.2 If you were too fast with flashing the mainboard firmware even though you couldn't flash the TFT firmware because of the new GD32 microcontroller @freakyDude made a firmware to recover your printer and you can find it here: <a href="https://www.thingiverse.com/thing:5359311">https://www.thingiverse.com/thing:5359311</a><br /></p> <p><br /> I left 2 files, one precompiled firmware and the other with the source if you want to check the changes<br />  </p>

Download Model from thingiverse

With this file you will be able to print Artillery Sidewinder X2 - Marlin 2.1.1 Firmware v5 Nov 3rd with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Artillery Sidewinder X2 - Marlin 2.1.1 Firmware v5 Nov 3rd.