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. Everything else has remain more or less the same.
Below were the changes that I made to the relevant configuration files to get the printer set up and all the bugs flushed out. Hope this helps someone, as I was helped many times by other contributors.
Marlin Configuration - for AnyCubic Kossel Pulley DELTA Printer
-
Marlin Firmware
==========
1.1 Marlin BugFix 2.0.x firmware from Marlin Website, https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x
1.2 Configuration Samples version date: 30-11-2021, extracted from:https://github.com/MarlinFirmware/Configurations/config/examples/delta/Anycubic/Kossel/
1.3 UPDATE: 23-02-2022 - I have since updated to Marlin 2.0.9.3 NEW LINK here==> https://github.com/walterlootk/SKR2-Marlin-2.0.9.3-Delta -
Changes made to the following:
====================
A. Configuration.h
B. Configuration_adv.h (no changes yet - just review)
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 Setup
I. ESP3D Wireless Access Bonus
A) For Configuration.h, the following were done:
================================
** line numbers are closely approximate.
line 33 #define ANYCUBIC_PROBE_VERSION 2
line 39 #define ANYCUBIC_KOSSEL_ENABLE_BED 1
line 113 #define SERIAL_PORT 3 (for Wifi module)
- wifi won't work if reversed with serial_port_2
line 134 #define SERIAL_PORT_2 -1 (enabled for USB Connection)
line 135 #define BAUDRATE_2 250000 (enabled for USB Connection)
line 150 #define MOTHERBOARD BOARD_BTT_SKR_V2_0_REV_B
line 154 #define CUSTOM_MACHINE_NAME "ANYCUBIC Kossel SKR2"
line 797 //#define DELTA_HOME_TO_SAFE_ZONE (default is ENABLED)
- to prevent printhead from going down 70mm after homing (in my case)
line 813 #define DELTA_CALIBRATION_DEFAULT_POINTS 6 (from 4 to 6)
line 848 #define DELTA_HEIGHT 296.20 (from 320 to 296.20, via manual calibration)
- after manually "paper-level" the height, the auto calibration grid works
line 958 #define X_DRIVER_TYPE TMC2209
line 959 #define Y_DRIVER_TYPE TMC2209
line 960 #define Z_DRIVER_TYPE TMC2209
line 969 #define E0_DRIVER_TYPE TMC2209
line 1068 #define DEFAULT_ACCELERATION 2000
line 1070 #define DEFAULT_TRAVEL_ACCELERATION 2000
line 1137 //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
- DISABLED in order to use V2 Probe on PE4 else it crashes into BED
line 1315 #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -16.80 } (actual=-16.73)
line 1473 #define INVERT_X_DIR false (default is ) true
line 1474 #define INVERT_Y_DIR false (default is ) true
line 1474 #define INVERT_Z_DIR false (default is ) true
line 1483 #define INVERT_E0_DIR false (default is ) true
line 1681 #define AUTO_BED_LEVELING_BILINEAR (default)
- at this particular Bugfix version, using Bilinear, my Pronterface can't access the printer
- however, when I switched over to AUTO_BED_LEVELING_UBL, Pronterface is able to communicate with the printer!!!
- anyway, I will not be using the LEVELING_UBL as it generates thermal faults (printer HALT) for both extruder and bed,
- just by enabling the option itself. Maybe in future versions.
- USB access (Pronterface) is good in tandem with the ESP-12S WIFI module only if LEVELING_UBL is enabled.
line 1728 #define ENABLE_LEVELING_FADE_HEIGHT (default=disable)
line 1750 #define GRID_MAX_POINTS_X 9 (default is 9)
line 1778 #define BILINEAR_SUBDIVISIONS 5 (default is 3)
line 1901 #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (50*60) }
line 2018 #define PREHEAT_2_TEMP_HOTEND 230 (from 240)
line 2019 #define PREHEAT_2_TEMP_BED 100 (from 110)
B) For Configuration_adv.h, the following were noted/changed.
Guideline from https://www.lpomykal.cz/anycubic-kossel-skr-1-3-upgrade/
=================================
line 501 #define USE_CONTROLLER_FAN (enable this controller for the TMC2209 drivers cooling fan)
line 503 #define CONTROLLER_FAN_PIN FAN2_PIN (enable & set to FAN2_PIN. default -1)
- this means I am using PB5. You can type in PB5 or FAN2_PIN
line 507 #define CONTROLLERFAN_SPEED_ACTIVE 180 (default = 255)
- I am setting about half-strength so that it is not too noisy (old fan)
line 509 #define CONTROLLERFAN_IDLE_TIME 20 (default is 60)
line 589 #define E0_AUTO_FAN_PIN FAN1_PIN (for Hotend FAN1, see line 601)
- 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 100% FAN0 else soggy printing.
- COOLER_AUTO_FAN_PIN is for laser fan use only
line 601 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 (default value)
line 602 #define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed (default value)
line 1142 #define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] unchanged
line 2598 #define X_CURRENT 800 unchanged
line 2616 #define Y_CURRENT 800 unchanged
line 2634 #define Z_CURRENT 800 unchanged
line 2697 #define E0_CURRENT 950 from 800
line 4044 //#define WIFISUPPORT (default)
C) For platformio.ini, this was updated:
=======================
line 17 default_envs = BIGTREE_SKR_2
D) For pins_BTT_SKR_V2_0_common.h [Marlin/src/pins/stm32f4]
================================
- Commented out line 41 "#define FLASH_EEPROM_EMULATION"
- This causes Marlin to use back the internal SD card as the persistent storage, with the file EEPROM.dat
- my time there were bugs. Maybe it is okay to use this in future (store in EEPROM rather than on EEPROM.dat) - I added #define Z_MIN_PIN Z_STOP_PIN below (line 129 ~135)
line 129 //
line 130 // Z Probe (when not Z_MIN_PIN)
line 131 //
line 132 #ifndef Z_MIN_PROBE_PIN
line 133 #define Z_MIN_PROBE_PIN PE4
line 134 #define Z_MIN_PIN Z_STOP_PIN
line 135 #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
========================
- Switch off the power to the Delta printer
- Follow the colour code of RED and BLACK and plug into the WIFI receptor
G) Compilation of BTT ESP8266-ESP-12S Wifi module [4MB]
=================================
-
You may download the latest ESP3D firmware version here: https://github.com/luc-github/ESP3D/releases
- which comes with the ESP3D-WEBUI as well. -
Go to Installing PlatformIO IDE Extension on VS Code, if you have not done so.
-
Go further down to create a New Project or add New Folder
- this is to make sure you do not mix this project with the SKR2 motherboard project -
For Board: Espressif ESP8266 ESP-12E
- although I am using a ESP-12S BTT module
H) ESP3D-WEBUI / ESP3D-2.1.1 Setup
=================
-
Compile the source code
- make sure it is error-free -
Copy firmware.bin file to the mSDCard - ESPD >ESPD3D-2.1.1 >.pioenvs >esp8266
-
Rename the firmware.bin to esp3d.bin
-
Insert mSDcard into SKR2 mSDcard slot and re-boot the SKR2 board
-
Check the new WiFi SSID and connect your PC to it
-
Load your browser and Type in http://192.168.0.1
- the password for the SSID is 12345678 (default)
- at this point, the printer's LCD panel shows "New Client"
- you will see a non-complete GUI menu with "index.html" or "index.html.gz file" missing message -
Click on the "Interface" at the web menu
- it brings you to Github. Do not panic
- download the ESP3D-Webui source code (at the bottom of the screen)
- unzip the source.zip -
Look out for the index.html.gz file at the root folder of this unzipped folder
- Upload it to the ESP-12S module
- within the same ESP3D web menu, there are "Select" / "Upload" functions
- upload the "index.html.gz" -
Refresh the same ESP3D page.
- A whole new WEBUI screen appears (because of the index.html.gz"
- Click the Configuration tab, SSP3D Setting tab. -
Here, make some important changes,
- Select "client station"
- Input your inhouse wifi SSID and Password
(this is so that your Delta's wifi module now accesses your local network as a client, rather than having its own AP ip address)
- Make other changes, if you want to, such as DHCP or Static IP address
- It is important that you configure the AP parameters and password as in future you might
need this module to act as an AP, for some reasons, securely (see appendix (I))
- you should be able to connect to your Delta within your own network
Finally ESP3D-WEBUI set up.
I) ESP3D Wireless Access Bonus
========================
- If you have a PC or laptop that has a wired LAN & Wifi ports and it is near to your 3D printer (maybe because you shifted the 3D printer)
- If your router's wireless reach is too far and your 3D printer can't reach the router's Wifi SSID (maybe because you shifted the 3D printer)
- Boot up your 3D printer as usual. LCD panel will display "Connecting.. Disconnected...", then " No SSID..."
- Eventually, it should display its own assigned ip address, 192.168.0.1 or
whatever its default ip address, since it can't access the router's wifi
- It has now become an independant AP and will act as a DHCP server
- Let it be
- On your PC, select the ESP3D wireless connection (802.11g, 2.4Ghz, 192.168.0.1)
- On your browser, type in http://192.168.0.1
Your PC will get a new IP address (and become a client of the ESP3D)
- You should be able to access your 3D printer and do the usual configurations/access the printer, if needed
- And because your PC is also connected to the wired LAN, you should also be able to access your Internet
- Best of both world.