You can (OR MUST) dump the current settings of your printer. It may help you to figure out some configs, like steps/mm of your extruder.
Create a file named savesettings.gcode
with the following content:
M6046 ; sdcard access
M8512 "currentconfig.gcode" ; save settings to file
Save it on the printer's SD card
Put the card in the printer and "print" this file
The printer won't do anything. Just wait a few seconds and stop the print.
Your current printer settings are stored in the file: currentconfig.gcode
You can read more about it in this guide.
Thanks to KEITH VARIN.
You need to edit Configuration.h
to set up your printer.
For V5 and V8
// For V5 and V8
#define MOTHERBOARD BOARD_CHITU3D_V5
For V6
// For V6
#define MOTHERBOARD BOARD_CHITU3D_V6
// The size of the printable area
#define X_BED_SIZE 330
#define Y_BED_SIZE 330
...
#define Z_MAX_POS 400
Some Pro models have TMC drivers. The non-Pro models have generic A4988 drivers.
Non-Pro (without TMC Drivers):
/**
* Stepper Drivers
* ...
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
Pro (with TMC Drivers):
/**
* Stepper Drivers
* ...
*/
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2208_STANDALONE
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
All machines have the same steps for X, Y and Z, and only extruder steps are different (Titan vs. normal).
! This part can vary from machine to machine !
One way to know the correct values is to read your currentconfig.gcode
(saved later):
M8009
is the X and Y step/mm.M8010
is the Z step/mm.M8011
is the Extruder step/mm.Example:
M8009 S0.012500;x,y
M8010 S0.002500;z
M8011 S0.010799;e
Is equal to:
x,y = 1 / 0.012500 = 80
z = 1 / 0.002500 = 400
e = 1 / 0.010799 = 92.60
So in Marlin:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 92.6 }
Check your values!
Normal non-TMC:
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 92.6 }
Titan Non-PRO:
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 420 }
// Extruder seems inverted on titan!
#define INVERT_E0_DIR true
Titan PRO (tmc):
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 800, 764 }
// Extruder seems inverted on titan!
#define INVERT_E0_DIR true
You can customize for your own setup. TFT, Baby Steps and a lot of cool stuff are already configured for you.
Thanks to the amazing work of J.C. Nelson, now we can just use Marlin updating directly from SD!!
YOUR-MARLIN-DIR/.pio/build/chitu_f103/update.cbd
update.cbd
file to SD card.SIMPLE AS THAT!
Again, thanks to J.C. Nelson @xC000000
If you already flashed Marlin the old way then you need restore your Chitu backup to use this method. This will make all your future installs easier.
OBSOLETE! JUST USE THE FIRST METHOD.
Some random V5 boards have a problem with the PIN that the Z-MIN Probe is connected to, causing the probe to appear triggered all the time. Due to this issue the probe always fails.
If you have this issue, edit the file: Marlin/buildroot/share/PlatformIO/variants/CHITU_F103/wirish/boards_setup.cpp
Change these lines:
__weak void board_setup_gpio(void) {
gpio_init_all();
}
To:
__weak void board_setup_gpio(void) {
GPIOA->regs->BSRR = (1U << PA14);
gpio_init_all();
}
A patch may already have been applied to Marlin by the time you read this.