This article and the configuration i submitted to Marlin are written against the last model of M2, the Revision H. We will discuss the differences in other revisions to assist you in getting your specific revision work as well. But I am unable to test them myself. Some of the original firmware notes seem incorrect but many of the details about revision differences are available here - https://makergear.zendesk.com/hc/en-us/articles/360022528292
MakerGear had their baudrate set to 115200 so I replicated that here:
Set hotend max temp, this value is for the V4 Hotend:
MakerGear did not specify a maximum bed temperature but I set a reasonable 120C:
Set the initial hotend PID values:
Enabled bed PID tuning:
Set initial bed PID values:
Enable the PID tuning menu's so that we can run adjust it later:
Set our steps per unit:
MakerGear defaults for M2G & M2H 80.1, Older Models 88.1 X & Y. 1007.7 is for the 1/8" leadscrew versions.
Configure Acceleration:
Enable s curve acceleration:
Invert the Z direction if revision H, G or F:
Rev C.1, D, D.1, E keep false.
Set extruder direction:
Rev E, F, G and H use Z Max homing. All others -1:
Change bed size and travel dimensions:
MakerGear sets the Z to 200, 210 should work on most however I also set it to this to help with the Z Max homing.
Enable bed tramming menu:
Speed up Z Homing:
Enable storing settings:
Adjust the preheat settings if desired, here is MakerGear's defaults:
Setup parking the nozzle off to the far right:
Optionally enable the print statistics counter:
Enabled SD card support:
Adjust the screen knob settings:
Enable homing one axis at a time if desired:
Setup the stock screen:
Prevent an incorrect amount of fans showing up in the menu:
Set the fan that comes on when the heater is on:
Extruder and MCU fan tied to Fan 1
Optionally set a distanced to back off the endstop after homing:
MakerGear did this for Z and was necessary in older versions to prevent it from grinding into the endstop on some moves.
Increase the stepper timeout, this is the MakerGear default:
Adjust the motor current:
Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
Enable the LCD info menu so we can see the print statistics:
Enable advanced pause:
Adjust advanced change settings as desired:
Enable the filament change menu:
Table of Contents
- Flashing
- Configuration.h
- Configuration_adv.h
- Credits/Sources
Flashing
The M2 can be flashed over USB either directly from vscode or your favorite flasher such as xloader.Configuration.h
First define the board, your build environment will also be Rambo:
Code:
#define MOTHERBOARD BOARD_RAMBO
MakerGear had their baudrate set to 115200 so I replicated that here:
Code:
#define BAUDRATE 115200
Set hotend max temp, this value is for the V4 Hotend:
Code:
#define HEATER_0_MAXTEMP 305
MakerGear did not specify a maximum bed temperature but I set a reasonable 120C:
Code:
#define BED_MAXTEMP 120
Set the initial hotend PID values:
Code:
#define DEFAULT_Kp 25.89
#define DEFAULT_Ki 1.94
#define DEFAULT_Kd 86.53
Enabled bed PID tuning:
Code:
#define PIDTEMPBED
Set initial bed PID values:
Code:
#define DEFAULT_bedKp 50.61
#define DEFAULT_bedKi 1.19
#define DEFAULT_bedKd 1428.96
Enable the PID tuning menu's so that we can run adjust it later:
Code:
#define PID_EDIT_MENU
Code:
#define PID_AUTOTUNE_MENU
Set our steps per unit:
Code:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.1, 80.1, 1007.7, 471.5 }
Code:
#define DEFAULT_MAX_FEEDRATE { 200, 200, 25, 25 }
Code:
#define DEFAULT_MAX_ACCELERATION { 900, 1000, 30, 2000 }
Code:
#define DEFAULT_ACCELERATION 2000
Configure Acceleration:
Code:
#define CLASSIC_JERK
Code:
#define DEFAULT_XJERK 4.0
#define DEFAULT_YJERK 4.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 1.0
Enable s curve acceleration:
Code:
#define S_CURVE_ACCELERATION
Invert the Z direction if revision H, G or F:
Code:
#define INVERT_Z_DIR true
Set extruder direction:
Code:
#define INVERT_E0_DIR false
Rev E, F, G and H use Z Max homing. All others -1:
Code:
#define Z_HOME_DIR 1
Change bed size and travel dimensions:
Code:
#define Y_BED_SIZE 250
Code:
#define X_MIN_POS -4
Code:
#define Y_MIN_POS -2.5
Code:
#define X_MAX_POS 220
#define Y_MAX_POS 255
#define Z_MAX_POS 210
Enable bed tramming menu:
Code:
#define LCD_BED_TRAMMING
Code:
#define BED_TRAMMING_INCLUDE_CENTER
Speed up Z Homing:
Code:
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (15*60) }
Enable storing settings:
Code:
#define EEPROM_SETTINGS
Adjust the preheat settings if desired, here is MakerGear's defaults:
Code:
#define PREHEAT_1_TEMP_HOTEND 220
Code:
#define PREHEAT_2_TEMP_HOTEND 250
Setup parking the nozzle off to the far right:
Code:
#define NOZZLE_PARK_FEATURE
Code:
#define NOZZLE_PARK_POINT { (X_MAX_POS - 5), (Y_MIN_POS + 15), 20 }
Optionally enable the print statistics counter:
Code:
#define PRINTCOUNTER
Enabled SD card support:
Code:
#define SDSUPPORT
Adjust the screen knob settings:
Code:
#define ENCODER_PULSES_PER_STEP 2
Code:
#define REVERSE_ENCODER_DIRECTION
Enable homing one axis at a time if desired:
Code:
#define INDIVIDUAL_AXIS_HOMING_MENU
Setup the stock screen:
Code:
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Prevent an incorrect amount of fans showing up in the menu:
Code:
#define NUM_M106_FANS 1
Configuration_adv.h
Set the heater timeout for safety:
Code:
#define HOTEND_IDLE_TIMEOUT
Set the fan that comes on when the heater is on:
Code:
#define E0_AUTO_FAN_PIN 6
Optionally set a distanced to back off the endstop after homing:
Code:
#define HOMING_BACKOFF_POST_MM { 5, 5, 5 }
Increase the stepper timeout, this is the MakerGear default:
Code:
#define DEFAULT_STEPPER_TIMEOUT_SEC 600
Adjust the motor current:
Code:
#define DIGIPOT_MOTOR_CURRENT { 135,135,135,85,135 }
Enable the LCD info menu so we can see the print statistics:
Code:
#define LCD_INFO_MENU
Code:
#define SCROLL_LONG_FILENAMES
Code:
#define BABYSTEPPING
Code:
#define BABYSTEP_MILLIMETER_UNITS
#define BABYSTEP_MULTIPLICATOR_Z .01
Code:
#define DOUBLECLICK_FOR_Z_BABYSTEPPING
Code:
#define BABYSTEP_DISPLAY_TOTAL
Enable advanced pause:
Code:
#define ADVANCED_PAUSE_FEATURE
Adjust advanced change settings as desired:
Code:
#define FILAMENT_CHANGE_UNLOAD_LENGTH 80
Code:
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 10
Code:
#define ADVANCED_PAUSE_PURGE_LENGTH 60
Enable the filament change menu:
Code:
#define FILAMENT_LOAD_UNLOAD_GCODES
Attachments
Last edited: