SKR 1.3 or 1.4 & MKS SGEN L Board Setup Tutorial with TMC2208 UART

SKR 1.3 or 1.4 & MKS SGEN L Board Setup Tutorial with TMC2208 UART

thingiverse

This is all about the SKR 32Bit board and it's setup, firmware and wiring. This is a condensed tutorial there's much better out there such as [Vanessa_E's Instructable](https://www.instructables.com/id/TMC2208-UART-on-BigTreeTechBIQU-SKR-V11-and-V13-Co/) if you do not find what you need here. This is going to be for Windows users. The newer SKR 1.4 board includes 2 Z plugs right on it and a slightly faster CPU. I would recommend this one going forward just for two Z outputs. Here's BTT's own guide on the SKR 1.4. [This is very complete, check it out!](https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/BTT%20SKR%20V1.4%20Instruction%20Manual.pdf) BIQU also makes a board just for the Ender3. [The SKR Mini E3](https://www.biqu.equipment/collections/skr-series/products/bigtreetech-skr-mini-e3-control-board-32-bit-integrated-tmc2209-uart-for-ender-4) it's size and pin compatible with the stock ender board and has integrated TMC2209. Also direct from them is the cheapest I have found the boards. They have a [combo package](https://www.biqu.equipment/collections/skr-series/products/btt-skr-v1-4-or-v1-4-pro-32-bit-control-board-expansion-btt-writer-flash-esp01s-wifi-module-dcdc-mode-3d-printer-parts-panel) too if you can wait for the shipping. #Note on Anet screens: They will not work with this board. Anet screens are not wired to the regular standard and are 5v. These use 3.3v logic. Use a 12864 or 2004 RepRap type screen. That said, Let's dive in! #Requirements - [SKR 1.3 Board](https://www.amazon.com/BIQU-Printer-Smoothieboard-Compatible-Ramps1-4/dp/B07P87J274) #OR - [MKS SGEN L Board](https://www.amazon.com/BZ-3D-Controller-Motherboard-Smoothieware/dp/B07WDY59FH) #OR - [SKR 1.4 Board](https://www.amazon.com/BIGTREETECH-Printer-Control-Smoothieboard-Upgrade/dp/B082HCFL34/ref=sr_1_1?keywords=skr+1.4&qid=1581564139&sr=8-1) #OR -[SKR 1.4 Turbo Board](https://www.amazon.com/gp/product/B082YTYDCK/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) - [VSCode](https://code.visualstudio.com/download) - [TMC2208 Drivers, newer ones like these come per-configured for use on this sort of board](https://www.amazon.com/BIGTREETECH-TMC2208-Stepper-Driver-Printer/dp/B07WGCF3L2/) - [Micro SD Card Reader](https://www.amazon.com/UGREEN-Reader-Memory-Windows-Simultaneously/dp/B01EFPX9XA) - [Marlin 2.x](http://marlinfw.org/meta/download/) #Optional - [LV8729](https://www.amazon.com/heaven2017-Stepper-Aluminum-Heatsinks-Accessories/dp/B07N7GB88B) or other driver for extruder - [LCD12864](https://www.amazon.com/KINGPRINT-Graphic-Display-Controller-Adapter/dp/B076WQQX5K) - Many LCD options supported! #Getting Started First thing download and install VSCode. Once installed you need to add Platform.io to it. - Open VSCode and select the cube icon on the left ![platform1](https://nextcloud.thiscloudiscrap.com/index.php/s/95sBpbYTPqC8Pq3/preview) - At the top you will see a search box. Type in "platform" and select install on Platform.io IDE ![platform2](https://nextcloud.thiscloudiscrap.com/index.php/s/JomG6J8RNZtA9fE/preview) It can take a few minutes to install and may ask you to reload, Do so and it's ready to go. - In the left column again select the first icon that looks like sheets of paper. This is our workspace. Here select "Add Folder" and browse to the unzipped Marlin firmware you downloaded. Make sure you go to the folder level with the platform.ini in it. ![platform3](https://nextcloud.thiscloudiscrap.com/index.php/s/xHDFP8ebceGdw6w/preview) - Your workspace should now look like this with the Marlin FW files loaded. ![platform4](https://nextcloud.thiscloudiscrap.com/index.php/s/dpCHRZkLsZp49DK/preview) - The first file we need to edit is Platform.ini. Select this in the list and it will load into the workspace editor. Find the line "default_envs" right near the top and change it to "LPC1768" as shown. Now if you have the SKR 1.4 Turbo this needs to be set to LPC1769. ![platform5](https://nextcloud.thiscloudiscrap.com/index.php/s/JwBNoocqpNdnLQP/preview) - Save this with CTRL+S and lets go to the Marlin folder from the list in the left column. Select Configuration.h to load it and let's start setting up your machine here. ![platform6](https://nextcloud.thiscloudiscrap.com/index.php/s/iCbYx2PRGTfXter/preview) Here's where you will make most of the needed changes for your machine. Start at the top and work your way down setting up your options. #SKR - Set the first serial port to "#define SERIAL_PORT 0" - You need to remove the // in front of the line "#define SERIAL_PORT_2 -1" to uncomment it. - For SKR 1.3 set your MOTHERBOARD to "#define MOTHERBOARD BOARD_BTT_SKR_V1_3" - For SKR 1.4 set the MOTHERBOARD to MOTHERBOARD BOARD_BTT_SKR_V1_4 and for the Turbo version use MOTHERBOARD BOARD_BTT_SKR_V1_4_TURBO #MKS - Set your serial port to "#define SERIAL_PORT -1" - For MKS SGEN L set your MOTHERBOARD to "#define MOTHERBOARD BOARD_MKS_SGEN" #SKR 1.4 and SKR 1.4 Turbo with BLTouch special note! With this setup in order to use the special BLTouch header on the board you need to make a few small changes: - In configuration.h comment out the line: #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN by putting // in front of it. - In \Marlin\src\inc\conditionals_LCD.h search for the line "#define HAS_CUSTOM_PROBE_PIN" ![where](https://previews.dropbox.com/p/thumb/AAwdpSpp1ygZIn_WTjkZALHXlzWuouPIPukSFo6pbjeYnUGsqcaDCT38DxafBi-O7HKf7Ybkj9xMBhhosXpBtOQHFjYkChSFpeOfKjYyTLGpSPh4bFj41ETTF3LbElEn6bScn0VgopiqLLnmaudpbdDV4aJVu3FsNeW1uiL3GbJRPEpGHiIuUUBbxVOU6ZlldGnf1tWJ_m_xLB1iiwFGPhMO6seVMoy9EpaO-OVoCLr48yMaFx-AlqaGnbjDjlbM-2LD935zLBlySuyU-YV5hq7KsCKR_tW1sQdLAi0pdAlo_WU_UwJ-u4Rf4J3VMn6-mFJyiV19zMbA0PqGun0R7vof/p.png?fv_content=true&size_mode=5) - Change that line to: #define HAS_CUSTOM_PROBE_PIN true - Just below that line change #if Z_HOME_DIR < 0 && !HAS_CUSTOM_PROBE_PIN to #if Z_HOME_DIR < 0 ![how](https://previews.dropbox.com/p/thumb/AAzPFWmJ1SncmHgxVaJe-5HIkelF8uOy2ymyXlemnMd90I2CW6a8gJsGMMGyaGimsnox_0qSXYJxteVNvZfLHrMrz8T9Y-arD1OkmLGxVjMcHNrcj7Yj2NT1yQJqhdQZYfEdHHO_VszRuS7raAnpFjyS5xW-Xs5SepP36Ywpu_KPnJbPq7rNOkID7XQjFh48VE_I8pWUnE9y-d6ZKaWwNeBZA8qGfYdwplb4d664X4d-974j09nLD4EH-9josYl1XiZ-nxzLb65Ugp8EaOwbhrbQl7MPKHdm3N7XJGTWnp00A5WD_9edJK8vy9ZYIlUYYGjeqP97tf2A4ojk6-AWOYVa/p.png?fv_content=true&size_mode=5) #Restart VSCODE to load changes! #Marlin General Now I am assuming you have some experience with Marlin FW here. You need to set things like your filament diameter, number of extruders, thermistor types, bed leveling if you have it and so on. This tutorial is not meant to go in depth on these settings. You can also use the included example configs in Marlin but make the above changes per your board. Now you need to set your Stepper Drivers in Marlin. Uncomment and set the type for each axis you have. For TMC2208 in UART you set TMC2208 as shown. ![platform8](https://nextcloud.thiscloudiscrap.com/index.php/s/jkwAq7tsiYyMFgN/preview) I run LV8729 on my extruder so it is set that way. Next we move on to Configuration_adv.h and search for TRINAMIC to find this section. ![platform9](https://nextcloud.thiscloudiscrap.com/index.php/s/QGd2TySqGGbkBwa/preview) Here is where we set the steps and drive current. 800MA is pretty typical and you can leave it here on most machines. the MICROSTEPS is the step divider. On this machine I run 32 but 16 is more typical. This effects your STEPS_PER_MM. I would leave at 16 for most cases. Moving down you will find "//#define HYBRID_THRESHOLD". Remove the // in front of this line and let's set this up. What this sets it the speed it switches from Stealthchop to Spreadcycle. This helps with high speed moves where Stealthchop can easily skip steps. I set this to 50. This keeps the machine nice and quiet for most moves but provides the needed torque for fast direction changes. ![platform10](https://nextcloud.thiscloudiscrap.com/index.php/s/XNM6GinAg3knPzc/preview) This should be all the changes you really need to make in the firmware. #Compile the Firmware To compile press CTRL+SHIFT+B to bring up the build menu. ![platform7](https://nextcloud.thiscloudiscrap.com/index.php/s/3B4cENzSSwPNXJF/preview) Select PlatformIO: Build as shown and it will start to compile. This should take a few minutes to complete and you will see a readout of what's going on in the terminal at the bottom of the VSCode window. If everything is right it will show a message like this: ![platform11](https://nextcloud.thiscloudiscrap.com/index.php/s/6mjrxWgmtnXCE4L/preview) Once it has successfully compiled you can right click on the .pio folder and hit "Reveal in explorer" to open it in file explorer. ![platform12](https://nextcloud.thiscloudiscrap.com/index.php/s/6nM2jaGP5MqiHnA/preview) Dig down into that folder to the LPC1768 folder, same as your processor. Here you will find the file firmware.bin. This is all we need to flash the firmware. Copy this file to the included micro SD card and insert it in the board. Once it's powered up it will load this file and rename it to firmware.cur. ![PLatform13](https://nextcloud.thiscloudiscrap.com/index.php/s/FYFzNa99LMnMg5x/preview) #Installing the board On your SKR board, which I will be using as my example here, You have 5 stepper driver slots with jumpers under them, a row of jumpers spaced out along the front and more jumpers across the board. Let's have a look at what these are. ![board1](https://nextcloud.thiscloudiscrap.com/index.php/s/Hrqp6zLfD7GeLCK/preview) Here you can see the purpose of these jumpers. Since I run 3 stepper drivers that are TMC2208 those have the jumpers set for UART control. The 4th jumper has it set for 1/16th steps with a LV8729. There are 4 jumpers instead of 3 like on RAMPS so only the first 3 are used to set steps. To set steps on a non-UART or SPI driver remove the jumpers as usual. ![board2](https://nextcloud.thiscloudiscrap.com/index.php/s/R9235ZrjQYiMsDZ/preview) Here is the board with stepper drivers installed for reference. The colored band along the stepper pins match with the colored header on the board for correct installation. Still check with your drivers to be sure this matches. ![layout](https://reprap.org/forum/file.php?1,file=111776) ![match](https://nextcloud.thiscloudiscrap.com/index.php/s/PTkGodiLRZcDEG9/preview) ![match2](https://nextcloud.thiscloudiscrap.com/index.php/s/gAs4wXropYoTsfp/preview) Next we can attach the power and heater wires. ![power](https://nextcloud.thiscloudiscrap.com/index.php/s/ABRfkQLA8X9rxjy/preview) Here I have marked the polarity of the pins as well. Please pay close attention to this as it flips from the power connector to the others. Here's the stepper driver locations and output. These boards only have a single Z output but there's inexpensive dual output adapters you can pick up to run your dual Z motors easily. ![steps](https://nextcloud.thiscloudiscrap.com/index.php/s/A8TTmXz4D6Ltbgp/preview) #Endstops and Thermal Sensors ![endstop](https://nextcloud.thiscloudiscrap.com/index.php/s/aMfGWZKB9nQyP5N/preview) Here's the connections for the endstops, thermals and LCD AUX. On some machines the endstop wires might need to be swapped around to match the board. If you use a standard LCD12864 then the wires connect as usual! #BLTouch Wiring For the BLTouch there's a separate header for the servo signal. ![bltouch](https://nextcloud.thiscloudiscrap.com/index.php/s/4AJB3rrj5eLxQqR/preview) This little connector is just for servos. This is where the 3pin BLTouch connector hooks up if you use one. #I think that's it! Send me a message or leave a comment if I missed something. I hope this helps! #Thank you!

Download Model from thingiverse

With this file you will be able to print SKR 1.3 or 1.4 & MKS SGEN L Board Setup Tutorial with TMC2208 UART 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 SKR 1.3 or 1.4 & MKS SGEN L Board Setup Tutorial with TMC2208 UART.