Shipping Lead time: 4-7 weeks
Shipping Lead time: 4-7 weeks
Like to tinker and have access to your favorite firmware that works on the Ender 5? Then you will need to make the following changes on your firmware. Please remember to save a copy of your working firmware for backup purposes before making any changes
There is no downloadable firmware in this section because you have to make changes yourself. If you need downloadable firmwares, you can find them under the firmware section in the main menu.
There are 2 types of firmware we advocate.
Cheetah 5.0, a Marlin 2.0.6 variant and Vanilla Marlin (the purest form of Marlin)
Firmware Option 2 using Vanilla Marlin:
Please be sure to download Vanilla Marlin from this link first.
1) Make the changes in your code, compile in your favorite environment and hit compile.
2) Flash it to your board (different board has different instructions. Be sure to check with your board's manufacturer if you are unsure)
3) Test the setup by navigating the hotend’s movemet; up, down, left & right
4) If all is well, your firmware setup is now complete
Here are the codes that you need to change to in Configuration.h in Marlin.
The easiest way to find these codes is open your Marlin folder in Arduino IDE or VS Code etc and "Crtl + F" them on windows and "Cmd + F" if you're on Mac.
The italic words after // are comments/ explanation for the codes on the left.
You do not have to put them in your code.
For example, if the code that appears on your computer is "// #define COREXY" but the required code is "#define COREXY", you will remove the // lines before #define COREXY and vice versa.
- - -
#define COREXY // This tells Marlin that you have a CoreXY Machine
//#define USE_YMIN_PLUG // You can only have one end stop definition. We comment this out so we can use Y_Max_Plug
#define USE_YMAX_PLUG // You tell the machine that you want it to home towards Y Max.
//#define USE_XMAX_PLUG // You can only have one end stop definition. We comment this out so we can use X_XMIN_PLUG
#define USE_XMIN_PLUG // You tell the machine that you want it to home towards X Min.
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } // Recommended values are not mandatory. You can change them if you like
#define DEFAULT_ACCELERATION 500 // X, Y, Z and E acceleration for printing moves. Recommended values are not mandatory. You can change them if you like
#define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_EJERK 5.0 //Non mandatory values
#define INVERT_X_DIR false //You need to invert this to allow X to move correctly
#define INVERT_Y_DIR false //You need to invert this to allow Y to move correctly
#define INVERT_Z_DIR true //Inverts your Z direction to go downwards instead of upwards
#define INVERT_E0_DIR true //You may have to flip this value to false if extruder turns in the wrong direction
#define X_HOME_DIR -1 //Defines X Axis homing direction
#define Y_HOME_DIR 1 //Defines Y Axis homing direction
#define Z_HOME_DIR -1 //Defines Z Axis homing direction
#define X_BED_SIZE 365 //Maximum Printable Volume in X direction is 230
#define Y_BED_SIZE 370 //Maximum Stock KAY3D Corexy Kit setup is 205. The real maximum with modifications can go up to 220 or higher
#define Z_MAX_POS 418 //Maximum Printable Volume in Z axis
#define HOMING_FEEDRATE_XY (70*60) //Lower value (change value 70) if you're uncomfortable with fast homing.
#define HOMING_FEEDRATE_Z (50*60) //KAY3D has 400mm Z height. You want this to be fast
There are no values in Configuration_adv.h that we think are specific to the CoreXY Conversion Kit except the following below:
The other codes are not required to get the kit to work, but good to have in terms of 3D Printing performance & features goes.
#define MANUAL_FEEDRATE { 100*60, 100*60, 20*60, 2*60 } //This allows you to change your axis movement faster through the LCD when you need to
#define BABYSTEPPING //This enables overstepping in general. Without this option, you will have zero babystepping features enabled
#define BABYSTEP_INVERT_Z false //Invert value to true if direction is wrong
#define BABYSTEP_MULTIPLICATOR_Z 5 // Babysteps are very small. Increase for faster motion.
#define BABYSTEP_MULTIPLICATOR_XY 5 // Babysteps are very small. Increase for faster motion.
#define LIN_ADVANCE // Enables linear advance
#define LIN_ADVANCE_K 0 // Usually, there is a value here but you cannot set a value until you have done linear advance calibration. Once you find that value, you use G-code M900 K X.X where X.X are values anywhere from 0.1-2.0 in your starting G-code. This way, you can leave the K value as 0 in your firmware.