Jump to content
Ultimaker Community of 3D Printing Experts

Better method to using Replicator 2 printers with Cura

Recommended Posts

Posted · Better method to using Replicator 2 printers with Cura

Hi folks,


I've posted previously about using Makerbot Replicator 2 3d printers with Cura, which involved hacking at the X3GWriter plugin, but was frankly a little hacky, and starts to cause problems when you update etc.


With more time on my hands now I've had a closer look and spoken to the author of the X3GWriter plugin. It turns out that the printer definition in Cura passes metadata to the plugins you use, and that his X3GWriter plugin was watching for the "machine_x3g_variant" value. When we modify the standard printer definition for Replicator 1 that comes with Cura, it still passes "r1" to the X3Gwriter plugin, which makes it take on values for the Replicator 1 which results of course in incorrect print scaling.


So if you've been trying to use Cura on your Replicator 2, and getting things that are the wrong size, you'll need to create or modify your profile for your printer.


Ideally, Cura could come with a Replicator 2 profile, which I'll put time in to submit to the maintainers once I can understand how that's done, but for now here's my little how to:


**I'm using Cura 4.6 for my example, and this is specifically for the Replicator 2 - you may need to modify some things to make the 2X work**

**I also assume that you've installed the X3GWriter plugin already


1. Open Cura, and add a new printer. Click on non-networked printer, and select "Makerbot Replicator"


2. Once you've added this printer, rename the printer to something like "Makerbot Replicator 2" (doesn't matter what), and go to "machine settings" for it


3. Make the Gcode flavour "makerbot", enable origin at center, disable heated bed, select build plate rectangular, and make the dimensions the following:

   x width = 225mm

   y depth = 145mm

   z height = 150mm

Here are my printer settings:



4. We'll also check settings for "extruder 1". The standard nozzle size is 0.4mm, and the compatible material diameter is 1.75mm.
Here's my extruder settings:



5. Add the custom GCode to the printer settings. This is necessary as for some reason by default heated bed info is sent, which makes the printer stop straight away. You can look up what this means and tweak it as needed (maybe you want the bed to drop lower at the end etc).


Start Gcode:

; -- start of START GCODE –
M73 P0 (enable build progress)
;M103 (disable RPM)
;G21 (set units to mm)
M92 X88.8 Y88.8 Z400 E101 ; sets steps per mm for replicator
G90 (set positioning to absolute)
(**** begin homing ****)
G162 X Y F4000 (home XY axes maximum)
G161 Z F3500 (home Z axis minimum)
G92 Z-5 (set Z to -5)
G1 Z0.0 (move Z to "0")
G161 Z F100 (home Z axis minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
G92 X147 Y66 Z5
G1 X105 Y-60 Z10 F4000.0 (move to waiting position)
G130 X0 Y0 A0 B0 (Set Stepper motor Vref to lower value while heating)
G130 X127 Y127 A127 B127 (Set Stepper motor Vref to defaults)
G0 X105 Y-60 (Position Nozzle)
G0 Z0.6     (Position Height)
; -- end of START GCODE –


End GCode:

; -- start of END GCODE –
G92 Z0
G1 Z10 F400
M104 S0 T0
M73 P100 (end  build progress)
G162 X Y F3000
; -- end of END GCODE –

Here's what it should now look like in your printer settings:



So we now have the printer defined, but it's missing the important piece of the puzzle which is the metadata to pass along to the X3GWriter plugin so that we get an X3G file suited for the Replicator 2.


6. Let's manually edit the printer definition file. Close Cura before continuing. I'm using Ubuntu Linux, so my printer definition file is in:

I use nano, but any text editor (even gnome's gedit) will be fine to edit this file.

If you're in windows, try a system-wide search for the location (sorry I don't know where it lives in Windows)


We are looking for the heading "[metadata]", and anywhere under this heading block we're going to put "machine_x3g_variant = r2". For example, here's what mine looks like (some details will be different for yours):

version = 4
name = MakerBotReplicator2
id = MakerBotReplicator2

setting_version = 13
machine_x3g_variant = r2
type = machine
group_id = 993612c3-052e-42e2-bb6b-c5c6b2617912

0 = MakerBotReplicator #2_user
1 = empty_quality_changes
2 = empty_intent
3 = normal
4 = empty_material
5 = empty_variant
6 = MakerBotReplicator #2_settings #2
7 = makerbotreplicator

Notice where "machine_x3g_variant = r2" is?


Save this file where it is, and reopen Cura.



That should be it. You'll be able to directly choose your printer in the normal way, choose your settings and object, and export. If you find it doesn't successfully create a file, there's something up with your config, so double check any syntax problems etc.


You can also check the output of Cura's errors in (again I'm in Linux):



So if you tweak Gcode and mess around with those bits and pieces you can see if X3GWriter is unhappy about any of it.

Happy printing!


(artist at cake.net.au)

  • Link to post
    Share on other sites
    Posted · Better method to using Replicator 2 printers with Cura
    On 5/25/2020 at 11:23 AM, jessecake said:

    enable origin at center

    Are you absolutely sure about that? This is normally only used for delta-style printers.

  • Link to post
    Share on other sites
    • 1 month later...
    Posted (edited) · Better method to using Replicator 2 printers with Cura
    On 5/25/2020 at 2:23 AM, jessecake said:

    Hi folks,


    I've posted previously about using Makerbot Replicator 2 3d printers with Cura, which involved hacking at the X3GWriter plugin, but was frankly a little hacky, and starts to cause problems when you update etc.



    Happy printing!


    Thank you for taking the time to write this tutorial!

    I've followed the steps and Cura will now slice my STL and spit out an X3G file, but I'm having a problem.

    When I start my print, the machine heats up and then starts along the printing path. The issue?

    It doesn't extrude any filament. It seems like the motor is not running...

    To troubleshoot I've use the "load filament" feature and printed other files sliced in the Makerbot software with no issues.


    Any idea of what could be happening? Thanks!

    Edited by mbr2_usr
  • Link to post
    Share on other sites
    • 3 weeks later...
    Posted · Better method to using Replicator 2 printers with Cura

    Just found the configuration file on Windows 10 PC



  • Link to post
    Share on other sites
    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Looks like updating from Cura 4.6 to 4.7 broke the configuration file.


    There is now a folder for each version with a CFG file that  was automatically modified during the update.




    You will once again need to add this line to [metadata]

    machine_x3g_variant = r2

    Here's my full config file, now located in the 4.7 directory:

    version = 4
    name = MakerBotReplicator #2
    id = MakerBotReplicator #2
    group_id = 1f4b7576-099e-4475-95d1-5f4e867ad293
    setting_version = 15
    machine_x3g_variant = r2
    type = machine
    0 = MakerBotReplicator #2_user #2
    1 = makerbotreplicator_current_profile
    2 = empty_intent
    3 = draft
    4 = empty_material
    5 = empty_variant
    6 = MakerBotReplicator #2_settings #2
    7 = makerbotreplicator


    EDIT: Hmm, still having an issue printing. Will try making changes to the old 4.6 file as well.

    If that doesn't work I'll re-install 4.6

    Edited by mbr2_usr
  • Link to post
    Share on other sites
    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Thank you for such a useful post.


    Makerbot is ideal when you need a device completely working out-of-the-box, but there is no denying that the slicer is a complete headache because of the limited options it offers.


    The method explained in this post works like a charm. I would like to add a couple of suggestions in the start G code for the machine.


    1. Before heating up the extruder, it should home the Z axis, at least, and then move it a couple of centimeters downwards. Sometimes, if we have just finished balancing the plate (which needs to be done quite often with the Replicator), we forget to move the plate downwards after the process and when the heater heats up, it melts material right on the plate and even damages the adhesive PVC coating.

    2. It would be better if it also homes both X and Y before heating up so that no residue falls on the plate before the printing process begins,

    3. The original maker bot extrudes a straight line, 10- 15 cm long at the beginning of the print at an extreme of the build plate. This cleans the nozzle off any residue filament accumulated in the pre heat process. We should add a similar code in our start code.

    4. Last but not the least, the first layer is deposited at 0 position. Which means that the build plate needs to calibrated in such a way that 0 position leaves an 200-400 microns between the nozzle and the build plate. The original maker-bot setting settings assumes this distance to be 100-150 microns compensates for the additional distance either in its start code or the slicing. I say, we don't do anything about it and just ask the users to use a thicker paper to calibrate the plate.

    Edited by Umar
  • Link to post
    Share on other sites
    Posted · Better method to using Replicator 2 printers with Cura

    About Point 3, precisely speaking, as far as I have observed, it is even better than how I have described earlier. The Z height of the table is not the same at the beginning and the end of this straight line. It start from a higher point (visually estimated around 0.5mm) and drops down to the layer height specified in the slicing settings during the 15-20cm travel.

  • Link to post
    Share on other sites
    Posted · Better method to using Replicator 2 printers with Cura

    Hi Guys, thanks for this topic. I have a Replicator 2 and I just installed Cura 4.8 and I am using OSX 10.14.6. I want to make .x3g files for sd card printing. I'm getting an error 'application/x3g' when trying to "save to removable device". Also I can't find the machine_instances folder??


    anyone doing this on a mac that can help?




  • Link to post
    Share on other sites
    Posted · Better method to using Replicator 2 printers with Cura

    Ok I have been working to bring my makerbot replicator 2 back to life.  I have replaced the arms with steal and put in a heated glass plate over the last year.  I have just not been able to get cura to fire up with way I want it keeping the the plate and the extruder hat at the same time.  I also a person that does not like playing sneakernet (popping the card from pc to machine while testing).  So I broke down, grabbed a raspberry pi and went to town loading octoprint to see if it helped.  It was the right move.  It is still too early to tell if my config is working fully and I have a lot of tuning to due on the startup gcode but it is miles ahead of the makerbot desktop which is end of life.   Here is why I like the setup.  Cura does great at gcode, but the 3gx driver can be a bit kludgy to setup and hard to debug. Makerbot is a closed system making it even harder to work with (I luckily have a pre version 5 printer).  I am not sure who made Octoprint but kudos to them.  It is a awesome open source project I am going to look to help fund.  The plug ins can be a bit difficult but they are fairly stable.    Note I still need to get my start and stop code worked out and my camera and screen setup so there is more work to be done that said I now have access to all the new clicers cura wants to throw at me. 

    Here are the basic steps so far.


    1.  Download octoprint and etcher to burn your images.

    2.  Burn the sim with etcher

    3.  Setup your wifi by accessing the octopi-wpa-supplicant.txt  file in the boot partition (should be able to get to this on windows)

    4. Boot it up, ssh into it and reset the password of the Pi  - SSH pi@<your pi's ip address> or pi@octopi.local

    5. login from a browser the same way  - http://<your pi's ip address> SSH IP -l pi or http://octopi.local

    6. Setup user

    7. Add printer ( look at cura for replicator 2 settings

    8. Add cura thumbnail plugin and configure 

    9. Add gpx plugin and configure - plug in the usb and get it to connect.  Note you have to correctly configure GPX for it to connect. I hear it does not auto settings so set it to 11500 for baud.  The port scan seemed to work for me.

    10. In cura load optiprint

    11. For replicator 2 printer add printer into cura and make the g-code flavor reprap

    12. Add the following to the start g-code

     **** Replicator 2 start.gcode ****
    M73 P0 ; enable build progress
    G162 X Y F3000 ; home XY maximum
    G161 Z F1200 ; home Z minimum
    G92 Z-5 ; set Z to -5
    G1 Z0 ; move Z to 0
    G161 Z F100 ; home Z slowly
    M132 X Y Z A B ; recall home offsets
    G1 X-145 Y-75 Z30 F9000 ; move to wait position off table
    G130 X20 Y20 Z20 A20 B20 ; lower stepper Vrefs while heating
    M126 S[fan_speed_pwm]
    M104 S[extruder0_temperature] T0
    M133 T0 ; stabilize extruder temperature
    G130 X127 Y127 Z40 A127 B127 ; default stepper Vrefs
    G92 A0 ; zero extruder
    G1 Z0.4 ; position nozzle
    G1 E25 F300 ; purge nozzle
    G1 X-120 Y-70 Z0.15 F1200 ; slow wipe
    G1 X-115 Y-65 Z0.5 F1200 ; lift
    G92 A0 ; zero extruder
    M73 P1 ;@body (notify GPX body has started)
    ; **** end of start.gcode ****


    13. Add in printer end gcode  

    ; **** Replicator 2 end.gcode ****
    M73 P100 ; end build progress
    G1 Z155 F1000 ; send Z axis to bottom of machine
    M104 S0 T0 ; cool down extruder
    M127 ; stop blower fan
    G162 X Y F3000 ; home XY maximum
    M18 ; disable stepper
    M72 P1 ; play Ta-Da song
    ; **** end of end.gcode ****
    14.  connect optiprint to printer in preferences of printer

    15.  Give a print a spin.  


    I have been seeing my head clog up but guessing that is a different issue.  

    Good luck and may the force be with you as it took some trial and error due to the added heat plate. 

    I would avoid the gcode format from makerbot as it caused some heat plate problems and long nights.





  • Link to post
    Share on other sites
    Posted · Better method to using Replicator 2 printers with Cura

    Inkous you have to put in the x3g writer plug in form the marketplace.

  • Link to post
    Share on other sites
    Posted (edited) · Better method to using Replicator 2 printers with Cura



    I'm trying to use my MakerBot Replicator 2 with Cura and facing some issues.

    After few first layers, the extruder is not able to exrude filmanet and get stuck. My settings are pretty conservative, with low speed, I even disabled retracion to see if it will help (it didn't).

    When I print the same model with MakerBot Desktop slicer, even with more demanding settings,

    the extruder is not getting clogged and prints just fine. 


    I used the same start G-Code as jessecake.


    Any ideas what is wrong?

    Edited by 3DStyle
  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • Ultimaker Transformation Summit

        On April 20 - April 23 we will host the Ultimaker Transformation Summit. Come talk to us via Live chat and get inspired by any of our relevant presentations!
        • 6 replies
      • New here? Register your Ultimaker for free 3D printer onboarding course
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 0 replies
    • Create New...