Marlin MakerGear M2 (Rev H) Marlin 2.1.3+

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

Table of Contents​


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 }
MakerGear defaults for M2G & M2H 80.1, Older Models 88.1 X & Y. 1007.7 is for the 1/8" leadscrew versions.

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
Rev C.1, D, D.1, E keep false.

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
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:
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
Extruder and MCU fan tied to Fan 1

Optionally set a distanced to back off the endstop after homing:
Code:
#define HOMING_BACKOFF_POST_MM { 5, 5, 5 }
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:
Code:
#define DEFAULT_STEPPER_TIMEOUT_SEC 600

Adjust the motor current:
Code:
#define DIGIPOT_MOTOR_CURRENT { 135,135,135,85,135 }
Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)

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

  • DSC_0037Marlin.jpg
    DSC_0037Marlin.jpg
    26 KB · Views: 481
Last edited: