2

Sidewinder X-1 Marlin 2.0.5.3 with MBL + TFT

Release Notes
V1.1

  • Stepper Driver definitions

  • Corrected Classic Jerk settings

Features Highlight

  •  Marlin 2.0.5.3
  • EEPROM enabled
  • Thermal Runaway for Bed and Hotend Enabled
  • Mesh Bed Leveling
  • Classic Jerk
  • Baby Stepping
  • Linear Advance
  • Enabled Quick Home 
    If homing includes X and Y, do a diagonal move initially rather than homing Axis individually 
  • Increased Bufsize
    for printing over serial connections - this will help with printing via USB from the computer or Octoprint. - Tim from TH3D explains why I have made this change.
  • PID Tune for Hotend and Bed

If you need help with flashing the firmware, there are guides linked below: 

Sidewinder / Genius Flashing Firmware Guide

How to disconnect the TFT screen before flashing

How to flash the MKS TFT screen

 

 

57replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Just to be clear it's 1) Disconnect screen 2) Flash printer using Arduino 3) connect screen 4) Flash screen?

    Like 1
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • 1
      • Reported - view

      Wes Crockett  correct :) 

      Like 1
    • Bahij Nemeh Rad. Does this firmware have calibration tuning features too? Would love to see a video, photo, or text walk-through of it and hear why it's worth installing over the stock firmware.

      Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • 1
      • Reported - view

      Wes Crockett Yes it has some awesome features like PID autotuning and mesh bed leveling. And that's a good idea, we are working on release notes for the firmware that better explains that stuff 

      Like 1
    • Wes Crockett I have added some Release Notes, is this the sort of information you were after?

      Like 1
    • Gavin Balcomb That'll do! :D

      Like
    • Wes Crockett If you have any other questions feel free to reach out 🙂

      Like 1
  • I'm interested in the workings of the TFT.  Why is it so difficult to find information on it?  I can't seem to find source code and compilation instructions.  I can't even find what kind of TFT it is. (I don't want to open up the printer just to see what it is.)

    Like
    • Terry Bogayong It is actually a difficult one, for the TFT is a clone of a Makerbase MKS TFT2.8 if you want to look that up,

      At current the GitHub for the maker base firmware does not provide the uncompiled firmware, so we are restricted to making changes to the config files.

      Their Github is below.
      https://github.com/makerbase-mks/MKS-TFT/tree/master/MKS-TFT2.8-3.2
       

      Like
    • Gavin Balcomb Hi Gavin, thanks for the reply. That's definitely more information than I've been able to dig up.  I'll take a look at the git. 

      Like
  • FYI, here is how I successfully programmed my X1 (V4) without opening its case from Windows 10 64 bits:

    - Cut the power to your printer
    - Connect its USB cable to your PC and check the COM port number it receives with the windows device manager (right click on the Windows logo)
    - Install Avrdude from http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/avrdude-win-64bit.zip
      (you can also get a newer version from the official website, but this version worked for me)
    - Unzip it somewhere
    - Copy the hex file to the avrdude directory
    - Open a command shell and cd to the avrdude directory
    - With the printer powered off and the USB cable disconnected, type the following command, replacing 'SX1A.hex' by the HEX filename, 'com6' by the COM port name assigned to the printer AND WITHOUT pressing ENTER:
    avrdude -v -v -patmega2560 -cwiring -Pcom6 -b 115200 -D -Uflash:w:"./SX1A.hex":i
    - Get ready to connect the USB cable (put the USB plug in front of the PC connector )
    - Press ENTER on your keyboard and at the same time, plug the USB cable
    - The programming should start. Let it run to an end.
    - If it doesn't work, abort programming by pressing CTRL-C, disconnect the USB cable, press the UP key once and restart ant the "Press ENTER" step until it works...

    Like 1
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • Reported - view

      Juan Manuel Fernandez Castro So some people have been able to successfully able the code without unplugging the tft. I was able to do it a couple of times myself straight from Arduino but the majority of people cannot. Not sure what causes a printer to be able to upload vs not, but we went with the guide that was safer and the majority of people had to follow. But thanks for sharing! :) 

      Like
    • Bahij Nemeh The easiest option is to either open the printer and disconnect the TFT connector or install a switch to cut the power to the TFT from the exterior without having to open the printer again.
      But some people don't want to void their warranty by opening the printer. For these, there a two options that I know of:

      - Linux : Use the 'loop' script from a shell ( see https://www.thingiverse.com/make:734108/ )

      - Windows: Try to start uploading the firmware before the LCD begins communicating with the MKS Gen L clone board

      The problem doing this from Windows is that AVRdude has a retry hard coded into it, but the sequence that puts the AVR of the mainboard in programming mode is only sent once at the first attempt. Windows has a rather slow USB enumeration process, so when you connect the USB cable to the PC, it still needs about 2 seconds for the USB serial port to appear, and this delay depends on the overall speed of the computer.

      The good news is that you can retry the upload process as much as you want, because the bootloader of the mainboard processor is never overwritten. So even if an upload begins, then fails, you can retry it until it successfully finishes.

      The proper way to do this would be to modify the AVRdude source code to repeat the programming mode sequence at each retry, but that is another story...
      Anyway, I really didn't have any problem doing the upgrade with this method.

      By the way, pressing the 'reset' button on the TFT of the V4 printer and maintaining it pressed won't work as this reset is also sent to the mainboard processor, and that's a pity...

      Like 2
    • Bahij Nemeh Juan Manuel Fernandez Castro
      Using the method where we don't unplug the TFT, does failing the flash cause any adverse effects? I would like to try it this way before having to open it up.

      Like 1
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • 1
      • Reported - view

      Wes Crockett Juan Manuel Fernandez Castro

      From my attempts, no there were no adverse effects. I would just get a failed message from Arduino. Although there is a loophole for opening the bottom :) I take off the top 4 screws and the panel bends enough for you to get access to the motherboard without damaging the warranty sticker.  

      Like 1
    • Wes Crockett You should have no problems with the upgrade procedure. If AVRdude starts communication with the mainboard processor, the LCD will not interfere. In any case, should the programming sequence begin then fail, just restart AVRdude and it will work.

      But while the programming sequence is not finished correctly, the mainboard will not be usable until reprogrammed successfully. Again, the bootloader (the code that allows serial programming) is not reprogrammed by AVRdude with the given options, so you are always on the safe side...

      Like 1
    • Juan Manuel Fernandez Castro I've been able to flash my controller without disconnecting the TFT just by following a suggestion in the Artillery Sidewinder facebook group. It was simply to go into a sub menu in the touch screen that wasn't displaying information from the controller (such as temperatures).  I can't recall what sub menu I went to but I can confirm that that method worked. 

      Like 2
    • Terry Bogayong Would the wifi screen qualify as that?

      Like
    • Wes Crockett I think it might.  If I remember right, I went into Tools and then More.  Then just kept it there while I flashed.

      Like
    • Juan Manuel Fernandez Castro You can disconnect the reset cable (2 wires, red and black) between the TFT and main board, then you can use the TFT reset button to flash. That's how my machine is set up. 

      Like
    • Tumbleweed Thanks for the advice. When I finally decided to open the back panel to install a beeper connected to the main board, that's also what I did after seeing how the reset of the main board was cabled...

      Like
  • Hi there, i have de advanced 1.1.9 with MBL.

    If you had the chance to had more than 3 points to MBL, in the firmware i´d love to try it.
    Thx

    Like
    • Jorge Carvalho no answer. It means that's a No?!

      Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • Reported - view

      Jorge Carvalho Let me see what we can do 

      Like
    • Bahij Nemeh Ok Man, I'd appreciate the effort and time dispensed

      Like 1
  • I was just about to do this following the advice of the thread here. One point of confusion I have, though, is when downloading the linked firmware, do I want to use the compiled HEX or the source (bringing in to Arduino with the .ino file)?

    The mentioned guide above seems to vary slightly form the actual process.

    Like
    • Wes Crockett Couldn't get it to flash using AVRDude (get an instant error that I think has to do with being on a 64 bit OS version maybe) or Arduino (pic attached.) Was really hoping to do this w/out unplugging the display.

      Like
    • Wes Crockett Make sure you don't have Octoprint or your slicer connected to the printer when you flash. IOW, close any other programs that communicate with the printer over USB.

      Like 1
    • Terry Bogayong everything was closed.

      Like 1
    • Terry Bogayong main power should be off, right?

      Like
    • Wes Crockett It shouldn't matter but yes, keep it off. 

      Btw, if you didn't make changes to the Configuration.h and Configuration_adv.h files you might as well flash the .hex file.  You can do that through PrusaSlicer if you have it installed.

      Like 1
    • Wes Crockett Did you get it to work?

      Like 1
    • Terry Bogayong Yes. Wrote about the experience here: https://forum.fulament.com/t/h7hyacl/alternate-firmware-flashing-method

      Like 1
  • hello guys, I disconnected the tft, I tried to load the fw two, it takes too long and I get the sketch in error ... do you have any ideas ?? Thanks.

    Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • Reported - view

      maurizio labanti Do you have a slicer open? If so try flashing after closing the program 

      Like
    • Bahij Nemeh no, no slicer open, everything closed as per manual, I managed to update, I updated arduino and it seems that I flashed the eproom ...

      Like 1
  • And , if you installed Repetier, the "Repetier Host Server" runs in background and will "capture" a connected printer's serial port, even if Repetier-Host is not running!
    Stop it with the "Stop Server" link in the "Repetier-Server" group in the WIndows start menu

    Like 2
  • last question: once installed, should the m500 command be given on repetier host?

    Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 3 mths ago
      • 1
      • Reported - view

      maurizio labanti M500 is to save settings after you make a change unless you have indeed changed any settings it is not necessary. If you have then the M500 can be sent through any platform that can send you Gcode to your printer ( Repetier host, Cura, Simplify 3D, etc.....)

      Like 1
    • maurizio labanti In addition to what Bahij said, initially you should do an M502 to load whatever default values were in the firmware you just flashed.  Then do the M500.  After that, whenever you make changes, (for example after calibrating your steps per mm or setting new PID values) do an M500.

      Like 1
  • ok. thanks guys.

    Like
  • Flashed the firmware and TFT. LCD is working, printer turns on but when touching the different commands like moving motors / homing / fan speed controls, printer is not responding. Is the mainboard bricked?

    Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 2 mths ago
      • Reported - view

      Lance I would reflash the mainboard but also make sure the TFT is connected properly. A firmware update should not brick the board 

      Like
      • Lance
      • Lance
      • 2 mths ago
      • Reported - view

      Bahij Nemeh thanks reflashed and it's okay.

      Like
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 2 mths ago
      • Reported - view

      Lance Awesome to hear! 

      Like
  • I posted this on Thingiverse.  In case someone wants to add a switch to their TFT. 

    https://www.thingiverse.com/thing:4420720

     

    Like 2
      • Bahij Nemeh
      • CEO
      • Bahij_Nemeh
      • 2 mths ago
      • 1
      • Reported - view

      Terry Bogayong Awesome, thanks for sharing! 

      Like 1
    • Terry Bogayong Give more details on how you made the wire connections

      Like
    • Jorge Carvalho Sorry about that, I meant to add the instructions to the thingiverse page but I got sidetracked.    On the TFT cable, cut the wire farthest away from the reset switch wire (the one with the red and black wires) and connect the wires to the two switch terminals.

      Like
    • Terry Bogayong Don't know when I'm going to do do it, but thid was crossing my mind.

      THX.

      Like
    • Jorge Carvalho  You're welcome.  Reach out if you need help with anything.

      Like
  • Sorry about the gigantic pic. I don't know how to resize it in my post.

    Like
  • So do I get tthis right: these firmwares supports manual mesh bed levelling? In that case, the files provided here would have very similar functionality as those used by EZY3D LAB here: https://www.youtube.com/watch?v=KxIPk5LAUVo (Though I like your display images much better.) Nevertheless, there seem to be quite a number of differences in the config files  (Configuration.hConfiguration_adv.h, and mks_config.txt) but I'm not sure I understand their implications. If you have time to look at them (linked above), I would be curious to learn learn what these differences mean. Are there any pros and cons for each version?

    Like 1
    • Christoph Both flavors seem to offer similar feature sets. What's different in the marlin config file? 

      Like
      • Christoph
      • Christoph
      • 3 wk ago
      • 1
      • Reported - view

      Bahij Nemeh You can see the differences between the Marlin config files by clicking on the links in my previous post. 

      In the mean time, I found out that the most advanced firmware-set for the Sidewinder X1 is probably the one that Gary from Print Engineering is working on. See here: https://www.thingiverse.com/thing:4251390

      Like 1
    • Christoph They are almost identical just a few different values for the acceleration of retracts, PID tune settings, and other small details. They shouldn't make a significant difference, most users would never be able to tell. It's also a good idea to do your own PID tuning regardless, each person's values will be different.  And yes that is indeed a good firmware, Gary put a lot of work into it :) 

      Like
  • Hi, thanks for the FW and the very nice TFT! I am quite new to this but have successfully flashed everything and the printer is working. I am however also just set up Octoprint and find that the printing job is not shown on the TFT when printing from Octoprint. Is this normal? Do I also then loose the option to use babystepping?

    Like
Like2 Follow
  • 2 Likes
  • 11 days agoLast active
  • 57Replies
  • 1845Views
  • 12 Following