How can I have a large 3D printed object?

As Trish states, a print service would appear to be your best bet. Building a printer large enough may work out costing more than the print service, especially if it is only for one print of a proof of concept.

Anecdotally, I visited a 3D Printing shop in Bangkok, JWH High tech Garden, that had a huge Delta printer that had, reputably, cost a million baht (~£20000) if my memory serves me correctly, and was capable of producing prints up to 1000 mm x 600 mm (39.37" x 23.62"):

However, the print service was not cheap at all. In May 2017, I was quoted 68000-100000 baht (~£1360-2000) for some printed parts (the proteins) for a Wilson II 3D printer, which are about only £70 on eBay!

However, it is worth taking into consideration that, at the moment, Thailand is very expensive for 3D printing in general, as it is relatively new there, and so prices for both printers and print services are high.


Getting bumps/warts on surface, Cura doesn't want to comb?

Following on from Toon's answer, here is a run down of Thomas Sanladerer's excellent
 video: 3D printing guides: Calibration and why you might be doing it wrong.

However, this may not be a definitive answer to the actual question about warts and bumps...

0:08 - A step back

Back in time - when the RepRap project (and the hobby grade 3D printing market) was new territory - it was seen to be a doable technology, with no restrictions imposed by patents. The new printers created and developed included Darwin, Sells Mendel and Prusa Mendel. These often produced unusable parts.

However, impromptu solutions, or kludges led to poor quality fixes giving poor quality prints, by today's standards. However, people (today) believe that because they worked back then,. that they must still be valid solutions today. However this is not necessarily the case.

The common misconception is that it is necessary to calibrate the esteps per mm for all axes other than extruder - adjusting the x, y and z esteps per mm until the 10 mm cube measures exactly 10x10x10 mm, even if that means squeezing the callipers.

  1:25 - Car analogy

  You find that your car pulls to the left, when going in a straight
  line, so you adjust the steering. However, then in hard corners and
  the rain the car handles poorly.

  Upon closer inspection, it then turns out that the car had a flat
  tyre. You wouldn't compensate for having a flat tyre by adjusting the
  steering, now would you?

In order to get that 10 mm cube precise, it is usual to calibrate for the filament diameter, and extrusion multiplier (most straightforward option), but some printers aren't even that precise in the first place.

Mechanical, ripple, slaw, blacklash, can throw you off by 0.1 mm.  Compensation for this 0.1 mm is certainly possible and achievable. However, then for a larger print, say 100 mm, then these overcompensation will become more evident, and you will be one entire milimeter off the desired dimensions.

So, use the ideal calculated esteps per mm. Timing belts and threaded rods are made to tight tolerances. therefore the worst case of ideal step per mm setting is an inaccuracy of 0.5%.

So, to find the ideal calculated steps use Prusa's calculator which is very good indeed.

If you are not using belts, or very large printer, then it is worth recalibrating the steps per mm for x and y, as 0.5%  will make a noticeable difference in larger parts.

Use the files and instructions for these Calibration sticks on Youmagine, for proper recalibrating without results slewed by the extrusion multiplier being off by a bit.

3:45 - So what do I need to do?

What do you need to empirically calibrate your printer?  In actual fact, not all that much:

extruder steps per mm setting
extrusion multiplier (see video link - Extruder calibration)
print speed, jerk and acceleration settings - These depend upon how much quality you want to sacrifice for increased speed.

Pro-tip: slow your printing down. For example, try printing at half speed. Quality may be improved, and even if it isn't you will be able to observe more clearly what is happening, and going wrong.
(see video link - Super Fast Guide:Tuning Speeds)

4:30 - Other than that?

There is not much else needs calibrating, per se.

With regards to slicer software, there are only a certain range of settings make sense, but this isn't printer calibration. You simply learn the slicer software and, with familiarity, see how far you can go.

These days any well maintained and well built and solid printer will produce good prints.

Most slicers give you decent prints without tweaking or calibrating, other than the basic settings about your printer and deciding how the part should be printed.

What about print temp and retract settings? Well, just use the default settings, or settings which depend upon the type of filament.  So, no calibration is required there, as it is a property of the filament.

5:24 - Summing up

Don't try to calibrate everything

The technology, in particular the software, i.e. slicers, is still developing and improving. Slic3r's prototpye beta (in Nov 2014) has added compensation for fitting errors(?) without messing other things up, which is essentially what the cube calibration tries to do, but in the correct way.


On the schematic, the 3.3v is marked as "U7" and pointed out here:

The 3.3v is marked as pin #2. You can find the three pints from U7 here on the board (blue circle):

I'm not exactly sure if the pins are accessed from the other side of the board, or even if they are marked at all on there. You can always check them with a multimeter to see what their output is. More than likely the bottom single pin is the ground and the top two are one or the other (5v & 3.3v).

As far as amperage draw, I'm thinking 45mA is not a lot of draw, but I'm not an expert. I'd think it should be able to handle it, but again, I really don't know.


From what I understand, you're trying to partition your object into smaller pieces with the hopes of putting them back together in a manner similar to a Jigsaw puzzle.

There are two options that I know of to do this, which requires using OpenSCAD:

The PuzzleCut library - This allows you to disassemble your object into a multiple pieces that can be assembled together in a jigsaw puzzle type manner
The PinCut library - This allows you to disassemble your objects into multiple pieces that than be reassembled using the pins and corresponding holes on the pieces.


Isn't using the Extrusion Multiplier like cheating?

No, the Flow rate or Extrusion multiplier is to compensate for different materials and temperature ranges.
Where does the factor come from?
Let's say we calibrated our nozzle for work at 200°C with PLA, so 100 mm extrusion are correct and want to print ABS. ABS behaves differently and we get bad prints. What is wrong? Well, they do behave differently in the heat, and print at different temperatures. One easily noticeable difference between the two is the heat expansion coefficient.
Now, I had to scrounge through research papers and Material/Technical Data Sheets for PLA, so take that one with a grain of salt. But we can clearly compare the various plastics heat expansion coefficients:

PLA: $41 \frac{\text{µm}}{\text{m K}}$ a TDS
ABS: $72 \to 108 \frac{\text{µm}}{\text{m K}}$
Polycarbonate: $65 \to 70 \frac{\text{µm}}{\text{m K}}$
Polyamides (Nylons): $80 \to 110 \frac{\text{µm}}{\text{m K}}$

Those are just three randomly picked plastics that clearly are printable. If we heat one meter of them by one Kelvin, they'd expand by that length (a couple micrometer). We heat the later three printing materials to about 200-240 K over the room temperature (~220-260 °C), so we'd expect these the materials to expand by the following ranges:

PLA: 6.97 to 7.79 mm (1)
ABS: 14.4 to 25.92 mm (2)
Polycarbonate: 13 to 16.8 mm (2)
Polyamides (Nylons): 16 to 26.4 mm (2)

1 - using 170 K and 190 K temperature difference for its normal print temperature range of ca 190 to 200 °C2 - first: low expansion at 200 K increase, then high expansion at 240 K
You have calibrated your printer for one of these values somewhere in there. And now you get a different filament that has a different color and a different blend or even you swap from PLA to ABS or switch from one brand to another - the result is: you get a different heat expansion coefficient somewhere in that range and you have almost no chance to know it. The heat expansion coefficient, in the end, has an effect on the pressure in the nozzle and this the speed the material leaves the nozzle, which impacts die swell and so the overall printing behavior.
Remember that heat expansion is not the only thing that is happening in the nozzle. Other big factors are for example the viscosity of the polymer at its printing temperature, its compressibility (which depends for example on chain length or embedded fillers), the geometry of the nozzle, the length of the melt zone... they all play a role in how exactly the print gets to come out.
We can sum all those up under a general "behavior in the nozzle" tag, and as a result one gets vastly different flow/extrusion multipliers, like the 0.9 for PLA/1 for ABS in Simplify3D.
Other Factors?
There are also other factors that play a role.
The distance between the extruder and the melt zone and how the filament behaves there are somewhat obvious: A ductile filament can bunch up some in a Bowden tube while in a direct drive there is much less space for that.
The extruder can have an influence depending on the geometry of the drive gear and how much it bites into the filament. The depth of the deformation is again dependant on the hardness of the filament and the geometry of the teeth. Tollo has a great explanation how this has an effect on the need to alter the extrusion multiplier.
gaining the factors
Most of these are determined by trial and error using a factor of 1 and dialing up manually until proper printing is achieved on the machine, then putting that factor back into the software.
As a side note: Ultimaker Cura has (in its filament database) the ability to save flow rates into each different filament, but does initialize all with 100 % default.
TL;DR
It is a way to adjust to the relative difference between the behavior of filaments (using one of your filaments as the calibration) and not cheating.


Trying to control temperature of hotend using PWM signal and MOSFET

connected the 12 V, 3 A supply to the drain of the MOSFET. And connected the Resistance heater of the 3D printer to the source and ground.

The MOSFET is damaged. If the gate is at $0V$, no current should be able to flow.

You're trying to use an N-channel MOSFET as a high-side switch. This is a bad idea, because it would require more than $12V$ at the gate to turn the MOSFET on properly. It would be better to set this up as a low-side switch so that the microcontroller can drive the gate directly. The MOSFET should go between the load and ground, not between the load and $+12V$.

The fact that you connected it like this is the very reason the MOSFET has been damaged. When the MOSFET is OFF, there is $0V$ across the heater. When the microcontroller starts to turn the MOSFET ON (by applying $5V$ to the gate, thus increasing $V_{GS}$ to above $V_{th}$), current starts to flow through the load and the voltage across the load increases. This in turn decreases $V_{GS}$, causing the MOSFET to turn off. You will end up with approximately $3V$ across the load and $V_{GS}=2V$. You've got $9V$ being dropped across your MOSFET and with a current of approximately $800mA$, the $7W$ of heat produced will quickly kill the MOSFET.


I am sorry to inform you, that the answer to "How do I fix the thickness" is "Remodel them" - especially in this case as the whole design is... awkward.

But you don't necessarily need to resign them from scratch, if you can fix it... But beware, fixing does only work sometimes...

First of all, Blender is NOT a good modeling software for designing parts that shall be printed, Blender is a 3D Artist program, not a CAD program. It can serve its course, but it can and will ruin your day. I suggest grabbing Autodesk Fusion 360, since it is mighty and free for small makers.

Step 1: Transfer into CAD software

For our first step, we want to take the surface of the Wing and export it as an STL. To do this, remove all interior vertices. ALL. Save as a work-project. Look for "BAD" areas - try to have as little vertices as possible. If several are in the same flat area feel free to remove some. The simpler, the better - compare these two pictures - left the bad side, right the good.

Export via File > Export > .stl.

Open Fusion 360 and import via the process outlined here: Insert > Mesh.

Now we need to turn our Mesh into a BRep like described here:

Deactivate the pickup of model history by right-clicking the project in the left, then "Don't capture design history"
Modify > Mesh > Mesh tp BRep
choose your object and OK
reactivate the model history by right-clicking the project in the left, then "Don't capture design history"

Step 2: assigning Thickness

We got a surface now... or rather several that are stitched together. We want to give them thickness...

create > thicken
click on one area, choose the thickness as a negative value. For example -1 mm
click on the body's lightbulb to make it visible again
rinse and repeat for each area not yet thickened

Hint: rightclick opens a context menu that offers repeat ..., where ... is the last used operation, in this case: thicken. This considerably can speed it up.

Step 3: Combining thickened parts

Now, we have several thickened parts, all of them intersecting or touching. like, what usually looks like this...

actually is these different parts (which I colored for showing only - it is totally unnecessary!)

It's easy to see these all intersect. And luckily, intersecting parts can be easily merged!

Modify > Combine
click one, then another. OK.
rinse and repeat as much as you can - some pieces will throw an "inconsistent edge-face-relationship" error. If these crop up, you need to start over, fixing the Mesh.

To state it clear after wasting 2 hours on this:

Your files needs to be done again from scratch.

In a proper CAD modeling software. Because what you have there is not fixable easily.


Is Creality Ender 3 V2 Supposed To Come With Board V 4.2.2?

Yes, they are shipping the v2 with the 4.2.2 board.  My understanding is that the 4.2.7 board has a change in the stepper driver pinout but is otherwise the same as 4.2.2.  The change in the pinout allowed them to change the stepper driver package as the stepper driver vendor appears to be changing that spec.  I've used both boards in my V2 with no discernable difference.


Arduino Mega 2560 + RAMPS voltage on GPIO pin

Connecting a 100 Ohm resistor is definitely not safe. This load is far too high for an AtMega2560 output pin. 100 Ohms at 5 V (when the pin is high) is 50 mA, whereas the recommended maximum for an AtMega2560 pin is 20 mA (and it would be better to stay well below this maximum). You should use a higher value pull-down resistor (at least 250 Ohms, more would be better) or find out where the stray voltage is coming from (it could be an internal pull up on the AtMega, since pin 20 is also the SDA pin which Marlin might enable).


All the Prusa-based designs I've seen have only one end stop.  While you are correct that it's theoretically possible for the two Z-drives to get out of sync, it's very unlikely in practice (barring serious friction, binding, etc.).

But even if it happens, remember that the endstop microswitch is only used to keep the extruder assembly from crashing into the print bed.  The stepper motors do not have shaft encoders, or any other position sensing mech, so if they were to get out of sync, there'd be no way to know this.

The reason there's provision for a stop mount, on both sides, is simply to make the physical parts of the frame the same.

That said, it is important to check the extruder support assembly to verify it's level as you build the printer - "level" meaning both supports are the same distance from the screw-drive shaft couplers.


First of all let me state that I do not own the module! The analysis below is based on old patches that worked in a version of Marlin in 2015, and translated to the latest version of Marlin of the 1.1.x branch. This is 1.1.9; this is the last version of the 1.1.x branch, all new development takes place in branch bugfix-2.0.x (dated May 2019).

The reported patches are compatible with an earlier version of Marlin Firmware (a version from 2015). Clearly this doesn't work anymore, but that should not be a problem, if it worked then it should work now provided we configure it correctly. The display you have requires U8GLIB_SSD1306, so the U8GLIB library need to be installed in your Arduino IDE!

Let's follow this installation guide for the older version as an example.

First, from patch 1 it becomes clear that you'll need to define that you are using a display that is identified by its name/type, you should uncomment the following line in your configuration.h in the section:

//=============================================================================
//======================== LCD / Controller Selection =========================
//========================   (Character-based LCDs)   =========================
//=============================================================================

//#define MKS_12864OLED_SSD1306  // Uses the SSD1306 controller

to:

#define MKS_12864OLED_SSD1306  // Uses the SSD1306 controller

as you are using the SSD1306 controller according to this reference.

That is about the only thing you add in the configuration.h file! You only activate the name of the controller type (as in defining a constant) so that it is caught in other source or header files to do/trigger something.

With this change, you automatically activated the rest of patch as that is implemented in Conditionals_LCD.h!

Next, we need to address patch 2. This is addressed in ultralcd_impl_DOGM.h; here you will find:

#elif ENABLED(MKS_12864OLED_SSD1306)
  // MKS 128x64 (SSD1306) OLED I2C LCD
  U8GLIB_SSD1306_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0);      // 8 stripes
  //U8GLIB_SSD1306_128X64_2X u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0); // 4 stripes

which clearly differs from the patch:

U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25); // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25

as such that it uses numbers instead of constants. So we need to define these constants first. These constants are defined by the board you are using, more specifically the pin layout.

Looking at the pin layout of your RAMPS board:

      #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
        #define LCD_PINS_DC     25   // Set as output on init
        #define LCD_PINS_RS     27   // Pull low for 1s to init
        // DOGM SPI LCD Support
        #define DOGLCD_CS       16
        #define DOGLCD_MOSI     17
        #define DOGLCD_SCK      23
        #define DOGLCD_A0       LCD_PINS_DC

you'll find that the pins are correctly configured with the fore mentioned:

U8GLIB_SSD1306_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0);      // 8 stripes

We move on to patch 3. This patch deals with the reset/initialization of the OLED display. This is also already taken care of in ultralcd_impl_DOGM.h:

  #if PIN_EXISTS(LCD_RESET)
    OUT_WRITE(LCD_RESET_PIN, LOW); // perform a clean hardware reset
    _delay_ms(5);
    OUT_WRITE(LCD_RESET_PIN, HIGH);
    _delay_ms(5); // delay to allow the display to initalize
  #endif

Next to patch 4, in pins_RAMPS.h you see that pin 25 and 27 are correctly defined (apart from the name LCD_PINS_RST, now without T, but that is fine!):

  #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
    #define LCD_PINS_DC     25   // Set as output on init
    #define LCD_PINS_RS     27   // Pull low for 1s to init

The only difference is that pins

    #define LCD_PINS_D5
    #define LCD_PINS_D6

are not set to -1, so to be consistent, you should change pins_RAMPS.h to:

      #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
        #define LCD_PINS_DC     25   // Set as output on init
        #define LCD_PINS_RS     27   // Pull low for 1s to init
        // DOGM SPI LCD Support
        #define DOGLCD_CS       16
        #define DOGLCD_MOSI     17
        #define DOGLCD_SCK      23
        #define DOGLCD_A0       LCD_PINS_DC
        #define LCD_PINS_D5     -1
        #define LCD_PINS_D6     -1
      #else
        #define LCD_PINS_RS     16
        #define LCD_PINS_ENABLE 17
        #define LCD_PINS_D4     23
        #define LCD_PINS_D5     25
        #define LCD_PINS_D6     27
      #endif

A conclusion from the analysis above is that you enable the display in your configuration file and add the 2 values of -1 for D5 and D6, but I don't think they cause problems if they're not initialized to -1. Be sure that the cables are connected correctly. Some modules have reported upside down connectors.


Does the material a bed is made out of affect the cooling time of a part?

What bed material cools faster?

I found an extensive list which relates various materials to their thermal conductivity, k [W/mK]; the lower thermal conductivity, the better the material insulates, and the slower the print bed will resist changes in temperature - both heating up, and cooling down.

Here are the thermal conductivity for some common materials for 3d printer beds:

Aluminum    205
Glass       1.05
Acrylic     0.2
Air         0.024 (for reference)

There is also the matter of thermal capacity, but I will not go into that right now (need to do some research myself first!).

Will bed material affect cooling time?

Bed material, I believe, is not necessarily related to print cooldown time: it depends on the situation, such as whether we are discussing cooldown during or after printing, and if the bed is heated or not.

If you are not using a heated bed, I believe the bed material doesn't matter at all.
With a heated bed while printing, only the first dozen layers or so are probably affected by the rising heat sufficiently that it affects the printing process.
With a heated bed after printing, the thermal characteristics of the bed will determine how quickly the print cools (and thus can be removed).

Also remember that other physical properties, such as flatness (both cold and during heating) of the bed material is vital for successful prints, and that not all materials can tolerate heating equally well!


Convert ball-stick model to STL from the command line

I would suggest using OpenSCAD for this. OpenSCAD does not natively support reading data files that aren't 3D/2D models or images, but you can write a simple program to generate OpenSCAD code.

I would suggest first writing an OpenSCAD file that implements your chosen type of "ball" and "stick", perhaps like:

module ball(x, y, z) {
    translate([x, y, z])
        sphere(d=10, $fn=60);
}
module stick(x, y, z, length, rx, ry, rz) {
    translate([x, y, z])
    rotate([rx, ry, rz])
        cylinder(d=5, length=length, $fn=60, center=true);
}

Then, take your data file — let's suppose it's a CSV —

ball,0,0,0
ball,100,0,0
stick,50,0,0,100,0,90,0

and convert it into OpenSCAD by adding the appropriate syntax (this could even be done using a basic find-and-replace tool):

import <ball-and-stick-definitions.scad>
ball(0,0,0);
ball(100,0,0);
stick(50,0,0,100,0,90,0);

Then, producing the STL is just a matter of running the openscad command on your generated OpenSCAD source code.

If your stick parameters are not Euler angles but "start point" and "end point" you'll have to add the "rotate to point at…" math yourself, but that is within OpenSCAD's capabilities as it has vector math operations and multmatrix, or trigonometry if you prefer to generate Euler angles; you don't need to do that math at the file-conversion stage.


You can not tell this by looking at the STL file alone, because how much material will be used depends on the print settings (obviously, printing at 100% infill will consume much more material than 10%).

The best way to check the material usage is to load the model into a slicer and slice it using your preferred settings. Most slicers will report the projected material usage, often in grams but sometimes in meters of filament (but the two figures are easily converted between each other if you know the density and diameter of your material).

Here is an example in the Cura slicer:

Simplify3D (after you click "prepare to print!") also shows you the projected print time and material usage and even the cost of the material (if you have previously entered the material cost per kilogram):


If you keep the head hot during the pause, and over the print, you will melt the material already deposited.

If you move to X0 Y0 (like on a layer change) and pause there, you can cool off the head (or not), but will want to prime (advance) some material before resuming your print - or risk an initial void, as the heated material will expand and drip to some extent.

If you move to X0 Y0, retract, and cool off for your pause, you should be able to heat up, advance, and resume with few issues. You will probably still need to some manual cleaning where the resume was, as there is likely to be some buildup.

Also, if you let the bed cool during your pause, your print may become unstuck from the bed.


Best way to fix ABS corner curling on enclosed Prusa style printer with PEI heatbed?

Adding 20mm mouse ears was sufficient to resolve the problem using the original extrusion / heatbed settings.  I did not expect mouse ears to be required on the Benchy model, but given the lack of better advice it seems this may be a poorly documented "feature" of ABS.

Results on the original worst-case test model:

Note that the brims will not help if the bed is insufficiently leveled -- the brim has to actually merge with / melt into the base part layer, so the extruder height has to be perfect at the brim to part interface.

Example of extruder too far away from bed:


Good sources of filament "sampler" pack?

Amazon, of course.   I found a pack of 20 colors, maybe 50g each or so, 1.75 PLA. (that link is direct to this product).

edit:

Well, dang,  I blinked at that particular item is off the list.  Here are two other multicolor packages currently available (2PM EDT 20 Oct 2016)

one , and  ...    two


Updating Marlin Firmware - Step by Step Guide

Step 0: extracting old settings & setting up

The first step is to get yourself a printing software that has a Console or Terminal like present in Repetier Host, Pronterface (as part of the Printrun software suite), OctoPrint or any other tool (e.g. serial connection with PuTTY also works) that allows to communicate with the printer to extract the settings we already have. Once we have the software installed and the printer connected, send M503 and copy the old settings into a file for later use.

Next, we need our development surroundings. Usually, you want to use Arduino IDE (but the PlatformIO plugin as part of Visual Studio Code can be used for both Arduino based microprocessors as 32-bit processors), but you need to know what kind of board the control board of your printer is derived from because some boards have native IDEs that work better for them.

Step 1: Choice of Firmware

By some metrics of early 2020, about 80 % of all shipped machines run Marlin in some fashionneed citation. The most prolific versions of Marlin at that point are often cited to be 1.1.9 and 2.x. Since anything before 1.1.9 is very much obsolete and needs an update anyway, we will look into 1.1.9 and 2.x only. Version 2.x was developed to include 32-bit microprocessors, but is compatible with 8-bit microprocessor printer boards. As the version jump indicates though, 2.x is pretty much an entire rewrite, so do your choice and jump to the correct next step.

Marlin 1.1.x

Typically, you start by grabbing a blank Marlin 1.1.9. The next step is to alter the static settings of the printer to match yours in Configuration.h - best use the settings from what we pulled earlier via M503 as a start. Alternatively, you can search for a configuration of your printer between known configuration files. You should at least need to adjust these:

For communications and filament diameter:

#define BAUDRATE 250000

// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0

Choose your correct temperature tables, and make sure to turn on the one for the bed if you have one!

#define TEMP_SENSOR_0 1
[...]
#define TEMP_SENSOR_BED 0

Next come two blocks that set the 'this is ok' temperature area, for the hotends and bed respectively (only hotend shown here).

// Extruder temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10  // (seconds)
#define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.

The next slot is an important safety feature: Mintemp and Maxtemp. Unless you seriously, positively know your hotend can do more than 275 °C (which means you have an all-metal hotend), DON'T touch the Maxtemp, but you might set Mintemp to 0 °C if you like.

Next come PID-Tuning settings, you only need to work with those if you know what you are doing.

The next step is important also: make positively sure that these two lines are exactly as follows, no stray // in front to comment them out. This is TRP.

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed

If your printer is a CoreXY or similarily uses 2 belts for moving along 2 axis, you look at the Mechanical Settings tab and alter it there, otherwise we skip further to the Endstop Settings. Enable (remove the leading //) the max-endstops if you have them, the rest is usually not necessary on most consumer-grade machines, then go further to the Movement Settings. From our M503 we grab the settings to fill out the following:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }
#define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 25 }

If you have a probe, you look into Z-Probe Options and follow 0scar's guide here, skip it otherwise until you find the next snippet. Fix that one up to fit your bed and movement area. You might need to set values for the endstop to bed origin distance. These offsets, X_MIN_POS and Y_MIN_POS, need to contain the correct values to center the bed; see "How to center my prints on the build platform? (Re-calibrate homing offset)
".

// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 200

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0 // Value of zero means that the origin of the bed is at the endstop
#define Y_MIN_POS 0 // Value of zero means that the origin of the bed is at the endstop
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200

Next, uncomment (remove the leading //) the following line:

//#define EEPROM_SETTINGS // Enable for M500 and M501 commands

If you want to have a special pause position, uncomment and define it in

//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
  // Specify a park position as { X, Y, Z }
  #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
  #define NOZZLE_PARK_XY_FEEDRATE 100   // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
  #define NOZZLE_PARK_Z_FEEDRATE 5      // Z axis feedrate in mm/s (not used for delta printers)
#endif

We are on the finishing stretch, just a few things in this file remaining! Select your language with the line:

#define LCD_LANGUAGE en

Turn on the SD-Card slot by uncommenting

//#define SDSUPPORT

The last step we need to alter in the Configuration.h is choosing the correct LCD controller. Uncomment the line corresponding to your printer - you might need to use a generic option.

Marlin 2.x

Again, grab the 2.x marlin, either the blank base or a preconfigured version. For some printer styles (like Delta), you have to take a specialized set. Then we look at our M503output and set our communications Baudrate and our motherboard (or the board it is derived from), then the number of extruders and the filament diameter:

#define BAUDRATE 250000

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif

#define EXTRUDERS 1

#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0

Next we go to thermal settings! We need the correct temperature sensor table for hotend and bed, possibly we could lower MINTEMP to 0. Don't touch MAXTEMP unless you know what you're doing and have a full-metal setup and you know your machine can take more.

#define TEMP_SENSOR_0 1
[...]
#define TEMP_SENSOR_BED 0

Our next step is making positively sure that TRP is on. Make sure these lines have no leading //

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber

If the printer is a CoreXY or similar, enable the style in the mechanical settings area.

Enable (remove the leading //) the max-endstops if you have them, the rest is usually not necessary on most consumer-grade machines, then go further to the Movement Settings. From our M503 we grab the settings to fill out the following:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }
#define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 25 }

If you have a probe, you need to set it up - 0scar has a partial guide - and it is all in the Z Probe Options area! Otherwise, go on. We need to go down, and in the middle of the Probe setup, we find the bed settings. Set them up to fit your printer and possibly the offset from the home-switches to the build volume corner.

// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 200

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200

Down to Additional Features we go! Let's turn on the EEPROM by uncommenting (removing the //)...

//#define EEPROM_SETTINGS     // Persistent storage with M500 and M501

...and think about how you want to set up your preheats or where to have your special park position. But then comes the last part, which we really need to do: Set up the interface. Start by changing the language and turn on the SD-Slot by uncommenting the lower of these lines:

#define LCD_LANGUAGE en

//#define SDSUPPORT

Our last stop on setting up the basics is LCD / Controller Selection. We need to uncomment the right one here. If you don't find yours, use a generic one.

Step 2: Preparing the Board

There are 2 variants here: either you use a bootloader, or you prepare a .hex file for overwriting the whole firmware. In either case, we need to know what board we have, so we can compile with the correct encoding and setup. You might need to install a proper extension!

2.1 - Bootloader

A lot of boards come with a pre-flashed bootloader, which makes installing and revising software very fast. But not all boards have one flashed.

Flashing a bootloader needs you to have an Arduino and some cables or a different ISP or AVR programming tool. Complete instructions can be found here by Greenonline and here by Robert Lo Giacco and jpa.

Or you take your control board to your local maker space and ask someone there to help you flash the bootloader - most maker spaces have at least someone that has an Arduino and can help you!

2.2 - .hex file

In this case, we don't need to do anything in this step. We'll have a different installation process though.

Step 3: Compiling & Installing Firmware

Depending on your choice in the previous Step, you have to follow the corresponding branch here:

3.1 - Bootloader

If you have set your bootloader, now installing firmware is as simple as connecting your computer with the printer using a direct connection and doing a compile & Upload command.

3.2 - .hex file

After preparing your .hex file, you can upload it with one of the variants shown here by Greenonline, Trish or Thomas Weller

Step 4: Finishing touches

Seeding

Directly after installing up our new firmware on the printer, we need to seed our settings. Connect to the printer via any Console or Terminal (see Step 0) and use these commands

M502
M500

PID Tune

Then we run a PID-Tune. For the first extruder we send:

M303 E0 S200 C3

It will run the machine some and return values named Kp, Ki & Kd. These directly correspond with P I & D. Store them into the EEPROM and save with the following:

M301 P##.## I#.## D##.##
M500


My heated glass print bed keeps chipping and cracking. How can I prevent this?

I use the glue stick method. I like to take my build plate out and put it in the freezer. The different coefficients of thermal expansion between the glass and plastic usually means that the part just pops off in the freezer.


I had the same problem with ABS, but printing different test objects I found out that the distance between the wavy structures depends on the cross sectional area of the object. Printing the testcube in 70.1% (1/sqrt(2) times of the original size) takes half the time per layer and the distance between two grooves doubles. I was printing ABS with 0.1 mm layer height and the simple bang-bang heat bed controller. The temperature is clearly wandering for 4° with a period of aproximately 2.5 minutes, which corresponds to the groove distances. After changing to a PID controller for the heated bed the temperature stayed within 0.1°C and the problem was gone. Several hundredths of a millimeter thermal expansion of the heated bed can have substantial impact at 0.1 mm layer height!

You can enable the PID controller for the heated bed in Marlin or Skynet firmware by enabling (removing the //) here:

  //#define PIDTEMPBED

and disabling (putting // at the beginning of the line) here:

  #define BED_LIMIT_SWITCHING

in Configuration.h. Calibration of the PID controller can then be done with the GCODE Command:

  M303 E-1 S90 C8

for 90°C. I had to preheat the heated bed before, otherwise the calibration would run into a timeout. The command will return parameters for the PID algorithm. The values can then be applied by the

  M304 P579.01 I100.87 D586.0

GCODE command (here for example values). Everything can then be saved to the EEPROM with

  M500

Bang-Bang controller:

PID controller:


Displayed temperature jumping while printing for a long time

Your temperature is not just bumping up 10 °C. Your hotend is fluctuating in temperature, it drops under and increases over the "set" temperature. The hotend temperature is a result of the amount heat you put into it and how much heat you pull from it (e.g. filament heats up and draws energy from the heater block), apart from a too large printing speed for the heater to follow the energy off-take, this can be the result of one of the following (or combined) issues:

Your print cooling fan position is too high/not low enough, it cools the heater block/nozzle
Your PID settings are not correct

Many hotend designs come with silicone "socks" insulating the heater block and to shield airflow from cooling the heater block.


Creality v1.1.5 board replacement UP1 Chip

It's an MP1584 chip.
Guys on Reddit helped me out.

link


Does the Elegoo Mars printer support additional file formats?

It also works with the .photon format of the Photon slicer.
It is only marginally better than ChituBox though.


Problems with Z-axis: Z-axis raised not enough at the beginning

Here are my problem and my solution. Hope this will help others.

As @R.. suggested, I checked my carriages and as well as z-axis guide wheels(I think it is called guide wheel). And I found that the guide wheels were too tight. I can't rotate them will my fingers. So I used a spanner to adjust the eccentric nuts until the guide wheels can be rotated by two fingers. Do not make the guide wheels too loose, it may cause shaking or other problem.

Since I don't know the exact name of each part. I marked them in the pics. If you know the correct name of the parts, welcome to correct me, I will edit it in my post.

Special thanks to R.. :P

Here are the pics:


Hex infill patterns are normally chosen for strength, as the honeycomb resists force in many directions. However, hex infill patterns are slow to print and the older, simpler fill patterns print faster and provide sufficient support for solid architectural models.

Models with shallow roof angles of less than 45 degrees are challenging to print and often result in "air prints" where unsupported filament cascades into a sorry tangle of sadness. Shallow roofs are challenging because each horizontal filament overlaps very little with the preceding adjacent filament. This is where infill proves critical, since the infill supports these filament bridges as they cross each infill line segment.

Slicing software has only recently introduced the hex fill pattern because the code to print a hex infill is VERY complicated. You can see this in the picture as all those fine lines of retracted filament scattered throughout the hex infill. Earlier, simpler fills such as diagonal lines provide simpler longer paths for the slicer to implement. Bridging works best at speed over many supporting points. Excessive retraction causes the extruder to "stutter", and makes bridging difficult.

It may therefore help to choose a simpler fill pattern for printing this model and reserve hex infill for simpler models requiring utmost strength.


Printer randomly moves to home during printing, then resumes as normal

The issue was due to a corrupt SD-card, which was occasionally having some garbage read from it. It turns out that Marlin will try interpret a corrupt move command like G0 X1q3.54 and still read as many numbers as it can. In this example, it would be interpreted as G0 X1 rather than (as might have been intended) G0 X103.54.

This explains my symptoms perfectly:

X and Y always moved to (approximately) their home positions, but it was always only one of them (it's quite unlikely that both moves are corrupted).
Z was not affected because Z moves are much rarer in the G-code (only on layer change) and thus it was very unlikely that a Z move would be affected.
E was not affected since a request to move E to near 0 would be prevented by Marlin's long extrusion prevention.


How do you heat a large glass print bed?

It will be very difficult to heat such a large bed, simply because of the enormous power required. Thomas Sanladerer recommends at least 0.6 W/cm² but notes 0.4 W/cm² also works (but takes "forever" to reach the target temperature).

For a 30"x30" bed, 0.6 W/cm² would come out to 3.5 kW. At 110 V that would require 32 A and at 220 V, 16 A. These are extremely large currents, perhaps more than you can draw from a single circuit: both in the EU and US sockets tend to be fused at around 15-20 A (the standard EU Schuko plug itself is only rated for 16 A).

You will be forced to go with a lower amperage, for 0.5 W/cm² you "only" need 27 A@110 V or 14 A@220 V. 0.4 W/cm² is 21 A and 11 A respectively

As such, if you are in the US, then it will be impossible to heat such a bed from a standard wall outlet. In the EU it might just about be possible, but make sure that the wiring in your house is in good state and capable to carry the current required (and note that running electrical equipment at its maximum rating for an extended period of time is never a good idea).

If you are in the US, you should definitely look into getting 3-phase power installed. If you are in the EU, you might also consider this as an option. It is able to deliver more power, but you'd need a special type of heater.

There are some suppliers that make custom silicone heater mats. If you can get one in this size that would be a good option, though it would be considerably more expensive than your \$5 piece of glass.

In any case you should not attempt a DIY solution because this is extremely dangerous. The currents you are dealing with should not be underestimated. People have already set their printers on fire due to using high currents at 12/24 V; you do not want to make a similar mistake using even higher currents at 110 V.


Methylated spirits or turpentine to clean resin printer?

I would personally stick to isopropanol. Be aware that 3D printing is a very expensive hobby, but health wise this is a better option. Methylated spirits can quickly become dangerous, and often can burn with a close to invisible flame, meaning that you may not even see if it is burning. Also, the fumes can quickly become dangerous, whereas after years of dealing with isopropanol I have noticed no ill effects. Cost should not be your primary concern, health of you and your printer should be.


How to create supports for the parts hanging above 45 degrees?

PrusaSlicer has support enforcers you can place on areas that need support.
See this video: Prusa Slicer Support Enforcers.
Automatic supports
There are automatic supports, in the Supports dropdown menu, select Everywhere:

Click Yes in the resulting dialog:

Click on the Slice icon in the bottom left:

You will end up with a lot of supports:

However, this method generally results in too much support...
Custom Suport Enforcers
So turn off Supports in the drop down menu, select None:

Now, in the Print Settings tab, under Support Material, disable Auto Generated Supports and enable Generate Support Material:

Then right click on the model and select Box from the Add Support Enforcer menu item:

You can move by clicking the Move button in the left hand palette,

resize by clicking the Resize button

and re-shape the Box as necessary, to support the difficult overhanging parts parts only. Here we can see three boxes have been added - pale blue for the previously added boxes and green for the current box:

And a fourth final Box for the tail:

Now, when you hit the Slice button, there will be much less support structure than when using Automatic supports:

Parts of the model that the slicer thinks still needs support will be highlighted in dark blue (such as the elbow and back of the head):

Add a cylinder support enforcer:

Resize and re-shape as before and move into position below the elbow:

Adding a second cylinder as a support enforcer

Upon hitting Slice:

Now in Print Settings - Support Material - Pattern change it from Rectilinear to Rectilinear Grid:

For prints with curves and details Rectilinear Grid works better, than Rectilinear (which is fine for supporting a plain cube in the air). It is easier to break the support off the print.
Now save your hard work as an AMF file:

This file maintains all of the support enforcers so that they can be modified if the actual print needs some adjustments - without having to re-add all of the support enforcers all over again.


Proper leveling using plain "A4" or "Letter" paper is recommended. Level the bed by first homing all axes, then level each corner and at mid-span. In between leveling (by dragging the nozzle head from one to another position, beware of the hot nozzle!) redirect the nozzle to "Z=0" or home Z and instruct the printer to go to "Z=0".

Note that capacitive probe sensors are inaccurate, they tend to be influenced by the humidity of air.

Running Marlin Firmware and instructing a G29 trough a terminal gives me something in the region of the unity matrix:

Recv: Bed Level Correction Matrix:
Recv: +0.999994 +0.000000 -0.003585
Recv: +0.000003 +1.000000 +0.000823
Recv: +0.003585 -0.000823 +0.999993

Running the command G29 P3 V4 gives:

  NOTE:

  P Set the size of the grid that will be probed (P x P points)
  V Set the verbose level (0-4)

Recv: G29 Auto Bed Leveling
Recv: Bed X: 25.000 Y: 22.000 Z: 0.138
Recv: Bed X: 109.000 Y: 22.000 Z: 0.071
Recv: Bed X: 193.000 Y: 22.000 Z: -0.842
Recv: Bed X: 193.000 Y: 97.000 Z: -0.427
Recv: Bed X: 109.000 Y: 97.000 Z: 0.083
Recv: Bed X: 25.000 Y: 97.000 Z: 0.086
Recv: Bed X: 25.000 Y: 172.000 Z: 0.004
Recv: Bed X: 109.000 Y: 172.000 Z: 0.019
Recv: Bed X: 193.000 Y: 172.000 Z: -0.297
Recv: Eqn coefficients: a: -0.00356075 b: 0.00080090 d: 2.38097906
Recv: Mean of sampled points: 2.07054519
Recv:
Recv: Bed Height Topography:
Recv:    +--- BACK --+
Recv:    |           |
Recv:  L |    (+)    | R
Recv:  E |           | I
Recv:  F | (-) N (+) | G
Recv:  T |           | H
Recv:    |    (-)    | T
Recv:    |           |
Recv:    O-- FRONT --+
Recv:  (0,0)
Recv:   0.13385  0.14866 -0.16731
Recv:   0.21531  0.21284 -0.29814
Recv:   0.26715  0.20050 -0.71286
Recv:
Recv: Corrected Bed Height vs. Bed Topology:
Recv:   0.12837  0.44228  0.42541
Recv:   0.26990  0.56653  0.35465
Recv:   0.38180  0.61425  0.00000
Recv:
Recv: Bed Level Correction Matrix:
Recv: +0.999994 +0.000000 -0.003561
Recv: +0.000003 +1.000000 +0.000801
Recv: +0.003561 -0.000801 +0.999993

Running the command G29 P3 V4 again, but now with my vernier on the bed (opposite to the side of the origin, on the right side of the bed; vernier under probing points 3 and 4), gives:

Recv: G29 Auto Bed Leveling
Recv: Bed X: 25.000 Y: 22.000 Z: -0.003
Recv: Bed X: 109.000 Y: 22.000 Z: -0.050
Recv: Bed X: 193.000 Y: 22.000 Z: **5.709**
Recv: Bed X: 193.000 Y: 97.000 Z: **5.892**
Recv: Bed X: 109.000 Y: 97.000 Z: 0.007
Recv: Bed X: 25.000 Y: 97.000 Z: 0.039
Recv: Bed X: 25.000 Y: 172.000 Z: -0.023
Recv: Bed X: 109.000 Y: 172.000 Z: 0.017
Recv: Bed X: 193.000 Y: 172.000 Z: -0.329
Recv: Eqn coefficients: a: 0.02233918 b: -0.01331358 d: 2.30744504
Recv: Mean of sampled points: 3.45099973
Recv:
Recv: Bed Height Topography:
Recv:    +--- BACK --+
Recv:    |           |
Recv:  L |    (+)    | R
Recv:  E |           | I
Recv:  F | (-) N (+) | G
Recv:  T |           | H
Recv:    |    (-)    | T
Recv:    |           |
Recv:    O-- FRONT --+
Recv:  (0,0)
Recv:  -1.27376 -1.23426 -1.57986
Recv:  -1.21205 -1.24414  4.64083
Recv:  -1.25401 -1.30091  4.45816
Recv:
Recv: Corrected Bed Height vs. Bed Topology:
Recv:   4.05814  2.22162  0.00000
Recv:   3.12192  1.21381  5.22275
Recv:   2.08203  0.15910  4.04215
Recv:
Recv: Bed Level Correction Matrix:
Recv: +0.999750 +0.000000 +0.022334
Recv: +0.000297 +0.999911 -0.013306
Recv: -0.022332 +0.013309 +0.999662

From the snippets you can see that the topology is printed in the output. You also see the vernier of about 4.5 mm comming back in the matrices. But the 4.5 mm thickness of the vernier is not easily found in the correction matrix!

The answer to your question is that the origin is in the lower left of the matrix, so you need to loosen the origin screw in the first example (this matrix shows you that the bed is highest at the right-back and lowest at the origin at the left-front). Your second example shows that the whole bed is tilted downwards to the front.


Help to reconcile nozzle diameter, deposited line width, and wall thickness in Cura

So, I think I may have found a satisfactory answer. Cura 3.6 includes separate parameters for line width and shell count:

This seems to decouple the line width from the specified nozzle size and target what I believe is a more optimal width (~110% the nozzle diameter).  It was the other version of Cura that was driving a lot of confusion with the line width being defined by the nozzle size.  This also removes the weirdness of not being able slice lines equal to the line width.

Thanks to all who responded.


Using heat-set inserts with SLA printed part

The plastic used in SLA printing is what is known as a thermoset plastic, as opposed to the thermoplastic plastics used in FDM printing. What this means, is that it can not be melted. The reaction that hardens SLA materials is irreversible. If you heat up the plastic it won't melt, it will just burn (if it gets hot enough). What you're planning is a bad idea, and it won't work.


How to decrease sensitivity to heat-bed temperature?

I had a similar issue when printing with ABS, because my print cooling fan only activated once it got to a certain height above the bed. I'd say you need to do a PID tuning session, insulate the bottom of the bed better, and see if you can make sure your cooling fan doesn't blow air over the bed itself.


How Do Tool Path Algorithms Decide Which Direction to Print a Closed-Loop Polygon

While this answer makes a valid attempt at answering the question, it is based on personal experience.

I went to the literature and directly to the source code in Cura to find the answer.  In the academic article "Identifying the Directions of a Set of 2D Contours for Additive Manufacturing Process Planning", Volpato et al. describe several methods for identifying the arbitrary directions of each contour in each layer, and additionally identifying which contours were "internal" and which were "external".  I quote from the paper:

  The information regarding contour
  direction, which is either clockwise (CW — internal) or
  counterclockwise (CCW — external), is needed for path
  planning for material processing.

They go on to explain the importance of identifying which contours are external, and which are internal, such that the path planning algorithm can later determine where infill should be placed.  Infill is placed internal to any external contours, and external to any internal contours.

  When the normal vectors in STL models
  are assumed to be correct, a simple way to identify whether
  a 2D contour is CW or CCW is to analyze the vector (cross)
  product between a normal vector and a vector obtained from
  two vertices of the facet.

This assumes the slicer has already determined intersection points between slicing planes and the STL file, and has sorted those intersection points into closed-contours.  This initial intersection point gathering and contour construction leads to an arbitrary directionality:

  As any line segment of a contour can be the first in the
  sequence when the segments are connected, its orientation
  will dictate the direction of the contour. Hence, the 2D contours
  formed are classified randomly, and an external contour, for
  example, might be assigned a CW or CCW direction. Therefore, this step is unable to correctly identify the directions of the contours generated.

  The ray-tracing method, which is actually based on the
  point-in-polygon test, determines which contours are
  contained by others, and the orientation of each contour is
  then alternated between CCW and CW, the outermost contours being oriented CCW.

So, the default directionality of a closed contour generated by a slicing program for FDM additive manufacturing turns out to be CCW based on cross products described above (and based on additional methods outlined in the paper).  Of course the standard directionality of a PRINTED contour does not HAVE to be this way, it appears to be a standard adopted by the AM community.  However, when a model produces contours inside of contours, the arbitrary directionality of those contours is determined, and then alternated from outside to inside, starting with CCW.

As confirmation, according to a simple comment in the CURA source code:

/*!
 * Outer polygons should be counter-clockwise,
 * inner hole polygons should be clockwise.
 * (When negative X is to the left and negative Y is downward.)
 */


Anet E10 - Print above 270 °C or "maxtemp" error

Your firmware has set a limit of 270 °C, normally, (default Marlin configured value) this is 275 °C. It appears that the Anet E10 developers have edited the value if you cannot exceed the 270 °C setpoint.
The configuration file for Marlin firmware has the following maximum temperature limit set for the first hotend:
#define HEATER_0_MAXTEMP 275

You can change this yourself, but, you need to flash new firmware, making sure that you're using all the correct settings for this printer model.
As a general remark (for others reading this), you shouldn't simply increase the temperature without changing the hotend (unless it is capable of high temperature printing), if the default hotend is lined with a PTFE tube, the PTFE can form dangerous/toxic gasses at elevated temperatures above 270 °C. But, in your case, an all-metal Micro Swiss hotend is installed that doesn't have the PTFE liner.

Note that the Anet E10 configuration can be found in the Marlin configurations zip file. For the 2.0.7.2 version, the E10 already has the hotend temperature limit increased to 305 °C.


Is it possible to get higher resolutions by using high resolution encoders and custom firmware?

The mistake in your reasoning is assuming no microstepping. Most 3D printers use 16 microsteps, and in my experience with both cheap A4988 drivers and nice TMC2209 drivers, microstepping is quite accurate. As part of an answer to a question I asked, you can see a test print showing single-microstep features. My motors have 1.8° step angle, yielding 3200 steps per rotation at 16 microsteps, or 12.5 microns of linear movement per microstep. With 0.9° step angle you could get it down to half that, and you could probably halve it again going to 32 microsteps.
Even if you can't get it as good as your 4 microns with stepper motors though, at 12.5 micron positioning resolution you're already to the point where extrusion error is going to play a much bigger role in dimensional accuracy than toolhead positioning error does. Going past that with FDM requires high resolution extruder axis movement, closed-loop control with a precise filament diameter sensor, direct drive with minimal distance between the extruder gear and nozzle, etc.


According to kmac-plastics, PETG is stable at temperatures below 50°C specifically for citric acid (also acetic acid) and others on the linked list. It is also safe with diesel oil and many alcohols. The list is illuminating with respect to the variation of tested compounds.


Error "TMC2208 or TMC2209 on Z2 requires Z2_HARDWARE_SERIAL or Z2_SERIAL_(RX|TX)_PIN

Your question is missing important information, but I can try to figure out something. You didn't say what kind of firmware it is. I assume it is Marlin.
Your problem is that there are no Tx Rx pins specified for Z2 (because there is X, Y, Z, E0, E1 by default on the MKS Gen L board)
I assume you want to use the E1 driver for the Z2 instead of a second extruder. In that case, you have to tell the firmware that you want to use that driver for Z2.
Search the source code for file "pins_MKS_GEN_L_V21.h"
There should be E1_SERIAL_TX_PIN and E1_SERIAL_RX_PIN defined.
Rename them to Z2_SERIAL_TX_PIN and Z2_SERIAL_RX_PIN.

In "pins_RAMPS.h" file, find a block of a few lines that starts "E1_STEP_PIN", and rename E1 to Z2 for all those lines.

It may (or may not) work now. If it doesn't, please somehow post those configuration files.


Easiest way to build a horizontal hotend mount at home, without printing

You could cut a v-notch groove in a piece of plywood to hold one side of the groovemount neck, and then use a bolt through another piece of wood to push the neck into the V-notch.

There are lots of options when building RepStraps and JunkStraps. Really depends on what sort of hardware and fabrication capabilities you have on hand.


What is cause of blob when layer area reduces by 50%?

Try lowering your extruder flow rate and maybe temperature as well.
I had this problem once and I thought it was just a bit of gunk that had been hanging onto the outside of the extruder. That is usually not the case and instead it is probably build-up from over-pressure inside the nozzle.
Also note that 250 °C will start degrading your PTFE tube unless you have an all-metal extruder. Lowering temperature can also reduce the stringing visible in the picture, however to fully, get rid of stringing, you may have to adjust your retraction and acceleration.


Probe instead of nozzle centres on the bed

TL;DR You don't need to fix it, it is by design.

When using a probe, defined the correct probe X (xxx) and Y (yyy) offsets (#define NOZZLE_TO_PROBE_OFFSET { xxx, yyy, 0 }) and having enabled #define Z_SAFE_HOMING will cause the probe to home in the middle. That is how it is supposed to work!
If the nozzle would be in the center, then you wouldn't probe the middle of the bed, but the offset from the nozzle.


[For now] most of the open source 3d printer firmware written for Arduino-based hardware. This means you can just download the source and look through the relevant pieces of code.

Marlin is the most obvious example.


What special considerations must be taken when designing parts for 3D printing?

Designing a part for 3D printing often doesn't seem to have many special considerations, but I have learned the hard way, that there are some things to do differently. This is just a list of things to that one should keep in mind in addition to basic principles of design1 when designing parts, keeping the subsequently slicing the parts in mind too:
Print orientation
There are many ways how you could orient your print, but usually, there is one orientation, that has the least need for support. Look at your part critically and keep this orientation in mind when designing. Especially look at overhangs and bridging, and if you can get away without.
Overhangs
There are 3 sorts of overhangs:

Small overhangs ones that are neglectable.
Long overhangs which can get support.
Overhangs that can't be supported.

When designing parts, you want to make sure you only have type 1 and 2 Overhangs, as type 3 overhangs will sag and fail. Think carefully if you can rotate the piece to get a print orientation that does not need an overhang that can't be supported by an automatically generated support structure. If that is impossible, try to implement a sacrificial piece that can turn the overhang into a bridge.
Smaller overhangs can be made neglectable by adding a phase to the underside. This phase's angle is depending on the printer. In my experience, 70° is something many printers can manage, but I prefer 45° due to the ease of making them. A fuller can work to give a small overhang the needed support, but often has problems for larger overhangs!
Bridges
Overhangs turn into bridges if they are connected on both sides. These either have a limited length, depending on the printer you use or need a support in the center. Check if you really need a bridge or if you can rotate the piece to get away without.
Avoid vertical holes in bridges
It might be something that might surprise but a vertical hole or slot in a bridging part is something that often fails as the bridging strings just sag as they are terminated mid-air without a support structure and finally fall, ruining the bridge. Yet such a support structure sometimes could not be removed in all cases, so something needs to be done differently.
One such a solution is to add a 1-layer sacrificial layer on the bottom of the hole: printing a solid layer by bridging is possible, and the subsequent hole/slot can still be free. It has to be cut free after printing in post-processing though.
round holes in Walls
Round holes in standing walls can become problematic to print once the diameter gets too large. A trick to keep the upper parts of the hole to sag into the cavity, making it undersized or needing to drill it to size later. To prevent this, the upper side of the hole can be adjusted: instead of a round upper rim, turn the hole into a teardrop. This reduces the overhanging area. Keeping a 60° top angle on the hole should be fine.
If the hole is used to key an item to an axle, put the keyway to the top of the print orientation, so it takes the place of the teardrop-tip.
Some more about holes one can learn from Makers Muse (Angus Daveson)
Reduce internal structure
I have seen prints fail for strange reasons. One of them was a piece taken from a straight up industrial design plan, then scaled down. This one resulted in too much tiny internal geometry, resulting in a lot of material and time wasted on printing these internal pieces that nobody could reach, that were fused together for the original gaps were already 0.2mm and less and besides that, there was the occasional print failure.
Removing any non-essential internal geometry lessens not only the printer's load, but speeds up the print, lessens the material waste and can prevent failures due to clogs or other unexpected behavior. If you can't fix it in design, there are workarounds, but try to need to avoid them!
Avoid Intersecting Shells
As we are at it, often game and graphic designers are lazy and use intersecting shells. These can become quite messy in the slicing step. If possible, try to avoid intersecting shells, even as modern slicers have learned to fix this by themselves by now. The results of that are not always pretty if you forget to flag the "Union intersecting shells" option in your slicer.
Sizing
We might not always be aware of it, but prints do shrink in the XY axis and to a different degree in the Z axis as they cool, during and after the print is done. This is what causes warping in the first place and lead to many lost prints (especially on non-heated beds). This behavior has to be taken into consideration especially when designing bores. My suggestion for this is twofold:

Intentionally design the hole to be too small and add extra wall material in slicing, then drill it up to the right diameter. Drill slowly to not melt the plastic.
Learn your shrinking parameter for the material and design with that shrinkage in mind, possibly iterating the print a few times. Note that different spools/colors of the same material might have different shrinking!

Minimum Wall Thickness
A 3D-printer can not reliably print walls that are thinner than the extrusion width of a printer. The choice of the correct nozzle for an extrusion width is a question upon itself..
Tapping/Screwing/Inserts
For tapping prints directly, you need wall thickness - according to the norms - you'll need usually about 0.2mm diameter that can be tapped into for the standard sizes. Using 3 perimeters with a 0.45 mm extrusion width will give walls of 1.2 mm, which I consider a rather strong wall, and provides quite some tolerance to drill up to size and then tapping screws into. You will get away with 2 perimeters for smaller thread sizes (M3 and lower), but for large ones (M10+), you will want a fourth or even fifth perimeter.
Remember though, that the printed PLA is not good for very strong threading: Tapping prints directly is pretty much only for low- and non-load-bearing connections. If you combine several pieces with screws, try to design the parts to make some sort of compression fit using a bolt and nut, or use several, small diameter screws with a fine thread. Avoid coarse thread if you can, stay on the small side.
If you need a load bearing connection with screws, the best strength comes from using a metal insert or provide a space for a nut to fit into. Metal inserts are usually placed by heat-setting them: put the heat-set insert onto a soldering iron tip and push it into the slightly under-sized hole, melting and molding the print to fit the insert, providing strong threads that are held really good in the shell of remolded plastic.
As a compromise, modern slicers allow to use modifier meshes, that could be used to increase the strength of modeled threads or holes that need to be tapped.
Do you want to know more? CNC Kitchen (Stefan) had made some tests on the strength of these connection type.
Print strength
Keep these general rules in mind when designing load-bearing parts:
Generally speaking, FDM prints are strongest in carrying along their Z-axis when withstanding compressive forces, as then the print layers of the shell are forced against each other. It also excels at fighting bending forces this way. But this orientation is also giving us the lowest tensile strength, as each layer boundary is a possible breaking point.
The XY-plane usually excels in tensile strength but sacrifices some of its ability to withstand compression (it is not proportional though).
Printing a part at a 45° angle will give often a great compromise of strengths, but might need an additional surface to get a good first layer - this surface can be sacrificial with the use of support.
For deeper information on the strength of parts and materials in comparison and how to manipulate it, there are large playlists of tests made by CNC Kitchen (Stefan) and Thomas Sanladerer (Tom)
Post processing
Post processing can be your best friend when printing, just as it can be your worst nightmare. I won't detail all methods of postprocessing, but some that are quite applicable.
Assembly/Gluing
Remember to design your parts with gaps for the glue when designing parts for assembly, and you might want to include guidance notches/noses to make sure the assembly aligns. This is especially needed as the parts shrink a little and have a rough surface.
If you need to assemble your part due to the available print volume, be sure to include ways to key the parts together. Pegs or outcroppings/indents (often called keys) that match up to one another make alignment on assembly much easier. It can be a good idea to design yourself a "cookie cutter" file that is applied after designing the part that automatically includes the glue gaps and keys.
There are a lot of glues and other methods to merge the parts. A more in-depth look at some of them is What glues for PLA? but you will have to keep in mind how you want to combine your pieces in the design step - and account for it.
Print in Place/PIP
In this vein, learn the tolerances your printer can manage to allow print-in-place(PIP), allowing functional parts that require no assembly. PIP is something that isn't possible with subtractive manufacturing usually, but remember that in 3D printing you might need to break the parts free after printing from bridges or sagging. Usually, a single strong turn suffices. To be able to do this, you might want to include a position for an Allen-key to manually turn the parts.
To learn how fine your tolerances are, there are many tolerance gauges/tests around. A rule of thumb for many printers is, that 1 nozzle width is often easily achievable with a good setup, 0.5 nozzles are achievable with some effort and 0.25 is somewhere close to the 'holy grail' - you might want to change the nozzle to a smaller one in case you want to have very thin gaps.
Composite construction
There are ways to turn your (mostly) hollow prints into much stiffer versions of themselves by turning them into composites, for example by using a resin or a different hardening fluid (like foam or plaster) as a filler or coating material.
When planning to do so, remember to include inlets/outlets for it and the air. It can be a good idea to design the part in such a way that it just contains the walls and a pre-planned support structure. In doing so, remember to disable infill in the slicer to enforce the flow you want in your structure. Look at how the ribs inside of an airframe are designed for general rules on hollow parts: include holes. This allows the flow of your fluid into each and every corner instead of blocking the flow. This can also reduce the needed number of inlets and outlets from one per chamber to one per part.
Plastic Properties
Remember we work with thermoplastics. Learn what kind of postprocessing your thermoplastic allows and its mechanical properties. Some examples:

APS can be vapor smoothed with acetone.
Many plastics can be annealed by baking at or little above their glass transition temperature, increasing strength and layer-to-layer bonding.
When using power tools on plastic, use ample cooling and time, as otherwise, one quickly melts the prints!

Surface Finish
The surface of FDM prints is somewhat rough. To smooth it out there are 2 general ways: fill it up or smooth it down. If you want to fill it up, design the part undersized, if you smooth it down, add sacrificial thickness. It is common to combine both, adding body filler first, then sanding down till the print material shows through again. If doing this, make sure to check your sizing.
If there comes a lacquer layer atop, remember to account for that thickness: undersize surfaces, oversize holes!

1 - this means, that thoughts about postprocessing that are not unique to 3D printing are not elaborated on here. Examples are painting, coating or smoothing the surface mechanically.

Further reading/viewing
Further information can be gotten from these playlists, though they aim at times for newbies:

CNC Kitchen (Stefan): 3D Printing for Engineers Playlist
CNC Kitchen (Stefan): 3D Printing Tips
Maker's Muse (Angus): 3D Printint 101
Maker's Muse (Angus): Advanced 3D Printing Tips
Maker's Muse (Angus): CAD for Newbies
Maker's Muse (Angus): CAD for 3D Printing


Can I replace a damaged firmware of a 3D printer based on Arduino Mega?

It is hard to diagnose the board without hands on experience. It is even more difficult if you get a board that has been "updated/upgraded" by a previous owner leaving it not in working condition.

But, there are at least 2 solutions.

You could buy a new printer controller board, upload new firmware and connect all connectors.
You could try to burn a new bootloader onto your current board and upload a new version of the firmware.


Printrbot simple metal not auto leveling

See if you can check what the starting G-Code is. I havn't used Cura but what I think has changed for you is that your new software is homing just using the G28 command and not the G29 command.

I think if you can look into your slicer settings you will find an option to change what the starting gcode is and you will probably want to change it to something like this

G28 X0 Y0
G28 Z0
G29


How to connect optocoupler module to ABL sensor and Ender 3 board

Connecting is pretty straightforward like the other modules, difference is an extra input lead.

From e.g. here: Module interface description:

DC+: Positive DC power supply.
DC- : Negative DC power supply.
PWM: Signal input (connect MCU port, PLC interface, DC power supply, etc.)
GND: The negative terminal of the signal
OUT+: Positive output terminal (connected to the device positive)
OUT-: Negative output terminal (connected to device negative)

So, 1 and 2 connect to your power supply that matches the voltage of the logic of your microprocessor (5 V) as this must be linked to 5 and 6 which are connected to the endstop signal and ground respectively.

As for the sensor, blue is GND, black is signal (PWM) and brown is power as seen in e.g. this answer.


New Ender 3 power supply turns on but the controller board does not

I prefer to check basic power connections with multimeter. But indeed if you are not in an emergency, it would be better to send it back. The wires may come loose, I mean on the main board.


As far as I can see on the attached videos your homing movement is reversed.
as per Marlin, the homing for X shall move towards the left side and for Y to the back of the printer.

That could occur when: cable connectors to stepper motors are reversed, or the motor is assembled the other way (you can set reverse direction in Marlin)

The other issue is steps/mm calibration need to be done see source below.

The high pitch in the video could also point that the drv8825 is shutting down the movement as it is overloaded.

please also check that for vref

  Configuring Vref In order to measure Vref you first need to turn on
  your printer as you normally would. If you only connecct using USB,
  but not external power, you get a wrong reading.

  You need to turn on your multimeter and set it at 2v. Put the red one
  on the potentiometer and the Black one on the Gnd pin. Both are marked
  on the images here.

  Before starting this I read they come with a very high vref setting,
  and it is recommended to start around 0.5v Vref. After measuring mine,
  I can confirm they come with a very high initial setting. Mine both
  came at 1,65v or so! - Yours might be different, which just underlines
  the importance of doing this.

  Contrary to normal potentiometer usage, the ones on most copies/clones
  of DRV8825 are lowered by turning clock-wise, so that is what we will
  do, to we hit 0,5v on each. - A quarter of a full turn lowered it to
  0,7v, - after that it goes very, very rapidly down, so aim for the
  quarter of a turn + a tiny tad more. If you buy your DRV8825 directly
  from pololu.com the Potentiometer are dialed up by turning it
  clock-wise:

source


Clean or wipe move for delta 3D printers

Slic3r, and all other slicers that I saw, have an option called Skirt that enables your printer to print a number of lines around your object before it starts printing the object itself.

This should ensure that both the nozzle is filled with filament and the printer got rid of any burned / dirty filament when it starts printing your object.

If you use Slic3r as standalone, you have to activate expert mode in the preferences. If you use it through Repetier-host it should already be in expert mode.

You can see all available options in the Slic3r documentation for Skirt.


If there are 2 slots for temperature measurements, you don't need to solder anything, just plug the thermistor from one into the other and switch pins in the firmware. This board is basically a RAMPS 1.4 board, it includes the pins_RAMPS.h header file, so in order to switch the T0 with the T1 temperature port, you need to change:
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
  #define TEMP_0_PIN                          13  // Analog Input
#endif
#ifndef TEMP_1_PIN
  #define TEMP_1_PIN                          15  // Analog Input
#endif

to:
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
  #define TEMP_0_PIN                          15  // Analog Input
#endif
#ifndef TEMP_1_PIN
  #define TEMP_1_PIN                          13  // Analog Input
#endif


You must invert the logic of the endstop Z_min.
define Z_MIN_ENDSTOP_INVERTING true
To
define Z_MIN_ENDSTOP_INVERTING False


Shifts in a diagonal direction in CoreXY indicate loss of synch between the two belts.
If it's the belt very loose skipping, you may not hear much but such a loose belt is easy to notice.
If it's the belt a bit loose skipping, you would hear relatively loud noises which make very clear what's happening.
If there are no particular noises, it's the motor skipping steps. One motor move along the X+Y diagonal, one along the X-Y diagonal, so you know which one it is.
If you have missed steps it could be because of excessive friction (maybe one motor is mounted tilted, or it is damaged), or because of excessive acceleration setting, which the motor cannot handle, or because of too low current.
If you decide to increase the current be aware that it may work on simple tests, but during longer prints the stepper driver may overheat and lose steps for self protection.
To check what acceleration and/or current you actually need per each motor and to compare whether motors are significantly different from each other, try this.
Without printing, you set the maximum acceleration relatively high (5000 mm/s^2).
Place a paper square (relatively big) on the printing area, parallel to the axes and tape it.
Align the printing head to one corner of the paper square.
Give a G0 command to move the printing head to the opposite corner of the square (G0 F600 X... Y...) and check that the alignment is correct. Also, only one motor should be moving.
Bring back the head to the opposite corner.
Set the feed rate to high values, like F9000 (150 mm/s) and move the head again. If it reaches the correct spot, the current of the motor is sufficient for that acceleration.
Try for the other diagonal of the square you taped to test the other motor.
You can now reduce the current of the motors which successfully passed the test. If you have Klipper it's super easy and requires only the command "SET_TMC_CURRENT STEPPER=name CURRENT=amps", with Marlin I don't know.
See at what current each stepper fails the test, then decide whether to reduce the acceleration (5000 mm/s^2 is anyway probably too high for your printer frame, you would get artifacts like ringing) or to dial back up the current. I would say that 20% above the current required to pass the test is enough. More than that and you are just overheating the TMC2008.


Under extrusion when starting outer wall

Based on other comments, answers, and question edits so far, in addition to your original question, I believe there are possibly two things going on here: incorrect retraction settings, including a misunderstanding of which settings are relevant and what they do, and issues related to slow acceleration. Both relate to misdepositing/loss of material.

First, some basics. When the filament is advanced to the point needed to extrude material and print at the intended volumetric rate, it's under significant pressure, compressed between the extruder gear and the nozzle. My understanding is that your printer has a direct drive extruder, not a bowden, so there's far less compression than with a bowden setup but it's still there. This means that, if you try to stop extruding, it's material will continue to come out of the nozzle, just at a decreasing rate, until the pressure dissipates. This effect is reduced but still present if the nozzle is held-against/moving-over already printed material, and heavy if moving over empty space, even moreso if moving across sparsely-filled space like infill where it will bond with the already-deposited material and get "stretched"/"pulled" out.

The idea of retraction is to pull the filament back when the print head is moving to a new location without trying to deposit material, to relieve this pressure and prevent unwanted misdepositing/loss of material, and to reverse the process, putting the filament back exactly where it was when the last printed line ended, the next time it starts trying to deposit material.

The relevant options in Cura are:

Enable Retraction - must be on
Retraction Distance - should be at least 5-6 mm for bowden setups, probably more like 0.5-2 mm for direct drive.
Retraction Minimum Travel - should be 0
Combing Mode - try different settings. Off is probably the best relative to your issues, but hurts your print time a lot for certain models, and can hurt quality in other ways.

Everything else related to retraction is fairly irrelevant, especially "Retract at Layer Change" is a niche option and not typically useful. As I understand it, turning just "Retract at Layer Change" on does not mean retraction is on.

Now, your other issue may be acceleration. Extrusion works best as acceleration speed approaches infinity, because the extrusion rate and pressure needed to extrude will be fairly constant for the entire line/curve. If acceleration is very slow, pressure will be wrong during the start and end of lines. It's likely that, due to high pressure, excess material will get deposited at the end of one line while slowing down, then after moving to start the next line, even if you retract the filament, you'll have insufficient pressure at the nozzle after reversing the retraction to start the next line.

A jerk limit of 5 mm/s is really low. I'm used to more like 20-30 mm/s. You don't say what your acceleration limit is, but it's probably also low. Slow acceleration has minimal impact if your max speed is slow, because you quickly reach the max speed and most of the print speed (and thus extrusion rate) is steady. But if you want to print at high speeds, you need high acceleration. Try and see if you can increase it. Or accept printing at slow speeds.

Another option, if you're open to hacking on your printer, is replacing the stock firmware with a recent version of Marlin with the Linear Advance feature. It does the math to model the filament pressure as a spring, with a spring constant you can tweak, so that it can compensate for varying print speed and end lines with approximately no pressure remaining.


There's a couple of Cura settings that can help, that I know of:

In the 'Travel' section, change "Combing Mode" to "not in skin". Combing means it tries to move the head over areas that have already been printed. This is a good thing most of the time, but if it does it while it's ironing, it will make an annoying line. (I am not sure why this isn't automatically turned off for the ironing pass, but it seems it isn't.)
After enabling ironing, an option "Ironing Pattern" appears. Try changing this to "concentric." This produces a different pattern, which you may or may not like, but it seems less susceptible to those kinds of lines appearing.

Here are some other settings that might help. I'm suggesting these on the assumption that some of the lines are caused by the print head travelling over the ironed surface, which is what it looks like to me from your photo. I got them from this Cura documentation page, but it doesn't mention ironing, so I can't be completely sure whether they will affect the ironing step.

"Avoid printed parts when travelling" - this might help a bit more than just turning off combing, since it will try to go around the printed areas instead of just cutting across them. Apparently you have to enable combing for this to work.
"Z hop when retracted" and "Z hop only over printed parts." This should make it lift the print head up when it can't avoid crossing the printed part. It may be that you have to enable retraction, combing, and/or "Avoid printed parts when travelling" for these to appear.


Leapfrog Creatr HS stops mid print (extruders not clogged)

I have solved the problem. After some investigation I have decided to connect directly to the drivers board. It needs to be disconnected from Olimex board and instead connected to the PC, then select 250kbps speed, COM port can be found through Device manager. I have used Repetier-Host in not Easy Mode and all possible messages turned on to see all possible messages. Then I prepared 20mm box to print and tried to print. After two lines voila! Error message:

12:35:32.401 : N187 M105*41
12:35:32.841 : Error:0
12:35:32.841 : : Extruder switched off. MINTEMP triggered !
12:35:32.924 : Error:Printer stopped due to errors.
Fix the error and use M999 to restart!. (Temperature is reset. Set it before restarting)

Now I went for quick search and learned that this can be caused by intermittent fault of thermistor or its wiring.

 So, I disconnected thermistor from the PCB and checked its resistance: 170kohm. Now, when I moved the extruders on X axis there was a particular position when thermistor resistance went to infinity. There is a connector in head which went loose. After refitting the printer is behaving correctly.
Summary:
It is a shame, that the display on this machine does not present any feedback from the drivers board. Also, the PC connectivity on the rear of this printer does not bring any clear information (rear USB is first connected to the Olimex PCB and then to the drivers PCB, some information from drivers PCB are lost). BTW: Leapfrog drivers board is an Arduino based Marlin firmware. Info sent to serial connection after connectivity established is:

Leapfrog Firmware: 2.5
Model: CreatrHS
PROTOCOL_VERSION: 1.0
FIRMWARE_NAME:Marlin V1;
Extruder offset X: 15.23 Y: 0.02


Does the printing substrate have to be glass? If so, what size?

Obviously being in a rush can limit your options, but here are a few thoughts:

Quick solutions:

Blue painters tape (as Carl mentioned) will work directly on your heated bed...assuming it's a flat piece of aluminum with the heating element under it.  Your surface does need to be flat.
Acrylic plate will work but is best with no heat, or low heat.  PLA sticks to it.  It's easy to cut and easy to find at local hardware stores.
Scrap glass is fairly easy to find for free and it's not that hard to cut...or buy some at your local hardware store and have them cut it.  Just be careful, it's sharp. You can sand the sharp edges (wet sandpaper) to make it safer.  No, it doesn't have to cover the whole plate, but obviously covering the whole plate would normally be preferred.

Better (but not as fast) solutions:

Buy some custom tempered glass.  I like One Day Glass because they're fast and very capable.  Like Tom says, many many people print on glass because it's nice and flat and stiff.  It's also easy to clean and holds up well.  You can print on the bare glass with many materials or use various preparations like PVA (glue stick or white glue diluted with water are popular), hairspray, or others.
Touch Screen Glass: Some people like replacement glass for tablets or touch screens because it has a hardened scratch-resistant surface.  I've not tried it, but if you can find one that is the right size, it might be worth a shot.
Specialty products: There are many many print bed products out there that promise an easier/better printing experience.  I've used a few that are okay...definitely better than blue painters tape, but I much prefer my current favorite...
My current favorite is PEI. Use a 3M 468MP adhesive sheet (it handles the heat well) to stick a thin sheet PEI (also sold under brand name Ultem) on top of your glass plate.  I got this idea from Lulzbot and it's what they use on all of their printers.  It works beautifully.  Common filaments stick to it while it's hot and release easily while it's cool.  For other filaments I just use PVA like I would over glass.  For material printing tips and settings that work well on PEI beds, check out Lulzbot's site.  When it starts wearing out or getting scuffed up, I just sand it with fine sandpaper and I'm good to go for another hundred prints or so.


Print initial layer only on outside of print

The solution to getting the brim set up was to select the area for each individual piece (in GIMP), then duplicate that selection and "grow" it to make it larger to create the lip. From there, I extruded the larger section a few millimeters and extruded the smaller selection on top of that and hollowed it out. Still working on the exact measurements to achieve the lip width and height, but the process is in place.


That's a filament cleaner/oiler combo. The black bottle is a variety of machine oil.

The effect of oilers on prints is heavily disputed in the community. The suggestion of plant oils is a very bad one as they can create residue that stays in the hotend and create clogs.


Improving triangulation on AutoCAD-generated stl files

The phrase "triangulation of the file is rather rough" is somewhat vague, but one can interpret it to mean that the surface is what is considered "low poly" in the 3D modeling world.

From Thingiverse, this low poly fox shows an intentionally reduced poly surface. I'm not suggesting that your models appear this distorted, but it may give a hint to what the service is referencing.

Consider to load your model into a program such as Meshmixer, which will show you the triangles in 'W'ireframe mode. If there are few triangles over a surface, you can get the aforementioned effect.

Meshmixer also allows you to increase the mesh count, possibly improving the surface and satisfying the requirements of the printing service.


Standby hotend and bed heating with inactivity timer after print?

Pausing
You could set temperatures for hotend and bed (respectively M104 and M140 and after that introduce a pause/dwell time with G4. After the pause, you could lower temperatures and proceed the shutdown of the printer, as such the setting of the idle temperatures and dwell time need to be done in the beginning of your end G-code in your slicer.
Not powering down
Alternatively, you could just not power down the hotend and bed. A typical end G-code consists of de-powering the fans, steppers, temperatures and positioning the head in a parking position, e.g.:

 M106 S0              ; Turn fan off
 M104 S0              ; Turn extruder off
 M140 S0              ; Turn off bed
// G91                  ; Change to relative positioning
// G1 Z30 E-2 F3000     ; Raise Z 30mm (lowers the bed) NEVER DO THIS, IT WILL DESTROY YOUR PRINTER IF YOU PRINT LARGER THAN MAX-Z MINUS 30 MM
// G90                  ; Switch back to absolute mode
 G1 X0 Y0             ; Move X/Y to origin
 M84                  ; Disable steppers

You could easily change the temperatures to standby values:

 M106 S0              ; Turn fan off
 M104 S160            ; Turn extruder to standby
 M140 S40             ; Turn bed to standby
// G91                  ; Change to relative positioning
// G1 Z30 E-2 F3000     ; Raise Z 30mm (lowers the bed) NEVER DO THIS, IT WILL DESTROY YOUR PRINTER IF YOU PRINT LARGER THAN MAX-Z MINUS 30 MM
// G90                  ; Switch back to absolute mode
 G1 X0 Y0             ; Move X/Y to origin
 M84                  ; Disable steppers


Add brim everywhere, not just around the outermost line

When there's a cut in the outer ring (the manual skirt), Slic3r will fill the area as expected:


From your initial photos, it looks like the bed level was too high, and there was thereby more material extruded than fit in the space. Even with an "identical" nozzle, the distances involved here are on an order of magnitude (less than 0.1 mm) that you're not going to get identical distance to the bed from one nozzle to another.

Further, as you found out following up, not having the nozzle tightened all the way will affect its height, and allow molten material to exit around the gap. It's always a problem not having your nozzle tightened all the way to make a good seal (I actually had nearly the same problem the first time I ever changed a nozzle), but having the bed too close probably made even more material ooze out at the gap due to backpressure.

Hopefully fixing these two things gets you back to printing right. It might be some work to clean out any material left in the hotend, especially if it worked its way around into the threads where the nozzle screws in. Be gentle if you have to clean that out further, since it's easy to strip the threads if you use abrasive tools, and then you'll be looking at replacing the heater block.


You are probably driving the motors with insufficient current. Try increasing the motor current, by adjusting the potentiometer on the respective stepper driver. Turn it clockwise until your motors stop skipping steps.


Where is a reputable place to download Ultimaker Cura?

The answer to your question is: "From the application developer itself!".
Below is the explanation how you can (directly) download Ultimaker Cura from the most reputable source: Ultimaker.com

Regular download
When clicking the link to download of the Cura application download button from the Ultimaker website you are presented with a pop-up GUI that asks you if you want to share where you are using the program for. When you select the required field and press download, the download starts. If this doesn't work, a direct download approach can be used.
Direct download
If the regular download method fails, or you do not get the pop-up GUI, you can use the direct link for Ultimaker Cura from the developer's website:
https://download.ultimaker.com/cura/Ultimaker_Cura-4.1.0-win64.exe
This link can be found at the download directory at the website:
https://download.ultimaker.com/current/
This web directory overview also shows all previous releases and installers for other platforms.
As of version 3.6.0, the download does not appear to be in the list, this link will show an overview: https://ultimaker.com/en/products/ultimaker-cura-software/list
Do note that the latter link will show the pop-up.
As of version 4.1, the web directory overview link will serve a 404.
Github
The Ultimaker Cura Project has a Github, where they offer the current and previous editions under:
https://github.com/Ultimaker/Cura/tags


You'll need a custom firmware.
Yur custom firmware will have to react to the "Change extruder" command differently than a normal firmware: instead of just swapping to a different extruder, you'll need to perform some operations to alter the gearing (possibly a solenoid?), and possibly include some kind of "break" to make sure that the filament is not slipping back without the extruder attached. However, there already is a setup that pretty much does this: the Prusa MMU2 uses something similar. The MMU does use a Bowden setup, but you could use Bowden and direct drive in combination, especially if both motors run in sync.


Self-lubricating 3D printable materials for space

Well, I think this depends on your machine.  If you can support extrusion temps north of 350C and bed temps ~150C, you could try PEI:

https://www.3dxtech.com/ultem-9085-3d-printing-filament/

I believe PEI has self-lubricating properties, and has outgassing of ~0.40% TML (PET is ~0.43%).  Of course, most off-the-shelf printers don't handle that sort of temp range.  But then, industrial grade materials are likely to require industrial grade machines.  :)

You could compare other DBs to NASA's as well.

Outgassing DB:  http://esmat.esa.int/materialframe.html

By the way, Nylon has an outgassing aspect >2.0% TML, which is definitely on the high side for vacuum applications.