Poikilos / marlininfo

The R2X 14T is a mod by Jake Gustafson for the MakerBot Replicator 2X. The name "Axle Media" is TM for if mod is done by Jake Gustafson, but you can do the mod & use everything else including the name "R2X 14T" as per the license. Whether you mod or not, the lossless `#define` editing code works with any H/CPP files!
GNU General Public License v3.0
0 stars 1 forks source link

R2X 14T

Never again manually scrub through comparisons of the Configuration.h and Configuration_adv.h. Instead, shove metadata into H files of any structure using Python deploy-marlin (or the marlininfo Python module).

The R2X 14T is a mod by Jake Gustafson ("Poikilos") for the MakerBot Replicator 2X (possibly compatible with clones such as FlashForge Creator Pro). The name "Axle Media" is a registered fictitious name in Pennsylvania and should be only used if the mod is done by Jake Gustafson.

The mod utilizes the BIGTREETECH SKR V1.4 Turbo and most of the hardware from the MakerBot Replicator 2X. The fork of Marlin 2.0 (https://github.com/poikilos/Marlin/tree/bugfix-2.0.x-r2x_t14) only contains changes to platformio.ini, Configuration.h, and Configuration_adv.h.

For usage and further details, see the Service Manual: documentation/manual.md.

How to use

If you are not compiling Marlin nor flashing/configuring a TFT, you can still use this project. See:

If you are compiling Marlin:

Using the deploy-marlin command, you don't need my (or anyone else's) versioned H files anymore! You can generate a modified H file from the originals! Steps:

Configure Marlin

You are probably done if you followed the steps this far. See "How to Use" to use deploy-marlin instead of manually editing files. If you are having trouble with the deploy script and your CONFIGURATION_H_VERSION matches the Marlin-R2X_14T directory, you can do it the old way: The safest way is using Meld: meld ./Marlin-R2X_14T/ ../Marlin. If you are sure the versions match, you may be able to copy all files from r2x_14t/Marlin-R2X_14T to Marlin (ensure that you confirm overwrite, or you may not have copied to the correct directory). On a GNU+Linux system that would be done via: rsync -rt ./Marlin-R2X_14T/ ../Marlin (On Windows via pushconfig.bat).

Build and Install Marlin

Configure the TFT

FlexionHT

The FlexionHT retrofit kit for the Replicator 2X is highly recommended. I ordered the Flexion on eBay and got the FlexionHT and it works fine and is suitable for flexible filament. Along with the FlexionHT retrofit kit you can use the printable parts below.

The ThingiVerse collection "Poikilos R2X 14T mod and upgrades for Replicator 2X" also lists such parts.

Part Cooling Fan Duct for R2X 14T with FlexionHT CC BY 4.0 Poikilos on ThingiVerse

My BLTouch mount for the FlexionHT:

BLTouch Mount for FlexionHT on R2X 14T mod for MakerBot Replicator 2X

Project Status

Using a later version of the bugfix branch on the upstream repository is desirable, while utilizing the platformio.ini, Configuration.h, and Configuration_adv.h from the fork. Updating will provide M154 position auto-report, which the BIGTREETECH TFT35 (and other models) can utilize (the setting must be enabled in both the Marlin Configuration.h and in the TFT firmware configuration file as per the BTT Touchscreen readme).

Updates to platformio.ini, Configuration.h and Configuration_adv.h that work with later commits of the Marlin bugfix-2.x.x branch will go here. For a fully-tested version or for earlier commit history, see https://github.com/poikilos/Marlin/tree/bugfix-2.0.x-r2x_t14.

For information on past and possible future changes to the factory design, see contributing.md.

Hardware Changes

The main goal was to improve bed adhesion and eliminate skipping on the extruders and z axis. The solutions used are:

Optional Add-ons

Custom Z_MAX

This part is not complete, but seems possible with Marlin bugfix-2.1.x (not bugfix-2.0.x) according to the issue page. A link to the closed MarlinFirmware/Marlin issue is at: https://github.com/poikilos/marlininfo/issues/22. This issue is also discussed in documentation/manual.md

If you place the screws differently, you'll have to modify the R2X_14T config's Z_MAX_POS value by the difference. If your endstop is higher, you will have to subtract. Note that the build volume will not match the manufacturer build volume either way. Making a mount that places the endstop all the way at the bottom may cause pulling or crushing of the wires that go to the bed (That issue may be solvable and allow increasing the build volume).

Requires:

Slicer Settings

While tweaking, ensure your filament is dry before assuming that surface flaws are due to slicing or hardware issues. Consider using a drybox system such as by printing Complete IKEA Drybox Solution 10.6 liter / 358 oz by crashdebug December 11, 2020.

Temperatures: For printing ABS, a bed temperature of 105 C recommended by the FilaPrint manual works well. A nozzle temperature of 230 C works well for high speeds up to 100 mm/s according to the MakerBot website (even with PLA, they say).

Bed Adhesion: Ensure you load the saved mesh in the start G-code for mesh bed leveling (this may not be necessary since the firmware is set to load it at startup). Using regular ABS (tested MakerBot that was sitting out) with the FilaPrint surface requires about 150% overextrusion on the first layer for large models and 200% (or 150% and a raft) for small models. The PrusaSlicer (or Slic3r) raft detaches well for ABS (but not so well as Cura’s when using PLA+).

For more information, see "First-time setup" in documentation/manual.md.

Bed Adhesion

I was able to get bed adhesion with higher extrusion for the first layer, even without a raft.

The first layer extrusion that worked is 150%. (using FilaPrint's recommended 105 C bed temp for ABS)

For smaller models such as Benchy, I either need to use 200% for the 1st layer or a raft. Using that much overextrusion for the first layer will require turning up the elephant's foot compensation and I may make a profile for small models.

For more information, see "Bed Adhesion" in documentation/manual.md.

Profiles

See "First-time Setup" in documentation/manual.md.

Making Modifications

To make modifications that differ from the current state of the r2x_14t project or to understand the inner workings, See contributing.md.

Development

marlininfo

The marlininfo module is a Python module for modifying and deploying Configurations regardless of version.

In several variable names, "C" or "c" refers to Configuration.h and "CA" or "ca" refers to Configuration_adv.h

Measurements

If the metric measurements differ from the value converted to in this section, they are more accurate (~ means approximate), within about .04mm tolerance. Where the unit of measurement isn't specified, it is mm.