Artillery Sidewinder X1 - Firmware / TFT Tuning

Artillery Sidewinder X1 - Firmware / TFT Tuning

thingiverse

<b>Update: 29.02.2020: </b> Great News! Pinguinkeeper offered to maintain and update this [Firmware/TFT Mod](https://github.com/pinguinpfleger/ASWX1-FW-MOD) on Github. He just updated the firmware to Marlin v2.04. Thanks PinguinKeeper! <br> <b>Update: 17.02.20: </b>recompiled my latest Marlin2.03 release for the x1 to use both stepper motors for Z. If you have used my old 2.03 make sure you replace it with this one. Also fixed Issue that the bed cannot reach 100degrees, now MaxBedTemp is set to 150. Additionally I changed the temp window to allow a less sensitive target temperature window. The temp is now qualified stable a lot faster which reduces wait time. Due to the ongoing and annoying thingislow issues I uploaded all files [here](https://1drv.ms/f/s!AosCfawsuJcGkrUqWzmgEixasJ7H6A)<br> As I do not own this printer anymore this is likely the last update. A big "thank you" is flying to <b>tekhn</b> who supported me with the testing of the current release, he checked important features such as: PID autotune, linear advance, and thermal runaway protection... Enjoy printing with your X1! <br> <b>Update: 16.02.20: do not use my Marlin2.03 version, it has a bug </b> and only drives one z-stepper motor! I will upload a corrected version soon. if you are already using 2.03 downgrade to 2.0.x<br> <b>Update: 12.12.2019: </b>modified mks_config.txt: if you press PID autotune on your tft it will now run autotuning for the hotend AND the bed, additionally it stores the settings to EEPROM automatically. To get the update just copy mks_config.txt to your microsd card, insert in your printer and reset the printer, the update process is pretty fast. After the update is done press PID autotune and wait (can take up to 10 mins). During hotend autotune the led is red, during bed autotune its kind of blueish, once done its green. <br> <b>Update: 09.12.2019: </b>added marlin v2.0 release firmware for X1 and also updated some TFT symbols.I did a few prints and it worked very smooth, example print attached as photo. Use with caution at your own risk. If you update, its recommended to <b>backup your current settings by running M503, reset to factory defaults with M502 followed by M500 to save</b>. Rerun PID tuning and z-offset callib. Also, check the v2 release info at the end. Enjoy!<br> <b>Update: 05.12.2019: </b>make sure to check out joskfg's make: https://www.thingiverse.com/make:734108/. He details an option on how to flash the firmware without opening the printer nor physically removing the display connection<br> <b>Update: 19.09.2019: </b>In case your USB Stick does not work anymore after the upgrade, check the following option on your TFT: <i>SET/File/USB. </i> That was always there but defaulted back to SD after TFT Upgrade<br> <b>Update: 13.09.19, 2: </b>The manual bed leveling now also sends a G1 Z0 to apply the ZOffset that is stored in EEPROM. Download the new mks_config.txt and upload to your TFT<br> <b>Update: 13.09.19</b>, files have been updated to correct typos and added additional instructions in firmware update, section: Reset to factory defaults<br> Target Machine:artillery3d Sidewinder X1 (tested with September 2019 model) base files downloaded from: http://artillery3d.com/en/Content/490193.html modified: Sept/2019 <p><b>Disclaimer, use at your own risk!</b> There are inherent dangers of upgrading your firmware and config files. I caution you to make sure that you completely understand the potential risks before applying/uploading any of the files provided to your 3d-Printer. The firmware and Config Files are provided "as is" without warranty of any kind, either express or implied. <p><b>You are ready? this is what you get: Firmware and TFT tuning for original SW X1 Marlin Firmware. I really like the printer but was missing some features. Accordingly, I implemented the following:</b> <ol> <li>Save to EEPROM <ul><li> Enabled EEPROM to persist settings. Now you can store PIDs and ZOffsets to EEPROM </li></ul></li> <li>P.I.D. Autotune <ul><li> PID Tuning improves your hotend/bed temperatur stability and will positively impact print quality. This command initiates a process of heating and cooling to determine the proper PID values for your hotend. This may take up to 5 minutes. During the tuning process the LED will stay <b>Red</b>. Once the process is finished, the LED will turn <b>Green</b>. Make sure you wait! Your machine specific PID values are now in use. However, if you want to persist your PID settings you must execute “Store to EEPROM”. <b> check update from: 12.12.2019</b> </li></ul></li> <li>Manual Bed Leveling<ul><li> Manual Bed Leveling Homes(G28) and turns off all stepper motors except Z-Motors. Now you can freely move your hotend to the desired positions. I find this helpful for initial bed leveling as you can carefully move your printhead. Do not forget to preheat bed and hotend for accurate leveling. You can use Z+ Z- commands to drive the head up or down overall. However, you need to execute StoreToEEPROM to persist Z Values. </li></ul></li> <li>Activated Linear Advance(v1.5) in Marlin <ul><li> Linear Advance is now activated in Marlin, by default I set the K_Factor to 0, so it is disabled. To enable it using gcode you should first calibrate your specific K factor. You can do this <a href="http://marlinfw.org/tools/lin_advance/k-factor.html"> here</a>. Accordingly set the K factor within your slicer using e.g. M900 K0.2 </li></ul></li> <li>Preheat Presets for PLA and PETG <ul><li> lets you easily preheat to given presets, you can change the temps in the mks_config.txt </li></ul></li> <li>Live Adjust Z / Babystepping Z <ul><li> During printing the first layer you can still adjust the distance between the nozzle and the print-bed. E.g. if you find your print is not sticking you can carefully step down the nozzle or correct it up again without the need to relevel all four screws at the same time. However, this assumes the bed is in level overall but maybe just a little too low or too high overall. You need to execute StoreToEEPROM to persist Z Values. </li></ul></li> </ol> <p>Installation: <ol> <li> Firmware <ul> <li> <B>be careful, 230V connectors, DISCONNECT the 230V power cord, you do not need it for flashing, everything will be savely powered using the USB Connection</B> <p>Either compile the attached source or flash the precompiled hex file. For flashing the precompiled hex file you can e.g. install and use Prusa Slic3r 2.x. In order to be able to flash the firmware you must unscrew the bottom plate of you printer(<b> danger, 230V connectors, unplug power cord first</b>) and disconnect the MKS LCD cable. Otherwise it wont let you flash as both, the TFT and Flasher communicate using serial. After flashing and powering off you simply reconnect the tft+enclosure fan and install the bottom plate again. </li> </ul> </li> <li>TFT <ul><li> simply copy all files in the tft folder to a microSD-Card, insert to your printer and reboot printer, wait until process is finished. Check for mks_config.txt for further information on how to alter specific settings.<p> </li></ul> </li> <li>Reset to factory defaults <ul> <li> I recommend to reset the newly flashed firmware to its defaults and overwrite any older settings. The gcode command is <b>M502</b> to reset the firmware to the hardcoded defaults, followed by <b>M500</b> to save these default setting to EEPROM. You can execute the gcode commands using a terminal program (Arduino has one included) or using the Terminal Tab in octoprint. If you have no serial monitor for running the command you could temporary modify <b>mks_config.txt</b> with a text editor, to include the M502/M500 commands in Line 191 to look like this: <p> #SaveToEEPROM >moreitem_button4_cmd:M42 P4 S0;M42 P5 S255;M42 P6 S0;<b>M502;M500</b>;G4 S1;M42 P4 S255;M42 P5 S0;M42 P6 S0;<p> Now, if you press SaveToEEPROM you will reset to factory defaults and save the settings. Everything will get overwritten, so if you already have done PID Tuning you will need to redo this. Do not forget to remove the M502 command after you executed it once, otherwise you will always reset your settings back to defaults and loose PIDs and ZOffsets. <p><b>Tip</b>: you can simply upload the modified <b>mks_config.txt</b> to the tft, just copy this file to sd and reboot. You do not need to copy all the other files, its a lot faster..... </li> </ul> </li> </ol> <br> <b>some additional info regarding the 2.0 release:</b> <ul> <li> compared to stock firmware I changed the esteps to DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 445 }. I found the original ones odd. If you get dimension issues after firmware update you can apply stock settings { 80.121, 80.121, 399.778, 445 } using gcode M92 (you’ll find this in the M503 you did before the update) </li> <li>reduced BANG_MAX for hotend to 200 to prevent too much overshooting and ribbon cable burns (to be verified if it works out) </li> <li> PID_FUNCTIONAL_RANGE to 35 to allow PID Autotune to execute without interrupting due to massive overshoot </li> <li> activated S_CURVE_ACCELERATION and ADAPTIVE_STEP_SMOOTHING, much quieter now when using Linear Advance </li> <li> consider using M303 E-1 S60 C8 followed by M500 to autotune your bed, I did not have any tft icon remaining

Download Model from thingiverse

With this file you will be able to print Artillery Sidewinder X1 - Firmware / TFT Tuning 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 X1 - Firmware / TFT Tuning.