Skip to content

AnyCubic Kossel with SKR 2.0 (B), TMC2209 drivers, Wifi Module and Marlin 2.0.9.3 firmware.

Notifications You must be signed in to change notification settings

walterlootk/SKR2-Marlin-2.0.9.3-Delta

Repository files navigation

SKR2-Marlin-2.0.9.3-Delta

First Edition: 14-02-2022

Updates: 23-02-2022

Description
=========

I have an AnyCubic Kossel Pulley 3D printer since April 2017. It has been working well. However, in August 2021, the 8-bit Trigorilla board died, hence initiating a motherboard replacement. On the same month, I got hold of an SKR 2 Rev B board, four TMC2209 v1.2 stepper motor drivers and a BTT ESP8266 WIFI Module ESP-12S. All other parts remain more or less the same. The firmware installed is 2.0.9.2-BugFix.

On top of the 240mm diameter heating bed (2.9 ohm at 29.5C = 4.1A current requirement) is a 3mm Bolo glass with 200mm diameter. Endstops are original mechanical two wires type. Stepper motors are 42HD4027-01 NEMA x 4 units. Display is a RepRap Discount Smart Controller (EXP1 and EXP2) c/w SDCard slot.

From 14-02-2022 onwards, I upgrade the firmware to the latest 2.0.9.3 stable version. Below were the changes that I made to the relevant configuration files to get the printer up. Hope this helps someone, as I was helped many times by other contributors.

Marlin Configuration - for AnyCubic Kossel Pulley DELTA Printer

Description: Upgrading from Marlin version 2.0.9.2 (Bugfix) to 2.0.9.3 (Stable). Some of the information that I added, like the (J) Bonus is another way to help me remember what I did or can do when I hit similar problems later.

Marlin Firmware
===========

Downloaded Marlin firmware -2.0.9.3 from https://marlinfw.org/meta/download/

  • the downloaded file is Marlin-2.0.x
  • I renamed and unzipped this main file to Marlin-2.0.9.3. For easier identification later on

Downloaded Configuration Examples from https://github.com/MarlinFirmware/Configurations/releases/tag/2.0.9.3

  • steps:
  • scroll down to bottom of page
  • click on "Source code (zip)" and download the file, which is named "2.0.9.3.zip"
  • unzip the file and drill down to "Examples" folder >Anycubic >Kossel
  • copy the files "Configuration.h & Configuration_adv.h"
  • paste them into >- Marlin-2.0.9.3>Marlin-2.0.x >Marlin (overwrite the existing configuration files)

Running Visual Studio Code 1.64.2
=========================

Load up VSC

  • if you see previous version 2.0.9.2 and do not want to see them on the screen, click File and close all the folders.
  • select File > Open folder and open up the Marlin -2.0.9.3 folder as per this sequence below:

    Marlin-2.0.9.3 >Marlin-2.0.x >Marlin [you should not see folders "lib" and "src"]

OR at this point in time, you may just CREATE a new project

  • Load up the PIO Home page
  • create a new Project [+ New Project]
  • make sure you use the pop-up "File Explorer" window, to drill to the Marlin folder.
  • click on the "Select" folder button.
  • wait for about 2 seconds and all will be well

If you want to compare this Configuration.h with the current 2.0.9.2, visually, do this:

  • click on the "Split Editor" icon at the top-right of the VSC screen.
  • now you will see two copies of the same Configuration.h. Ignore this 2nd copy - let it be here for a while. You will close this later.
  • Click on the main menu option, File >Open File and look for the folder that keeps the 2.0.9.2 version of the Configuration.h. Select the 2.0.9.3 Configuration.h file.
  • this 2.0.9.2 Configuration.h would now be presented in this split window. You can move your cursor to the redundant 2nd Configuration.h file and click on the "x" to close it.
  • with this, you should be able to compare the 2.0.9.3 against the 2.0.9.2 for customised edit.
  • once you are done with the changes, close the Split Editor.

If you find that, for some reasons, the PlatformIO:Build icon has disappeared from the bottom-left status bar, do this. Righ-click on the status bar and select PlatformIO:Toolbar.

Contents Index
===========

A. Configuration.h
B. Configuration_adv.h
C. platformio.ini
D. pins_BTT_SKR_V2_0_common.h
E. Wiring of my existing Delta's Mechanical Endstops
F. Installation of the BTT ESP8266 ESP-12S Module
G. Compilation of BTT ESP8266-ESP-12S Wifi module [4MB]
H. ESP3D-WEBUI / ESP3D-2.1.1
I. How to upload firmware 2.0.9.3 to Anycubic Kossel Printer

A) Changes to Configuration.h
======================

line 33 #define ANYCUBIC_PROBE_VERSION 2 (default: 0)
line 39 #define ANYCUBIC_KOSSEL_ENABLE_BED 1 (default: 0)
line 107 #define MOTHERBOARD BOARD_BTT_SKR_V2_0_REV_B
line 118 #define SERIAL_PORT 3 (from 0 to "3", for Wifi module)
     - wifi won't work if reversed with SERIAL_PORT_2
line 140 #define SERIAL_PORT_2 -1 (enabled - for USB conection)
line 141 #define BAUDRATE_2 250000 (enabled)
line 155 #define CUSTOM_MACHINE_NAME "ANYCUBIC Kossel SKR2"
line 498 #define TEMP_SENSOR_0 5 (default)
line 507 #define TEMP_SENSOR_BED 5 (default)
line 798 //#define DELTA_HOME_TO_SAFE_ZONE (disabled)
     - disabled so that print head will not go down like 50mm after homing
line 814 #define DELTA_CALIBRATION_DEFAULT_POINTS 4 (No change)
line 849 #define DELTA_HEIGHT 293.33 (default: 320)
     - from manual Z-movement to bed check
     - should give 310.13 at LCD when Auto Home
line 959 #define X_DRIVER_TYPE TMC2209 (default: A4988)
line 960 #define Y_DRIVER_TYPE TMC2209 (default: A4988)
line 961 #define Z_DRIVER_TYPE TMC2209 (default: A4988)
line 970 #define E0_DRIVER_TYPE TMC2209 (default: A4988)
line 1069 #define DEFAULT_ACCELERATION 600 (from 3000)
line 1071 #define DEFAULT_TRAVEL_ACCELERATION 1000 (from 3000)
line 1139 //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN (disabled)
line 1317 #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -17.175 }
     - default was -16.80
line 1475 #define INVERT_Y_DIR false (from true)
line 1476 #define INVERT_Y_DIR false (from true)
line 1477 #define INVERT_Y_DIR false (from true)
line 1485 #define INVERT_E0_DIR false (default:true)
line 1693 #define AUTO_BED_LEVELING_UBL (enabled)
line 1702 #define RESTORE_LEVELING_AFTER_G28 (enabled)
line 1744 #define G26_MESH_VALIDATION (enabled)
line 1748 #define MESH_TEST_HOTEND_TEMP 230 (default:205)
line 1749 #define MESH_TEST_BED_TEMP 100 (default:60)
line 1777 #define ABL_BILINEAR_SUBDIVISION (left enabled)
line 1793 #define MESH_INSET 15 (default:1)
line 1895 #define Z_SAFE_HOMING (enabled)
line 1903 #define HOMING_FEEDRATE_MM_M { (35*60), (35*60), (35*60) }
     - (from 100*60,100*60,100*60)
line 2018 #define PREHEAT_1_FAN_SPEED 255 (from 0)
line 2021#define PREHEAT_2_TEMP_HOTEND 230 (from 240)
line 2022 #define PREHEAT_2_TEMP_BED 100 (from 110)
line 2024 #define PREHEAT_2_FAN_SPEED 0 (default)
line 2037 #define NOZZLE_PARK_FEATURE (enabled)
line 2163 //#define PRINTCOUNTER (disabled) -else out of memory during compiling
line 2254 #define SDSUPPORT (so that we can use the SDcard slot)
line 2261 //#define SD_CHECK_AND_RETRY (disabled) -else out of memory during compiling

line 2356 #define REPRAP_DISCOUNT_SMART_CONTROLLER (I am using the old stock Controller)

B) Changes to Configuration_adv.h
=========================

line 511 #define USE_CONTROLLER_FAN (enabled)
line 513 #define CONTROLLER_FAN_PIN FAN2_PIN (enable & set to FAN2_PIN. Default was -1)
     - this means I am using PB5. You can type in PB5 or FAN2_PIN
line 517 #define CONTROLLERFAN_SPEED_ACTIVE 190 (from 255)
     - I am setting about half-strength so that it is not too noisy (old fan)
line 519 #define CONTROLLERFAN_IDLE_TIME 20 (From 60)
line 611 #define E0_AUTO_FAN_PIN FAN1_PIN (Default: -1) (for Hotend FAN1, see line 620)
     - using FAN1_PIN instead of PB6 is easier to read
     - as FAN_PIN is default defined for FAN0 -Parts Fan BUT
     - make sure Cooling Fan Number in Cura is set to "0" otherwise no fan during print
     - I have an enclosure yet still need to enable 20% FAN0 else soggy printing.
     - COOLER_AUTO_FAN_PIN is for laser fan use only
line 1633 #define SDCARD_CONNECTION LCD
     - so that myRepRap Discount Controller can read the SDCard
     - otherwise it reads from the SKR2 board mSDCard!!
line 2801 #define E0_CURRENT 950 (FROM 800)

C) Changes to Platformio.ini
=====================

line 16 default_envs = BIGTREE_SKR_2

D) For pins_BTT_SKR_V2_0_common.h [folder: Marlin/src/pins/stm32f4]
=====================================================

Commented out line 41 "#define FLASH_EEPROM_EMULATION"
     - This causes Marlin to use back your internal SD card as the persistent storage, with the created file EEPROM.dat
     - just make sure you have an SD Card in yur SDCard slot at all times. You should be as that is where you keep your gCode files
     - otherwise, you will get "No eeprom" error message when doing M500 or "Store Settings"

I added #define Z_MIN_PIN Z_STOP_PIN below
line 128 //
line 129 // Z Probe (when not Z_MIN_PIN)
line 130 //
line 131 #ifndef Z_MIN_PROBE_PIN
line 132 #define Z_MIN_PROBE_PIN PE4
line 133 #define Z_MIN_PIN Z_STOP_PIN
line 134 #endif

E) Wiring of my existing Delta's Mechanical Endstops
===================================

Common and NC (default Anycubic 2017) wiring, therefore I am using GND/PC1(X), GND/PC3(Y), GND/PC0(Z) on the SKR 2.0 board

F) Installation of the BTT ESP8266 ESP-12S Module
======================================

Please refer to the SKR2_ESP8226_Delta github for installation steps.

Here: https://github.com/walterlootk/SKR2_ESP8226_DELTA

G) Compilation of BTT ESP8266-ESP-12S Wifi module [4MB]
=================================

Please refer to the SKR2_ESP8226_Delta github for installation steps.

Here: https://github.com/walterlootk/SKR2_ESP8226_DELTA

H) ESP3D-WEBUI / ESP3D-2.1.1
=================

Please refer to the SKR2_ESP8226_Delta github for installation steps.

Here: https://github.com/walterlootk/SKR2_ESP8226_DELTA

I) How to upload firmware 2.0.9.3 to Anycubic Kossel Printer
====================================

If you don't see the "PlatformIO:Build" tick mark at the bottom-left of the task bar, you have to load up the PIO Home page and create a new Project [+ New Project], making sure you use the pop-up "File Explorer" to drill to the Marlin folder. Remember, the correct Marlin folder is the one where you can see the "lib" & "src" folders.

First, compile the amendments you made to the Configuration.h, Configuration_adv.h and other dependant files, by clicking the "PlatformIO:Build" check-mark at the bottom-left of the VSC taskbar.

When there is no compilation errors, copy the "firmware.bin" file into your mSDCard. The "firmware.bin" file is located at >marlin-2.0.9.3>Marlin-2.0.x>.pio>build>BIGTREE-SKR_2.

Insert the mSDCard into the SKR2 motherboard mSD Slot and power up the Kossel.

If you get a [Ignore] or [Reset] prompt, click on the [Reset] and reBOOT the Kossel. All came out fine, with the Wifi Module up as well.

You do not need to re-install the Wifi firmware, since you have done it to the SKR2 at the previous 2.0.9.2 Marlin version.

Remember to do: M502, M500 or reset/init eeprom on display

J) Bonus
=======

If you made some changes to the bed or shifted the endstops, you can make changes to the Z-Probe Offset, old school way.
     - Do an Auto Home, and note the Z-Height value at the LCD
     - Take note of your Z-Probe Offset value. Example -16.80
     - If you are printing with ABS, set your bed temperature, e.g. 100C, first.
     - It is okay to let the nozzle remain unheated.
     - Without mounting the probe, lower the print head down >Motion >Axis >Z-Axis, until it tugs gently (not hard, almost loose) at your A4 paper.
     - If necessary, disable Soft Endstops, (from ON to OFF), to allow for the nozzle to go to negative value.
     - Take note of the Z-probe variance value from the A4 paper probing, e.g. -0.25
     - Do this calculation: (Existing Z-probe Offset) + (new Z-Probe variance value)
      => (-16.80) + (-0.25) = -16.85 [this is math, so the +/- signs is important]
     - Do a Store Settings.
     - Power off/power on the Delta, to be sure.
     - Finally, repeat this process(s) until you are satisfied
     - This is old school way, and you only do it once.

K) Enabling UBL
==============

Initially I had some problems. The MESH Print came out with two close spots above the center, unprinted. It is just not sticking. I solved it (through friends help):
     - Tightened the 4 screws (that hold the hotend securely) in place, as two of which had slightly loosen
     - Flipped the glass over, just in case I have a bad glass
     - Found out that it was actually caused by the Y & Z belts. Both are not guitar-string tight. Once tightened, no more sticking issue as well as the layer running with big gaps at certain times.
     - Use the LCD Step-byStep UBL guide instead of just issuing all the associated G29/G26 commands as per Youtube guide. This forces the printer to prime out a long filament trail and it helps to clear the nozzle beautifully, thus printing a fuller MESH instead of a skinny MESH.
     - TAKE NOTE: The Manual Priming (from the LCD), although automatic, will continue to prime out the filament UNTIL you click the knob to stop it!!
     - Also, before you click on the Validate MESH, please put in your sticky stuff on your bed, if you need to. Pre-heat your bed, if you need to. And, by now, you should have removed your PROBE, if there is a need to, like mine.
     - I also did not include the G29 L1 code into the Cura printer Start Code. The printer knows that it has already been activated.
     - The few times I use the Wifi Module to issue commands are for G29 T (list the table), G29 S1 and M500 (no need for these two commands as this storing handled in the LCD as well.

L) Visual Source Code
==================

If you have previously installed VSC and suddenly, due to installation of a new program or there was a mishap with your computer, you can try the following to get your projects in
     - Click on File > Open Folder
     - Drill down to the Marlin folder - the one that doesnot contain the SRC and LIB folders, and click the Select folder button.
     - Your previously working project(s) will come back to live.

About

AnyCubic Kossel with SKR 2.0 (B), TMC2209 drivers, Wifi Module and Marlin 2.0.9.3 firmware.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages