Article Placeholder
We actually wrote the example configurations for the original Makerbot Replicator so this guide will be more or less the same.
First thing we define is the main board:
You will need to set your environment to Mightyboard1280
This may not be necessary but a good idea to drop the baud rate to makerbots original spec:
For dual extruder models we will uncomment E1 driver type:
Then set the number extruders to 2:
For dual extruder models uncomment the hotend x offset and set it to -33
Change the hotend temp sensor type to -2, for dual extruder models do both sensors 0 and 1:
Optionally you can bump the Max temp up to 280 to match makerbots firmware, Sailfish had the max bed temp at 130:
It's worth noting ABS bed temps on the replicator eventually warp the arms.
Optionally lower the overshoot from 15 to 10 to allow ABS preheat to be set as high as 270:
Set the hotend PID values. I always recommend doing a PID tune on the actual machine after.
Uncomment PID support for the bed:
Set the bed PID values:
Enable to the PID auto tune menu. We probably do not have room to also enable the manual value edit menu.
Change the hit states to LOW for the used endstops:
Define the steps per mm. These values are directly from makerbots firmware:
Optionally increase the max feed rates to match Makerbots firmware. The Z rate might be a little high:
Adjust the max acceleration. Values are from the Makerbot firmware.
Also adjust the default and travel acceleration. Makerbot's firmware likely allowed higher travel acceleration so the values are not the same here.
Uncomment classic jerk. This uses a little less space than junction deviation:
Single extruder builds have enough room for s curve acceleration but dual by default will not. There is a guide at the end of this article to gain enough space.
Invert the X and Z direction by setting to true:
Invert the first extruder direction, second extruder should remain false:
Switch X and Y to home to max by setting to 1:
Adjust the bed size:
Adjust the travel limits:
Bed tramming was a stock feature so lets enable it:
Adjust the points, 65, 5, 65, 5 would be almost directly over the screws which is great with a PEI flex sheet but not so much a kapton taped bed:
Include center point checking:
Enable EEPROM Settings
Optionally adjust the preheat settings. PLA should be at least 200 though higher is common:
Enable Nozzle Park as it will be required for Advanced Pause which gives is the filament load menu and M600:
Optionally adjust the parking position. Default is close to great for getting both nozzles away from the bed. I would adjust it a little closer:
Enable SD card support:
Fix menu direction:
Enable the individual axis homing menu if desired:
Enable the screen:
Enable support for the LED controller:
Configuration_adv.h
Disable Autotemp for space:
For safety lets enable an idle timeout for the heaters:
Enable the hotend cooling fans by commenting them out. Just E0 for single, E1 as well for dual:
Enable support for controlling stepper current:
Adjust the number of channels to 5:
Edit the motor currents down to 5 values. These closely match the makerbot values. The Z motor will whine way louder if you set it too high so do not forget to adjust these:
Uncomment to save space:
Uncomment to save space:
Babystepping is optional but a great feature to adjust the Z offset during a print, Single extruder builds can fit this easily:
#define BABYSTEPPING
#define DOUBLECLICK_FOR_Z_BABYSTEPPING
#define BABYSTEP_DISPLAY_TOTAL
Left out of my example to save a tiny amount of space. You may also wish to have babystepping use mm units instead of steps
#define BABYSTEP_MILLIMETER_UNITS
#define BABYSTEP_MULTIPLICATOR_Z .01
Disable arc support to save space. You want it, but were probably not using it and we do not have space for it:
To gain the filament loading menu's we will need advanced pause, this also gives us M600:
Adjust the load lengths to preference, these are from the flashforge example:
Uncomment to gain the filament loading menu:
In trade disable support for M603 to have space for the menu:
Disable volumetric extrusion to gain space. We wouldn't be using this:
Disable Workspace offsets to gain space:
We don't have room for LED control stuff so I set this command to turn the LEDs to white when the printer turns on:
For dual extruder builds uncomment this to gain more room:
Making room for S Curve Acceleration on Dual Extruder Builds
You can disable baby stepping entirely but not enabling DOUBLECLICK_FOR_Z_BABYSTEPPING, BABYSTEP_DISPLAY_TOTAL
and removing M603 support from advanced pause will allow S_CURVE_ACCELERATION to fit currently:
Modifications
If you have added a part cooling fan to the extra mosfet you need to uncomment #define NUM_M106_FANS
#define NUM_M106_FANS 1
You will also need to set the pin definition. This can actually be inserted right below the line you just uncommented.
#define FAN0_PIN MOSFET_F_PIN
We actually wrote the example configurations for the original Makerbot Replicator so this guide will be more or less the same.
First thing we define is the main board:
Code:
MOTHERBOARD BOARD_MIGHTYBOARD_REVE
This may not be necessary but a good idea to drop the baud rate to makerbots original spec:
Code:
#define BAUDRATE 115200
For dual extruder models we will uncomment E1 driver type:
Code:
#define E1_DRIVER_TYPE A4988
Code:
#define EXTRUDERS 2
For dual extruder models uncomment the hotend x offset and set it to -33
Code:
#define HOTEND_OFFSET_X { 0.0, -33.00 }
Change the hotend temp sensor type to -2, for dual extruder models do both sensors 0 and 1:
Code:
#define TEMP_SENSOR_0 -2
#define TEMP_SENSOR_1 -2
Optionally you can bump the Max temp up to 280 to match makerbots firmware, Sailfish had the max bed temp at 130:
Code:
#define HEATER_0_MAXTEMP 280
#define HEATER_1_MAXTEMP 280
#define BED_MAXTEMP 130
Optionally lower the overshoot from 15 to 10 to allow ABS preheat to be set as high as 270:
Code:
#define HOTEND_OVERSHOOT 10
Set the hotend PID values. I always recommend doing a PID tune on the actual machine after.
Code:
#define DEFAULT_Kp 36.67
#define DEFAULT_Ki 3.86
#define DEFAULT_Kd 87.11
Uncomment PID support for the bed:
Code:
#define PIDTEMPBED
Code:
#define DEFAULT_bedKp 51.04
#define DEFAULT_bedKi 6.92
#define DEFAULT_bedKd 250.85
Enable to the PID auto tune menu. We probably do not have room to also enable the manual value edit menu.
Code:
#define PID_AUTOTUNE_MENU
Change the hit states to LOW for the used endstops:
Code:
#define X_MAX_ENDSTOP_HIT_STATE LOW
#define Y_MAX_ENDSTOP_HIT_STATE LOW
#define Z_MIN_ENDSTOP_HIT_STATE LOW
Define the steps per mm. These values are directly from makerbots firmware:
Code:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 94.139704, 94.139704, 400, 96.275202}
Optionally increase the max feed rates to match Makerbots firmware. The Z rate might be a little high:
Code:
#define DEFAULT_MAX_FEEDRATE { 300, 300, 19, 30 }
Adjust the max acceleration. Values are from the Makerbot firmware.
Code:
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 150, 4000 }
Also adjust the default and travel acceleration. Makerbot's firmware likely allowed higher travel acceleration so the values are not the same here.
Code:
#define DEFAULT_ACCELERATION 1000
#define DEFAULT_TRAVEL_ACCELERATION 1000
Uncomment classic jerk. This uses a little less space than junction deviation:
Code:
#define CLASSIC_JERK
Single extruder builds have enough room for s curve acceleration but dual by default will not. There is a guide at the end of this article to gain enough space.
Code:
#define S_CURVE_ACCELERATION
Invert the X and Z direction by setting to true:
Code:
#define INVERT_X_DIR true
#define INVERT_Z_DIR true
Invert the first extruder direction, second extruder should remain false:
Code:
#define INVERT_E0_DIR true
Switch X and Y to home to max by setting to 1:
Code:
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
Adjust the bed size:
Code:
#define X_BED_SIZE 227
#define Y_BED_SIZE 148
Adjust the travel limits:
Code:
#define X_MIN_POS -8
#define Y_MIN_POS -2
#define X_MAX_POS 264
#define Y_MAX_POS 152
#define Z_MAX_POS 150
Bed tramming was a stock feature so lets enable it:
Code:
#define LCD_BED_TRAMMING
Code:
#define BED_TRAMMING_INSET_LFRB { 60, 10, 60, 10 }
Code:
#define BED_TRAMMING_INCLUDE_CENTER
Enable EEPROM Settings
Code:
#define EEPROM_SETTINGS
Optionally adjust the preheat settings. PLA should be at least 200 though higher is common:
Code:
#define PREHEAT_1_TEMP_HOTEND 200
Enable Nozzle Park as it will be required for Advanced Pause which gives is the filament load menu and M600:
Code:
#define NOZZLE_PARK_FEATURE
Code:
#define NOZZLE_PARK_POINT { (X_MIN_POS + 5), (Y_MAX_POS - 5), 20 }
Enable SD card support:
Code:
#define SDSUPPORT
Fix menu direction:
Code:
#define REVERSE_MENU_DIRECTION
Enable the individual axis homing menu if desired:
Code:
#define INDIVIDUAL_AXIS_HOMING_MENU
Enable the screen:
Code:
#define FF_INTERFACEBOARD
Enable support for the LED controller:
Code:
#define PCA9533
Configuration_adv.h
Disable Autotemp for space:
Code:
//#define AUTOTEMP
For safety lets enable an idle timeout for the heaters:
Code:
#define HOTEND_IDLE_TIMEOUT
Enable the hotend cooling fans by commenting them out. Just E0 for single, E1 as well for dual:
Code:
//#define E0_AUTO_FAN_PIN -1
//#define E1_AUTO_FAN_PIN -1
Enable support for controlling stepper current:
Code:
#define DIGIPOT_MCP4018
Code:
#define DIGIPOT_I2C_NUM_CHANNELS 5
Code:
#define DIGIPOT_I2C_MOTOR_CURRENTS { 0.81, 0.81, 0.28, 0.81, 0.81 }
Uncomment to save space:
Code:
#define SDCARD_READONLY
Uncomment to save space:
Code:
#define NO_SD_AUTOSTART
Babystepping is optional but a great feature to adjust the Z offset during a print, Single extruder builds can fit this easily:
#define BABYSTEPPING
#define DOUBLECLICK_FOR_Z_BABYSTEPPING
#define BABYSTEP_DISPLAY_TOTAL
Left out of my example to save a tiny amount of space. You may also wish to have babystepping use mm units instead of steps
#define BABYSTEP_MILLIMETER_UNITS
#define BABYSTEP_MULTIPLICATOR_Z .01
Disable arc support to save space. You want it, but were probably not using it and we do not have space for it:
Code:
//#define ARC_SUPPORT
To gain the filament loading menu's we will need advanced pause, this also gives us M600:
Code:
#define ADVANCED_PAUSE_FEATURE
Code:
#define FILAMENT_CHANGE_UNLOAD_LENGTH 80
Code:
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 80
Code:
#define FILAMENT_LOAD_UNLOAD_GCODES
Code:
//#define CONFIGURE_FILAMENT_CHANGE
Disable volumetric extrusion to gain space. We wouldn't be using this:
Code:
#define NO_VOLUMETRICS
Disable Workspace offsets to gain space:
Code:
#define NO_WORKSPACE_OFFSETS
We don't have room for LED control stuff so I set this command to turn the LEDs to white when the printer turns on:
Code:
#define STARTUP_COMMANDS "M150 RUB255"
For dual extruder builds uncomment this to gain more room:
Code:
#define MARLIN_SMALL_BUILD
Making room for S Curve Acceleration on Dual Extruder Builds
You can disable baby stepping entirely but not enabling DOUBLECLICK_FOR_Z_BABYSTEPPING, BABYSTEP_DISPLAY_TOTAL
Code:
//#define DOUBLECLICK_FOR_Z_BABYSTEPPING
Code:
//#define BABYSTEP_DISPLAY_TOTAL
Code:
//#define CONFIGURE_FILAMENT_CHANGE
Modifications
If you have added a part cooling fan to the extra mosfet you need to uncomment #define NUM_M106_FANS
#define NUM_M106_FANS 1
You will also need to set the pin definition. This can actually be inserted right below the line you just uncommented.
#define FAN0_PIN MOSFET_F_PIN
Last edited: