I did find only one 3d scanner which uses structured light. There is many projects using a laser diode. And these systems are completely opensource.

Structured Light

Structured Light 3D Scanning by kylemcdonald

http://www.instructables.com/id/Structured-Light-3D-Scanning/?ALLSTEPS

Laser diode

Sardauscan

http://www.instructables.com/id/Build-a-30-laser/?ALLSTEPS
https://github.com/Sardau/Sardauscan
http://www.thingiverse.com/thing:702470

ATLAS 3D Scanner

http://www.freelss.org
http://www.thingiverse.com/thing:1280901
https://www.kickstarter.com/projects/1545315380/atlas-3d-the-3d-scanner-you-print-and-build-yourse/posts/1475722

Ciclop

http://diwo.bq.com/en/tag/ciclop/
https://github.com/bqlabs/ciclop

3D(ollar) Scanner

https://hackaday.io/project/2021-3dollar-scanner
http://www.instructables.com/id/Lets-cook-3D-scanner-based-on-Arduino-and-Proces/?ALLSTEPS

"Super Make Something" Tutorial On How To Build a Simple 3D Scanner

https://www.youtube.com/watch?v=-qeD2__yK4c
http://www.thingiverse.com/thing:1413891
http://diy3dprinting.blogspot.de/2016/04/super-make-something-tutorial-on-how-to.html

Different method

$15 3D scanner consists of a tub of milk and a smartphone

Interesting idea of using milk and phone.

http://www.instructables.com/id/GotMesh-the-Most-Cheap-and-Simplistic-3D-Scanner/
http://www.3ders.org/articles/20160423-this-3d-scanner-consists-of-a-tub-of-milk-and-a-smartphone.html


How to determine width of the nozzle, that is already installed on the printer?

I would find some wires (piano wire, CAT5 copper, paperclip, nozzle unclogger, etc. ) and choose one that should fit the nozzle (eg. a 0.5 mm copper wire will fit a 0.8 mm nozzle) and push them into the nozzle. Heat them up a bit to soften the filament in the nozzle and brush with a metal wire brush to easily clean it up.


What level of detail can be expected from a consumer-grade SLS printer?

Consumer Market?
While there are no "consumer level" SLS printers on the market currently, the question in itself is very interesting on a scientific level. The pricing edges for the consumer market for 3D printers can be somewhat estimated from the consumer electronics segment. This puts a maximum price tag of about 2000-2500 \$ onto it, comparable to a high-end PC.
CurrentlyFeb. 2020, most SLS machines come with 'inquire for price' or with prices of 5000 \$ or larger price tags, which indicates they are intended for professional or industrial use. Most SLS printers in consumer hands seem to be phased out older systems from second hand. So while there are for sure tries to get SLS more affordable, it is not there yet.
Resolution of SLS
SLS printers have resolutions based on two factors1:

grain size
laser diameter

Generally speaking, the finer the grain and more focussed the laser, the better the resolution. Current industrial machines - even cheap ones - work with particle sizes between 20 and 80 µm, with the bulk being around 40 to 60 µm2.
The laser focus point ranges generally in the "tens of µm"1, and is listed with values between 50 and 300 µm for most ceramic powders in that paper.
Conclusion
As a rule of thumb, 50 µm seems to be the average nylon spot size, which is very much comparable with resin printers using SLA/mSLA/DLP technology. Details on miniatures are usually in the area of 100-200 µm, so are well achieveable with either.
Comparison SLS to SLA/mSLA/DLP
Resin technology has the benefit of being easier accessible with some entry level printes between 200 and 500 \$. Nylon SLS prints do demand a sealant but prints without any supports, Resin does at times need support.
Printing times for DLP/mSLA is not dependant on the ammount of space used, making packing the build surface with as many models as possible benefitial, while SLS, like FDM, works with a moving spot, so the ammount of models increases print time.
Both Technologies work with hazardous material - resin and very fine powders respecively - and demand proper PPE to handle them.


A workaround would be to post-process your gcode files manually removing all M140 and M190 instructions (the one setting heated bed temperatures).

You can do that manually by opening your GCODE file in a text editor and searching for M140 and M190, but I recently had the same problem with Slic3r (Prusa edition) and I wrote a one-liner that does that automatically for me.


Why does print fall apart at beginning of top layer?

I doubt this is a printer or filament issue. Rather, I suspect it might be related to how your slicer handles bridging scenarios (which basically is what laying down layers over infill is).

You could try to:

Increase the infill percentage and/or use an infill pattern that provides better support for the top layer (so that it isn't allowed to sag as much). You will probably still se some sag, but that is usually covered up by the next layer. Adding print cooling might also help here.
Adjust the bridging settings in your slicer software. If under extrusion is the main issue, perhaps you could try to increase extrusion for bridges?

I am no expert with Simplify3D, and I suspect that the default settings actually might be pretty good. I would therefore try option 1. first. Perhaps someone else here can give a better answer related to your slicer. :-)


Anet A6, Marlin 1.1.x, bed leveling with sensor probe

Eventually it was a mixture of things that sort of solved this.

Setting the Z-offset a bit more tight helped some
Probing with more gridpoints helped
Instead of using glue, I used painterstape. Way easier to refresh and easier to take prints off. I wanted to try kapton tape, but painterstape was good enough for now.
Manually leveling the bed to a better position also helped.
(After edit) recalibrating my two z-axis motors.

In the end, I think my bed has become a bit curved over time. So a final solution would be to print on a glass bed, but that was not really an option when using the SN04 sensor.
I am moving now to a BLTouch sensor + glass bed to make everything perfect again.
EDIT: important note, I also put off bed heating. Since I am working with PLA, it was not really necessary. Doing this allowed me to use painterstape, otherwise it would 'fall off' eventually.
EDIT2: I think I have thought of a better explanation. I am using an Anet A6 and it might be because the x-axis was not parallel to the plate. Meaning that my two z-axis stepper motors were not calibrated properly.


Seeing as how no one has been able to find a solution yet and I'm not familiar with your machine, I would recommend reverse engineering the part to the best of your abilities. If you don't have the right tools, try finding a local machine shop and ask if you can use their measuring equipment. Sometimes you might get lucky and they will have something more intuitive than callipers, such as a CNC CMM or CMM Arm. As far as acquiring the part, try asking the machine shop if they can produce it, or get it 3D printed via 3D Hubs, MakeXYZ, or some other peer printing service.

I'm sorry I don't have a more direct solution, but hopefully it at least a general sense of what options you may have.


3d Extruder temperature lower automatically (Prusi I3)

Please consider to reference your precise model (genuine Prusa i3 or clone?) as well as the slicer software you are using.

You should be able to note from the panel information what layer the change appears. For example, if you are printing 0.200 mm layer thickness and the temperature change begins at 10.200 height, you have an important piece of information.

Open your gcode file in a text editor and look for the Z reference in the 10.000 or 10.200 range, along with the temperature gcode command. According to the reprap wiki,, the gcode command to set extruder temperature is M104 followed by Sxxx where xxx = temperature in °C. For example, you should see something like this near the beginning of the gcode

M104 S205; set extruder temperature to 205°C (comments mine, some slicers also include comments)

but if your gcode is faulty, later in the body of the gcode you may see a similar command:

M104 S000;

the number after the S could be anything. Consider to examine any M10x codes as there are different results for various codes.

If you find you have a dropped extruder temperature due to the gcode, double check your slicer settings to see if a second process has been initiated.

I have a dual extruder printer and will usually keep the second extruder cold until just a few layers prior to printing supports at a level above the bed, then turn it on to do the supports, then back off for the rest of the print.


Is there a difference between 3D printing and additive manufacturing?

Yes and No at the same time:
3D Printing is a subset of Additive Manufacturing
but treated as a synonym at this time
3D printing is a process that takes some material, in a fluid state that fuses with the model to shape an object from it. The material could be plastics, ceramic paste or even metal. The fluid state could be the normal state, or just be present for the fusing process (think powder and resin based systems), or be a transitional phase (as in filament based systems).
Additive manufacturing is just a slight bit bigger: at the moment most, if not all, AM processes are some sort of 3D printing. But AM could include other processes that don't fit 3D printing. For example, an automatic bricklaying machine could, under some view, be Additive Manufacturing, but it is not 3D printing in the traditional sense.
So: All 3D Printing is Additive Manufacturing, but not all Additive Manufacturing is necessarily 3D Printing.


You indicated that you were using 24 volts, implying you have a 24 volt bed. ATX power supplies do not have 24 volt outputs. The highest is 12 volts which would heat up the bed, but not fast or probably to full temperature.


The sounds are mainly caused by the bed resonating with the stepper motor, and this will vary with the speed of the stepper motor. The best solution is to use "silent" stepper motor drivers (e.g. Trinamic), but you may be able to reduce the noise by:

Reducing the belt tension as much as possible.
Changing your print and/or move speeds.
Fitting a stepper motor damper.
Fitting TL smoothers (if you have A4988 drivers), although their efficacy is controversial.

I have done all of the above with good results.


Setting up a brim/raft for only a portion of the overall print

In the newest version of Cura (4.5.0), in the per model settings, the only thing you can change for options set Build Plate Adhesion is Brim Distance. What this allows you to do however is create a brim for everything with the distance of a millimeter or two, and then for the part that needs the brim, you just set the distance to zero in the individual part settings. It's a little janky, but you essentially create a skirt for the parts that don't need a brim.


The helical exterior is an indicator of a filament diameter mismatch or volumetric mode enabled for linear commands

From ref:

  Then you probably enabled volumetric extrusion by accident.

  On LCD go to

  Control
  Filament
  Disable
  Save EEPROM
  Revert estep cal if applicable.

  What is it? M200

  Its a feature of Marlin firmware which interprets E moves as mm3 instead of linear mm. It is poorly described in the menu, and tends to be enabled by accident.


How do I decide what size my push-fit feature should be?

A push-fit, or rather snap fit, feature can come in several shapes and forms. Let's look at the example of a snap buckle, inspired by Angus video on the tpic:

This Buckle has a harsh hook, it offers no way to push it in after finding its resting place, it is pretty much a "no release, no safety release" type. But with slight alterations it can become a safety buckle just by altering the 90° angle in the middle and providing a slope while offering a place to press the buckle in at the catch offers user release. Now, what does that have to do with dimensioning?
Dimensioning a piece
When deciding about the dimensions of a feature we need to evaluate several factors against each other:

Intended use
Printability and print orientation
Material choice

Let's discuss the three separately.
Intended Use
The shape is dictated by the function of our part. Do we need a one-time snap fit that keeps the internals of our box closed forever? Do we need to open the buckle whenever we take off a backpack? Do we need a safety release to prevent the backpack from strangling the user if it catches somewhere? As we design the part for the use, and its intended loads, we also design minimum sizes for some features: a user-release buckle or snap fit needs to be large enough to be manipulated by a human (with the right tool), and the dimensions have to be large enough so the part can bear the intended loads.
Material Choice
Different plastics behave differently under stress. ABS is known to be somewhat flexible in comparison to PLA, bending before breaking softly while PLA shatters once its maximum load is broken. The choice of the material also dictates the wall thicknesses, and thus the dimensions, we can use.
As an example, I have printed one of these Z-Axis tension triangles in PLA for my TronXY-X1. Due to how this part is designed, the bent arm can bend a little but wants to return to its original shape, thus forcing the straight arms apart. By this, it applies force on the wheels which in turn roll tight on the beam in between. Even as this is PLA, the work on the part is still in the elastic deformation area due to the sheer size of the item - the lever is quite long to take the little flex PLA has and distribute it over the whole length of the arms.
Print considerations
Now, we have to keep in mind we print our parts layer by layer and the weakest part of a print is the inter-layer bonding. So the strongest snap-fit will have its bending lever printed in the XY plane while the weakest has its lever bend in a way that the bending occurs along with the XY slices.
However, we can use this to our advantage if we want to: I had printed this for StarWarsDay this year, and the little det_button.stl is printed with the levers of the snap-fits bending in the XY layer. They are also extremely fragile (1-2 walls). From own experience, they survive being pushed into their respective hole but can't be extracted without destroying the levers, making this piece pretty much act like a tamper seal.


How to know if I should replace my power connector?

If you can measure the voltage at the main board where the bed power line is attached, or at the last point in the wiring prior to the connector, then measure the voltage at the bed, you can compare the difference to determine if there is loss related to a failing connector.

One certain indication of a failing connector is to separate the components of the connector and see corrosion, discoloration or any sign of burning. The Robo3d R1+ used 10 ampere connectors and the bed draws 14 amperes, according to the research I've done. When I discovered that information and separated the connector, it was an easy answer, as one side was scorched and the pins on the other were corroded and discolored.

Another method, not for everyone, is to use an IR camera and examine the leads carrying the power to the bed. The failing portion will be absorbing some of the power and heating itself, which will show up as a bright portion in the power path.


Are there biocompatible materials available to the general public?

There are printers designed for medical use, and the manufacturers supply them with varying levels of certification and testing, however I've not seen a filament manufacturer certify their material as bio-compatible separate from the printer. The printing process changes the material slightly in the best case (and significantly with poor temperature control or badly set parameters), so even if bio-compatible filament were found, the resulting product might not achieve the same level of bio-compatibility.

If your intent is to use hobbyist level machine for medical purposes, you might simply want to use an interface, such as a sock or a molded/cast polymer that you know to be bio-compatible between the printed part and the skin.


Issues like these are not new, I have experienced similar issues (see e.g. this topic, but more can be found) with an installation of an older version. At the moment of writing there is already a reported issue with Ultimaker Cura 3.5.

It is generally best to mention problems with a specific software application at the developers own forum or tech support. This will catch a more specific type of users as well as the developers themselves.

A workaround, but not a definite solution, is to remove the settings (on the Windows platform these files are located in AppData/Roaming/cura) that Ultimaker Cura uses and remove prior installations and do a fresh re-install of 3.5 and see if this works. Just rename the directory to e.g. AppData/Roaming/cura_old, this way you can always go back.

The drawback of this solution is that all material profiles and printer setups are lost as you start completely new. This is not a problem if you have a single printer and no custom materials defined, but in my case it was a lot of work to get all profiles back.

These issues could be related to the profile settings and storage model, which, at the time of the older installations was not very stable. A new material model was required, if that has been replaced is still a question.


Filament isn't going into the Bowden tube, instead it goes "into the room"

This is typically caused by resistance in the tube or hotend but in your case it appears to be mostly caused by a very poorly designed extruder.  The filament needs to be constrained closer to the drive gear.  You may be able to drill out the PTC connector to allow the PTFE tube to reach closer to the gears or print a spacer to fit in between but you need to support the filament in that gap.

You can try raising the hotend temperature as a band-aid until you can fix the problem, do not exceed 240 C if you have a PTFE lined hotend. Long retractions can also pull molten filament into the cold zone where it solidifies and make extrusion harder.

As an example, here is a picture of a Bondtech BMG extruder.  Note how the extruder constrains the filament path all the way from the drive gear to the hotend entrance.  While this example is extreme for normal PLA/PETG/ABS, it is required for flexible filament.  A 4mm gap (or closer) should be fine for PLA/PETG/ABS or other hard filaments.


Connecting OLED 128x64 LCD; dogm_lcd_implementation.h is missing for patching

Question History
An answer on your previous question discusses patches for installing the LCD module in your Marlin printer firmware. Note that these patches are very old (around 2015). Many things have changed since then (as is acknowledged there). That answer does not work for recent versions of Marlin source code!
Answer
Yes, your observation of the dogm_lcd_implementation.h file being missing in the 1.1.9 version of Marlin is correct. But, I believe it is not lost, all code and further development can be found in ultralcd_impl_DOGM.h. There are some older versions of the file wondering over internet, e.g. here or from this older Marlin cloned repository.
I believe that your 2nd patch:

/*---------------MKS OLED patch_2-----------------------*/
#elif defined(U8GLIB_SSD1306)
U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25); // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
/*---------------MKS OLED patch_2-----------------------*/

should be placed in ultralcd_impl_DOGM.h just under:

#elif ENABLED(MINIPANEL)
  // The MINIPanel display
  //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
  U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes

and before:

#else
  // for regular DOGM128 display with HW-SPI
  //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0  // 8 stripes
  U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0 // 4 stripes
#endif

to create:

#elif ENABLED(MINIPANEL)
  // The MINIPanel display
  //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
  U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
#elif ENABLED(U8GLIB_SSD1306)
  // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
  U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);
#else
  // for regular DOGM128 display with HW-SPI
  //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0  // 8 stripes
  U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0 // 4 stripes
#endif

Do note that there already exists an entry for U8GLIB_SSD1306! This has to be deleted, or you need to put the code in that section (un-commenting existing code)!
E.g.

#elif ENABLED(U8GLIB_SSD1306)
  // Generic support for SSD1306 OLED I2C LCDs
  //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);  // 8 stripes
  U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes

could be altered to:

#elif ENABLED(U8GLIB_SSD1306)
  // Generic support for SSD1306 OLED I2C LCDs
  //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);  // 8 stripes
  //U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes
  // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
  U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);


Apparently, the possible cause mentioned by @R.. GitHub STOP HELPING ICE turned out to be true. The frame was noticeably skewed in the Y-axis, which is why the prints were leaning in that direction.
I replaced the Z-axis top parts with a 3D printed modified version of them (what came with the printer is orange, what I printed is yellow.) The modified version is slightly longer so as to move the steel rods (ones that hold the X-axis) slightly towards the front of the printer (in the opposite direction to the skew)
This turned out to work perfectly, the skew is still slightly present, but it has been substantially mitigated and I can fix it completely by adjusting the length of the printed parts.


Pins are sometimes different between the two shields.  I ran into one a while back... Go over the pin specs for the 1.6 one at a time.
Correction: pins are SUPPOSED to be the same.  I've however experienced them not being the same.  I don't know if my 1.3s were the oddballs or if the 1.6 was.


You can add return; command in the ultralcd_impl_DOGM.h file.

  void lcd_bootscreen() {
    #if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
      lcd_custom_bootscreen();
    #endif
    return;  // Add this line


Replicator+ Experimental Extruder Filament Slipping Error

As the comment section doesn't allow to use too many characters, I've converted the comment into a proper answer.

In the question is stated that:

  ... results of testing the Experimental Extruder with a larger nozzle
  often required a lower extrusion temperature...

This is in contradiction with expectations. When the filament feed rate or volume increases, generally a higher temperature is required to heat up the filament because the resident time of the filament in the heatbreak and nozzle decreases.

As the filament heat up time is shortened by the increased feed rate you should either:

increase the temperature to get the filament center to also heat up. In fact, all your problems could be related to not heating up the filament too fast (filament jam or slip). When the center of the filament is not soft enough, it will be harder to push through the nozzle, hence the slip and the clogging, or
decrease the print speed, decreasing the print speed will increase the filament resident time.

As an example, a nozzle/layer height combo of respectively 0.4/0.3 lays down 4 mm³ per 100 mm, a 0.8/0.6 combo delivers about 30 mm³ for that same distance! This is a lot of heat that is dissipated and needs to be replenished. A reduction of print speed by a factor of 7.5 (30/4) will also address the increase in heat up time.


Extruder doing the shimmy, How can I fix?

It was the stepper driver, Replacing the motherboard fixed the issue.


Does the Creality Ender 3 allow variable layer thickness?

Variable layer height is a setting of the slicer, not an ability of the printer itself.
However, the printer must be able to print at such layer heights. Any FDM (Fused deposition modeling
) or FFF (fused filament fabrication) printer, which is the type you describe in the question, is able to print at 0.1 to 0.3 mm with at least a 0.4 mm nozzle diameter.
There is also notion of optimal layer heights. Optimal hight depend on full steps of Z motor correlated with a leadscrew type. It is especially important when microstepping for Z is disabled or when printer disconnects a Z motor during long printing of single layer, otherwise positioning may get imprecise. Prusa calculator helps to determine these values. For 8 mm/revolution lead of screw (standard T8 in Ender 3) the step for optimal heights would be 0.04 mm.


We had some prints like that recently. Turns out it was caused by the bed not being "level" or "trammed". Basically the nozzle was too far off the bed when printing started for the first layer. Check yours - a piece of paper should slide between the nozzle and the bed surface, with a little bit of resistance. If it slides freely, the bed needs to be raised some. Check it at the corners and in the middle of the bed.


Troubleshooting filament slip on MakerBot 5

Oh interesting. By slips, I take it you mean that the raw filament slips, not the print slips.

This will happen for a few reasons. First the tooth gear that grabs the plastic is either:

Worn out
Out of place
Not the correct distance from the guide wheel.

This is all part of the mechanism that the Smart Extruder attaches TO. Not the Smart Extruder itself. You might be able to fix this yourself, worst case you will need a replacement assembly from MakerBot. I would look into online auction sites for the part

Another option is to try thicker filament. Which you might be able to custom order. So instead of 1.5, maybe get 1.8. I am not sure where you can buy off sizes.

From there this machine might just be getting jammed. It happens to some machines. This again points to the base of the X axis assembly.

Last which I would say is not likely as you have tried multiple extruders, you might have the nozzle becoming clogged. I often pop open my extruders voids warranty and clean them out. Also micro hand drills are a good option here.


How can I convert STL files into PDF drawings?

I've had good results with using the free web-based program known as Onshape which allows you to import/create 3D models. One of the features built into Onshape is a drawing tab. You can select the views desired or use a standard layout, as well as add dimensions to the individual drawing views.

This image above was of a model created in and exported from Tinkercad. No dimensions have been added in this example, but it's available as part of the software. Being browser based, the program will work for any platform.

In order to make this answer more accurate, I attempted to duplicate the results shown in the drawing.

I've discovered that I used Fusion 360 to import the STL. The next step involved turning off history feature, then converting the STL to BREP. Once in BREP form, the no-longer-STL file can be exported as .step, which is accepted by Onshape.

Fusion 360 is a free-to-hobbyists program, but does not run in a browser. There may be other programs which will convert STL to .step and there may even be a browser converter-specific site to accomplish this.

I recognize that this is a convoluted solution, but it's not particularly burdensome, overall.


Smallest dot/dot indent for Prusa MK3S using PLA

There is no direct limit on the size of a hole in XY-plane (that means: oriented so that the hole is visible from above).

The movement accuracy of MK3S (and most other modern 3D printers) is about 0.01 mm. So theoretically you could move around a circle that has diameter of the (default) 0.4 mm extrusion width + 0.01 mm, and get a 0.01 mm hole in the middle of the circle.

In practice, the hole size will be limited by the repeatability of the extrusion width. If in the above example the extrusion width happens to be 0.41 mm instead, there would be no hole remaining.

On a well calibrated printer, 1/4th of the nozzle size should be manageable, i.e. for MK3S you should be able to get 0.1 mm holes quite reliably.


Is E-axis steps/mm resolution limiting factor in print quality?

Your calculations about the theoretical extruder resolution are spot on. I did a similar calculation to evaluate which extruder to use with different hot ends, I paste the results. The dark cells are the input cells, the rest is calculated. You can see that for some lines I entered directly the mm/microstep value, since I wanted not a theoretical but practical result for my printer (3 mm filament) or for known extruders (BMG).

Concerning the question, the resolution of the extruder matters, but it's a bit complicated to estimate exactly how much.
In general, this are the factors I can think about.
A poor resolution may not impact straight lines much, since the rotation of the extruder is continuous and the extruder is unlikely to snap exactly to the desired microstep position as soon as you ask for it: it's likely a bit behind all the time, that's how torque is obtained (more or less).
The issue may become smaller with drivers which interpolate microsteps up to 256x.
However, whenever there is a change of flow rate, poor resolution implies that you cannot control the exact location/moment where/when the flow changes. This matters mostly at the end and at the beginning or retractions/re-retractions. Maybe you get more ooze?
However, the extruder resolution is not, in practice, as good as you calculated. In fact, as we know, microsteps reduce the incremental torque to very low values. The extruder is a motor which requires quite a lot of torque, since pushing the filament is quite hard, and it is unlikely that you can achieve all the time the 16x microstep accuracy you assumed. For example, due to friction in Bowden, hot end, ... the filament (= the motor shaft) may at a certain point stay "back" more than average. This would cause an increase of effective torque, pushing the filament a bit faster, which would it bring to in sync or so with the desired position, but at that point it would slow down, and so on. Depending on the average speed, this oscillation may be dampened (and then no rippling is visible) or may oscillate constantly, and you see ripples also along straight lines.
This is why I placed the usteps column in my calculations: it is meant to calculate a more realistic resolution assuming that no accurate microstepping is achieved. I assumed higher achievable microsteps the lower the load on the motor is (this means gears, or thinner filament).
Having a high resolution to begin with clearly helps to reduce this issue. You can try to increase the current to the max your drivers and motor and cooling allow, and see if the ripples change. I think it will be reduced.
You may also try to build the Orbiter extruder (linked also in the table) and see how it goes.


Where to find information on 'fast' or 'professional' 3D printers?

Since your company specializes in small objects, SLA printers seem to be a good choice, since it has better detail but small printing area. However, SLA printers tend to require lots of post processing.

If you need a printer for rapid prototyping, you should be using FFF or FDM printers which don't need any post processing. At most, you could sand surfaces to have a smoother finish.

If you need fast printers on the other hand, Delta type printers could be something to look at. Kossel or Rostock printers are faster than standard XYZ printers/CoreXY printers.

As for magazines, Make Magazine features 3D printers and 3D prints if that's what you're looking for.

Terms you can look up online (this includes some names of popular printers): FDM printers, SLA printers, Kossel printer, Rostock printer, CoreXY printer, Prusa i3, Formlabs Form 2, Ultimaker

If you have any questions and/or I got anything wrong, please notify me.


I can only weigh in on the Marlin side of your question - "The value 500 is intended as mm/min" - uh, no, AFAIK it's steps per mm, just like it says - i.e. with filament, 500 steps per mm of filament fed. Other than not allowing the feedrate parameter to go so high that steps are skipped (which is a different limit) it's time-independent. I suppose with an extruder it would be mm of piston movement, but I don't have an extruder.

In my case, an actual value is closer to 250, and I typically check the calibration with 50 or 100 mm of filament feed so I can make a decent measurement.

I also wonder if your firmware knows it's running on a delta, since mine reports "A, B, C" rather than XYZ and all three towers are the same steps/mm - the "default values" you are looking at might apply to a typical cartesian printer where the Z axis is threaded while the X & Y are toothed belts.

Assuming it runs correctly you might be seeing irrelevant "default values" and having correct values loaded from EEPROM when the system starts (look at the log window when the control system connects to the printer.)


Help with my G-Code to change filament change mid-print

First things first imho: M0 to stop the stamp. I dunno which firmware are you using but it should wait you to press a button on the LCD (Marlin does it).  After that it run the gcode to unload and load the filament, resume temperature (M109 S215) and go ahead with the stamp.

This is my final version:

    M83
    G1 F3000 E-25
    G1 F300 Z4
    G1 F9000 X100 Y100
    G1 F300 Z15
    M0 ;Do the actual pause
    G21 ;Metric Values
    G90 ;Absolute Positioning
    M109 S205.000 ;205 Unload
    G92 E0 ;Reset Extruder Positioning
    G1 E10 F100 ;Extrude 10mm filament
    G92 E0 ;Reset Extruder Positioning
    G1 E-600 F1500 ;Retract Filament completely
    G92 E0 ;Reset Extruder
    M400 ;Wait Command
    M117 REMOVE FILAMENT NOW ;LCD Message
    M400 ; Wait Command
    G21 ;Metric Values
    G90 ;Set absolute positioning
    M109 S205.000 ;Preheat PLA
    M300 S440 P200 ; Tone
    M300 S660 P250 ; Tone
    M300 S880 P300 ; Tone
    G4 S5 ; Wait 5 seconds
    G92 E0 ;Reset Extruder Position
    G1 E380 F1500; Fast Feed of 380mm filament
    G92 E0 ;Reset Extruder Position
    G1 E100 F200 ;Feed 100mm filament slowly
    G92 E0 ;Reset Extruder Position
    M400; Finish Move
    M109 S215; resume temperature
    G1 F3000 E25
    G1 F3000 E-25
    G1 F300 Z4
    G1 F9000 X101.7 Y137.3
    G1 F3000 E25
    G1 F9000
    M82
    G92 E763.80547
    G4 P1


How to test Arduino Mega, RAMPS 1.4 and Full Graphic Smart Controller LCD?

So basically you just replaced everything except for the LCD (the LCD testing is described a little further). If the LCD is not working then, this could imply that either your LCD is broken, or one of the new parts is not functioning as expected, or you have not connected things correctly.

Are you sure the firmware flash went okay? You could test the Arduino Mega 2560 by connecting it over USB to e.g. Pronterface, you do not need the LCD for testing the Arduino Mega and the RAMPS.

The LCD could be tested separately by creating a sketch in Arduino IDE and connect the correct pins of the LCD cable to some pins of an Arduino device, e.g. load the the U8Glib example sketch "GraphicsTest" and add the following constructor:

U8GLIB_ST7920_128X64_1X u8g(6, 5, 4);  // SPI Com: SCK = en = 6, MOSI = rw = 5, CS = di = 4

This implies that you need to attach the correct pins on the Arduino (in my case to digital pins 6, 5 and 4 for respectively SCK, MOSI and CS to the respective EXP1 pins 5, 3 and 4):

Note that you see 5 pins attached, as the LCD needs to be powered (pin 10 on the EXP1 header) and grounded (pin 9 on the EXP1 header).

I wired this on an Arduino Uno clone and confirmed that 2 of the spare RepRapDiscount Full Graphic Smart Controller clones showed the test program.

PS, this is a simple wiring of the LCD, it displays the test in fade blue-ish, so not the bright colored white pixels, but that is normal!


3d printing of which plastic out of polyurethane, e-glass, and PTFE is easiest?

For the kind of application you are looking for, transparency to radio signal shouldn't really be an issue, so you are more or less free to choose whatever suits your taste better.

Looking at the 3d printed drone community, the 3 most common materials I see being used there are:

impact-resistent PLA
PETG
ABS

This order also match their "ease of use", with PLA being very easy to print even without heated bed, behaving well with glues in the assembly and being easy to paint on.  The impact resistance of "though PLA" still doesn't match that of - say - ABS, but is typically considered "good enough" for anything but the propellers.

PETG is tougher. Print relatively easy (stringing and oozing being the typical problems) but it is known to be somewhat difficult to glue and paint.  It is also quite dense, so - dimensions being the same - it will weight more than PLA.

Finally, ABS is a classic.  It is strong, durable, easy to finish (with acetone) but it is the most finicky material to print with, requiring an enclosure and proper ventilation (the fumes being toxic).


First 3 mm prints poorly, then fine after that

After much trial and error, I think I finally figured out the solution.

Even though I could get better prints by tweaking with the temperatures, I could never totally eliminate the problem. The better I made it look by cooling down the bed, the more likely it would break free and the print would fail completely.

At one point though I happened to print something taller, and interestingly enough a similar band of ugly layers appeared higher up in the print as well.

So I started a closer inspection of the Z axis rollers. The Ender 3 has a funky setup where there are 3 rollers at each end of the X axis. Two are fixed and one can be adjusted to change the tension of the rollers against the Z rails. What I discovered was that a couple of the non-adjustable rollers weren't terribly tight and could be turned by fairly easily with my fingers. At the same time, the adjustable rollers are starting to wear a groove.

On a hunch, I decided to try re-adjusting the tension so that I could no longer turn any of them with my fingers. It definitely had an effect...now the bed was too high and it would no longer extrude the first layer because the nozzle was too close. This required going through the complete bed leveling process to get it back in spec.

Once I got it re-leveled, low and behold it's printing like new! The height is coming out spot-on too.

I suspect what was happening is that the rollers were too loose and at certain heights they we allowing movement in the Z axis. Perhaps there is a flat spot that was allowing the X rail to droop, then once it got past the flat spot it would print cleanly again.

I haven't printed anything tall enough yet to see if the bad layers still show up higher in the print, if they do, I think it is probably a sign that I need to replace some rollers. In the mean time, I'm thrilled to be getting decent prints again!

Update: This ended up NOT being the solution to my problem. However it does seem to be related. As I mentioned in the comments, the problem returned after a few days of the printer sitting unused. I have since been able to get it printing better by going the opposite route - loosening up the Z axis bearings. At the moment it is printing somewhat better, but still not perfect. I am also having under extrusion issues when may or may not be related. I have ordered some new rollers to see if that helps since some of them had a pretty good groove worn in them.

Another Update: I replaced several of the Z rollers that had become grooved with some that claimed to be a little harder material. So far this seems to have mostly cleared up the issue. I have now completed several large print jobs and the first layers have been coming out pretty good.

I also ended up taking out the Capricorn tubing on the extruder. The extruder skips were becoming quite bad and causing under extrusion issues throughout the print. The Capricorn has a little smaller inside diameter than the stock tubing and I wondered if it was too tight on some filaments. I went back to some plain white cheap PTFE and that problem mostly went away as well. I still hear the "click" once in a while, but it is fairly rare. I may try tweaking the motor current a little to see if I can get rid of that. All in all though, the printer seems to be printing about as good as it ever has.


Homing X and Y after stopping print through display

It's EVENT_GCODE_SD_STOP in the configuration_adv.h file.

It appears to have been added to Marlin 2.0.x on 2019-04-03.


How can I scan a thing and modify it or scan two things and compare them?

While I'm not sure what you mean by I want to scan a thing and modify it a little to see its effect. In general, a 3D scan typically results in a series of raw points. You'll need to convert the 3D point cloud into a Mesh before you can really do any solid modeling with it. Here are a few OpenSource programs that you could potentially use:

MeshLab
Blender
CloudCompare

To compare two scans, you could use the raw data in CloudCompare as well.

However, without knowing what your intended use is, it's difficult to tell how to help you. Please consider updating your response with a bit more of your own research so that we may definitively answer your question.


How to reuse modelling bases for the Stratasys uPrint SE Plus?

What I tried and worked is to apply water based normal Glue-stick on the tray and with few drops of water distribute it evenly across the tray surface, let it dry and then you are good to go!


Inland PLA+ stringing badly at manufacturer-recommended temperature ranges

A portion of information missing from the manufacturer's specifications and in the question is the print speed. You could have slower speeds than the manufacturer used to perform the tests, which requires lower temperatures to reduce the "flow rate" of the plastic to an acceptable level.

In some cases, I use as low as 20 mm per second print speed, others can be as high as 60 mm per second. At the higher speeds, I will increase the temperature five degrees C to ensure that the hot end can keep up with the increased filament extrusion. Alternatively, slower speeds need lower temperatures. The variation may not be larger as described for your system. You've already experienced a substantial difference based on your posted numbers.

It would be unrealistic to collect others' experiences with a specific brand unless color choice, print speed, printer model/hot end model, etc are also collected. Let's include part cooling fan settings as well to complicate the task even more.

You can consider to check the great Thingiverse library for temperature test models. These files are used to print various segments at different temperatures. Due to the above noted factors, you may find your result can be clustered or may find they cannot, based on color, manufacturer, age, etc. It is a valuable resource to improve your printing results, however.


Why does my Anycubic Predator print backwards?

The right-hand coordinate system is the most used system on printers. So, when facing the front of the printer, the most common arrangement using a  is:

X+ will move the print head to the right
Y+ will move the print head away from you (towards the back of the printer)

For a Delta printer, when facing the printer, the Z pillar/tower should be at the back, the X tower on the left and the Y tower on the right. Do note that these tower are not corresponding to the axes movement, but are simply named as such so that you can use the designated stepper axes as indicated on your controller board. If you position the printer this way you have access between the X and Y pillars.
If the prints are mirrored in X direction, you need to swap X and Y steppers. X is the left column, Y the right.


What is PEI+PC 3D Print material? ISS 3D Print Contest

Apparently the Made In Space printer can print an exotic alloy of PEI (ultem) and PC (polycarbonate).

Ultem is a super-premium material for industrial FDM printers, and requires a very high temp heated build chamber to print. Hobbyists use it as a build plate -- Stratasys uses it as filament in their most expensive FDM machines.
Polycarbonate is a specialty material that benefits from a heated chamber but is just barely printable on hobbyist level machines. (I print a fair amount of PC -- it makes ABS seem easy in comparison.)

By alloying PC with PEI, they are presumably optimizing some kind of performance parameter compared to ultem alone or polycarbonate alone. Exactly what material properties they get will depend considerably on the ratio of the two polymers. Ultem is exceptionally heat-resistant, quite stiff, and extremely strong. PC is very heat resistant, and has exceptional impact toughness. Blends of the two can be somewhat stiffer than either, with most other properties resembling the weighted average of the two base materials. It really depends on the mix, which we don't know.

This is analogous to the PC-ABS blend filaments we sometimes use. You get reasonably intermediate properties.

So, it's basically super-filament that NASA might want to use to make "production" parts in space. I would expect a HUGE degree of warping if not printed in extremely well-controlled conditions. But the Made In Space printer was intensely engineered for this task, so I have to assume they have it all figured out.


One thought I had, does PETG need a different clearance between the nozzle and the bed than PLA?

Short answer: "Yes, for some it does".

The results from your image are typically seen when the initial layer height for PETG is too small. PETG likes an additional gap on top of the usual that is used to print e.g. PLA.

For me personally I don't experience this general consensus (I've printed kilometers of PETG filament at 0.2 mm initial layer height at a glass bed with 3DLAC spray without any problems), but it is well known that if you print PETG (and if you experience problems) you need to increase the gap between the nozzle and the bed. From "PETG Filament - Overview, Step-by-Step Settings & Problems Resolved" posted on rigid.ink, you see that they (usually) advise an additional 0.02 - 0.05 mm gap:

Bottom line, if the normal gap doesn't work for you, increase the gap to see if that works better. Note that in some slicers you can add an offset in the slicer so that you do not have to do the releveling with a thicker paper (or if you are using auto-levelling). E.g. in Ultimaker Cura you can download a plugin (for recent Cura versions from the marketplace) from user fieldOfView called "Z Offset Setting" to get the Z Offset setting in the Build Plate Adhesion section. You can also do a little trick in the G-code by redefining the height so that you can put this in a PETG start G-code or something.


Can I use external stepper motor power and USB connection

The motors are powered from 12/24V external power supply, so the motors will not be powered.
the ramps Schematics shows the connection diagram and the power is provided via the VMot pin/12V.


is possible to send printing with mach3?

Well, few years ago I could set the software Mach3 for printing doing the next:

Set a profile for 3D printing for the faster movements that your CNC can support; for example some CNC uses standard threads, others ACME threads and other GT2 belts like the 3D printers. If we try to use a feed rate too high the motors will shake. For this profile is not needed the torque for machining or routing, so we will sacrifice force to gain speed.
Create the proper gcode. Mostly Gcode maker generate the code to send pulses to Extruder E but Mach3 takes as invalid E instructions, so the extruder will never move. To avoid this there are 2 modes:

a) Find and replace all E instruction with A to enable Motor A or

b) Create the Gcode with an interpreter to output A instead E
    like Slicer 0.71 as you can see in the image below. I haven't tried with other software

3.For controlling the extruder temperature is possible with any other controller like REX-C100/C400 any PIC or Arduino. The accuracy will depend on your design.


Thermal runaway protection (see What is Thermal Runaway Protection?) is triggered when the scheduled voltage to the heater element does not result in a specified increase in temperature within a specified timeframe.

The exit of hot filament from the nozzle and the loss of heat of the heater block and the conduction heat loss through the heat break to the cold end need to be supplied by the heater element. When the filament melting temperature is high, heat losses are relatively high as well, this means that the software needs to compensate by scheduling the heater element more quickly/activated sooner (there is some heat capacity in the heater block) and longer. If it is unable to provide enough heat than is being used, the temperature cannot be maintained and the printer notices that scheduling power doesn't result in a temperature rise. This will trigger the thermal runaway protection in the firmware.

This can imply that too much heat leaves the nozzle in the form of hot filament, and as such, your printing speed may be too high (or the printing temperature too high).

Note that you are using a 0.8 mm nozzle diameter, this means a flow increase of $ \frac{0.8^2}{0.4^2}=4 $ with respect to a "standard" 0.4 mm nozzle! A slower print speed is therefore advised anyways.

To solve this, you can either:

Insulate the heater block, e.g. with a silicone sock
Install a different type of heat block, e.g. a E3D Volcano which has a larger heat input zone
Print slower
Print at a lower temperature
Change the firmware settings of your TRP (should be done with care!)

To explain the latter option, from the Configuration.h you can read that if you encounter these problems, you can tune this in the Configuration_adv.h

Excerpt from Configuration.h:

 * If you get "Thermal Runaway" or "Heating failed" errors the
 * details can be tuned in Configuration_adv.h

Excerpt from Configuration_adv.h:

 * If you get false positives for "Thermal Runaway", increase
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD

So you need to change these constants:

#define THERMAL_PROTECTION_PERIOD 40        // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

The most effective solution for your problem will be limiting print speed and experiment with printing at slightly lower temperatures.


Error when trying to upload firmware to cr-10

Two possible solutions are given in this thread: Upload error: avrdude: ser_open(): can't set com-state for "\.\COM17"

This post says:

  i am able to fix this problem very easily... just press reset button on arduino and unplug from usb and go to the arduino software installation directory (c:/program files/ arduino) and open drivers folder and open
  dpinst-amd64 by double clicking on it and just install that if it not runs may be your system runs with 32bit and open the file below the previously opened file and install it again.. close arduino programming software and open it again and choose your board and com ports and now it should upload to your board...enjoy...

Or try the solution from this post:

  I could fix this problem! Maybe this solution will works for you:

  in device manager I had unnistalled the drivers that I had. After reconnect it then it appears in "Other dispositives" with the name
  "USB 2.0Serial". There are cases that it appears like "FT232RUSB
  UART".
  my serial conversor chip on arduino uno board is "CH340G". Check this on your controller boards because others like "CN480661" has
  another fix method. If you can't find this chip maybe this video could
  help you (in spanish, sorry, is where i found the solution):
  https://www.youtube.com/watch?v=F4ar5sjbZFg
  download the drivers "CH341SE" from this url: https://www.dropbox.com/s/3csnhlsbdrznbp3/CH341SER.zip?dl=0 and then
  decompress it in a folder
  in device manager check whether the arduino is shown (reconnect it for that if you didn't do it in `step 1) then do right click -> update
  software -> browse software in the computer -> examine or browse
  Now you have to search the folder in which you decompress the drivers (step 3). After then pulse accept, ignore any advertice and
  continue. Then it will install the drivers and you will be able to use
  your arduino.

  NOTE: If in this last step windows has an error you need to enable the
  unknown digital signature installation. check other tutorials for this

These seem to be the only two solutions that worked for other people experiencing the same issue.


Thermal Stress Cracking During Heat-Up on Glass Heated Bed

The problem is in the design of your bed. Let's start from the basic setup of a glass bed:

The heater element is usually mounted to a metal carrier, which is both spreading the thermal energy over the bed, but also is the structural element that is leveled against the carriage. Atop that comes the glass print surface.

Now, once the heater element is turned on, the aluminium starts to expand and evens the distribution to the glass. As the glass has a much lower thermal expansion coefficient, it doesn't expand as fast. Because of this, the glass surface should never be glued to the bed or heater but held in position to the metal bed with a clip. This way the thermal and mechanical stress on the glass sheet is mitigated: The metal bed evens the heat transfer and the clip can move its position on the glass.


Filament being pushed back out the filament hole

Change the retraction distance, maybe you have a too long distance, that pushes the filament the whole way out.


Meshlab creates weird bubbles when using poisson surface reconstruction

Solution: After trying a lot of different filters with different tools, I came up with simplifying the point-cloud. After that, using the poisson surface reconstruction filter worked just fine without creating any weird bubbles.


What is wrong with my "disable sensor" gcode?

As per github PR this is not implemented - see this PR for details
Please check if your printer is processing M406 by issuing it manually.

In meantime, a sticker on the sensor will help you to print :)


Not directly. The most common types of 3D printers build objects in layers. They "draw" a layer, then "draw" another layer slightly above it, repeating until they've "drawn" the entire model. Preparing your model for this is called "slicing", since you are "slicing" your model into these layers. Slicing is a complex process and it's a lot of work to "roll your own" software for it, and there are several good, free applications to do it for you out there already.

What you probably can do easily is output your data in STL format to be read by the slicing software. STL (either ASCII or binary) is a dead simple format that contains the triangles that comprise your model. So simple, in fact, that the Wikipedia article tells you just about all you need to know.

To get triangles from squares:

A--B    Here is a "square" with vertices ABCD.    A--B    A--B    A
|  |    Splitting it from A to C produces two     |\ | ->  \ |    |\
|  |    triangles, ABC and CDA.  This can be      | \| ->   \|    | \
D--C    done as part of the output by simply      D--C       C    D--C
        writing two triangles for every
        square in the input.


X axis stops working sometimes on my Tronxy X5SA

It might be cross-talk with back-EMF from the fan confusing the stepper-motor driver. Do the cables run together, and have you tried separating them?


Is the 110 m length accurate for 3.0 mm 1 kg spool?

Let's go about this scientific:

$A_r=\pi{r}^{2}=\pi{\frac{d}{2}}^{2}$

As a result the crossections are $A_{3}=7.06858\text{mm}^2=0.0707\text{cm}^2$, $A_{2.85}=6.3794\text{mm}^2=0.0638\text{cm}^2$ and $A_{1.75}=2.40528\text{mm}^2=0.024\text{cm}^2$.

Volume of a cylinder is $V_{A_d,l}=\times {A_d} {l}$. Turned around to get a length from Volume and Area we get $l=\frac {V_m}{A_d}$, but what is V?

We know the density of comercial PLA is about $\rho=1.25 \frac{\text g}{\text{cm}^3}$, and we know $m=\times V \rho$. So: $V_m=\frac{m}{\rho}=\frac{1000}{1.25}\text{cm}^3=800\text{cm}^3$.

Taking this Volume and using the $l=\frac {V_m}{A_d}$ we get:

$l_{d=1.75}=33333.33\frac{\text{cm}}{\text{kg}}=333.33\frac{\text{m}}{\text{kg}}$

$l_{d=2.85}=12539.18\frac{\text{cm}}{\text{kg}}=125.39\frac{\text{m}}{\text{kg}}$

$l_{d=3}=11315.41\frac{\text{cm}}{\text{kg}}=113.15\frac{\text{m}}{\text{kg}}$

If the filament is more on the dense side $(\rho>1.25\frac{\text g}{\text{cm}^3})$, then it will have a smaller volume and thus be shorter than this estimate.

To show this better, a graph: This is the length of a filament spool in dependancy of the density. The values were calculated for the usual diameters with their closest neighbors rounded to 0.1 as absolute diameters and run over a broad range of densities commonly used in plastics - 0.7 g/cm³ to 2 g/cm³.


Cooling fan spins extremely fast, noisy on startup

Now that you have done some measurements, you could make some conclusions.

  The voltage over the fan is reported to be constant, but the current
  starts at 110-115 mA and reduces to 90 mA over time.

With limited knowledge of electronics you can conclude that the resistance of the fan is not constant as the resistance determines the amount of current through the fan. So the fan resistance increases over time. This could just be a manufacturing problem or characteristics of the fan. You could try to replace the fan with another fan to see if this fixes your problem.


Removing protopasta conductive PLA skirt from a bed

I have no experience with your printer model nor with protopasta conductive PLA but since your problem is "too much adhesion" I would simply suggest to follow in reverse all the usual advices on how to make the first layer adhere better (a far more common problem).  The list of suggestion could be:

Print fast
Do no squash the first layer (see @fred_dot_u answer)
Make sure the part fan is on
Reduce the temperature slightly
...

The problem could also be due to the chemical interaction between the surface of your plate and the specific material (for example: it is known that glass - a relatively difficult surface to use with PLA - bonds so well to PETG that sometimes it chips off the bed when you remove the print).  If this is the case you could for example cover your bed in painter's tape and see if the protopasta conductive PLA adhere worse to it than to the bare bed.  Worst case scenario, you could remove the tape with the print and scrub it off from it afterwards with a metal brush or a bit of sandpaper.


There are a lot of factors to 3D printing parts that work and fit together.

A lot of it will be discovered by trial and error, but let's try to put you on the right path.

First your material is what matters the most. Specifically their coefficient of thermal expansion, i.e. how much can the plastic change when heat is applied. PLA's coefficient is low compared to ABS, for example. Which is why the MakerBot can print without a heated bed, but it cannot print ABS with any success.

Here is a list of coefficient of thermal expansions by material.

What you want to do next is to print out a few test items and see for yourself. Below is an example of reality vs. expectation. As you can see the circle shrinks. It will never expand. So you will always make it bigger than you need. It is also good to note in this example below that the block itself is Larger than expected. The best solution is to not expect high tolerances and build a lot of flex into your designs.

Generally you want the hole size larger. If I wanted a 4 mm minimum hole, then I would likely make it 5+ mm.

The best thing you can do is print out a tray and document how different the sizes are. Also, do the same with a print of various peg sizes. Below is an example of such a tray.

Also, you might want to look into other materials such as Nylon and Carbon fiber.
A great source of more tips. Here is a great tutorial, Designing Mechanical Parts - The Whoosh Machine by shapeways, on designing parts.
A RepRap Wiki article on different lubricants in regards to 3D printers. Most people use silicon lube for parts to my knowledge. Again, it depends on your material.

Images taken from this link, The Innovation Station - Tips for Designing 3D Printed Parts.


OpenSCAD / FreeCAD splitting, hollowing and threading model

OpenSCAD lacks any facilities to perform computations on the resulting geometry (derived from CSG or directly imported). It has a decent functional language for expressing geometry in terms of parameters and functions/modules, but the road is one way; geometry is an output only and doesn't loop back into input. So automation of this entirely in OpenSCAD is really not an option.
On the other hand, doing it manually is rather easy. You can use CSG operations (intersection or difference) to cut the model, cut a compartment out of it, cut threads in it, etc. as well as (union) attaching external threads. You just have to decide how to size and position them for your model yourself.
Note that there's no canonical module for doing threads in OpenSCAD. You can either derive the cross section for your thread profile (can be done with OpenSCAD code) then linear_extrude it with twist (needs really fine division to be accurate though) or skin a polyhedron for the thread. There are a few published modules for the latter and I have an unpublished one I prefer.


What parts are suitable replacements for an Ender 3 Pro?

The Ender 3 takes an M6 thread (metric 6 mm diameter). Measurement of stock nozzle shown.

Most sellers will list compatible printers Ender 2, Ender 3, Ender 4, CR-10, CR-10S, CR-10 Mini, CR-10-S4, CR-10-S5, CR-8, CR-7. Will Also Fit Any Other MK10 Heater Blocks.

I recently bought some titanium alloy nozzles as the brass one got closed over after crashing into the glass bed.


Getting a programatically-controlled, constant 12 V from one of the motor outputs

It is easy. Leave the driver in. Connect to the first two wires usually used by the motor output. I.e. this is usually where the nema 17 motor goes. The first two wires are your output to the valve.

Use M42 to control the ENABLE pin. Bringing the pin high creates a 0V output. Bringing the pin low creates a 12V output.


Where is the line between "inspiration" and copy and derivative?

I should start by saying that I am not a lawyer.  I have been both the complainant and defendant in patent cases, and have had the role of observing copyright compliance for a performing arts organization.  With that in mind, the following is my own opinion and information.

Ultimately, there is no simple answer to your question.  It would depend on the case law that applies to 3D printed objects, which is not very clear.  You are venturing into Copyright law, which is very different than Patent law.

For example, if someone had a patent on "A Raspberry PI case with a <describe a novel, special, functional feature>", and you made a case with that feature, you would be in infringement.  It wouldn't matter if the case looked like the original, or was completely different.  If it included that patented invention, you would be more likely to lose if challenged in court.  The one thing about patent court prosecutions is that it is really rare that anyone actually "wins".  The cost to put forward a case is very high, and usually someone runs out of money (sometimes even the "good guy") before a decision is reached.

Copyright is much harder and softer at the same time.  Copyright can relate to the design feel of an object -- such as rounded vs. square, or using a trash can vs recycle bin icon.  Prosecuting a copyright violation of this kind would require that the aggrieved rights holder demonstrate that the design was copied, or at least derived in an unpermitted way, from the original work.  This is often more a matter of opinion than law, which is why the lawyers matter, as well as the judge and potential jury.

Technically, you are not free to do whatever you wish in the privacy of your own home.  You are much less like to be detected and then prosecuted, and the penalties would be lower, but you are just as much in violation if you make one for your own use or sell them by the millions.

The best way to handle it, if you are prepared for possible adverse reaction from the original designer, is to ask them for permission.  You can say ask for clearance to use, such as by saying:

    I loved your object <thing> on Thingiverse.  I plan to <put in your plans here -- make a few for me and my friends -- sell further varieties online -- whatever>.  Although I didn't copy your design, I would like to acknowledge that I saw your design before doing my own.  How shall I do that?

Your next steps will depend on how they respond.  Most likely, they will either give you free leave to do as you wish, or they will ask for something.

This happens a great deal in music, and expensive and acromonious problems have developed over who actually composed a particular guitar riff.  You can pick up the "Stairway to Heaven" case here.  If you are doing this commercially, it is better to negotiate ahead of time.  If you are putting your object back on Thingiverse for sharing, I'd just identify it as derivative an get on with life.


Converting an undirected graph to optimal G-code paths

Quote of comment of R.. GitHub STOP HELPING ICE on question reads:

  Pretty sure it is NP-complete (equivalent to travelling salesman problem), no? –

This is correct; this is route optimization at its purest, and is by no means a new problem. You want to travel the shortest total distance between all vertices of what's essentially a totally-interconnected graph; there are no inherent limitations on going from anywhere, to anywhere. The TSP is the general-case statement of this problem, which your problem specializes only slightly by predefining certain movements along edges as being required in the final path (but those edges can be traversed in either direction and in any order.

What makes this complex on its face is the sheer number of possibilities that an exhaustive solution to the TSP like Held-Karp has to evaluate. You have no real constraints regarding which points to travel between; you can go from anywhere, to anywhere. Only a relatively small number of edges (your extrusion lines) are known requisites, and those can theoretically be traced in any order.

If I'm reading your graph right, you start near the top center, then go to the top left, then to the s-curve, then you jump to the main shape and start traversing it from the "right arm", turning downward through the "body" and "left foot" of the central shape, then up to the "right hip", through that leg to the foot, then back up to the "left shoulder", through that "arm", etc.

If I have that right, then you definitely have "endpoint detection", where you are identifying points in the graph that are part of only one line segment (and therefore will require a travel move to get to or from them), and are planning travel moves to and from those points. Very smart. I would be interested in knowing exactly how you choose the next one to travel to. Obviously the closest endpoint of an undrawn line is a natural choice, but your algorithm doesn't seem to be doing that. Right from the off it chooses a relatively further point to extrude and then comes back to the rest of the shape. That actually seems to be the most efficient move in the overall graph, because if you don't get it early you will very likely make a big move to get back to it later, but making that decision in a non-exhaustive way doesn't seem intuitive.

Anyway, your algorithm was doing pretty well at path choice, up until it finished drawing the "right leg". The most efficient move from there would be to go to the bottom of the "Y" looking shape to the right of the main figure and trace through that. When that's done, the closest undrawn line segment will be back at the left shoulder of the main figure, which will lead you to the small dots, and you'll end in this region with relatively small travel moves. Overall, I think that a "closest remaining endpoint" strategy would be near-optimal at every turn; when you reach the end of a drawn line, look for the endpoint that is closest to your current location. It would make most of the decisions your existing algorithm does, and a few better ones. It's not always the best choice (case in point, the dot at the upper left, which is never closest to the end of any other move and so will be ignored until it's the last one left) but more often than not it is.

My programmer savvy says you also have some recursive intersection tracing ("tree-walking"); the algorithm sees that there are multiple paths to draw from a single point, remembers that point and then picks a path. When it reaches an end of a chain of extruded lines, it goes back to the most recently-encountered intersection, re-evaluates available paths, and picks the next one until all paths from that intersection are drawn. Then you skip back to the previous intersection, and so on in a recursive LIFO fashion.

While that's also generally a smart way to approach it, it makes a couple obviously inefficient moves, such as from the "right foot" of the main figure back to the "shoulder" (which is the most recent intersection visited but not fully drawn by that point). The more efficient move is simply the closest remaining endpoint, the bottom of the wonky-looking Y to the right of the main figure.

How you choose intersection paths to prioritize is also key. In general, taking the route that will lead you to the closest intersection or endpoint will reduce the possible backtracking you have to do. However your algorithm seems to prefer the longest path from a fork (or the one with the most forks along it) and that turns out not to be a terrible way to do it in this particular graph.

Now, having drawn the "left arm" of the main figure, it is totally beyond me why your algorithm chose to cross the graph to draw the wonky Y, then cross back over to the left side. That is by far the least efficient move it makes and the one you're probably pointing to yourself. The most efficient path from the end of the left arm of the main figure given what's left to draw is straight-up closest-endpoint, filling in dots and lines on the left side, then making one move across the graph to the wonky Y. Closest-endpoint would actually have already filled in that Y as covered earlier, and you'd end your graph traversal in the left region of dots and small lines. You may have one or maybe two relatively inefficient moves between corners of this region on the left of the graph depending on the closest point calculation, but those are minor compared to the moves made across the graph. If your algorithm is producing deterministic results for this graph, I'd debug it and step through to that point, and figure out why on Earth it thought that sequence was preferable. Optimizing that decision may very well be the key to a near-optimal overall graph-walking strategy.


Can you replace broken 100k thermistor with thermocouple - potentially blown analogue input as well

Thermistors and thermocouples are different animals.  A thermistor changes resistance based on the temperature at the junction.  A thermocouple generates a small voltage (mV range) which varies depending on the temperature.  Higher temps typically use a thermocouple because thermistors tend to not be as accurate at those elevated temps.

My printer uses thermocouples, and it appears that yours does also.  I'm not sure what you mean by "crushed", but you can check to see if the wires are shorted to the heat block or to each other.  It is unlikely that you've damaged the input to the control board by doing this.  Shorted wires can give the same readings as no thermocouple attached.  You can also get errors induced through ground isolation if wires are shorted to the heating block.

Changing this out for a different system with a different input amplifier sounds like a nightmare in the making, and I'd only attempt it if I could not fix the existing problem or find a direct replacement.


When building a RAMPS 1.4 based printer, can I safely plugin just some of the components to test if they are working?

If by components you mean motors, fans, or heated bed, then yes. This is even suggested in the Final Setup instructions on the RAMPS wiki.

  If you think you may have mistakes (in your setup) you can install only one stepper driver during initial testing and risk only one stepper driver.

There are also printers using RAMPS with no heated bed and other machines that have no extruder at all. Furthermore, from an electronics perspective: if nothing is connected across a terminal no current will flow and therefore there is no damage that can be done. Obviously if you short out the unused connections there will be problems.


Prints get really messy for no apparent reason

It definitely looks like over extruding. But similar effect can appear with proper extruding (or not too much exceeded) but with too high temperature.

If it appears only on some parts of the first layer then it can be:

bed leveling issue (or eventually bed is bent)
caret mechanism issue (dispositioned/bent)

You can also check different speeds just to be sure.


Makerbase MKS Slot2 V1.0 + RepRapDiscount Full Graphics LCD + RAMPS 1.4

A RepRapDiscount Full Graphics LCD already has an SD card slot reader at the back of the board:

Basically one of the 10 pin headers is used for the display and rotary encoder and reset, the other header is used by the SD card reader.

The module referenced in the question is a breakout SD card slot reader for the TFT (touchscreen) display controllers. Whether these are compatible with the EXP2 header of the RepRapDiscount Full Graphics LCD should be compared with the schematics. The schematics of the RepRapDiscount Full Graphics LCD are available, but for the SD slot breakout cannot be found. It is therefore unsure if the EXP2 is fully compatible for the SD slot board. To use the EXP2 on a RAMPS shield, you need the L-shaped connector.

The description of the Slot2 explicitly says that it is meant to be connected to either a TFT35 or a TFT70 MKS touchscreen display. In order to use it directly to your RAMPS shield requires finding out which pin goes where.


Is the 8mm x 20mm bearing axle for the X-axis idler (of a P3Steel) a custom part?

You could look up a Clevis pin with one groove.
You could look up a Clevis pin with a hole for a split pin.
Perhaps a Shoulder screw with a ground shank and a low profile head.
Use a plain rod with Dome caps if you will not need to remove often.
If available an internal threaded Standoff would work.
A Slotted spring pin may work if the hole dimensions are suitable.

EDIT:
You could also cut the grooves yourself pretty easily.  Cut a section of 8mm rod to length and mount it into a drill chuck so it stick out 2-3mm 1/8". Hold a hacksaw at the edge of the chuck and run the drill for a minute with gentle pressure, try hacksaw on other side or reverse direction if nothing is happening.
A hardened rod will cut better with a Dremel type cut-off disk


Comparing printing results of some G-code with results of samples generated by a slicer with many unknown settings is too superficial. You need to do more insight.
You can learn by comparing G-code files, but I suppose it would not be sufficient to have successful prints. You can also learn from tutorials on how to properly configure slicer. Understanding slicer setting, common printing issues, physics of plascic and printing is very helpful for troubleshooting.
Between files there are number of parameters which could be different, including:

slicer software, its approach (algorithms) and settings - most probably it was Cura in both cases, but many settings could be different - if you have both profiles, then you may comare them setting by setting (thoguh it is not easy in Cura, but see next)
notes in comments (in opening and ending sections of file) - Cura is printing lot of profile settings at the end of the file
G-code initialization commands in opening section of file - *there may be key changes to printer configuration, and also information about following *
temperature settings - you can read it from G-code or from LCD, when print is started
retraction and speed settings - you can read it from E move commands
layer height - you can read it from Z move commands
total use of filament per print - use analyzer, see below
printhead movements (including experimental Fuzzy Skin) - check settings, and use visualisation in Cura just after slicing

Machine profile ("S5 printer selected") in Cura intoduces subset of default settings. In CR-10 S5 profile created by Creality many settings may be very different than in profile for Ender 3. And still author of original G-code file could update many of these settings before slicing.
You can compare two G-code files for the same shape in GCode Analyzer. For easier work you may open two or more analysers in separate browser tabs. There are many useful information calculated from G-code - about Model (like "Total filament used") and and Layer (like "Retract speeds"). Layers may be changed in 2D view with right scroolbar (clik the square scroll indicator and use Up and Down arrows on keyboard).


Any code to move up Z axis after finishing the printing?

You can use:

G91
G1 Z10

G91 make the printer use ralative positioning, while G1 Z10 would move the gantry up of 10mm, reagrdless of its actual position.

In order to understand what's going on, you could experiment with the position of those lines in the script.

The safest bet it to insert them at the very top, but you could insert them straight after the homing of the X axis to understand if the drop you are seeing is caused by the homing command itself or by the ´M84´ one.

My guess is that the drop is actually caused by the latter.  M84 doesn't really "disable motors", rather it stops using energy to keep them still (i.e.: it stops the idle hold).  What I believe is happening in your case is that when you stop the idle hold, the weight and mechanical play of the X gantry causes it to move slightly (a bit like when you relax your body on the sofa and you "sink" in it a bit more).


Marlin on Arduino Mega 2650 and RAMPS 1.4


Why is pressure advance usually implemented in firmware rather than in slicer

In addition the E axis is no longer controlled directly by the GCode, but it's motion is almost independently determined by the firmware.

This is the case even without linear advance. G-code does not directly control the movement of any of the axes. G-code only specifies the path the axes should travel, but not the acceleration and deceleration associated with following that path. If you are printing a cube, then the G-code might specify that the extruder has to extrude a square. It will specify that the 4 sides of the square should be printed, but it does not specify how the transition from one side to the next should be handled.
The printer cannot instantly transition from extruding one side of the square to extruding the next side, because the direction of the extruder cannot change instantaneously. It needs to smoothly decelerate and accelerate. This is handled by the firmware, which translates the straight line commands from G-code to smooth acceleration and deceleration of the extruder.
This is exactly where linear advance comes in. It is coupled to the acceleration and deceleration. There is no way to "implement" linear advance in G-code, because G-code does not even have any notion of acceleration and deceleration. The G-code (and slicer) has no idea how the firmware is handling the acceleration and deceleration, so therefore it is impossible for the slicer to know what linear advance is required to match.
Then you might ask: "why is acceleration and deceleration not implemented in G-code (rather than in firmware)?" This is simply a design choice. G-code is meant to be a very simple file format, and it simply allows you to specify straight line move commands. Representing smooth acceleration curves would either require breaking them down into many discrete, small steps, but this would greatly increase the file size. You could suggest a more complex G-code specification that would allow a more "compact" representation of acceleration and deceleration curves but then you're just shifting the computation back to the firmware (albeit with a more explicit specification in the G-code).


The printer on picture looks like LulzBot TAZ.
It could be some prototype or a self-made built or just inspired by it (as it is a digital rendition), because there is no sign of any branding on it. There are similar builds on Thingiverse.


TMC2100 stepper motor drivers not detected on SKR 1.4 turbo with RepRap firmware

As @towe mentioned, 'no-driver-detected' messages in Octoprint log are harmless if you have TMC2100 motors. After experimenting with RepRap settings I found the correct configuration that works with my hardware. Here is the relevant part of the configuration.
; Drives
M569 P0 S1                                     ; physical drive 0 goes forwards
M569 P1 S1                                     ; physical drive 1 goes forwards
M569 P2 S1                                     ; physical drive 2 goes forwards
M569 P3 S0                                     ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3                               ; set drive mapping
M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z100.00 E100.00            ; set steps per mm
M566 X1200.00 Y1200.00 Z1200.00 E300.00        ; set maximum instantaneous speed changes (mm/min)
M203 X48000.00 Y48000.00 Z48000.00 E1500.00    ; set maximum speeds (mm/min)
M201 X1500.00 Y1500.00 Z1500.00 E1000.00       ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E800 I30                ; set motor currents (mA) and motor idle factor in per cent
M84 S30                                        ; Set idle timeout


Judging by the images you posted in your question, the first layer distance is too far away from the bed for the current filament flow.

This could either be related to:

having an offset on the first layer like a height correction in the slicer,
an incorrectly levelled (read height adjusted) bed, (you did the paper test correctly, so this is probably not your problem, it is mentioned for completeness)
under-extrusion

slicer setting not correct, e.g. filament diameter or flow modifier not 100 %
incorrectly calibrated extruder

Your most likely problem is under-extrusion. It would be advised to calibrate the extruder: How do I calibrate the extruder of my printer? and check the slicer settings.


In the standard PC Cable Wire that goes from the wall outlet to the switching power supply, are they standard and what are the wire specifications?

Very basically speaking, electricity works like this:

There's some source that delivers a certain voltage.
You have a device that operates at a certain voltage. The device voltage and supply voltage should always match. No, don't put that 120V US device in a 230V outlet in Europe.
The device does something. By doing something it draws current. Most devices also draw some current when not doing anything.
How much power your device draws is the product of these two values:voltage x current = power

So far, so good. In your case:

  US AC outlet.

the voltage is 120V.
On this other question of yours you linked to this power
supply on amazon. Besides being available gift-wrapped, it
states the following feature:

  You can choose the input voltage (110V/240V) by switch.

110V ≈ 120V, which means the device voltage matches your supply
voltage.
The supply can deliver 30A at 12V on the DC side which means 360W.
If it could transform the electricity ideally, without any
inefficiency, that would be 3A at 120V on the AC side. But your
supply is unlikely ideal. Wikipedia suggests 60-95% efficiency.
Let's be super pessimistic and assume 50%. That means half the power
that goes into the switch power supply is turned into heat. In order
to still get the 360W out, you have to insert 720W. That means
your device draws 6A on the AC side.

What does this all mean for your wire?
What wire size do you need for this supply?

Coincidentally, the above link to the amazon website showing your power supply also suggests the following PC ATX power supplies to me:

Sentey Power Supply 725 Watt
Sentey Power Supply 1000 Watt

Let's get this straight: You can buy a power supply for a PC and plug it into your outlet without even thinking about what a wire size is. You'd just plug and play. That PC power supply will potentially draw more current than the power supply of your 3D printer. A standard wire would be able to supply either one of the PC ATX power supplies linked above and would not have a problem delivering a lower current to the power supply of your 3D printer.

The switching supply doesn't have a plug like a PC ATX supply, but that on its own doesn't make it any less secure (if wired up properly). It's just less common for household appliances.

  Ultimately, I'd like to avoid a fire, or damage to the house wiring.

That's a good and valid concern.

PC Power supplies deliver 12V and supply more than enough current (like the examples above). They are probably in use in your house already and did neither set it on fire nor damage the house wiring.

A switching mode power supply is just as secure and if bought from a known brand unlikely to do you any harm either if used properly and within its specifications.

Ultimately, this is not a question of secure electricity but a trade-off between secure electricity and the price to pay for it. The standard wire and it's specifications have little to do with this.

Personally, I also use a cheap switching power supply made in china for my printer. It's very noisy and I pull the plug when I leave it unattended.


3D Printed Sphere, How to Remove Roughness

While Trish is completely right that the roughness can't be completely eliminated (you can't print a perfect spherical surface with discrete layers), the situation can be improved dramatically. The most telling photo in your question is the one of the removed support structure.
The part of your sphere that's seriously rough is all severe overhang. In this region, the outer wall of layer N+1 barely overlaps the outer wall of layer N, if at all, and without support would be printed mostly or entirely over thin air, failing to attach to anything and sagging/curling down randomly according to tensions in the extruded material, air currents, etc.
Now, with support material that's not entirely the case. Every so often (looks like a 2 mm grid) there are support lines under the overhanging outer wall. These will anchor it every so often and keep it from curling or sagging too much, but they don't actually constrain it to the place the slicer wanted the wall to go, and they don't provide a surface for the extruded material to press against to get the desired (e.g. 0.4 mm wide by 0.1 mm thick) extrusion cross section; instead the cross section will tend to be circular as a result of tensions within the molten material.
In order to get a decent surface over support material, you need what slicers call "Support Interface" or "Support Roof" (these are the names Cura uses; I suspect it's similar in Prusa Slicer). This feature builds a top surface as part of the support material itself for the supported part of the model to rest upon and press against. Of course that can make support harder (potentially a lot harder) to remove, and depends on tuning the Z distance between the model and the support as a tradeoff between quality and difficulty of removal, but it should get you much better results.


So inside the Z axis is a brass component that is connected to the threaded rod (lead screw). This brass component has 3 screws and depending how tight / loose, determines how much it will bind up. You of course don't want it too loose otherwise the enclosure will "jump" off of the track at times.  In my case, the two screws were too tight. The way I determined how tight to go was taking the entire Z track off of the back, tightening both screws just to the point of binding and then backing off 1/2 turn on both.


How important is it to move the printer's controller board outside of an enclosure?

It depends on what kinds of prints you make, and especially what kind of materials you want to use.
Certain materials (ABS especially, but also PETG to some degree) will print much better if the entire build area, which usually includes the printer chassis and controls, is enclosed to protect from drafts and allow a much higher ambient temperature.
If you print often with these materials, and the control board is included in that enclosed area, you will significantly reduce the life of the electronic components, especially the capacitors on the board1.
On the other hand, if you print mainly with PLA, which is not as susceptible to issues requiring an enclosure, and prints better with an ambient temperature closer to room temperature, you can put the electronic controls wherever you want.

1 See especially this excerpt from the section on "Premature Failure":

Electrolytic capacitors that operate at a lower temperature can have a considerably longer lifespan.


What do you call this effect in 3D printing and how can I remove it?

What you see on the outer surface is called "zits and blobs".

These small imperfections you experience are "zits" (larger ones are referred to as blobs). As the extruder needs to start and stop as it moves around during a print, it is difficult to create a seamless joint, so the over-extruded filament represents the location where the extruder started (or ended) printing a section of the outer perimeter of your print model. Sometimes it returns to the same spot in a single extrusion run, in other cases the perimeter is constructed of multiple sections.

It is possible to do something to minimize the effects depending on the slicer you use, but the general solution is to prevent too much plastic being deposited at either the start or the end of that seam. E.g. incorrect retraction settings may cause too much plastic to be extruded at the start, and pressure build-up in the nozzle may cause an excess of plastic to be extruded, both lead to the imperfections you experience. First you have to find out which of the two effects is happening with your prints. Once identified, you can play with settings like retraction, priming, and coasting to counteract on these imperfections. A more detailed description can be found here.

Edit:
Please read the addition posted in the comment by @Trish; the comment describes that this may also be related to over-extrusion!


[TL:DR] - If you can comfortably hold the nozzle with your fingers, you are good to go

In order to understand how long one should wait, it is important to understand why one has to wait.

All modern consumer-grade FDM printers have their printing head made of two assemblies: the cold end, where the extruder stepper motor is located and the filament must be in solid state, and the hot end, where the filament is actually melted and pushed through the nozzle.

Between the two there is a thin-walled length of pipe called heat break, whose purpose is to keep the two separate and make difficult for heat to reach the cold end by conduction.

However, the heat break is not "watertight", and heat also transmits via the convecting motion of air and IR radiation, so the cold end is actively cooled (most commonly with a fan).

The reason you want to wait before switching off the printer is that you want to keep that fan spinning until there is no chance for the heat to creep up and melt the filament in the cold end.

If the filament were to melt in the cold end, the extruder would clog and you would probably need to disassemble it.

In order to make sure the cooling happens, you have to make sure that your G-code tells the printer to stop heating the nozzle, after the print is done.

All slicers that I know of have a specific configuration setting called "end G-code" or something similar where you can manually insert the code you want to execute at the end of each print.  The part relevant to your question could look like this:

M104 S0 ; turn off heating block

If you want to get fancy and your hardware has a beeper you may also try:

M109 S60 ; wait for nozzle temp to drop to 60 °C
M300 S300 P1000 ; make a beep sound

Typically "end G-code" has other stuff too (move the head out of the way, switch off the heated bed, disable the idle hold of the steppers...)

Just make sure to move the nozzle away from the printer as your first action: you don't want the hot nozzle to linger idle above the print and ruin its top layer!


So the new silicone buffers raised the bed by 5 mm? When this happens, you should raise the endstop also with 5 mm. Else the printer will go down to the Z endstop that is effectively 5 mm below the level of the bed. I guess the buffers cannot be compressed by 5 mm, so you need to move the endstop up to the level your buffer compression is in reach of.
No software offset will work (for your current setup: homing on the bed surface does not work as the switch need to be triggered prior to having any offset in play) other than a hardware change or compression of the buffers of 5 mm. It would only be possible to use a software offset when the nozzle homes off the bed surface (next to the bed). The only thing you would have had to do is add in your start G-code:
G0 Z5   ; Move the head to 5 mm
G92 Z0  ; Call this Z = 0

If #define Z_SAFE_HOMING is enabled, you should comment the line in the configuration file to make it home Z at the homed X, Y position.
I will not go into all G-codes, details are read on the G-codes Wiki pages and Marlin firmware G-codes, these won't be able to help you out unless you fix the homing on the bed surface. Currently, you need to do a hardware fix, your endstop is below the surface level of the bed. Alternative is to remove homing Z above the bed surface and redefine the Z offset. A hardware fix is a better solution, and if you manage to print a fancy Z endstop holder and counterpart with a screw you will be able to level the bed more easily.
E.g. M428 can set an offset, yes, but, it needs a reference; that reference is the homing reference or the current position. The current position of a printer that is just turn on is meaningless, it can be everywhere in the print volume. So you need to trigger the endstops first, that is not possible when it is not reachable (without compressing the bed).


Alright, I have figured everything out with the help of #reprap IRC community.

Issue #1 - Z axis not moving during zero.  Just as tjb1 suggested the issue was that it thought it was hitting the endstop, I needed to invert the logic of the endstop within the configuration.h

const bool Z_MAX_ENDSTOP_INVERTING = true;

Issue #2 - No Heated bed controls.  The issue resided with the configuration of the heated bed within the configuration.h.  The bed was not defined correctly(I do not have the solution for this one as I found a pre-configured configuration.h for the Monoprice maker Select and  after loading the firmware it worked

Issue #3 - The extruder motor would not move.  This was the biggest issue and came down to it being a cheap RAMPS/Arduino.  E0's pinouts were not working properly so I took off the driver and wiring from E0 and put it on E1 then altered the pins_RAMPS.h and swapped the values for E1 and E0 pinouts.  after reloading the firmware the extruder then moved fine.

#define E0_STEP_PIN        36
#define E0_DIR_PIN         34
#define E0_ENABLE_PIN      30

#define E1_STEP_PIN        26
#define E1_DIR_PIN         28
#define E1_ENABLE_PIN      24


But ... skateboard bearings have OIL in them, and oil is ... bad?

Typically, oiling a filament would mean to use a vegetable based or non-petroleum type of lubricant, possibly even PTFE (teflon) or silicone. Those materials will not damage PLA filament.

Oiling filament is not the haphazard application of lubricant, however. One drop on the filament sponge guide will last a rather long time and should be given sufficient time to distribute itself in the sponge, helping it along by alternately squeezing and releasing the sponge.

Ball bearings of the type you've described will not have oil, unless otherwise modified by the user/owner. The bearings are packed with grease which will not leak out under normal circumstances. Running the bearings at high speed will cause the grease to thin a bit and perhaps drip or if hot enough will "sludge up." If your bearing grease turns to sludge, the bearing has already gotten hot enough to melt out of your plastic fitting.

For spool holder applications, you can clean the grease from the bearing with a suitable solvent (denatured alcohol, acetone, soap and hot water in a pinch) and expect little impact on the drag. The spools rotate at such slow speeds and under such small load that the bearings alone will work nearly forever. This recommendation is void in dusty environments.

With respect to oiling the filament, it's not a bad idea to have a sponge dust catcher that has no oil just as the filament enters the last open location. My bowden extruder system is nearly enclosed and the sponge sits at the very edge of the spool, while a direct extrusion system would have the sponge at the entry to the extruder gears.