For designing your part, especially considering the repetitive mathematics involved, I would consider to learn to use OpenSCAD. I've learned the program and it fits your modeling requirement quite well. I feel it's easy to learn and is somewhat easier for folks who have a programming background. I don't have one, but it's still a logical progression to learn this program.

Regarding the SLS aspect, that also jumped out at me as a suitable answer. Solid shapes require to have "drain holes" to reduce the amount of powder consumed by the process.

I am assembling a Sintratec SLS printer and your model is the sort of thing I would enjoy to create with the printer. I've not yet listed my Sintratec printer on 3dhubs to solicit business, simply because it's not yet a fully assembled printer!

I did a quick Google search for "openscad tetrahedral honeycomb" and found this link:

http://forum.openscad.org/Beginner-Honeycomb-advice-needed-td4556.html

The result is more a polygonal honeycomb, not a true 3d tetrahedron, but it's a start. The file that created it is fewer than a few dozen lines of code.

The post is old  enough that the internal links no longer work but the OP posted his module code and that does work:

I'm not sure how personal contact works in stackexchange, but I'd be willing to work with you regarding creating your code and if the printer ever gets assembled, printing out your part.

Adding a picture again, to show the latest revision, based on the updated information:


Z-Hops only occur when the slicer is retracting Filament automatically (i.e. when Cura detects a move between parts/around outer walls where stringing would be a problem).

In your end G-Code, you do retract your filament, but manually. This means that Cura does not add the Z-Hop code.

Solution:
Add this before your G28 X0 Y0 command:

G91   ;Change Positioning to relative
G1 Z5 ;Move head up by 5mm (or bed down, depending on your machine)

The G91 command is needed because otherwise you wold need to provide an absolute Z position which is guaranteed to be above your last layer (so you would either need to set the height to the top of your build volume (takes ages to move the head there) or to adjust the height for each printed part (annoying)).

Documentation for the G91 command: http://marlinfw.org/docs/gcode/G091.html

Manual for Z-Hop and other travel moves in Cura: https://ultimaker.com/en/resources/52507-travel

Edit:

Note that this is only a good idea if MAX_SOFTWARE_ENDSTOPS are enabled in your Marlin configuration.h. Otherwise, the head could move ABOVE the maximum Z height (zMax) if the print height h >= zMax -5mm.

Thanks to @0scar for mentioning this!


G-code for activating material preset in Marlin

The M145 G-code command sets the values for the materials for use by the LCD menu solely to preheat the bed and/or hotend and part fan cooling percentage. There is no code to lookup the values and execute to heat up material 1 (S0).


I had a similar issue building my Prusa i3 Mk2s clone.  I was constantly hooking & unhooking my Arduino from my PC while the printer was plugged into the mains.  At some point it had enough & it released some "magic smoke".  Later on I found out this was the power regulator on the Arduino.
You shouldn't need to plug in the USB and the external power to the Arduino at the same time, but if you did, it is smart enough to only use one.
That being said, by default the RAMPS passes 12V straight to the Arduino in order to power it (the Vin pin).


When building the ramps 1.4 is it safe to use small wires to jump the 5A, 12V power input over to the 11 Amp input

I guess that the external split is at least partly done to force the user to utilize 4 wires. 16 Amps at 12 Volts is quite a bit of power and you don't want your wires or connectors to melt. If you use twice the wire cross section by using 4 instead of 2 wires, you also reduce the resistivity and hence heat created in the wire.

Put it the other way around: Using 2 instead of 4 wires raises the risk of your setup to catch fire.

Still, you can use that bridging technique, if you make sure that all your wire diameters are big enough.

I would advise you, however, to cut the wires that come with your kit in half and use the connectors in the way they were meant to. For optical appeal and less cable clutter you can still put the wires into some braided sleeve for example.


Your problem is that the hotend carriage does not stop when the sensor triggers. I assume you mean "on homing", not "while printing" (UPDATE: after watching the video it is confirmed that it is "on homing"). First, the working and this difference is explained. Thereafter your configuration file is assessed and typical errors or inconsistencies are reported. Note that assassing an existing configuration file is more work than for you to start over taking the consideration below into account. Also look into this answer which describes what you need to do starting from a clean configuration file.

Note:
Why not test if the sensor works at higher Z values by using a metal screwdriver to test if the head stops, then you do not run into the bed (with way less chance to damage your printer). From the video you can see that the sensor triggers, does the signal also gets registered by the printer board? With M119 you test the endstop status of all endstops.

Auto bed leveling theory
An auto level sensor does not trigger exactly when the nozzle hits the bed like in normal leveling using switches. The sensor is meant to detect the bed before the nozzle touches the bed. It is the offset that you define with command M851 e.g. M851 Z-1.85 that determines the correct offset between sensor trigger point and the nozzle. After homing G28 and auto bed leveling G29, the nozzle needs to get under the sensor trigger point (e.g. in the example above it is then still 1.85 mm away from the platform) so while printing it is perfectly fine that the sensor stays triggered until printing height gets above 1.85 mm. This gives an answer why you see the head go past the trigger point when printing, when homing or leveling that should not happen.

Configuration file observations
From your configuration can be seen that

//#define Z_SAFE_HOMING

is not enabled, this is advised to enable. This is important, but not the complete solution.

Also, you have not defined the auto leveling area by setting the boundaries for probing (where the probe can reach). In your config you will find disabled constants for (see also this answer or question: "How to set Z-probe boundary limits in firmware when using automatic bed leveling?"):

//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

You only have defined a Y sensor offset in your configuration :

#define Y_PROBE_OFFSET_FROM_EXTRUDER 43

but the video and the comments say otherwise, you should therefore should have set:

#define X_PROBE_OFFSET_FROM_EXTRUDER 43

so e.g. the following could work (depending on the offset from limit switch position to printer origin):

#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + Y_PROBE_OFFSET_FROM_EXTRUDER
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

Another part in your configuration that need further inspection is your offset from limit switch position (when homing) to printer origin; you have:

#define X_MIN_POS 0
#define Y_MIN_POS 0

This is very unlikely, but possible, it means as is that the X=0 and Y=0 is exactly on the limit switches for X and Y. Usually this is not the case and you see negative values for these constants.

All-in-all, your configuration file has a lot of problems which need to be fixed. To solve your problem you need to read into configuring Marlin. Once you got the printer working fine you progress to an ABL sensor and make the correct settings in the configuration by using the hints above.


Thermal runaway triggers when raising temperature amid cooldown

Yes there are ways to tune false positives. For Marlin firmware you can find these option in the Configuration_adv.h file.

From the file itself you can read what you need to do:

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


If I have a nozzle clog, can I easily get rid of it by simply replacing the nozzle?

The nozzle on a Prusa i3, if a genuine Prusa, would be part of the E3Dv6 assembly and is removable. It's wise to heat the nozzle to 150°C or higher, and handle with the care necessary for something that hot. When loosened, be prepared for it to fall onto the surface below. A catching tin would be a good idea, at the very least.

Once removed, you can test that it's the nozzle that is clogged by pushing or extruding filament via the control panel to confirm that the rest of the system is clear.

Consider also to perform a nylon cleaning of the nozzle before you perform the above disassembly. I've performed this process more than a few times and disagree with one aspect of the process. The process describes heating the nozzle to 250°C and forcing nylon filament into the hot end. I suggest doing so manually, not via the extruder controls, as it give you better feedback and control.

Once you've forced as much through as you can, allow the hot end to cool. Not included in the steps reference above is a part of the process that is semi-automated on my printer. Heat the nozzle to about 140-150°C and carefully and slowly pull the filament back out of the hot end. The above link suggests yanking it sharply. The article also includes a caution that doing so is brutal and could damage your machine. Carefully and slowly will not damage your machine. I have to use pliers to get sufficient grip on the nylon but that's a trivial aspect.

The nylon will come out with debris and previous color filament. Clip off the debris and perform the task again. Repeat until the nylon is clean and you have good flow through the nozzle.

Acetone will not dissolve PLA filament. Extreme heat may carbonize the material in the nozzle and render it useless. The nylon cleaning method is nearly universally successful unless you have a physically damaged nozze.

There are kits to be purchased which are described as nylon cleaning kits, and include a small length of nylon filament and sometimes a cleaning drill. Using such a drill may damage the nozzle and is contraindicated. If you can afford to purchase a half-kilogram or full kilogram of nylon in the diameter specific to your printer, it will last quite some time. You can share segments with friends and/or members of your local makerspace and improve circumstances for many.

Nylon absorbs moisture more quickly than any other filament, making storage for extended periods challenging if you intend to print with nylon, but for cleaning, it matters little that there's moisture boiling out of it as you clean your nozzle. I've found the little bubbles in the extruded nylon to be a sign that I'm getting clean nylon through the nozzle and can expect good results.

In the worst case I've had thus far, I've had to push nylon four times to clear a clogged nozzle. I had some overheated PVA support material jam the nozzle and once cleared, everything flowed properly.


Autodesk Spark Print Manager Operating Systems?

I checked https://spark.autodesk.com/developers/reference/desktop-applications/print-manager. It seems that Print manager is a application written in JavaScript and its source code is available on github.

So you have to install node.js to run it. So you can use all major OS (win, mac, linux, ...).


Keeping my filament spools from getting knotted?

When I first set up my printer, the spool was able to spin freely. Filament was making loose coils on the outer layer of the spool. Snags happened frequently. I decided that not allowing the spool to spin faster than the rate draw of the filament might improve the way the filament was feeding.

I put more physical distance between the spool and the machine. The filament stopped bunching up in loose coils on the surface of the spool, and the snags went away. The increased amount of slack between the machine and the spool seemed to absorb the "overshoot" of the filament draw and the spools became much better behaved. I also was able to run the spool down to the end more consistently than before.

Not everyone has extra room to use, and not all extruders are conveniently oriented, so moving the spool further away from the machine won't work for everyone. I believe a guide or some sort of dampener would serve the same function, if the underlying problem is the spool loosening up enough to where loops of filament get caught under others and then snag. What worked for me was to stop the spool from "racing ahead" of the rate of draw and loosening up enough to snag.


The link I mentioned from popular mechanics is the state of molecular 3d printing. So yes the printer does exist and can do some really impressive things. However as the article states it is limited to what it can create right now. The technology sounds really interesting. However it might be a bit out of our knowledge as it doesn't seem to be widely available passed the scientific academia world.

This link here talks about reactionware for Chemical Syntheses as well as a TED talk about it


What can cause a 3D printer to catch on fire?

In short:

The control board does not have thermal runaway installed
The heated bed connectors are loose and begin to heat up until the wires catch fire
The power supply or it's connectors begin to heat up until they catch fire
The modifications that you made to your printer were not well thought out resulting in a capacitor to explode (raises hand; that's happened to me.)


Printing with Polycarbonate keeps warping

Adjusting the design may also be able to help limit the amount of warping you get.

One of the major causes of warping is upper layers contracting while cooling when laid down over now-cool(er) lower layers which no longer contract so much but are still thin enough to flex when subject to tension along their upper edge. Insertion of strategically placed gaps in upper layers can reduce the tension such layers are able to apply.

I was printing some long thin beams in ABS. I inserted horizontal-axis holes along the beams (making them look a bit like LEGO Technic beams rather than solid pieces). It did the job for me.


Additional mods for printing metal filled filament with Ender 3 V2?

There is a lot of misinformation in the 3D printing world about "all-metal hotends" being an upgrade. Some of them, especially clones, are not even all-metal but just poor lookalikes that create all sorts of problems. But even if you get a real one, it's a trade-off, not an upgrade. It lets you print materials that need a hotend temperature over 250 °C (over which the PTFE liner will begin to degrade and possibly release small amounts of harmful gasses) up to the temperature your heating element can achieve, at the cost of losing the extremely-low-friction PTFE pathway all the way to the nozzle, which aids with smooth extrusion and retraction and avoids jams. Depending on your particular all-metal hotend, it may be harder to get retraction working correctly than with a normal PTFE-lined one. Some users report very good results, others lots of problems.
There are very few materials that need temperatures over 250 °C to print that don't also need a much more expensive machine (or at least a heavily-modified one) for other reasons, such as requirement of a high-temperature enclosure. The main materials that can be printed on an Ender 3 with an all-metal hotend but not the standard PTFE-lined hotend are polycarbonate (needing 255-300 °C) and some forms of nylon (which may need up to 250-270 °C). All the other non-exotic materials, including PLA, ABS, PETG, and TPU, and even some exotic ones like POM (aka delrin or acetal) and many nylons, can be printed just fine with a stock Ender 3 (possibly with a minimal enclosure built around it).
In particular, for the purpose you want - printing metal-infused PLA - there is no point whatsoever in an all-metal hotend. Metal-infused PLA is printed within the temperature range of PLA, which is typically 230 °C at the absolute highest (and preferably much lower) and the printer you're looking at should print it just fine out-of-the-box (or rather, once you assemble it).
If you're concerned about abrasive wear from the filament, this affects the nozzle not the hotend. Technically the nozzle is "part of" the hotend assembly, but it's easily removable and generally considered a consumable item that you replace periodically. You can get hardened steel nozzles and all sorts of other exotic replacements designed not to wear out from abrasive materials, but the standard brass has the best thermal (heat conduction) properties and is so cheap you're generally better off sticking with it and buying a pack of 20 or so to have on hand when they eventually need replacement. In any case, there's no need to replace the hotend with an all-metal one to deal with nozzle wear; you can get either type of replacement to fit the original one.


Scratches in the build plate - How did this happen, and may it cause problems?

As the question continued in comments, it can be read that the build plate had over-tight screws and loose screws on the build plate. This uneven tension could lead to stresses that warp the bed, e.g. lower corner and bulging out in the middle of the bed. When levelling on the corners, the nozzle could hit the bulge in the middle when printing. Furthermore, an endstop may have shifted during operation.


It appears that you have scaled the object after the raft and supports were added. As you can see in your photo of the raft, the clip is approximately 7/8ths (1.75/2) the size of the raft.

Edit: As a side note, STL files don't actually have a concept of units. Each axis is defined in arbitrary units. That's why when you export and import it you have to set the scale appropriately.


As the heating curve is very steep, it could be that the wrong cartridges are inserted, or you have been supplied the incorrect cartridges. (Not long ago I've had a similar experience with a 12 V cartridge in between my 24 V spares...)
To find out for which voltage the cartridge has to be used you can measure the resistance with a multitester/multimeter. You can calculate the resistance roughly by using the formulas:
$$ U = I \times R$$
$$ P = {U}\times{I} $$
Combing these formulas gives:
$$ R = \frac{U^2}{P}$$
(P is power in Watt [W], I is current [A], U is voltage [V] and R is the resistance in Ohm [Ω])
Your multimeter readings should be close to the calculated values. About 4 Ohms for a 12 V/40 W cartridge and about 14 Ohms for a 24 V/40 W cartridge.
Since the Ender 3 is running on 24 V, you need the higher resistance cartridges.

If you are using a 4 Ω (12 V/40 W) cartridge on 24 V, the power would become:
$$ P = \frac{U^2}{R}= \frac{24^2}{4}=144\ {W} $$
This amount of power will quickly raise the temperature of the nozzle! It then becomes very difficult for the PID control schedule to harness that power (e.g. overshoot control).
From the question is read that:

I used 24 V heater cartridges rather than the 12 V ones that came with the hot end

If the cartridges are truly 24 V this rapid heat-up is not expected, it could be that you accidentally received incorrect cartridges, you should measure the resistance to be sure.


Which is the right filiament type to print breakable children's toy parts such as small gears

deliberate/planned obsolescence is the term you look for
If you design parts that break after some time, you plan their obsolescence. That you do by a deliberate choice of material and working conditions. Designing a part that will break after a certain time can be done by choosing the correct stresses that will make your chosen material break.
In a gear that is meant to break at certain stress, one can weaken the teeth or the sprues, so that normal operation stresses will very likely break the safety margin and destroy the gear.
is it a material choice?
Any material is suitable to make a planned break, as long as the design is suitable. Performing a stress analysis of your part will tell you where to weaken it to enforce it will break - if the part was solid. As printed parts in FDM aren't solid, take the result with salt - it will tell where but not when it fails. Do the experiment for actual numbers.
is it a print setting thing?
Besides deliberately under-engineering some part of the gear, a usually perfectly fine gear would lose a lot of strength by deliberately reducing how massive it is: the stability of a print is affected by the form and amount of the infill just as much as the number of shells. Some random setting examples:

1-shelled, 1-bottom/top-layer, 5% infill piece is very likely so fragile you might not get it off the build plate
these parameters at 2-5-10% results in a somewhat durable piece.
2-5-20% is more than twice as strong as 2-5-10%.

To find the exact breaking point of a setup, one might need to toy with the parameters and experiment. It might be interesting to use no top- or bottom-layers and thus turn to create all the spokes of the gear in the shape of infill and outer shell. Also, some infills are better at withstanding forces than others - for example, Gyroid or Hex infill is rather stable on pressure while spaghetti is quite weak.
Other parameters also can change the infill stability: speeding up the print of the infill compared to the shell and using a thinner line considerably weakens the infill, thus reducing the needed load to break it. This is a somewhat easy parameter to tweak if you want to go for breaking the spokes (see below).
planned obsolescence and how to under-engineer safely
Sometimes, planned destruction is good for safety: a safety valve is supposed to break under overpressure to release the pressure in a safe way.
But planned obsolescence can also be a safety risk: If a toy breaks under normal use, it is a safety hazard for the broken off parts can be swallowed by children. Another factor to look at is where broken off parts end up in the machinery - they might jam other pieces that are not meant to self-destruct and destroy them.

Design the pieces to break in a safe way - the larger the chunks, the better you prevent them from going into places they should not.
Design the teeth to deform or melt rather than shearing off
Design the axles to sheer free by losing their keying
Design the spokes of the gears to break, separating gear rim from axle & hub, either of which goes nowhere due to the other gears and the mounting
Encase the self-destruct gears in some sort of gearbox to prevent the pieces from going flying

Industrial machinery design usually goes the melting way: Let's take a hand mixer. It contains a gearset that has one drive gear connected to a second gear, so that both mixers spin opposite. Under normal use, these spin pretty fast, creating heat from the friction. In a good design, these two gears are made from metal or a high heat tolerant polymer. But if one plans for having them break, these gears are made from a material that will heat under the friction in such a way, that after a set time (around 5 minutes), the teeth will be sufficiently weakened to deform and grind away, destroying them in the process.
Preferred Material
I would actually deliberately under-design the gears for the expected loads and then go for a solid material printed in SLA or SLS from either a resin (which will break with pieces and bits going flying, so a gearbox is mandatory!) or a polyamide (nylon).  These parts would match the stress analysis fully.
If FDM is the only option, the material choice depends on the failure mode you opted for:

In case you opt for destruction from heat on the teeth or axle, a low melting material like PLA is perfectly fine, but make sure to engineer the chance of breaking teeth low. ABS can perform a little better but needs more heat (and thus more RPM) to self destruct.
In case of designing for a breaking failure of spokes or keying, PLA is an excellent choice, as it is sufficiently brittle.
PETG is a good compromise between ABS deformability and PLA's printing ease.

Footnotes
Gear DesignWhen designing your gears, keep in mind that gears are rather complicated. I actually advise to take a look on the gross oversimplification of This Old Tony because it allows you to see where you can make teeth break very easily by design!
planned obsolescence and consumer rightsWhile planned obsolescence can be an important safety factor, planning obsolescence in consumer products for sale to break them after a calculated time is unethical and can be a consumer rights violation. Remember, that legally demanded warranty and a right to repair exist in a lot of countries.
LEGO is Copyrighted, Patented and TrademarkedCopying Lego designs would be a Trademark Violation, Patent infringement and a copyright violation by using their designs. They protect them.


Why is glass a widely recommended option for the print bed?

I suggest to look at a similar question, but just the glass question here:

Glass is a very smooth surface
Glass shrinks when cooling to a degree it pops the print free on itself
Glass is virtually impossible to scratch with metal scrapers
Glass stays fairly flat under heating
Refurbishing of the bed isn't needed but for applying your adhesion solution (Woodglue, Gluestick, Hairspray, 3DLac, ABS-Slurry... pretty much ANY glue can work
Glass is one of the few surfaces upon which almost all materials can be printed without risking ruining your print surface on removal

PETG is one of the few that demands some sort of extra adhesion material with glass, most others don't need anything.
POM and some other materials love to rip PEI apart
I had a huge PLA-print stick so well to a BuildTak that I had to cut the sheet off the bed to get it off

The problems are fairly evident on the other hand:

Glass is brittle and shatters on impact or thermal stress.
Good glass can become rather expensive if you want a super flat sheet in non-standard sizing and a specific type.
Large glass sheets need a very even heater to prevent thermal stress.

Borosilicate?
Borosilicate glass ("labware" glass) is more resistant to thermal stress but also does not pop free from the print the same way as normal glass does. It is also more sturdy but MUCH more expensive. It also comes with its own problems:
Some people have experienced spalling in combination with PETG, as it created a perfect airtight seal, making an adhesive as a separation layer mandatory. This behavior was also reported for normal glass, which is why an adhesive material is strongly suggested for this material.


Print layer shifting on Alunar M508 Prusa i3 clone

This effect is called layer shifting . Now that you know what it is called you could look at some other solutions fixing this issue; e.g. here, here or here. The answers of this question describe best what is causing this. Usually (most of all the cases) it means that your belts are not tight enough.

An edit of the question shows that the effect happens when a different version of Ultimaker Cura is being used. In such cases you need to check the speeds and acceleration settings. Too high values may lead to skipping steps causing layer shifting. Be sure it is not a mechanical issue, also note that the nozzle does not get caught up by the uneven tape on the bed. In that effect, you may want to look at this unaswered question.


The safest thing to do is to wait a month (it probably won't take that long anyway), and order the correct stepper motor from China, or pay more and locally source the 42BYGHW609.

The 42BYGHW609 is a commonly used stepper and it is best to keep all of the steppers matched - just for ease of calibration, matched performance/behaviour, and future maintainability.

Otherwise you need to match (at least) the torque, the inductance, the rated current and resistance of the coils, if not the physical size and the stepping angle. Which is not an impossible task, but a bit of a pain, TBH.

The time that you spend verifying the various steppers and then re-checking and worrying would be better spent ordering the correct one in the first place and waiting for it to arrive.

BTW, take a look at the RepRapWiki - Nema 17 page which lists suitable stepper motors.

As an aside, if this is your first purchase from China and are worried about reliability of service, then don't. I order everything from China, and haven't had a problem. In addition, if you order via eBay/PayPal you are financially protected if your order doesn't arrive (which does sometimes happen), or, alternatively, order from AliExpress, where I have never had something not arrive (if that makes sense)

I have just realised that you need an extruder replacement (and not a X/Y/Z stepper)... in which case, as towe states, either of your candidates is probably fine, although maybe over-torqued (slightly).

However, I, personally, would still replace the stepper with the same model that the 3D printer originally came with, but that is just my personal preference - unless you had found the 42BYGHW609 to be not strong enough, and you actually want to up the torque..?


Weird temperature graph and thermal runaway protection triggered

Periodic temperature irregularities, such as cycling between a higher temperature and lower temperature slowly enough that it spends at least a layer or two at a different temperature than other layers has a tendency to be mistaken for z wobble.  You can actually intentionally modulate print temperature (at least of PLA) every few layers to great a sort of banding or 'wood grain' effect.  Higher temperature, for whatever reason, results in thicker perimeters and cooler temperatures thinner ones.  This is when always staying above the normal PLA print temperature though.  The temperatures in the graph would certainly cause serious under extrusion during the times it was under temperature.

Understand though, it is likely that temperature has been behind the underextrusion, rather than it being a problem in of itself.

It isn't possible for the temperature to jump around too quickly to get a good reading.  The temperature changes relatively slowly, simply due to the thermal mass of the heat block.  It takes a little bit for the extruder to come up to temperature, right?  When warming up from room temperature, watch how fast the temperature changes. That's the fastest the temperature can change, because that is when the heater cartridge is on at full blast.  And even then, it isn't particularly quick.

It also does not appear to be a problem with the thermistor.  If there was a poor or failing connection (like a wire that was almost broken), this would cause added resistance to the thermistor reading, and thermistors usually lose resistance as they heat up.  So extra resistance throwing off the reading would make the printer believe that the hotend was cooler than it actually was, and you would wind up printing at a too high of a temperature.  This would cause a number of problems, but your interlayer adhesion would be excellent.  Delimitation would not be one of the issues, nor would underextrusion.

Thermal runaway protection is kind of a misnomer, because it is really 'something about the temperature of something isn't behaving like it should' protection.  Basically all it is is a hard coded temperature and time window.  If it has turned on the heater, there is a hard coded number of degrees that the thermistor must increase by within a certain time window, usually 30 seconds to a couple of minutes.  If it doesn't, something is wrong.  Or, if it drops out of the intended temperature by another hard coded number of degrees for a certain amount of time, then again the thermal runaway protection will be triggered.

In cases where the connection to the thermistor is failing, this will prevent the hotend from being heated without any limit (poor thermistor connection means the temperature the printer reads is always much much lower than what it really is, so the printer keeps trying to heat the hotend up hotter).

But thermal runaway protection will also get triggered for much more benign problems, like a failing connection to the heater cartridge.  If the thermistor is working fine, but the cartridge is not working correctly and either only heats intermittently, or has a poor connection and can't get enough current through it, this will also result in the temperature not going up as expected, thus triggering the thermal runaway protection.

Based on your symptoms, the thermistor reading looks to be quite accurate.  What you describe is exactly what I'd expect would happen for a print where the temperature of the hotend really did vary exactly as shown in your graph.

What can often happen is one of the leads (especially close to the cartridge but really, it could happen anywhere along the length of the two leads) will have broken from repeated wire strain (if you have disassembled your hot end at all or otherwise disturbed the heater wires in anyway, this is more than enough to cause a lot of metal fatigue), but the insulation around the broken wire will hold it together such that wire will still be making contact with itself.  But it will be a more resistive connection, and will cycle between an acceptable and poor connection as the print head position moves.

Long story short, you get a temperature graph that looks just like that, because the heater cartridge is periodically either developing a poor connection, or losing its connection entirely, only to regain it again as things move just the right way again.

I would double check all your connections to the cartridge, checking the actual resistance and not just using a continuity tester.  If those seem ok, then you will probably just need to buy a replacement cartridge.  I like to keep a few of them on hand since they have a tendency for their wires to break just from a little bit of normal manhandling.


3D printer part clones from china - legality

This question is really a legal question, and could apply to any cloned parts/devices rather than being 3D printer specific, and a generic counterfeit consumer goods based question should be asked on SE.Law. However, as you rightly state, a lot of 3D printers from China may contain (whether knowingly sourced or not by the manufacturer1) counterfeit parts, be that ICs, hotend designs (i.e. E3D clones), controllers (i.e. Arduino Mega boards or stand-alone non-RAMPS Arduino shield boards),or what have you. As such this is an issue that may be faced by any unwittingly innocent consumer.

Prefacing any statement with I am not a lawyer (IANAL), these sections from Wikipedia entry on Counterfeit consumer goods might help answer your question:

Growing problem as will this
Enforcement- US.

In short, if they have a mind to, Customs could seize it at the border; if your house was raided (for whatever reason) law enforcement could seize your printer (although this seems unlikely, unless they were explicitly raiding your house for knock-offs); and (more worryingly) there is a proposal to fine those people who purchase knock-offs.

Of course this is not the only legal issue that may be encountered when buying Chinese devices/parts from less-than-reputable suppliers o eBay or AliExpress, for example, what if:

it breaks and what legal recourse do you have as a consumer;
it produces a poor quality or dangerous print;
it explodes, what legal recourse do you have;
and so on, etc.

These questions lead into rather murky grey and legally complex areas, and really would need to be dealt with by a legal professional (solicitor/lawyer).

Other Stack Exchange posts worth reading

These deal more with quality not legality but see

Can cheap hotend parts sourced from China actually produce good prints?, and;
Vaguely related - What are the pros and cons of collecting parts yourself, versus getting a DIY kit and then modifying it?
Also, which respect to the electronics:

Some Arduino components seem ridiculously cheap and;
Compatibility between Arduino and Arduino clones.
This answer to Arduino Clone - A request for the USB device descriptor failed interestingly points out that if the device is licensed appropriately (CC, open-source, etc.) then they may not be any legal issues at all related to cloning (but not counterfeiting - See What's the difference between a clone and a counterfeit Arduino?.

1 A bone fide low end oscilloscope manufacturer got stung by a batch of fake regulator ICs just last year, see Re: JYE Tech DSO150 oscilloscope troubles


Brand new Ender 3 does not extrude any filament during printing

I am a fairly new user of an Ender 3 and had similar issues on a couple of occasions.

The main reason was as @0scar suggested - the nozzle was too close to the build plate preventing the filament from exiting - and the back-pressure was causing the filament to jump back, giving the extruder a "shudder" as it slips on the filament. Lower your build plate as suggested by @0scar. The paper should only just drag.

The fact that filament oozes after the hot end/print heads moves to home suggests you don't have a blockage... but you will if you don't adjust this.

It is better to have the nozzle slightly too high, so the first level does not stick and gradually raise the bed up while you are running the test patterns. Only turn the adjustment knob about 1/8 of a turn before checking - you are dealing in tenths of a millimeter here. Also remember that changing the front setting is going to change the back settings too because the plate will tilt.


How to effectively eliminate stringing in 3D print

Note: The image in the question was changed after the question was asked. This answer is out-of-date with respect to how the question has changed; I'll update it when more information is available.

These don't look like strings, which I'd define as material deposited outside of the model, but rather damage done by moving the hotend through already-printed material without retracting. In Cura, this is called "retraction combing", and it defaults to "all", which is way too aggressive and visibly harms the surface finish. Switching it to "noskin" or even "infill" only will make this go away and greatly improve your print quality, at the cost of some speed. The cost can be severe in worst case with certain kinds of fine detail, but usually "noskin" is cheap and suffices.


Can cheap hotend parts sourced from China actually produce good prints?

Hard to say for sure - my whole printer is cheap parts bought as a kit in China by a Chinese student who abandoned it in the US (I resurrected it after it was abandoned.) It includes all the parts you list, and I think we finally sorted out what the thermistor actually is so the temperatures are more accurate now.

It prints.

Could it print better? - Probably, but at some point replacing all the various cheap parts starts to look foolish .vs. just build a new printer with better parts all around, leaving the original functional. I doubt I've ever met a "E3D V6" and I'd have to google it to see what sort of paragon of printing it's supposed to be. The only thing I'm actually considering replacing is the nozzle itself, partly because I'm just guessing what size it is (mostly based on the way it prints when set to various sizes.) I'm also contemplating adding some sort of insulation for the heater block, having squnched some aluminum foil around it as a first stop-gap.

Likewise, if your concern is with burrs, etc. a degree of fettling by you can sort that sort of thing out, if you know to do it and how to do it (i.e. you need to be somewhat mechanically ept.) But of course "parts from China" are not a monolithic entity - there are good parts and bad parts that both come from China - given the state of internet sales, you may well have (unknown to you) the choice of parts that passed quality control, parts that failed quality control, and parts that quality control never looked at (some of which might pass, some of which might fail), from the same production facility, available to you from various vendors at various price points. And then there are many different production facilities as well.

Production in the US or Europe is no magic bullet either - competing with imports on price is difficult, so one hopes that superior quality is on offer, but it may or may not actually be from a given vendor, or a given batch of parts.


Is packing multiple prints into the build volume a feasible workflow for powderbed printers?

Yes, this is very popular. Look into the site Shapeways and you will see that this is exactly what they do. I've also personally seen a local 3D print shop do this with their machine. It's called batching. I similar technique can be used in traditional machine shops (mills/lathes).


depends
You certainly can print parts of a bicycle pump, for example, the outer case and maybe the inner piston, maybe even the housing for the connection valves.
However, you cant print the buffer spring or the valves itself. You will have trouble printing the adapters. And you will have to print in ABS to smooth the inside of your pump with acetone vapor, so you have a smooth surface that forms an air seal under operation.
It would be cheaper and more durable to just print just the fittings and use a PVC Pipe as the cylinder itself.
As in all things, if this is a good pump depends a lot on design and your machine.


RAMPS 1.4 Stepper's not getting a good signal

Turns out there were multiple faulty stepper drivers, if the one stepper driver was plugged in, it would operate, but would draw too much current from the pins on the Arduino causing all the other drivers to receive weak signals.

This is why swapping them around still only worked on the X-axis, if it was only one driver, I would have figured it out.

So if you get a very weak signal on the stepper driver step pin, even when it's pulled out, it's probably because of one of the other stepper drivers shorting the whole rail.


In the world of (cheap) printers, "MOSFET" has taken on a meaning of its own.

For a long time, 3D printers have had MOSFETs on board of their motherboards to switch the heated bed. In the past two years or so, we've seen a surge of (mainly) Chinese printers where the on-board MOSFETs (or, more often, the terminal blocks) weren't rated for the high current for the heated bed and would melt down or catch fire.

People then started recommending fixes to these issues, such as using a relay, soldering wires directly to the board (to bypass the terminal blocks) or using an external (better) MOSFET. Eventually, manufacturers caught on and started offering "MOSFET boards" which basically consist of a high-power MOSFET, high-current rated terminal blocks and (often) an optocoupler to isolate the drive signal from the bed power (but this doesn't really do anything; there's no need for this isolation). These boards are meant to be used to switch the high current to the bed directly, without it passing through the main board (and instead, the bed output of the main board is used as a control signal for the MOSFET board).

People often refer to these pre-made "MOSFET boards" simply as "MOSFETs" but there is more to them than just a single transistor.

  why it increases the overall operating safety of the printer

Using an external MOSFET board does not increase the safety of the printer at all, unless the main board of the printer is badly designed. There's no reason the MOSFET needs to be external and can't be integrated on the main board. Essentially, any company that is offering a printer "with a MOSFET (board)" is saying that their main board is poorly designed and that they've included a band-aid fix. Or, perhaps, because installing an external MOSFET is such a common "mod" nowadays, they're advertising an external MOSFET because it is what people want to see (even if the main board might have a perfectly capable MOSFET already...).


Infill not printing well. What I am doing wrong?

You problem clearly under extrude which mean the plastic not flow as much as it should be.
I face this problem recently here my step to solve.

Tune e step (do this first)
Add more temp. to nozzle (so plastic will melt and flow faster)
Slow down print speed.
Change nozzle and clean whole hotend.


How do you solve PLA corner-curling short of printing really, REALLY slow?

Cura has an additional setting that you can make visible called "Lift Head". My recommendation is that you do the following:

Set your minimum print speed to something actually reasonable like 30mm/s or higher. Printing too slowly negates the following two settings and is not beneficial to printing small features.
Set your minimum layer time to something higher, like 15s or so. The slower you print, the higher this number needs to be. Using too small of a minimum print time prevents adequate layer cooling.
Enable "Lift Head". This must be used to allow the small features on your print to properly cool. Without the "Lift Head" setting, your nozzle will remain parked on your print and provide both radiant and convective heat which prevents cooling and causes sagging of small features.

The combination of these settings will rapidly deposit the layer, then move the nozzle high and away from the print until the minimum layer time is reached, such that the radiant heat from the nozzle doesn't continue to heat the soft PLA while it's trying to cool.

Enabling all three is how I got perfect tiny features on all of the printers here at my office - a fleabay i3 clone, an Anet A8, and a couple Monoprice printers of various levels.

Edit:

I forgot to mention, keep your bed temperature at a reasonable setting too. For PLA, normally people may recommend up to 70C, but realistically, for very small prints, you can keep your bed much colder without detrimental effects. For tiny items, my PLA prints used to use a bed temperature of about 30-40 C depending on the specific filament. Very tiny prints are unlikely to warp even with a cold bed.

Basically, the colder the bed is, the less heat is getting conducted up through the print to the top layers that are molten, and the faster those layers cool. Keep the bed temp down and it'll benefit your layer cooling.


Is it necessary to have both hot ends on a dual extruder printer at the same height?

I have a dual extruder Replicator 1 and having the nozzles at the same height is a must and albeit a bit of a struggle otherwise. At one point, I had to disassemble my extruder head and the nozzles didn't line up quite right. There after, printing with the lower one obviously didn't have any troubles, however, printing with the high extruder made it so the lower extruder would scrape the molten plastic layer. This made my surface finish horrible and almost impossible for support structures to be printed.

Instead of fighting with my stock nozzle assembly to get everything perfectly lined up, I just shimmed the one side with some stacks of paper cutouts. This brought my extruders very close to even.

Also, you'll want to make sure excess plastic is cleaned off of BOTH nozzles when printing with either nozzle. I found that some prints would fail because of a small discharge from a previous print on the other nozzle.


Pronterface not connecting ERROR: A device attached to the system is not functioning

Finally, I found the solution after frying up a Mega board.  The problem is with the Mega board. Part of the board is not functioning properly or not connecting with the RAMPS 1.4 shield properly. So I tried with a new Arduino Mega board and it worked.
Also removing the D1 diode is the solution for the voltage regulator overheating on Arduino mega board as mentioned in question "Arduino Mega voltage regulator overheats with RAMPS board".


How to determine real printing speed (TEVO Tarantula/Cura)?

Printing speed is dependent by the firmware and physical properties of your printer.

Slicers typically compute the expected time by assuming the printer will execute exactly what it is instructed to do, but a printer is a real object, with mass and momentum, and stepper motors that have an upper limit for their power output and rotation speed.

So for example, the GCODE may say "extrude 200mm at 100mm/s" and the slicer will compute that operation as taking 2 seconds.  However the printer will need to accelerate and decelerate at the extremes of the movement, and it may even be incapable of reaching speeds over 70mm/s, so the actual operation will likely take 3 seconds or more.

Accelerations and decelerations account for most of the difference between ideal time and real one, and since the number and intensity of those is totally dependent by the GCODE/model being printed, it is not possible to simply multiply the computed time for a given factor (for example 1.15, as your question seems to imply).  A large cylinder printed in vase mode will have a printing time much more similar to the computed one that an intricate model with a very complex surface, for example.

In recent years, slicers that are maintained by a printer manufacturer (cura, slic3r PE) have become better at estimating printing times for their own printers, as the settings of the firmware are accounted for in the actual estimating algorithm.

If you use Octoprint, you may have noticed that the time estimate octoprint gives improves over time, as octoprint will analyse the GCODE and measure the elapsed time, and will be able to guesstimate the real time with an increasingly degree of accuracy.


Most likely, the 3D-printers used on ISS does not incorporate some fundamental difference that allow them to print in zero gravity.

Some people over at 3Dprint.com raised a very similar question, and figured that when turning their 3D-printer upside down and on it's side:

  there’s not really much difference at all. It’s quite interesting to see how the orientation has little effect on the quality.

One of the early 3D-printer models - the Bukito printer - demonstrated that their printer was so portable it even could print on the move, and upside down.

In other words, some consumer 3D printers already print upside down, and so they would probably print in zero gravity as well!

(That's the short story anyway. Have a look at Ryan's post, who gives a great description of the more intricate parts of space printing!)


Is Marlin capable to work with binary G-code?

No. Marlin only supports ASCII G-code, and does not (currently) support binary format. According to the List of Firmware, Repetier is the only firmware that supports binary G-code. Moreover, verifying with Marlin's source code, shows that the G-code parser can only handle traditional G-code.


Each printer will have different "print in place" tolerances, but you can find such a model with which to determine the numbers you seek.

One such item is on Thingiverse:


preventing my printer nozzle from getting too dull, from nothing but PLA filament

Your extruder nozzle will wear from the inside out if you are using abrasive filaments, which include carbon fiber, wood type filaments, glow-in-the-dark and many other types.
Because they are abrasive, removing material from the inside also thins the cone shape of the outside (point) of the nozzle.
The solution is to not use abrasive filaments, or to use a hardened nozzle specifically manufactured for abrasive filaments, or to change the nozzle frequently.
If this is a 3D printing pen as your post suggests, please clarify, as the answer is likely to change but only slightly. If this is a nozzle for a 3D printer, consider to edit your question to reflect thusly.


Consider to provide additional information regarding the software you use and the source information of the STL file. I will make some general suggestions that you can implement to resolve your problem.

Meshmixer is a free program that has the ability to measure overall dimensions as well as point-to-point locations within an STL model. Import the STL, select Analysis followed by Dimensions to get the overall information. For point to point, the interface is less intuitive and I would suggest a YouTube search for a tutorial.

Without seeing the part, I cannot suggest a specific sequence. If you are able to visualize the action of stretching the part in a single direction, Meshmixer also allows that:

Select Edit, Transform and note the three-axis tool which will appear in the model. Each arrow has a small box at the end. Grab the appropriate box with your mouse and move in the desired direction. It will stretch/distort the model on all surfaces in the direction you move. There will be a digital reference showing during this process, allowing you to more precisely set the increase in thickness.

If there are holes in the same plane as the bracket you wish to thicken, they will become longer if on the same axis, or they will distort severely as you increase the thickness.

You can use Meshmixer to perform a plane cut to separate the model into individual parts to avoid undesired distortion.

Please provide an image of the model and an indication of the portion you wish to increase.

EDIT after photo and some clarification. Your last line has valuable information. Thicker x axis if it's stood up implies thicker z axis in photo. That's the easiest location for that model. It would take me about 30 seconds to stretch it in Meshmixer. If you attempted it yourself, it might take you two or three minutes.

I agree with the post by "plaintoothpaste" that it would be easier if you had the source file. I use OpenSCAD and adjustments are simply a matter of changing a number in a text file, while other software, for example, SolidWorks requires that you find the parameter and modify it to your requirements.

Because of the shape of the model, the first reference I provided (Dimensions) would give you the thickness and as a bonus, you can change the number in that window to the desired figure. Export the model and you're done. Far simpler than using the transform tool, if not as much fun overall.


Marlin firmware: move without auto bed leveling

A second G28 should not be necessary as it can be replaced by a G0 or G1 command, but in the end it should work when RESTORE_LEVELING_AFTER_G28 has been set in firmware weren't it for a bug present in the Marlin 2.0.7.2 and 2.0.x bug-fix release.


What are the effects of the elements on 3D printed objects made with "infused" PLA

If you use filaments filled with metal particles, some particles will be exposed to the environment. Depending on the corrosion resistance of those metals, yes the environmental conditions will weather the print object. So if it contains iron (and does not contain elements that prevent oxidation like used in stainless steel) and it is subjected to water and oxides, the print will rust.

This is e.g. also valid for copper filled filament, which you can polish to get a gold shine surface (removing the copper oxides), or bronze filled filament, that if correctly subjected to weathering environments, will give the looks of a very old statue. In both cases this implies that the metal particles have undergone a(n) (de-)oxidation process.


How to set Z-probe boundary limits in firmware when using automatic bed leveling?

There are a few questions on this topic, so a more generic solution would be informative and will prevent multiple questions of others when their sensor has a slightly different location. This answer intends to cover any position with respect to the nozzle. It also does not matter what kind of sensor it is, it can be 3DTouch, BLTouch, inductive, capacitive, etc., as long as you are able to determine the offset to the nozzle (center to center).
For now, it is assumed that the nozzle can only reach the complete area of the bed, no extra space. So unless the sensor runs of the bed, the nozzle limits are used, otherwise the sensor limits the nozzle with respect to the sensor limits. This is the safest assumption and will prevent the carriage running into the end mounts. But if there is more room for travel, an additional offset may be added to the limits.
First, determine the offset of the sensor (e.g. by measurement or taken from the information of the printable sensor bracket found many share sites on the internet; Thingiverse is a good source for such brackets).

HINT for Marlin 2.x
Note the version (branch) of Marlin! The answer is written at the time of the 1.1.x branch and as such is perfectly valid for the latest 1.1.x (1.1.9) version. For the 2.0.x branch of Marlin, different constant names are in use, and a different strategy is used (more simple for setting up). The constant names are not found in the Configuration.h, the answer (and the theory) is still helpful. Constant probe offset values are now found in Configuration_adv.h:
MIN_PROBE_EDGE_LEFT
MIN_PROBE_EDGE_RIGHT
MIN_PROBE_EDGE_FRONT
MIN_PROBE_EDGE_BACK

HINT for Marlin >= 2.0.6
Since version2.0.6 MIN_PROBE_EDGE_* has been renamed again.
Now it is:
PROBING_MARGIN_LEFT
PROBING_MARGIN_RIGHT
PROBING_MARGIN_FRONT
PROBING_MARGIN_BACK

Note that in Marlin 1.1.x the boundaries are set in absolute positions while in Marlin 2.0.x it is described in offset values from the bed edge.

Sensor Offset
The position of the sensor is set using the following constants:

#define X_PROBE_OFFSET_FROM_EXTRUDER [XXX]   // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER [YYY]   // Y offset: -front +behind [the nozzle]

where [XXX] and [YYY] are offset values that specify the center of the sensor with respect to the nozzle. If both are positive values, the sensor is located in the back-right, if both negative, the position is front-left (as seen from the front of the machine using the definition in the Marlin configuration file). The other positions that are possible are the back-left and the front-right (one positive and one negative value).

HINT for Marlin 2.x
Note that in Marlin 2.x, these constants are replace by an array definition:
#define NOZZLE_TO_PROBE_OFFSET { XXX, YYY, ZZZ }

Where ZZZ is the Z offset. If you use the old constants, the sanity check upon compiling will throw an assertion that these constants are not in use anymore and should be removed.

Second, let's set the sensor area limits!
Sensor Area Limits
In the following images, the nozzle, the sensor and the offsets are defined by:

There are four possible positions of the sensor, this results in the following schematics for the sensor area limits (transparent red area):
1. Sensor at the back-right:

This implies that the sensor can reach the back and the right borders, so the limits are set by:

#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE)
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE)

Note that if a minimum probe offset is defined by #define MIN_PROBE_EDGE [value]  in the configuration (to account for sensor width/dimension), the bed limits are changed resulting in (where t = MIN_PROBE_EDGE):

Limits are then set by:

#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

In the following sensor position placements, this offset for MIN_PROBE_EDGE will be accounted for.
2. Sensor at the back-left:

This implies that the sensor can reach the back and the left borders (for zero MIN_PROBE_EDGE), so the limits are set by:

#define LEFT_PROBE_BED_POSITION (MIN_PROBE_EDGE)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE  + X_PROBE_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

3. Sensor at the front-left:

This implies that the sensor can reach the front and the left borders (for zero MIN_PROBE_EDGE), so the limits are set by:

#define LEFT_PROBE_BED_POSITION (MIN_PROBE_EDGE)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE  + X_PROBE_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)

4. Sensor at the front-right:

This implies that the sensor can reach the front and the right borders (for zero MIN_PROBE_EDGE), so the limits are set by:

#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE  - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)

This should have tackled the basics for defining the sensor area limits. It becomes a little more complicated when there is extra travel space. A very easy use of extra travel space can be found in the configuration file; e.g:

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS [XX]
#define Y_MIN_POS [YY]

where [XX] and [YY] are offset values from endstop to origin (orange arrows represent X_MIN_POS and Y_MIN_POS):

Results in offset constants for a back-right probe:

#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER + X_MIN_POS + MIN_PROBE_EDGE)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER + Y_MIN_POS + MIN_PROBE_EDGE)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

For all other options, a similar addition of the homing offsets can applied.
A similar addition is possible if the print head is able to travel further on the X or Y axis at the other ends of the axes.

Thoughts for solution for Marlin 2.0.x
As I mentioned earlier, Marlin 2.0.x uses bed edge offsets rather than absolute positions. In analogy of the previous graphs we can draw a bed limits diagram (the example below assumes a back-right mounted probe!):

Note that the offsets from the edge need to be defined, to properly do this we need access to the definition of the nozzle offset:
#define NOZZLE_TO_PROBE_OFFSET { XXX, YYY, ZZZ }

As this is the part that defines the array values, you first need to make an array (note that this is a simple solution that many people should be able to understand with limited programming skills, more elegant solutions use the XYZ struct to access the X, Y or Z properties):
Note that Marlin 2.0.x automatically adjusts your probe area based on the defined offset and the MIN_PROBE_EDGE defined for all 4 sides of the bed.
see:
#if PROBE_SELECTED && !IS_KINEMATIC
  #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE
#endif


How to display images on DLP using HDMI for 3D printing?

Q1: Printrun is 3D printer host software written in Python with limited DLP support. You can checkout how it display layers.
NanoDLP directly talk to GPU through Dispmanx which makes it Raspberry Pi only.

Q2: Printrun supports SVG. To convert SVG (multi-layer) to PNG you can use ImageMagick cli tools, you should consider your projector resolution too.


What parts are strictly necessary for a 3D printer?

You will certainly find that the print functionality of a 3d printer is a bit more complex than you suggest. The mechanical portions include a means to push the filament into a heated nozzle as well as the software portion to regulate the speed of the filament movement. You haven't referenced the heater cartridge and temperature sensor, but you will discover that aspect soon enough.

The "air tube" you think you've seen is likely called a bowden tube. Such designs permit lighter weight print heads, which is beneficial for speed, acceleration and precision, but has complications with respect to compression of the filament as well as retraction considerations. Non-bowden print heads will have the extruder motor as part of the moving assembly, with the drive wheels very close to the nozzle opening. This allows for flexible filament and more precise control of the filament feed.

Either design has compromises, so one must determine priorities for the design.

Cooling is also a factor. The heater cartridge is designed to heat the nozzle to a specific temperature for the type of filament used, but also requires a means to keep the heat from traveling to the portion of filament not in the nozzle. You'll discover terms such as heat break, referring to narrow threaded portion connecting the nozzle assembly to the heat sink. There will also be a cooling fan to blow air over the heat sink and very often a cooling fan to cool the filament as it exits the nozzle and attaches to the model being printed.

You suggest to ignore the mechanics and software, but it's important to be aware of both when considering the principles of the print head assembly.

Simplified, filament enters bowden tube then into heat sink, pushed by extruder motor (or) filament is pushed into heat sink by extruder motor. Filament travels through heat break, gets melted in heater block and exits nozzle. Sheesh, that's way too simple.


All-metal hotends are less forgiving / not as good for PLA -- but how bad?

All-metal hotends are less forgiving

Yes

  not as good for PLA

No

  but how bad?

That is very subjective and totally depending on the skill of the 3D printer operator! So, that part of the question cannot be answered.

Fact is that all-metal hotends are sold as being upgrades to lined versions, this is simply not true. It is a different design that can handle higher temperatures. To operate such hotends you require a little more experience as these hotends are a little less forgiving if you do not have the right slicer settings. Key parameters are hotend temperature, cold end cooling and retraction speed and length and amount of retractions in the model.

Another fact is that e.g. the Ultimaker cores concept (we opened a 0.4 mm core to see that for ourselves) doesn't use a PTFE lining, nor do other brands. They can perfectly print PLA (even with a high retraction length). The only time if failed printing PETG (higher temp than PLA) was the result of a heat creep induced clog which was caused by a cooling fan failure (the cooling fan ingested something and seized up), so just one print of a few meters of the several kilometers 2.85 mm that got printed.


What is the best free source for generating g-code

Try using TinkerCAD!

I'm not advertising here - I have used TinkerCAD in the past for 3D printing.
TinkerCAD allows you to easily build and create simple shapes by the press of a button. (I assume this is what you mean by generation)

It is great for testing if your homebrew 3D printer works.

Link: https://www.tinkercad.com/


Visible lines along Y-axis on Ender 3 Pro

I see some possible issues at work here:

Retraction issues on the arc. You might need to decrease your retraction length a little.
Your bed might have a little play. tighten the eccentric nuts a tiny bit.
As you are at it, check your X-belt, because accuracy on the Y move is affected by the accuracy of the X-head's position.


One resource you can use is called the nylon cleaning method. It works by setting nylon filament temperatures, pushing nylon filament into the nozzle until only nylon is extruding, then cooling the hot end to a specific temperature. The page linked suggests a hard yank, but I disagree. Brutality is not a recommended action for 3D printers, in my opinion. When I use the NCM and the hot end reaches the correct cooler temperature, I use pliers and lever them against a suitable surface. The lever action is slower, yet the mechanical advantage is increased, making removal easier.

Some 3D printer users disagree with the expense of nylon, which is, on the surface, excessive. I've found that I am able to see light through the hot-end after using this method, however, so I find the expense justified by a completely clean filament path.

The above linked page also includes the modification of this method for use with the same type of filament to be cleaned, in your case PLA.

Consider that you should be able to use ABS to pull PLA from the nozzle. Heat the nozzle to the lower end of your ABS filament temperature and push or extrude until you get the ABS color. Allow the hot end to cool to the low end of PLA temperatures and reverse the extruder/pull out the filament.

If you use contrasting color filament (for example, white PLA, black ABS) you should be able to see the ABS collecting the other color as you remove it. Eventually, you would have no contrasting color, indicating that the previous filament has been removed.


Getting better support than Slic3r generates

I know many Slic3r users - myself included - add support material to the model itself before importing it into Slic3r.

I personally favour MeshMixer for support generation, as the supports are much more predictable and easily removable. In complicated cases I also add supports in my CAD software.

Although a not free, the support generation in Simplify3D is supposed to be great, allowing for custom placement.

I also found this review that compares support settings in Meshmixer, Slic3r and Cura fairly well. Here is the summary:

  Meshmixer

  This support was the most efficient in material use however it required the most manual tweaking to print properly. In addition the marks it left once removed were more noticeable than Cura and (sometimes) Slic3r. While the settings could probably be further modified to improve the performance this support type appears the most limited for future improvements.

  Slic3r

  The support's performance was variable - by far the best in some situations (fox's head and tale) however the worst to remove with the most obvious marks in other areas of the same model. This may be down to my chosen settings and with some more tweaking I may get better results. The most obvious general flaw is that it does not leave a big enough gap between the support and the unsupported areas of the model (like the foxes legs or the lower roots of the planter)

  Cura

  While some of the support left marks, overall it was the easiest to generate support which performed consistently well. Once again though slight tweaks could improve this further for specific models.

  Overall Cura wins my "no time to tweak - got to make it work now" award.


Configure Marlin for tool changing system

Use a servo. This way you can use the digital pins to control it; or in your specific case PWM_PC9
Connect it to the expansion port and configure one of the digital pins in the marlin configuration file. A servo will go to the minimum position when the pin goes low, and the max position when the pin goes high. I take it you don't need any stops in between since you're doing a tool changer.

If you figure out how to modify the code to support tool changing, I'd be interested to know as well.


It appears to refer to calibration factor called Width over Thickness.

From Calibrate your 3D printer to print parts to fit

  Here is the list of necessary variables for this calibration to work,

  Carve/Extra Decimal Places (float) : change to 5
  Carve/Edge Width over Height (ratio) : nozzle diameter/layer height
  Inset/Infill Width over Thickness (ratio) : nozzle diameter/layer height (initially)
  Dimension/Filament Packing Density (ratio) : needs calibration (equivalent to the reciprocal of the extrusion multiplier in Slic3r)
  Scale/XY Plane Scale (ratio) : needs calibration


How to increase bed temperature over 103 degrees

You need to increase the power of the heated bed. With a given amount of power, there is an upper limit to the maximum temperature you can reach because at a given point losses due to conduction, convection and radiation will balance out the heating power and the temperature will not increase any more.

Sometimes, inability of the bed to heat up is due to the supply voltage sagging under load. First, measure the supply voltage with and without the bed turned on. If you find the supply drops significantly when the bed is turned on, you need a new power supply.

Otherwise, you will need to either:

Get a new, higher-power heated bed. Make sure that it is compatible with your electronics, or upgrade them as needed.
Increase the supply voltage so that the bed you already have will give more power. Some power supplies have a small adjustment potentiometer that lets you adjust the output voltage. Be careful when doing this. Even a small change in voltage gives a big increase in power. For a heated bed with resistance R at voltage U, the power dissipation is U2/R. Going from 12V to 13.5V already gives 26% more power.


How to modify G-code or a better place to get it

Download an stl file from Thingiverse.com

Put your .stl file in a slicer program like cura

It will output gcode for 3d objects rather than 2d.


It turns out the problem was a firmware issue. Using the gcode below (from David Lotts in the comments), I was able to determine that the extruder was running backwards. A flag in the firmware reversed it, solving the problem.

M82 ;set extruder to absolute mode
G92 E0 ;zero the extruded length
G1 F200 E20 ;extrude 20mm of feed stock


Slic3r: How can I automatically modify the STL filename?

The filename is under the "Print settings" tab. Under output options, you can change the name template. You can use words like: [layer_height] to make the name dynamic.

The variable you are looking for here is: [filament_preset]
But the full name, with space and everything, is used.

Here is a screenshot:

Here is a link to fuller docs:
https://github.com/slic3r/Slic3r/wiki/FAQ#how-can-i-specify-a-custom-filename-format-for-output-g-code-files

New version of Slic3r

It lets you edit the filename when upload it. You will see what will be upload it and give it any name. But this is a manual process. Just updated my answer for the sake of completeness.


RF100 Settings after reinstalling firmware

Everything was fixed by thorough googling and flipping the whole wire-set of the motor. It started to twirl in a right direction.
Sorry for the time


You should know that there will be no such functionality anywhere because "make a bridge between islands" causes some questions:

what do you mean be bridge
where this bridge should be
how it should look like

Application cannot answer these questions automatically.
Conver image to 3D object is (almost) only to create logo-like-objects or text-like-objects.

If your image will consist more than one separate elements then MC will convert it into separate objects and these objects will be treated as separate islands. There will be no way to bridge them on certain level/layer. The only thing you can achieve is a solid "connection" between islands if they will be connected with line on the image. I'm sure it's not what you expect.

Almost all 3D apps have a functionality to create 3D obj out of image but it will always be a perimeter or surface which you can extrude.

You can create bridges in your app by creating additional 3D object according to your expectations or you can use sculpting app to extend a form. It means you won't add extra object but sculpt existing objects by  extruding/extending/pulling faces.

For such sculpting you can use Meshmixer for example.


Most of the same reccomendations that apply for adhesion to a hot bed apply for a cold one.  The first ones to come to mind:

really dial in the nozzle height
make the first layer taller than the rest (e.g.: 0.2mm if the rest of your print is 0.1mm)
print the first layer very slowly
print the first layer at higher temperature
use a brim or a raft (on my first printer, that had no heated bed, rafts gave the least deformation)
turn off the part fan for the first layer
adapt your model to reduce twisting forces (relief cuts, print it in parts, choose orientation wisely, etc...)

If your slicer has this feature, you could also try to print with a shroud.


How to keep Z-axis motor from slipping when powered down

The simple way to do this is to use a self-locking screw pitch. Pretty much any single-start thread using a sliding nut cannot be back-driven so the load will not fall. Normal 8x8 trapezoidal thread screws will easily back-drive because of the steep pitch.

Likewise, a worm drive between the motor and Z stage will hold the load. You would want to switch from screws to belts for the main motion stage in that case though, to avoid having too much total gear reduction.

Both of these solutions will limit your maximum Z speed, of course. But they're simple and reliable. Clutches and brakes add a lot of complexity and must be actuated somehow. Designers who want the load to stay suspended almost always simply use single-start screws.


I would not recommend extrusion printers for this, because they are unlikely to produce a smooth enough surface.  To get a clean surface, the irregularities have to be a fraction of visible wavelengths, which is to say on the order of 0.01 micron.
Without knowing what sort of reflector you're thinking of (flat? spherical? parabolic?), it's hard to recommend a specific optimal, cheap approach.  All in all, you're probably best off looking in standard catalogs such as Edmund Optics.


Inexpensive 3D printer for medical applications

I am not an expert but I think you will find that because 3D printers use a layer by layer construction method, and the boundary between the layers creates grooves along the surface or leaves a rough texture on the surface. That the textured surface left by 3D printer construction would trap microbes and make 3D printed objects not suitable for medical applications where you need the product to be sterile.

It might be possible to treat the printed object or post process it. By vapor smoothing or painting/coating, but I doing think this would work for flexible materials.

If you are considering 3D printing because of the ability to customize the design, then I would suggest considering combining 3D printing with molding or casting. You could then use a cheap 3D printer to create the mold and use a flexible resin to create the object you want.

I have heard of SLA 3D printing being used to create molds for casting fake teeth. There 3D printing is used to create a custom shape and the print is used to make a mold and the final product is cast using the mold to get the quality and finish needed.

And I have head of FDM printing being used in used in remote areas to print clamps for umbilical cords. But I believe this was because not no other option was available.


PLA coating for water irrigation 3D printed parts

Before worrying too much about the hydrophilic properties of PLA, it might be worthwhile to test a fitting.

First, print a fitting and see that the freshly made print is strong enough to carry the pressure of the water, and the compression force of hose clamp you may need to connect the stiff irrigation hose to the printed fitting.

Second, soak the printed fitting in water for month or two, perhaps at an elevated temperature to match the higher ground temperature in the summer.  You could put the part in a closed mason jar and leave it in the sun.  You might add a little salt and fertilizer to the water to simulate ground conditions.

After this aging process, you could test to see if it withstands the pressure of the domestic water system.

You might also measure the ground temperatures where you intend to use the fittings.  I find that PLA has no structural strength above about 150 degrees Fahrenheit (65 degrees Centigrade), and the inability to resist slow plastic may start at an even lower temperature.  [For example, I print structural PLA parts with negative clearances and then dip them in 160 degree F water to soften them.]

If the printed fittings are strong enough but suffer from water absorption, I would either print them of ABS or coat them with an ABS coating.  To make the coating, dissolve ABS in acetone until it is the consistency of thick cream, dip your fitting in the mixture, and allow them to dry.  It will take longer than you think it should to dry, and the solution will take more ABS plastic than you might expect.

ABS is not generally considered to be "food safe", but this isn't a potable water system.  The FDA lists ABS as conditionally food safe, and I would be comfortable using it to irrigate my lawn and vegetables.


slic3r: Can I vary the infill percentage for different heights of my model?

Your question is very similar to Different infill in the same part and Using multiple infill types within one model [duplicate]. The difference is that you specifically ask for Slic3r and a variation in layer height infill percentage.

Actually this answer describes using "helper volumes" in Ultimaker Cura to set different properties for certain parts of the model (UPDATE: that answer now includes also Slic3r instructions), but it appears that this answer is very much applicable to Slic3r also. Please read this posting. Quoting from the reference:

  Finally, I fired Slic3r up and loaded the main part, then clicked on
  Settings... and then hit Load modifier... I loaded the new volume as a
  modifier mesh and I applied 100% solid infill...

Secondly, this answer where 2 different infill percentage sliced models are manually combined at a certain height may also work for you (this is a perfect valid solution for Slic3r, but requires some editing skills).

Basically, although you request for a solution for a slicer other than already described in other questions, boils down to a similar answer, the only difference is the implementation in Slic3r is called differently.

To do this in Slic3r see this reference.

The blog describes the use of a simple volume (the green volume loaded from an STL file). After loading:

  Right-clicking on the main part brought up the object settings menu.
  From there, clicking "Load Modifier" and selecting the previously
  saved model adds it to the part as a modifier.

  The green "+" was selected and "Fill Density" was added to modifier
  list and set to 100%.

This shows that the functionality in Slic3r is very similar to the functionality in Ultimaker Cura.


Should I print in a well ventilated area?

The short answer is: yes, it is always a good idea to print in a well-ventilated area.  The longer answer can be articulated as follows:
Definition of "fumes"
"Fumes" is a fuzzy word that from a chemical/physical perspective includes at least three different things:

Vapour - the gas phase of a substance
Aerosol - a airborne suspension of tiny particles of liquid, solid, or both
Smoke - particles and gases emitted when a material undergoes combustion or pyrolysis (so really: a smoke is a combination of vapours and aerosols too... but the combustion/pyrolysis will have changed the very nature of the material, so it will be "vapours and aerosols of a different substance"

Interactions with the human body
Each of the above has a different way of interacting with the human body.  The list of possible interactions is huge, and out-of-scope for this answer, but just to mention a few obvious ones:

Vapours tend to enter cells by osmotic pressure and can have carcinogenic effects by either attacking the genome of the cell or by disrupting its metabolic processes (think: benzene in car fuel)
Aerosols can trigger the immune system, and in return have the body develop allergies or autoimmune reactions.
Aerosols can deposit their particles on the cellular membrane, making it impossible for it to operate correctly and eventually fail (like neurons failing to transmit electrical impulses, for example)
...

Composition of filaments
Modern filaments are a combination of different substances: the basic plastic (PLA, ABS, PETG...) that gives the name to the filament is almost always mixed with other plastics and additives that change its physical characteristics.
In some cases, the filament is host to particles of other materials (like wood, metals or phosphorescent compounds).
Each of the different materials have different transition and critical and flash points (the temperatures at which they will become vapour and ignite respectively), and different physical properties which in turn will affect differently the size of the particles in the aerosol coming out of the printer.
Conclusion
The bottom-line is that it is close to impossible to have a complete understanding of how a given "fume" affects human health.
Typically the safety of a substance is tested in a lab by directly observing its effect on cells, or by performing epidemiological studies in a population, if the exposure data to a given substance is known.
When people comment on PLA being "safe" for example, they typically refer to studies that tested inert, cold, chemically pure PLA.  But the fumes of a PLA filament will probably not be inert, nor cold, nor be exclusively PLA.
Additionally, it has to be observed that it is much easier to rule a filament harmful than safe: for it to be considered harmful it is sufficient to know that one of its components is harmful (for ABS that is typically studies showing the adverse affect of ABS aerosols on health).  For it to be deemed safe, one must know that all if its components are safe, but most filament do not go through the rigorous testing required to ascertain that.
In conclusion, it is always a good idea to get rid of the fumes from 3D printing regardless of the type filament being used.  The ideal solution is a printing enclosure maintaining negative pressure, but an enclosure with air filtering or a well ventilated room are also good options (ventilation can have adverse effects on printing quality though, due to drafts and their cooling effect).


As far as I know Erik van der Zalm started Marlin. He is from the Netherlands and Zalm translates to "salmon". One of the design goals of Marlin was to make it faster than the other firmware available at that time. And a marlin is a very fast swimming fish.

Some firmwares developed after Marlin also joined this fish theme: Sailfish, Minnow, ...


To answer your question, yes, RAMPS 1.4 can be used for a 3D printer, but note that it is an outdated platform.
But...
From the supplied image can be concluded that the seller doesn't have a clue what is being sold in the webshop ( e.g. incorrect naming for the shield, 3 stepper motors and 4 stepper drivers?!?).
This is not a RAMPS set (RAMPS is a shield for an Arduino Mega 2560) but a CNC shield set. An Arduino Uno isn't typically the hardware used for a 3D printer (better suited for laser cutter), but you could use it. Also RAMPS itself is already outdated, there are other options for a bit more money.

With a limited budget and limiting the time and frustration spent on building your own first printer from scratch it might be more economical to buy a 3D printer kit; a kit has all the parts for frame and electronics to get started relatively quick. These kits are documented, have upgrades and have proven to work and can be used to build a better 3D printer (that is exactly what I did). Note that building a printer yourself is usually not more economical, large kit manufacturers have discounts on buying parts in bulk which you don't have. Unless you are building a printer from wood/MDF and have a lot of parts readily available a kit may be a more economical solution.


When 3D printing a hollow box, what is the best course of action?

That depends very much on what your goal is with the box. If it needs to be hollow and you don't need any access to the inside (and also prefer it to be printed in one piece) than the answer provided by user77232 would probably be the best.
Alternatively, if you need access to the inside of the box you would probably be best off printing the box in two pieces. A box and a lid. This way you can print the box without support and also save on material that would otherwise be used as infill.
The amount of light coming into your box also depends on the translucency of your material and brightness of the light source. To find the required wall thickness would be a matter of testing with the desired material.


Best method to make dissolvable supports?

I've had great success printing with HIPS (high-impact polystyrene) as a support for both PLA and ABS. Most sites recommend it for use with ABS because the materials melt at similar temperatures and work best with heated beds, but I've had good luck using it as a support material with PLA on a bed at 60°C. It doesn't stick as well to PLA as it does to ABS, so supports tend to peel away very readily. The downside is that, if you need the support to anchor your print at all, it doesn’t really stick well enough to accomplish this task. For that, you must pair HIPS with ABS.

When you print with ABS or have complicated interwoven support structures, HIPS can be dissolved with D-limonene, a citrus based cleaner sold under various names like Citrisolv (others exist), or with dipentene (a mixture of L and D-limonene that doesn't smell as pleasant).

Regarding cost: I've found HIPS to be slightly more expensive than PLA/ABS, but only 1.5x the cost, not 4x like PVA. Additionally, it isn't hydroscopic in the same way as PVA so it lasts longer out of the package. Since you're using it as support, you also tend to use far less filament than you do for the main print (sparse support structures as opposed to solid print structures).

Water-soluble alternatives: There are a few proprietary blends of polymers sold by the big commercial printer manufacturers (3DSystems, Stratasys) that only work in their machines… these are generally soluble in basic solutions (water + sodium hydroxide or sodium carbonate). These are usually very expensive and you'd have to rewind the filament on a spool, as they come in cartridges made for specific printers. You'd also have to experiment with the right build conditions and solution blends to remove the material afterward. Airwolf has a support material called Hydrofill that purports to be soluble in plain water… I'm not sure how this is different from standard PVA, though I assume it is different. Hopefully more companies will work on developing water-soluble options to help us keep the 3D printing world full of renewable, less-environmentally-harmful options for filaments (both print and support).

Update:

Ultimaker now has a material called Ultimaker Breakaway. After using it for a few models, it works remarkably well, allowing me, for the first time, to print nice rounded surfaces on the bases of my prints. It really does just break away from the surface, much like HIPS but without the lack of adhesion problems between HIPS and PLA.


NOTE: This is not from personal experience, but I thought it was worth mentioning:
Microsoft
You've probably seen this already - I am not a fan at all of M$, but... Microsoft Plus Raspberry Pi Equals Network 3D Printer.
Here is another link to the same, Network 3D Printer with Windows 10 IoT Core, but, unfortunately, your printer is apparently not supported.
OctoPi
However, closed source M$ seem to be playing catch up, whilst the Open Source OctoPi has been about for a while, indeed there have been a few questions on SE 3D Printing about it. From the blurb:

OctoPi is a Raspberry Pi distribution for 3d printers. Out of the box it includes:

the OctoPrint host software including all its dependencies and preconfigured with webcam and slicing support,

mjpg-streamer for live viewing of prints and timelapse video creation with support for USB webcams and the Raspberry Pi camera and

CuraEngine 15.04 for direct slicing on your Raspberry Pi.

See How to Install and Set Up Octopi for Remote Raspberry Pi 3D Printer Control with Octoprint.
A few of its features:

It also supports monitoring via a camera.
The G-code is sent over the serial to the printer.
You can use OctoPi to control multiple printers as well, as it isn't particularly resource intensive, see Control Multiple 3D Printers Using A Single Raspberry Pi and Octoprint].
You can configure access control for multiple users, or for a better presented version, see Access control.

As an aside, you could put Pronterface on the Pi too: How to Install Pronterface on Raspberry Pi - Instructables. I wasn't aware of this.


Scan spacing

  Within each of the ‘islands’, simple alternating scan vectors are used with the spacing between these vectors defined as the ‘scan spacing’ and the speed with which the laser spot moves across the surface defined as the ‘scan speed’.

Source

The influence of the laser scan strategy on grain structure and cracking behaviour in SLM powder-bed fabricated nickel superalloy
chapter: 2.2. SLM processing and laser scan strategy

Hatch distance

  The stripe pattern is a band defined by the scan vector width (ie stripe width), the hatching space between adjacent tracks and the scan direction as well as the overlap with the neighbouring stripes

Source

Scanning patterns in SLM

Notes

The computer controlled laser scans the surface of the bed to selectively melt the current two-dimensional slice of the CAD file.
The laser scanning remelts some of the previously built layer to ensure good bonding between layers and a fully dense component overall.
Cool printing image


PID autotune fails under all conditions so far. Any ideas I haven't tried?

Turns out I'm using a 12V hot end and should be using 24V. I looked up the resistance to be sure; so no amount of tuning the PID would fix that.


3D printer destroys part by lowering nozzle

This is my bet, based on cooling fan failure (I assume it was nozzle fan, not a heatsink fan), though honestly my practical experience with HIPS is zero. Without this fan heated material printed at high angles will definitely curl up, and even flat may be unstable. I suppose it happend, observing layer inconsistency on middle finger close to the nail.
Then, material could curl a bit and build up. Collisions with hotend could result in blob of plastic here or there, and then something bad happened (see @Jack State comment).
I also suppose that the whole print was detached from bed and rotated, because we see surprising shape across the middle finger, and unfinished index finger. Filament was extruded in random locations, causing more blobs, more curling and more mess. There are some gaps which look exactly like hotend run directly into them. I suppose that object rotated both horizontally and vertically. It could be even dragged by hotend at the end (e.g. filament was extruded inside the index finger).


It took some digging, but I was able to start scripting a wrapper in C# for the RPC commands.

C# Wrapper (MTConnect Implementation)
Unofficial JSON-RPC Reference

I still don't understand what every method does to the machine or necessarily what the results are, so a number of the methods are marked as obsolete until I can test them.


Bulging filaments - How can catch them before they go in the printer

How to catch and fix these on the fly? That would be difficult..

But this is an issue you really should not have.

Could it be an issue with filament storage?

Or is it coming from the manufacturer with these bulges? If so, I would try contacting ( you may have gotten a bad batch? ), or finding a new retailer if this happens often.

I have gone through a lot of pounds of both ABS and PLA and never come across this.


Makerbot Replicator 2 switches off and restarts automatically

I've heard of a few issues like this, always relating to hardware problems. If you feel comfortable opening up the hardware on your machine, confirm that all of your connections are firmly connected to your printers Circuit Cards. The issues i've dealt with I determined came from a loose connection and the gantry running would shake the connections enough to cause a loss of signal.


Cherry 3D printer with Nema 17 = Small Prusa i3, so the screws are the same M3 with the length you need according your mounting upgrade.


Why do different drivers change the noise of steppers?

Stepper motors contain two distinct sets of coils. The current in these coils is governed by your stepper motor driver.

To move the motor in either direction, the coils are being driven one after another, and in different directions.
Imagine this being a normal 3-phase AC motor, but instead of three phases, only two are used.

A "full steps" (1/1 "microstepping") would mean switching one coil off and the other on - resulting in a jerky motion to the next position. Real stepper motors have multiple sets of those coils (rather than two like in the diagram) - usually 200 or 400, giving 1.8° or 0.9° of rotation per "full step".

Such motion is usually not desired, since the immediate movement of the motor creates noise and vibration.
If both coils are driven with less current (71% of the full current, the reciprocal of the square root of 2, so that the total force on the motor remains the same) during the switch from one current to the other, another position can be achieved - a "half step" between two full steps.

This can be repeated for higher number of "microsteps", with 16 being the usual compromise.

Optimal smoothness - and next to no noise - would be achieved by driving the stepper motor with pure sine waves. The closer a stepper driver can get to that pure sine wave, the lower the noise made by the stepper motor will be:

Some stepper motor drivers, most notably the TMC family of chips, can generate 256 microsteps internally, approximating a sine wave quite well.

Other stepper motor drivers (like the LV8729) can also handle 128 microsteps, but they require the printer control board to send an individual step signal for each of those steps - which may limit speed because of the additional load on the board's MCU.


I have both the BTT SKR PRO v1.1 and the BTT SKR mini v1.1 (it is unclear which is meant by the OP), and for both you do not upload over the USB, you compile the software into a firmware.bin file which you place onto the microSD card. Once you power the board, the new firmware file will be installed onto your board.