There are 3 Source files that require changes. These are
platformio.ini
This contains just the change to the top level processor definition. The default configuration shipped with Marlin is the ATMega.
The SKR V1.3 and V1.4 use the LPC1768 Processor, the SKR V1.4 Turbo uses the LPC1769 Processor (basically just a faster clocked version of the LPC1768 with the same pinouts and instruction set).
Marlin’s configuration.h
Definitions for the physical hardware. Motherboard, Serial Ports, Stepper Driver Types, Bed Size & Sensors, Axis Size, Endstops, Acceleration Rates, Extruder, Display etc..
Marlin’s configuration_adv.h
Detail settings for the Stepper Driver Modes/Configuration, Thermal Safety, and extruder tuning
There is a “detailed” explanation of the configuration files on the Marlin web site.
http://marlinfw.org/docs/configuration/configuration.html#configuring-marlin
We have multiple conflicting sources for the changes needed to set up our hardware.
ANet A8 Hardware ie Extruders, Hot Ends, End Stops, Physical Connections
The best source for these are in the ANet A8 example supplied with Marlin 2.0.x (where x = the latest release)
However these are occasionally aggressive so I have moderated some of these settings down to the level that the shipped ANet V1.5 board uses, see below.
Note: We will need to ignore any Motherboard or display specific changes
ANet A8 Settings
Using pronterface, or similar, send gcode M503 to the Original ANet A8 V1.5/V1.7 Board and retrieve the actual configuration that you have been running with. If you have removed the board already then just connect it to the 12V supply and your PC. Then ignore all the other connections.
The settings you retrieve will vary from the Marlin example file and also from the optimistic ones used by many YouTube Videos.
Remember your 1st aim should always be to get the printer working as before.
SKR Main Board Hardware, Chipset, Serial, SDCARD, EEPROM
The source for these are the file differences from the stock Marlin 2.0.x and the BTT Marlin Fork on Github (also confirmed by some Youtube Videos).
Note: We need to ignore any physical printer hardware changes as BTT develop their boards on an Ender 3 and not the A8!
Stepper Drivers unless you stick to the Marlin default use of A4988’s then this area can get quite complex. Most alternative stepper drivers have multiple modes of operation and many dynamic settings.
I did my initial build using A4988s as this did not involve any Marlin configuration changes, this meant I could debug the basic printer with less confusion. Then I moved to using 5 TMC2208s in legacy mode (A4988 Emulation). I am currently using the TMC2208s in UART mode for X,Y, and TMC2208_STANDALONE mode for Z,E0,Z2(E1). I also have an LV7928 in the wings which will eventually replace the TMC2208 on E0.
The Display of your choice. In my case the BTT TFT 2.4 Touch Screen
I will be using this in 12864 compatibility mode to start with.
But remember to setup Serial at 115200 baud for the TFT Mode.
Warning: Do NOT use the ANET 5V 2004 display, the wiring is non-standard and the 5V on the switches can damage the 3.3V SKR boards.
See: https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/issues/4
Auto Levelling. Not something that I have tried yet, nor something that I would recommend to the beginner to attempt straight away. To be honest I get good enough print results from the manual levelling without worrying about the minor distortions in the hot bed. That said I do have an inductive sensor waiting in the wings.
Determining the detail of your changes is best done from watching you tube videos and getting hold of other peoples configuration files and comparing them to the base Marlin files. I find the Search, File differences options of TextWrangler on Mac or the free version of its’ replacement BBedit great for this. I have yet to find a good free Windows equivalent.
I suggest that you start by looking at my own configuration files as, unlike any others that I have looked at, I have flagged and commented all of my changes – with why I have made them and the source of the change. Just search on my identifier string “Caggius”.
Here are some other good starting points
Personal Blogs
CIPRIAN
https://3dprintbeginner.com/marlin-2-0-x-skr-1-3-tmc2208-uart/
with his configuration files for SKRV1.3, ANet A8 and TMC2208 in UART mode here.
https://drive.google.com/drive/folders/1Bq8UP4iM6NGuJq7D9OzyY0Q5_MFFPQLv
Jimmy White
https://www.deviousweb.com/2019/08/28
Facebook Groups
BigTreeTech Official https://www.facebook.com/groups/505736576548648/
BigTreeTech Users https://www.facebook.com/groups/755135144882809/
ANet Modders https://www.facebook.com/groups/a8anetmodding/
ANet & Arduino https://www.facebook.com/groups/241246233101267/
YouTube Channels
BigTreeTech https://www.youtube.com/channel/UCoRY1lWAIKxqTiemuJHuTzQ
Edward Braiman https://www.youtube.com/channel/UCQgi4B8mn_HYUkIImt30B9g
Some Gotchas!
If you perform your own file deltas don’t be fooled by the VERSION 02.... string in the configuration files . The format and content of the Marlin Configuration files are constantly changing and the VERSION defines are pretty static – so there is no guarantee that any two files with the same string actually started with the same base level code.
e.g. Marlin 2.08.2 still has the 2.08.1 Version string, the respective config files do have some changes and 2.08.2 will not compile if you change the string from "02000801" to "02000802".
To get around this I use my own version string and add a change record and comment at the top of each file stating the build level and download date.
If you enable EEPROM emulation on the SKR boards then watch out – the data stored on the SKR by BTT as part of its board test would appear to be an Ender 3 configuration – so this will need resetting before you start using it. A lesson that Paul Wood learnt the hard way.
The default bed PID tuning settings provided in the ANet A8 example assume a borosilicate glass plate that is not shipped with the basic printer. Perform your own PID runs before serious use.