Yes. That said you can view it as an intro into 3d printing. Once you know you are really into it you can buy a higher end machine, or hunt craigslist / ebay / facebook groups for a used one.

What the heated bed will allow you to do is print more than PLA, and certain formulations of no warp ABS. The Makerbot uses no heated bed, instead in addition to being PLA only it does what we call a raft. That said one of my 6 printers is a makerbot and it still gets warping if the print is on the edge of the plate.

You can also add a heated print bed later. If your electronics allow for it.

That said.. Just buy one with a heated bed? I know you can get one close to that price point. Heated beds cost 7 dollar. However as pointed out by Tom, there are other costs such as a more powerful heated bed. Still one should be able to get a printer in that price range or close to it with a heated bed.

To be more clear. You will not have a 90% fail rate if you use PLA. However your prints will often have some heat warping and you will HAVE to use a raft.

from
http://www.reprap.org/wiki/Glossary

  Raft
  A technique used to prevent warping. Parts are built on top of a 'raft' of disposable material instead of directly on the build surface. The raft is larger than the part and so has more adhesion. Rarely used with heated build surfaces. For the small area models, it is very useful to prevent warping via adding a raft for the model before slicing it. It can also help with with precision parts by removing the slight first few layer distortion caused by the heated bed.


If auto-slicing is disabled, the button in the bottom-right corner of the window toggles between "Prepare" and "Save to File" depending on whether the model needs to be re-sliced or not. While slicing is in progress, it changes to "Cancel".

If auto-slicing is enabled, the button always reads "Save to File", and is greyed-out when slicing is being performed (it does not change to "Cancel").


Can you use PLA material with food and drinks?

As others have pointed out, PLA isn't specifically not food safe, but materials that have been printed previously can contaminate the PLA.

Additionally, anything 3D printed is extremely porous. Once a part is used for food, moisture and bacteria will accumulate in the pores, and can never be completely cleaned out, contaminating any food that contacts it. It can't be sterilized either, because the temperatures needed for sterilization would deform or melt the plastic.


Is this what you are referring to?

If yes, the cold end of the extruder is nomally already tapped and you simply have to screw the new fitting in it.  The PTFE tube itself needs just to be fed through the hole in the fitting until it cannot go any further.

Failing to do so will most likely result in a clog and/or leaking.

It is a self-locking mechanism, in order to release the tube you have to press down the plastic flange on top of the fitting while pulling up the PTFE tube.


What are the parts that make up a hotend, and what do they do?

This varies by hotend design. The following is a list of components which you might find in a typical hotend, but note that different designs may integrate these components to some extent. For instance, on the J-head the heat block, nozzle and heatbreak are all one and the same component whereas on the E3D hotends these are all separate parts.

Nozzle: This is the part where the filament comes out. It takes in the molten filament (typically as a bead of 1.75mm/3mm) and tapers down to the nozzle size (typically around 0.4mm). These are typically made of brass for its good heat conductivity, but brass is not suitable for printing abrasive materials (such as glow in the dark and metal-filled filaments) so sometimes (hardened) stainless steel is used.
Heater Block: Usually made from aluminium, the heater block joins the nozzle to the heat break and holds the heater cartridge and thermistor.
Heater Cartridge: most hotends use a ceramic heater cartridge, though some older designs use power resistors or nichrome wire. This component is, as the name suggests, responsible for heating up the hotend. The heat block usually clamps around the heater cartridge to provide good contact.
Thermistor: This part senses the temperature of the heat block. It is usually a small glass bead with two wires attached (which are typically insulated with glass fiber or teflon). For high-temperature printing, a thermocouple may be used in stead.
Heat Break: this is the part where hot meets cold. It usually takes the form of a thin tube and is made of stainless steel for its low thermal conductivity. The goal is generally to have the transition be as short as possible so as little of the filament is in a molten state as possible. It connects the heat block to the heat sink.
Heat Sink: the purpose of the heat sink is to cool down the cold side of the heat break. It is typically cooled with a fan. Most heat sinks also have a standard groove-mount for mounting to your printer. The heat sink usually has grooves to increase its surface area and cooling capability.
Teflon Liner: some hotends have a PTFE liner that guides the filament through the heat break into the nozzle. This makes it easier to print PLA, but compared to an all-metal hotend, limits the temperatures at which you can print (making it difficult to print PETG and impossible to print polycarbonate).

The ubis hotend you mentioned is a bit simpler than this, and simply uses a big chunk of PEEK in place of the heat break/sink. PEEK has very low thermal conductivity and thus passive cooling is sufficient. However, PEEK limits the temperatures at which you can print.

Here is an illustration outlining these components on an E3D V6 hotend:

Note that in this image the Teflon liner only goes into the heat sink, and not into the heat break or block. This means the maximum temperature is not limited by the Teflon, but if it did go all the way in (as is the case with, for instance, the Lite6) then it would be.


Removing glue residue on part after printing

Elmer's Purple Gluestick is pretty much based on PVA with a water-indicator. It is a water-soluble material. Tossing the piece into a water bin and brushing it with a toothbrush should remove everything.


Every time I've had an extruder "skip", it was actually because some condition was causing excessive back-pressure.  Either the hot end isn't hot enough, the nozzle is too close to the bed, or something has clogged the nozzle.

If there is a "skipping" noise, then this is almost certainly the problem.  When a stepper can not advance, the magnetic field will continue to "step".  After the rotor is behind the steps by 180 degrees of field phase (which might be only a fraction of a degree os stepper motor shaft rotation), the rotor will snap back to re-align with the magnetic field.  The sudden movement of the rotor and the release of compression on the filament often makes a loud clicking or thumping noise.  If you can see the gear, it will jump backward and then rotate slowly forward before jumping backward again.

To see if it is the drivers, try extruding with no filament, or if you can, try moving filament through the extruder.  If it doesn't move at all, or doesn't move under light drag, it may be the driver, the wiring, or perhaps the motor.


How to connect BLTouch sensor to Alunar M508 using LSEE 3D v1.0 board?

The LSEE 3D is basically a RAMPS board (your linked source also shows that the used MOTHERBOARD is a RAMPS board: #define MOTHERBOARD BOARD_RAMPS_14_EFB), this implies that all pins of your board are the same as a RAMPS board. To connect the 3 pin header of the BLTouch sensor you need to connect the red wire to +5 V and the black wire to ground; the orange wire needs to be connected to an available PWM pin. As the LSEE board does not have many exposed (free) pins for you to use, you need to re-use one of the existing PWM pins that you do not use. An example is the pin nr. 2. From the pins_RAMPS.h file you see in the limit switches section:

//
// Limit Switches
//
#define X_MIN_PIN           3
#ifndef X_MAX_PIN
  #define X_MAX_PIN         2
#endif

It appears, from the image, that your board does have max limit end stop switches header pins available. What you could do is use the X_MAX_PIN for the BLTouch sensor.

This implies that you need to assign the servo pin to pin nr. 2.

From the servos section of the same pins_RAMPS.h file you see that the servos are either connected to pin 7 or pin 11 (depending on the board, your linked sources use the 1.4 version).

//
// Servos
//
#ifdef IS_RAMPS_13
  #define SERVO0_PIN        7   // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
#else
  #define SERVO0_PIN       11
#endif

Using the linked sources, the 11 should be replaced with a 2. This implies that you can connect the orange wire to the "signal" pin of the X_MAX end stop connector.


I have read that if I disconnect OctoPrint when printing, the print will stop.

You can disconnect your computer from the OctoPrint server while printing and the print will continue just fine. You cannot disconnect the OctoPrint server from the printer without interrupting the print, of course.

Since I thought the advantage of OctoPrint over, say, printing from Cura, was that it didn't tie up the computer while the print was taking place, what are the advantages of OctoPrint?

The advantage (the one you're talking about, anyway) of printing via OctoPrint (which you can also do via Cura, btw) is that you don't have to tie up the computer that you're using for other things. You run OctoPrint on some other computer that can stay connected to the printer. Typically, a Raspberry Pi is used; they're cheap (~$30), and there's an OctoPi distribution that's practically a turnkey solution.
Other advantages of OctoPrint include:

stores your .stl files, either on the print server or on the printer's SD card
enables remote monitoring, including a webcam feed
lets you control your printer from any device with a web browser
provides a plugin mechanism (and a large variety of plugins) to extend its capabilities


Which resolution is needed for bricks compatible with Lego?

It's really more about calibration than resolution -- a poorly calibrated printer will have dimension errors that prevent mating with true LEGO bricks or other printed bricks.

Also, "resolution" is an incredibly loaded term for 3d printers, because it can mean a lot of different things. But we don't need to get into that right now. There are really two big things to worry about: layer height and extrusion width.

Layer heights of 0.1mm or 0.2mm should be fine. Coarser layers may run into surface finish issues that make the bricks difficult to put together or take apart. There probably isn't much reason to go finer than 0.1mm for this application. Almost all FFF printers can do 0.1mm layer heights as long as it is reasonably well-tuned.

Any typical household FFF printer with a "normal" nozzle size can print fine enough for the bricks to work. It just needs to be tuned well. The smallest "must have" feature in a standard lego brick is the 1.6mm thick wall around the sides. The typical minimum printable feature size for an FFF printer is 2x the extrusion width, because the slicer will place a path on the inside edge of the shape and the outside edge of the shape. (Some slicers will allow single-extrusion features, but this is not generally recommended because it makes weak parts.)

So, how wide is the extrusion width? It's adjustable, and different slicers auto-recommend different values, but as a safe rule of thumb it needs to be between 1x and 2x your nozzle size. There are some volume calculation quirks in different slicers that may encourage larger or smaller sizes, so sometimes people recommend [extrusion width = nozzle size + layer height] particularly with Slic3r. This is very system-specific.

Assuming you have the most common stock nozzle with a 0.4mm orifice, and also set the extrusion width to 0.4mm, the slicer should put four strands in the walls of the LEGO brick. That's good.

Where it gets tricky is if you have an extrusion width that does not evenly divide into 1.6mm. Say you are printing with an extrusion width of 0.6mm. There is enough room in the wall of the part to place two full 0.6mm perimeter strands... but then a gap 0.4mm wide will be left in the center. You can't put another 0.6mm strand into that 0.4mm gap. Different slicers handle this different ways. Some will leave an empty space between the walls, and you get a very weak print. Some will mash an excessive amount of plastic into the gap, causing poor print quality as excess material builds up more and more on each layer. Some will push a smaller-than-commanded strand to try to properly fill the volume.

So, the general advice with small features is to make sure your extrusion width goes into the part's minimum thickness a reasonable number of times.

[Feature size / extrusion width < 2] is BAD
[Feature size / extrusion width = 2] is GOOD
[2 < Feature size / extrusion width < 3] is BAD
[Feature size / extrusion width > 3] is GOOD

Although these will vary somewhat by slicer -- older slicers like Skeinforge tend to have more issues with this than newer slicers. What you should do in practice is check your slicer's print previewer to see whether it is leaving a gap between the strands. Then adjust extrusion width and perimeter/shell count to try to get an intelligent output. There's some trial and error involved.


Print/material specific settings
If you are printing too hot with too less distance, the support just fuses to the print object. Extra cooling, lower print temperature and support distance should be in balance to create easy to remove support structures with respect to an acceptable print object surface. If temperature and cooling cannot be balanced to prevent fused support structures (e.g. for high temperature filament materials that cannot take too much cooling as that would result in less structural solid prints), there is an option in Cura to override the fan speed for the first layer above the support (Fan Speed Override). If this fails to produce easy removable supports, you can resort to changing the support distance between the support and the print object.
Support settings
Most of the used slicers have an option to determine how much distance (in terms of layers) you want between your support and your product, you could add an extra layer as space to try out if that works better for you. E.g. the default Cura setting for Support Bottom Distance (which is a sub-setting of Support Z Distance) is the layer thickness specified in Layer Height. If you have a layer height of 0.2 mm, the Support Bottom Distance is also 0.2 mm. For the top, option Support Top Distance this is two layer heights, so 0.4 mm in this example. These options are visible in the expert mode, you can search for them in the search box, see image below.

Why should you want air in between your part and the support?
You'll soon find out when you want to remove supports, if no gap is used, the support will fuse to the print part. This is only interesting (no gap between print part and support structure) when you use a different filament for support like PVA or break-away filament; e.g. PVA dissolves in water in a dual nozzle printer setup (not that you can make the biggest part of the support except the top and bottom layer from the print object material, e.g. PLA for the main part of the support and PVA for the bottom and top layer: settings First Layer Support Extruder, Support Interface Extruder, Support Roof Extruder and Support Floor Extruder).


How to unload filament without cancelling print

This condition is covered in the MMU2S manual's section on troubleshooting:

13.4 All five LEDs blinking red and green
MMU2S unit can now deal with a state in which the Trinamic drivers were not able to provide enough power for steppers. A possible cause can be a broken MMU2S power supply wiring, connectors etc. Please check that all connectors are properly plugged into the MMU2S board and make sure that the cables are in good condition. Also, make sure that the screws on the Einsy terminal box for the power cables are properly tightened. If this state is detected, the MMU2S unit rehomes and automatically continues printing. If the problem occurs three times in a row, the MMU2S unit stops printing and starts flashing continuously with red and green LEDs. Printing can be restored by restarting MMU2S unit using the button on the right side of MMU2S unit.

So, once you have fixed the problem which prevented the filament from moving, press the reset button on the MMU2S. It is recessed, so you will need a tool to push it (such as the 2.5 mm Allen key included with the printer). You will then need to wait a few seconds for the MMU2 to complete its reboot and be ready to communicate, before telling the printer to continue.
Note that the filament may have been chewed by the MMU2 or extruder drive gears and unable to feed properly. Be prepared to — if you haven't already — disassemble the tubing and manually pull out the remaining filament sections. I find this modified holder for the MMU2's filament tubes that uses push-in couplings instead of a clamp very useful to allow quick access when there's a problem or even when inserting new filament.


CR10 V2 under extruding and heating up too quickly

This sounds as if you have bought an incorrect heater element, e.g. one for 12 V instead of 24 V. The CR-10 uses 24 V. The 12 V cartridge has a lower resistance, so when powered by 24 V, the current is much higher and therefore also the heating power ($ {(\frac{24}{12})}^2 = 4 $ times higher). For details on the calculation, the this answer on question: "PID autotune fails 'Temp too high' with 12 V heater cartridge but works with 24 V?". This makes the hotend heat up very fast resulting in a large overshoot. You need to replace the cartridge for one for 24 V.

Note that I recently experienced exactly the same problem by mixing up the cartridges see this answer.


If you are using PLA, 200 for the extruder sticks the best for me.  The other issue with adhesion is the greater the difference between the extruder temperature and the bed the poorer adhesion. There are other things can help with this.  Using a higher bed temperature for the first layer can help.  A slower extrusion speed allows the extrusion to cool more before getting as long of a length to for the contraction force; thus improving adhesion.


What is the melting temperature of a 3D printed part?

The number you're looking for is the glass transition temperature (the lowest temperature at which the material can flow or warp), not the melting point.  This depends on what material you're using; approximate temperatures for common printable materials are:

PLA: 60˚C
PETG, high-temperature PLA: 95 ˚C
ABS: 105˚C
Nylon: typically 70˚C or above ("Nylon" is a large family of similar polymers)
Polycarbonate: 145˚C

Any plastic under your hood is probably either nylon (for its durability, impact resistance, and chemical resistance) or ABS (for its strength and heat resistance).  These are both difficult materials to print: ABS emits toxic fumes while printing, and tends to warp if you're not using a heated enclosure, while nylon readily absorbs water from the air, causing the filament to bubble as it's printed.  Further, many printers can't handle the high temperatures needed to work with these materials.

If you're going to print this yourself, I recommend using PETG and inspecting the part after a few days of use to see if it's warping.  PETG is reasonably easy to print and comes close to your target heat resistance.

If you're going to get someone else to print it, I recommend using ABS.  It's probably what the original part was made of, and anyone willing to print ABS for you will have the heated enclosure and ventilation system to deal with printing it.

I'd avoid polycarbonate unless you know the original part was made of it.  Although PC is strong and heat resistant, it's also somewhat brittle and vulnerable to scratching.

High-temperature PLA is also brittle, and requires a heat-treating step that will change the dimensions of the part.  It will likely take several tries to get something that comes out the right size, and even then, you risk having the part break when your car hits a bump.


Constant jamming sounds like heat creep. It could be that:

The fan might not be powerful enough. Get a better fan
You're printing too slowly. Try increasing the print speed.
The temp might be too hot on the hot end. Lower printing temp.
The heater might be too close to the radiator. Adjust the hot end so that there is a max amount of space between them.
The firmware could be letting the hot end get too hot. With the cooling fan on, do a PID tune.
The filament might be getting stuck in the throat. Try lube, especially if you are using an all metal hot end.
Heat from the bed might be affecting the cooling fan's ability to cool the hot end. Try lowing the heated bed's temp.


Z axis issue after upgrade from stock FW to Marlin 2.0.7.2 on Ender 3 Pro

This seems like Z homing issue. Sounds pretty frustrating, so I will try to give some hints, though I do not have Ender 3. Also maybe my few questions will be helpful.
Did you "adjusted all the wheels on the printer" after the Z position was zeroed? This could be crucial, especially that firmware may raise Z up after homing (e.g. to 4mm). The G-Code you have sent makes simple Z moves: rises to 2mm, then lowers to 0.28 mm above the sea level (and F is denotion of speed). And obviously this should happen AFTER homing Z axis, not earlier - could you check earlier G-Code for G28 call?
If you can manually move the bed out of heatend's range (to avoid crashing it) then I suggest to use own file containing only two commands to experiment with Z homing only, e.g.:
G90             ; absolute positioning (just to be sure it is not incremental G91)
G28 Z           ; homing Z axis
G1 Z0.0 F100    ; firmware may have raised Z up slightly, so lower again to 0

If homing would cause the bed accident, than I am unfortunately right - or:
(Added after tracing real problem) Check if Z axis is not loose - e.g. coupler screws are tight - so Z axis cannot rotate on its own by gravity and wight of carrige. When Z steppers are enabled, you should not be possible to move carriage up and down with slight pressur of hands.
Does the printer react to Z endstop? This is first thing to check, actually. You can you press it with finger during Z homing to check if it would react properly (Z homing stopped).
If not, then... did you compile Marlin on your own? For example maybe the Z endstop is or should be inverted. More insight is needed then against the Configuration.h, e.g. file for Z_MIN_ENDSTOP settings. Would be good to have its version from previous firmware, or google some valid Ender 3 file to compare with.


Why did my extruder motor stopped working?

I have found an answer. So dumb♂♂. It need to heat up nozzle before use extrude or retract command


Strange layer separation issues on Ender 3

Well, you have several problems with your print. One that could be affecting your print is the nozzle temperature. The print looks wavy and has a lack of adhesion, so the filament is not flowing properly, causing under extrusion and will provoke a clogged nozzle.

Try to increase the temperature by 5°C and do a small test, don't wait to waste material and try another 2-3°C more.

Try to reduce the printing sped; try reducing the feed rate on your printer to 90% or less. While printing you can reduce the feed rate to see which speed works better at your printing temperature. I prefer to do this first rather than change the temperature; If you notice that your print gets better at lower feed rate then change your temperature higher to print a higher speed.


There are two things which shouldn't be mixed.

Position of the object relative to its own coordinate system.

In general object doesn't have specific position stored inside. Which is obvious as structure of the object should store construction of an object but not its position. So position is relation-to-something so to speak and because object itself doesn't contain any information about object environment then there is no position stored.

But there is one hack. All coordinates stored inside object are in fact a realtion to some starting point. Let's say it's a zero-point or starting point of the coordinate system of the object. This is sometimes anoying because it's usually bottom left corner or center of the object. Unfortunately some applications store this starting point out of the object. This means that object has starting point in some point but this point is outside of the object itself.

This cause the situation when user loads an object in another application then object is translated in "strange" position.

Position of the object in printing application.

When user loads an object into printing application then object is usualy set in the center of build plate. This also sounds obvious but if inner coordinate system of the object is translated then object can be repositioned even out of the build plate.

So what is the solution for such situation.

There are two options.

Manage object coordinate system in the application which create STL file  or convert object into STL format or
Manage (switch off) option called "center on build plate" or "center on the bed" or "center object" or "auto-center parts" in printing application.

Then it will be possible (or easier) to position object according to user needs.

Another issue is STL object which is in fact kinda assembly of separate objects. If you encounter such situation. See here for example

These two guys are stored in one STL file so they have common coordinate system and common starting point. All above applies to such assembly.

Applications allows user to split such assembly into separate objects so each one can be repositioned separately. But be careful - split can disassemble parts of the object itself. In the example the tounge of the trex is 3rd object in the assembly.

In terms of mentioned aps:

Reptier: go to object placement "tab" and set position manually
Slic3r: go to Printer settings and set "print center", also you can switch off File > Preferences > Auto-center parts
MetterControl: go to printer > print area and set print center


What motherboard ID is appropriate for MKS BASE V1.5 in Marlin Firmware?

Marlin appears to support older versions of the board (and possibly this one) according to this line

#define BOARD_MKS_13            47   // MKS v1.3 or 1.4 (maybe higher)

in boards.h which can be found here.

The company also has a guide and looks to provide pre-configured (but not fully configured?) downloads of Marlin.  They have different links for different displays but then ask you to change lines manually but don't mention changing the board so I have no idea what they are doing or what is different between the downloads.

It appears either way you go (Marlin from Github or from Osoyoo) you will need to change some lines to get each axis to behave correctly.


Configuration of the Anet A6 full graphic LCD 12864 on an Anet A8

To downsize the firmware you can manually disable a lot of less useful stuff. E.g. why have 2 pre-heating profiles for PLA and ABS while you can set hotend and heated bed manually.

One of the largest memory savers is disabling arc support, G2/G3 commands aren't used by most slicer programs. From Configuration_adv.h can be found that you can save more than 3000 bytes:

//
// G2/G3 Arc Support
//
#define ARC_SUPPORT               // Disable this feature to save ~3226 bytes

You can probably find more features to disable to save memory, e.g. look into question "What can be removed from Marlin 1.1.9 to fit on 128K controller? I'm currently 318 bytes over", quoting:

//#define SHOW_BOOTSCREEN // enabled
//#define SHOW_CUSTOM_BOOTSCREEN // enabled
//#define CUSTOM_STATUS_SCREEN_IMAGE // enabled
//#define LCD_INFO_MENU // enabled, shows useless 'about printer' menu
//#define STATUS_MESSAGE_SCROLLING // enabled, saves some flash space
//#define DOGM_SD_PERCENT // disabled, show print % bar graph
//#define NO_WORKSPACE_OFFSETS // Disables M206 and M428
//#define ARC_SUPPORT // enabled, used for CNC toolpaths
#define NO_VOLUMETRICS // disabled, not used without width sensor?
//#define SCROLL_LONG_FILENAMES
#define SLIM_LCD_MENUS // Disable 'extraneous' menu items
//#define SPEAKER // Disable beeper if you don't want it.
//#define LEVEL_BED_CORNERS


How to fix bulging first layers of print?

You specify that 1 to 6 layers are expanded.

Does that match with the number of bottom perimeters you ask for?  If so, then I would suspect over-extrusion.

If not, it could be a combination of two problems:

The head is too close to the bed, and
The head has too much vertical compliance or springiness.

In this scenario, the head being too close puts additional upward pressure on the head.  The springiness allows the head to displace upward, but it is still too close.  Being too close, the extruded bead is spread out too far.  With each additional layer, the head is relatively less close, and the effect reduces until eventually the head is not displaced by the extruded bead, and the object prints normally.


Filament not feeding then eventually blocked

From my experience with mk8 extruders lower than optimal nozzle temperature or clogged nozzle can lead to an extruder's stepper motor overheating and partial burning out of a stepper

It looks like “Achilles' heel” of mk8 extruders. I had to change 4 stepper motors for 2 3d printers with mk8 due to that

First symptoms – skipped steps. You could also check a temperature of your stepper – next symptom is a high temperature of stepper motor after several hours of printing

My fix for this issue – adding cooling fans to stepper sides and top (3 fans). It significantly reduced overheating and hopefully a life of stepper

Another solution of this issue can be in using of a stepper motor with gearbox to increase torque on a filament gear, so no high torque needed from stepper itself

About printing temperature, it depends on plastic which you are using

I’m using ABS plastic with an optimal printing temperature from 230-260 Celsius degree. For my current plastic supplier optimal temp is about 255 Celsius degree

To check the optimal temperature for your plastic you can print one box in different temperatures depending on Z position and found the optimal temperature by the z position of surface with the best quality. You can find code samples how doing it here

If a temperature is too high then this part of the box will be bloated, if it's too low - you can see the gaps. Here is the video, which illustrating this for PLA

UPDATE:

The issue was in the low temperature of printing. After calibration and setting temperature by calibration outcomes to 200 Celsius degree printer started working well

However, please be aware of the fact that wrong printing temperature can not only decrease the quality of printed things, but also can lead to wear of your printer parts and even can break it


What is the 3D printer filament (or pellet) most resistant to bending at high heats?

Your expected operating temperature exceeds the glass transition temperature by 3 °C. This implies that the structure will become weak and can deform under load.

Note that you cannot simply print PEI on a normal machine, it requires a special high temperature capable printer with hot end temperatures up to 400 °C and heated bed over 120 °C up to 160 °C, furthermore it will need a heated chamber (up to about 80 °C) which requires special care to cooling and placement of electronics and motors.

Not having specified what kind of structure you require, you could look into steel.


Replace X axis motor with different model

Since they have the same rotation angle per step, I shouldn't have to calibrate the new model, right? (I'll use the original wheel)

Yes, you do not have to change anything, other than the Vref of the stepper driver.

  Did the vendor send me a motor with inferior performances?

Yes, the one you received has a lower height, so smaller coils and smaller permanent magnets; basically lower torque.

  Will my performances degrade if I use the new motor?

That depends on the loading of the carriage of the X-axis, it could if it is heavy; you now have less torque available to move the carriage. But, this type is frequently found in 3D printer kits and should work.


I have a Prusa I3M3+MMU2, which I have had for a year.

During the first year, the display failed under warranty and replaced for free.  The power supply also failed, and although Prusa replaced it, I was in a hurry and bought another supply to use as a backup for about \$60.00.

I have used two rolls of paper towels, a bottle of acetone, and a quart of isopropanol, for maybe \$5.00.

I have bought a spare thermister for about \$10.00, but haven't installed it yet.

I bought a couple of new nozzles for specialized materials for \$35.00, but the nozzle I got with the machine isn't worn.

I bought the textured build plate (when it was finally available) for about $30.00.

So, my running cost, exclusive of electricity, is about \$140.00, including buying accessories which haven't been consumed.

I have also bought way too much filament, which you aren't counting.  Filament cost has dwarfed my other expenses.


Can I print and sell 3D models licensed under CC BY-NC-SA 3.0

I am not an attorney, so this isn't legal advice. Like any legal question, you should consult with an actual attorney, who can consider all the gory details.

That said, it seems like you've got the BY and SA parts covered. "Non-commercial" is more difficult: does a sale that's not for profit count as "commercial"?

The Creative Commons site (https://creativecommons.org/faq/#does-my-use-violate-the-noncommercial-clause-of-the-licenses) explains it a bit more, as pasted below. But perhaps the best thing is to just drop an email to the originator and ask. Probably you'll get an email back saying it's fine; and who knows, maybe you'll make a new friend, too. I've been on both ends of exchanges like that, and it's generally worked just fine.

  Does my use violate the NonCommercial clause of the licenses?

  CC's NonCommercial (NC) licenses prohibit uses that are "primarily
  intended for or directed toward commercial advantage or monetary
  compensation." This is intended to capture the intention of the
  NC-using community without placing detailed restrictions that are
  either too broad or too narrow. Please note that CC's definition does
  not turn on the type of user: if you are a nonprofit or charitable
  organization, your use of an NC-licensed work could still run afoul of
  the NC restriction, and if you are a for-profit entity, your use of an
  NC-licensed work does not necessarily mean you have violated the term.
  Whether a use is commercial will depend on the specifics of the
  situation and the intentions of the user.

  In CC's experience, it is usually relatively easy to determine whether
  a use is permitted, and known conflicts are relatively few considering
  the popularity of the NC licenses. However, there will always be uses
  that are challenging to categorize as commercial or noncommercial. CC
  cannot advise you on what is and is not commercial use. If you are
  unsure, you should either contact the rights holder for clarification,
  or search for works that permit commercial uses.

  CC has a brief guide to interpretation of the NC license that goes
  into more detail about the meaning of the NC license and some key
  points to pay attention to. Additionally, in 2008, Creative Commons
  published results from a survey on meanings of commercial and
  noncommercial use generally. Note that the results of the study are
  not intended to serve as CC's official interpretation of what is and
  is not commercial use under our licenses, and the results should not
  be relied upon as such.


How does the sizes of nozzle diameter and the Z-axis layer resolution work?

Yes, they do reduce the speed. Basically, the speed at which you feed filament determines how large of a volume comes out, and the distance you move the extruder means this volume gets distributed over this distance. However, this is not the whole story.

The size of your nozzle determines only two things: the maximum layer height and the minimum feature size. It does not affect minimum layer height (and obviously doesn't affect maximum feature size) although there are some practical constraints (you wouldn't want to print 0.1 mm layers with a 5 mm nozzle).

The nozzle squishes the filament down as it is extruded; the filament is basically forced into the gap between the nozzle and the previous layer. There's no limit to how thin of a layer you can print (the 60 micron figure is just something the marketing department made up, you can likely print even thinner layers). So long as you can position your Z-axis with sufficient accuracy (which is usually no problem) you can print arbitrarily thin layers.

On the other hand, the nozzle size does determine the maximum layer height. Your need the filament to be squished a bit, or else it won't stick to the previous layer properly. You can't print layers thicker than your nozzle size, and it is generally recommended to print with a layer size that is at most 80 % of your nozzle size (e.g. with a 0.4 mm nozzle you shouldn't attempt to print layers thicker than 0.32 mm) but this is just a guideline.

Your extrusion width is the width of the line deposited by your nozzle. This is generally (due to the mentioned squishing) a bit larger than your nozzle size. With a 0.4 mm nozzle you should set your extrusion width to something slightly larger, like 0.5 mm. It is technically possible to print with an extrusion width that is the same as (or even smaller) than your nozzle size, but this results in very weak prints: as mentioned before, you want the plastic to get squished slightly.

They claim an accuracy up to 100 micron. This doesn't mean that you can print features as small as 100 micron (since you can't, due to the extrusion width being much larger). What this means, is for example, that if you print a 10 mm cube, you should expect its real size to be between 9.9 mm and 10.1 mm. Such a cube does not have any features that are smaller than your minimum feature size, but its outer walls can be positioned with greater precision than this minimum feature size.

I should caution you that the 100 micron figure is "up to" and in practice you will have a hard time achieving this.


Ok guys I got it! It really was just what is the answer in the other question (Connecting (Anet A8) 2004 display to MKS GEN L)!

My problem was: I used jumper cables and some duct tape to hold them together ... and the only issue was, that I didn't insert it enough. I got mad today and just pushed them really hard more into the AUX2 connector and it suddenly works!


How do I compute the surface & volume of a large amount of STL files?

You could use the Python console of FreeCAD. Issuing the following commands

FreeCAD.ActiveDocument.ActiveObject.Shape.Area
FreeCAD.ActiveDocument.ActiveObject.Shape.Volume

will output the area and the volume of the object, respectively.

I don't know how to access the console output from outside FreeCAD, but there is an option in FreeCAD called Redirect internal Python output to report view which I think is what you are looking for.

You might want to look into the Scripting documentation of FreeCAD for further instructions.


Alright so I asked in my facebook group and a friendly fellow game me the tip to use Meshmixer from AutoCAD and then check a video on Plane cut. I only needed 3 simple cuts and the piece I needed was all ready to print. :) 40 Minutes to print and only 3g of PLA to spend :)


Tough set of requirements and definately pushing into the professional domain.  I would recommend checking out ULTEM 1010 Resin which is similar to PEEK but has a higher glass transition temp of 215 °C.  Check out the spec sheet from Stratsys.

I hope this helps.  :-)


Proper settings for printing rubber and rubber-like materials?

First off, you need the right extruder design. Specifically, the filament path between the drive gear or hob and hot end must be extremely well-constrained. 1.75mm TPE filaments (thermoplastic elastomers) will buckle in an instant if given the chance. That means they will try to squeeze out of any little opening in the filament drive path rather than being forced through the nozzle.

Is there a gap >1mm anywhere between your extruder drive gear and hot end? Including the groove in the drive gear itself. If so, either change extruders or print something to fill the gap. Many popular extruders already have Ninjaflex conversion parts uploaded on Thingiverse or Youmagine.
Are you using a 1.75mm bowden drive? You probably shouldn't bother with the softer TPEs like Ninaflex. Harder TPEs like Semiflex may be ok, but it's still difficult. 3mm bowden drives may perform ok. Direct drive extruders are highly recommend.
TPUs (thermoplastic urethanes) in particular can be sticky in the filament feed path between the spool and extruder. Try to minimize corners and turns (even inside PTFE tubes) between the extruder and spool. As a general rule of thumb, don't exceed 180 degrees of cumulative tube curvature in the entire path from the spool to the nozzle.

Once your filament feed path is fully enclosed, the filament will be constrained and unable to squeeze out the side or wrap around your drive gear. That's the most important step.

The next problem is simply loading the filament. Purging out PLA or ABS with a soft TPE can be challenging because of the force required to purge the old material. Many default loading routines are actually too fast for TPEs and will cause the TPE filament to bunch up rather than purging the previous material. It tends to extrude better when there is nothing else in the way. Some tips:

Do some cold-pulls to clear out the hot end as much as possible before loading the TPE. (Nylon is ideal for this. Preheat to nylon temps, run through some nylon, let the extruder cool to ~180C, and then forcefully pull out the nylon. If you can't pull it out, pull hotter. If it leaves nylon behind, pull colder.)
If you have a high-melting plastic like PET or nylon in the hot end, purge with a lower-melting solid filament like PLA first. This will reduce the viscosity of the old material when inserting the TPE.
If your printer has a fixed loading speed, consider making a gcode file with nothing but a preheat and very slow extruder move as a custom loading script.
If you fail to load and jam up the TPE, try again! Sometimes it takes a few load/unload cycles to get the old material purged and a clean feed going.

The final issue is print settings. You ever hear the saying, "you can't push a rope"? That's kind of what you're fighting with TPEs. With a properly constrained feed path, you can push rubber, but not very hard. So minimizing extrusion force is the name of the game.

Print SLOW to start. Like 10mm/s. You can dial it up once you're getting good results. This will minimize nozzle back-pressure and reduce the amount of "pushing a rope" that the extruder drive must do.
Retract as little as possible. Turn off "optional" retractions in your slicer, such as during layer changes. Some people even print with no retraction at all, and use high travel speeds and coast/wipe features to minimize stringing. That's overkill, but it can help with marginal extruders. I personally add about 50% to my normal ABS/PLA retraction distance.
Print on the hotter side of the recommended range to start, then dial down the temp as needed to reduce stringing and oozing. Printing hot will reduce nozzle back-pressure.

With all that, it should be possible to print the softest TPEs with reasonable success. But if you really can't get it working right, plenty of higher-durometer TPEs are available now that are significantly easier to extrude.


Understanding water soluble support structures

Owning the Ultimaker 3 Extended and having printed kilometers of filament on this printer I can tell you that printing with PVA, apart from the slicing problems you mention, is not easy as it looks. PVA clogs up very fast and is very hygroscopic. Moist PVA will make popping sounds on extrusion and is prone to failing. PVA is not my preferred solution. An alternative solution is to use break-away filament, my colleagues have some reasonable good experience with that.

  Why didn't the slicing algorithm place PVA support structures inside the overhang, in the same way as it placed the PLA support structures?

The difference you report could be caused by the slicer settings. I get exactly the same results if you set the slicing parameter Support Placement to Touching Buildplate (first image), or Everywhere (second image).

vs.

  What is the reason for the external scaffolding, and how does it help support the internal overhang, which now has no internal support at all?

To answer the scaffolding part of your question, that can only be explained by being the decision of the developers. There must be very good reasons for doing it like this as a similar support structure is generated in other slicers, e.g. Slic3r (actually this is caused by a slicer setting, see this answer explaining why the scaffolding is caused). Some slicers do have options to change the support type, e.g. Slic3r has the option pillars, which creates pillars without external scaffolding:

vs.

  Is the behaviour I expected possible, advisable or configurable in Cura? If so, what options should I be looking at, if not is there other software that does support this?

Playing with the settings to reduce the amount of PVA as suggested in the comments by enabling the type of extruder for specific parts of the extruder I was able to create a solution without scaffolding. This solution only uses PVA for the bottom and top layer of the support structure.

The shown settings1) produce a support structure with PVA top and bottom layers:

or

Where the latter image is in material color; black PLA and natural colored PVA

1) It might be worth mentioning that by default, the Support section doesn't show the Support interface extruder options and you have to go into Preferences and check the Setting Visibility option for those to appear.


How to configure Cura to run the Z probe before heating

In Cura (and Slic3r), you can 100% customize what the printer does before printing your actual model through custom start/end g-code.

If you navigate to the Start/End-GCode tab in Cura, then select start.gcode, you can see what operations are run before each print begins. Lines prefixed with ; are comments, and does not affect the printing in any way.

Basically, we want to manually tell the printer to do the auto leveling before heating up the nozzle by editing the g-code in start.gcode.

G-Code generated with the default start.gcode:

If you try to slice some model with the default code found in start.gcode, you will get something like the following (depending on your printer):

; CURA AUTOMATICALLY INSERTS THESE TEMPERATURE CODES

M190 S70.000000 ; Set bed temperature to 70 degrees
M109 S210.000000 ; Set nozzle temperature to 210 degrees

; THESE ARE THE CODES FROM START.GCODE (for a ROBO 3D R1)

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling

; THE ACTUAL MODEL BEGINS HERE

;Layer count: 168
;LAYER:0
.
.

Analyzing the g-code output

At the top of this code snippet, we can see that Cura automatically inserts g-code for heating up the bed and nozzle to their respective temperatures with the M190 and M109 g-codes. This means the printer always will heat up the nozzle before reading the start.gcodes that we set. However, if we manually override M109 code in start.gcode, the M109 at the top will automagically disappear from the generated g-code output! (Thanks, @TomvanderZanden!)

We could therefore use the auto-leveling command G29 before manually setting the nozzle temperature with M109; specifically, we want to add M109 S{print_temperature}, which reads the Basic -> Print Temperature-setting in Cura, and replace {print_temperature} with it automatically.

Manipulating start.gcode:

In order to postpone heating the hotend till after probing, start.gcode could be something like:

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset     <-----   ( YOU HAVE TO ADJUST THIS, READ BELOW)
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling
M109 S{print_temperature}    ;set nozzle temperature, and wait for it heat up

And that's about it! You can then use these codes in your start.gcode. However, you probably will have to recalibrate your z-prove offset.

Adjust z-probe offset:

Normally, auto-leveling is done with the nozzle heated for a reason: when the nozzle is warm, it expands slightly, moving closer to the bed. You might therefore have to adjust your Z-probe offset with the M565 command (as demonstrated in the snippet) to account for the increase in nozzle length when warm.

Remember:

Remember that when editing g-code in this manner, you will take full control of how the printer operates. You could therefore very well do something unintended, so keep the power switch close!


What kind of silicone glue should I use to attach my thermsistors?

The main requirement here is temperature resistance. A 3D printer extruder is very, very hot, and will easily exceed the ratings of many typical silicone glues in normal service or during a runaway event. (You should always plan for an eventual thermal runaway. They're alarmingly common with cheap kit printers.) Even high-temp glues will not survive the temperatures an extruder can reach at full power if the firmware locks up.

Muffler putty is popular for fixing thermistors because it's one of the few widely-available ways of attaching a thermistor that will easily withstand the heat. In fact, it will survive after the aluminum hot block melts. (Yes, that can happen.) But muffler putty is fairly brittle, and has a different coefficient of thermal expansion from aluminum, so there is some risk of the thermistor detaching over time. I really don't recommend puttying thermistors used in extruders -- many people do, but it's less robust and less secure for long-term use than the proper hardware fixing methods found in modern hot block designs like the E3Dv6. The temperature sensing is sufficiently fast and accurate simply by putting the thermistor into a pocket in the hot block, without any kind of potting around the glass bead.

High-temp RTV glues are very suitable for heated build plates. Pretty much any RTV (such as from your local automotive repair store) is fine if you just want to attach a thermistor to a plate. However, silicone heaters will require silicone adhesives. I've had good success with Dow Corning 736.


Is it safe to print a rotor insert for a centrifuge using a makerbot?

It's difficult to determine if the buckets are fully enclosed, but I suspect that they are. The enclosure into which the inserts are placed will provide some structural support.

3D printed objects have relatively low torsion strength, but a reasonable compression strength, especially with high infill levels. One could consider that the item placed into the insert will transmit force to the bucket, but likely not compress to the point of destruction.

Allowing also that the forces on a swinging bucket centrifuge are "downward" or when in use, "outward," the primary location of force will be the bottom of the insert you create. It appears that the main function of the insert is to keep the tubes separated, rather than to keep them supported.

Create your inserts, but leave an open bottom. Attach a suitably strong panel to the bottom of your created model with epoxy.

Another thing to consider in this project is the mode of failure. What can go wrong? The tubes in the insert should not explode, but if they do, is it merely cleaning up that follows? I suppose one aspect of the inserts is to keep the tube walls in column, to keep all forces linear to the tube cylinder, rather than out of line. It's easy to keep pennies in a stack under pressure, but don't push on them edgewise.

You can and should perform a test on a 3D printed insert. Make one that is relatively flimsy, say a six-tube unit and spin it without tubes in place. Test it prior to the spin for tube fit, then test it after the spin. If there is deformation, you would not be able to insert the tubes after the spin.


This is a known issue (WIFI fine, but no internet connection to install plugins) and could well be related to firewall or blocking of certain ports by your Internet Service Provider (ISP).

I quote from the provided link (OctoPrint issue tracker):

  Disabling the connectivity check did fix the repository access. The check was configure to use google (8.8.8.8) on port various ports (22, 53, 5000, etc. Not sure the default). I do not have any firewall set up outgoing, unless it is buried in the Raspberian install that I am not aware of.

  I stumbled across this issue with the same problem, and I fixed the connectivity check by changing the IP to OpenDNS with 1.1.1.1 instead of the Google DNS 8.8.8.8 set by default.

  For me this issue was resolved when I update Date+Time on the raspberry...


Marlin customization; additional output after G0/G1 move

Which section handles G-code processing?

In Marlin Firmware, G-code is processed by procedure void process_parsed_command() in file Marlin_main.cpp

  I need to generate an additional digital output

A G-code that is able to set a port value is M42.

You could write a procedure that schedules  certain port after a G0 or G1 move, recompile and upload the firmware.


Tevo Tarantula extruder motor clinking sounds

I'd advise against adjusting the driver's potentiometer without also taking a voltage reading and doing the math to find out what current is being driven through the stepper. Having the current too high can damage your driver or stepper. But having the current too low can cause that clicking as the stepper internally skips.

The filament may also be too cold, and is providing too much resistance to being forced out the extrusion nozzle.

Or the filament may be getting stuck in the area just above the heating element in your hotend. This is called heat creep, and can cause jams. Based on your description it looks like this is happening to your hotend.

Or your nozzle may be clogged with dust and contaminants. Check the diameter spec for your hotend and look up an appropriate cleaning method (for ABS you can soak in acetone, for PLA there are tiny drill bits to clear out debris).

Or you may be trying to print too fast. Lowering the print speed means plastic is extruded slower and there's less pressure built up in the hotend. I would check on the other options before adjusting print speed, because it can fix the symptoms but may not be the root cause.


Why do my prints have such a rough surface? (Taz Lulzbot Pro)

This looks like Z axis offset is set incorrectly. That should come with an appropriate setting from the factory (for my printer it's -.85mm), but that setting can get lost a few ways; you can either reenter the factory setting (if your print head hasn't been opened up), or recalibrate -- but if doing the latter, be sure the nozzle is clean, or the calibration routine can cause the problem you're trying to solve!

If You've Never Reassembled Your Toolhead

Check that the settings from the QA record are still installed.

Your printer came with a sheet of paper including all the measurements that were taken when the calibration prints that came with it were created. If you updated firmware with several versions of Cura LE between the Pro's release and the fix for the relevant bug, the update would have cleared the EEPROM with those settings. A good place to start is to put them back in.

The full set of settings isn't just Z axis offset, but also offset between the two heads, and backlash measurements -- but if you lost Z axis offset, you're likely to have lost all of them, so it's worth going over the full set.

If You Have Reassembled Your Toolhead

Clean the nozzle, and rerun automatic calibration.

"Clean the nozzle", that is, by bringing it up to temperature and using the brillo pad that came in the little toolkit with the printer.

When I say "automatic calibration", I'm not referring to the leveling routine that runs with every print, but the longer routine that's accessed under "Measure automatically" button in the backlash or nozzle offset "Advanced Settings" LCD menu.

The automatic calibration routines determine when the head is in contact with the calibration cube via electrical conductivity. If there's anything on the head that can stop a circuit from being created the moment it touches the cube, that's going to throw off the calculated locations.

(BTW, if your printer doesn't warn you on the LCD display that the head should be clean and unloaded when running this operation, you're probably on old firmware; update Cura LE, and let it upload new firmware for you).

The test print at https://download.lulzbot.com/TAZ/TAZ_Pro/v1.0.3/sample_prints/calibration/vernier_dim-test.gcode (which is perhaps more compact than the one that came with your printer, if you got one of the very first units off the assembly line) pairs with the instructions/documentation in steps 15-19 at https://ohai.lulzbot.com/project/calibration-taz-pro/quiver/. That said, the Z-axis measurements are mostly pertinent for the very beginning of step 15, measuring the height of the skirt around the print before it starts. (You'll want to either pause or cancel the print to remove the skirt for measurement in your calipers; the sample gcode delay isn't long enough to do it carefully otherwise!).

And Don't Be Afraid To Call Support

Customer service from folks who know their stuff and are around evenings and weekends are part of what you're paying for when you buy a Lulzbot. The above is taken from my experience diagnosing quality issues on a TAZ Pro, but support knows what they're doing much better than I do; don't be shy about taking advantage!


Can I use photoelectric sensors to make auto bed leveling on a glass bed?

3D printers like the German Reprap (see image) already uses a photosensor for homing the axes.  The trick will be leveling the leveling sensors.
However, if you use an optical sensor measuring distance, you could mount it on the hotend like we do digital indicators (drop gauge). See Bed leveling method?
You would want a resolution of about 0.01 mm.  That method will keep you planer to the movement of the hotend.  For automatic leveling the photosensor needs to input to your software.
If you want to permanently connect the photosensor to the hotend, probably the most practical communication method would be USB, which could supply power as well as communication to eliminate batteries.  The USB cable could run in the path of the other hotend cables.  Less weight on the hot end is if you could remote the laser and detector from the electronics.
If only attached during leveling, batteries and wireless connection is better.
I'm finding more digital drop gauges (second image below, data in cable is USB) with computer interfaces than photosensors.  Many of the photosensors would need to interface with a meter first.  Because a  drop meter makes physical contact, it's not practical to leave on the hotend during printing.


You are experiencing layer shifting, please check the tension of the X-axis belt, driver current.

A more elaborated answer is found here.


My endstops have 4 female plugs, but the examples on the RepRap Prusa i3 Site have 3; what are each of them for?

The website shows exactly what each wire is for.  Both middle wires are ground, the wire on the same side as the lever is the signal wire and the last wire is the power wire.


Homing and mesh probing are 2 separate actions, by setting #define MULTIPLE_PROBING to 3, you inherently create 3 slow probing points for the mesh probing (not the homing probing), with 2 you get a fast/slow probing action.
Everything is possible, but, that means that you need to dig into the sources; not changing the configuration constants. That is not for the faint hearted.
I've seen the responses of fast and slow probing in action, usually the difference is not existent or very very small, like one or two hundredths of a millimeter, I seriously wonder if it makes sense to use more than 2 probing points.
Please note that a damaged bed may benefit more from increasing the probing array amount (from 3 x 3 to 4 x 4 / 5 x 5). The number of probing points discussed earlier only dictates the amount of probing actions in a single point; if the sensor hits the bed the probe measurement is done, if it hits again, the value should more or less be the same (give or take the accuracy of the sensor), I do not see what damage to a bed would imply more probing measurements in a single spot. The only rationale would be if the sensor itself has a large inaccuracy with an error that is not systematic, but random. My BLTouch (original) is pretty accurate and repeatable, I've had more issues with all those cheap knock-offs.


Turn off OctoPrint server after starting print from SD card


Show generated support structures in Cura

Select the View Modes Button in the upper right hand corner, and select Layers.


The first extruder unit appears to have an error the firmware can't detect, which is why TEVO thinks the issue with that extruder is the heat sensor. If the sensor's reading hot relative to actual temp, the block will be too cool to reliably extrude, while the printer won't think anything's wrong and won't try to heat the block more.

However, I'm surprised the extruder can push any amount of any type of fil through the nozzle at room temp, which makes me think there's also some user error here. Non-contact temp gauges like IR guns can be bad at accurately checking very localized temperature; I'd recheck the extruder at what the printer thinks is working temp, but use a contact thermometer like a multimeter with a thermocouple (the Extech MN35 is inexpensive and works well for most hobbyist uses).

The second extruder has a detectable error. Either the sensor is again faulty, but this time reading 0 V (which usually equates to 0 °C), or the heating element is faulty and can't warm the block. Either way, the printer can command as much extruder heat as it wants, the sensor never gets above room temp much less to operating temp, so the printer eventually gives up and tells you there's an extruder heating problem.

This printer-detected heating error is a little easier to troubleshoot because the printer can help you. If the hotend gets to working temp as measured externally, but the sensor reads well below it, the sensor is the problem. If the hotend does not heat, or heats very poorly (like only getting into the 150-ish range when trying to heat to 200), it's the heating element. Both the heater and sensor could be faulty, but the combination of two failures is less likely by simple probability, and it's easier to diagnose the sensor issue with a working heater, so if the heater's not heating, fix that first.

It's possible, even probable, that a combination of parts from the two extruders will give you a working hotend, however you have to know which parts are working, and those parts have to be separable (as in you can remove the needed part from one assembly and put it in the other without destroying the part or either assembly), which at this pricepoint is honestly not a guarantee. The info provided in the question isn't quite enough to say which pieces of each assembly should be combined to give you a working extruder head, but the above tests will tell you.


Which 3D printer to print heat-resistant material?

Using an Ender 3 for high temperature materials is possible but you need to enclose it to be able to heat the air up to 100 °C.
It's quite involved and it would be much better, if it's something you do seldomly, to have the parts printed professionally.
Many thing start warping or breaking at 100 °C.


BLTouch Fails & Scraping at the Left Side of the Table

This left bed side issue could be caused by the poor design of the Ender 3 (portal printer single side Z lead screw and counter rolling guide post) in conjunction with the way the bed is probed and the hysteresis of the gantry. The second photo issue could well a result of an imperfection of the bed, a local bump, which cannot be filtered out with insufficient probing points or the firmware bed leveling option.


The thinnest wall your printer can print is determined by its nozzle size, and will be a little thicker than that nozzle size.

A great challenge when dealing with thin, hollow cylinders is that the cross-section has very little surface area and it can delaminate easily, especially if the tube is long.

You could try printing the tube with a very thick extrusion with, and using only a single perimeter. That would give better gas-tightness and layer adhesion than two, thinner perimeters, but it may turn out too fragile for your application. In that case, you'll need to print additional perimeters. Sticking to thicker extrusion widths would still be beneficial.

At a two centimeter diameter I'd say the single perimeter has a decent chance of working if you handle them gingerly.


Prusa i3 - First layer does not stick and looks jagged

Your nozzle is too far from the build plate. You should make some changes to bring the nozzle closer to the build plate for the first layer. There are a number of possibilities for doing this:

Adjust the Z-axis endstop
Loosen the bed leveling screws
Add an offset in G-code

This will squish the plastic down more, enabling it to stick to the build plate.

With solution (3), you have to be careful that you don't crash into the endstop. This solution works best if your printer homes towards max (and not min) or if you have non-mechanical (hall or optical) endstops.


What is the difference between tuning the speed on the Ender 3 panel, and the Cura Print Speed setting?

You can look under Cura setting to set ' Initial Layer Print Speed ' and ' Initial Layer Travel speed ', you may appropriately set you print speed as you required


It appears that at a certain point, you're running into issues with the extrusion being a bit too viscous / melted causing it to over-deposit or string (fail to retract completely). It also looks like this issue gradually gets worse as you go. This really feels like nozzle over-heating to me.

My troubleshooting steps would go like this:

Make sure my cooling it set correctly and fan is working properly. The nozzle doesn't adjust its temp for changes in extrusion speed. At times the printer has to rely on the cooling to get the extrusion leaving the nozzle to an ideal deposition temp, which is far lower than the temperate of the nozzle.
Check my tool paths to make sure I'm not starting to return to the same X/Y position too immediately when I reach certain layers, not allowing the previous layer to fully solidify. Consider tweaking the slicer or printing at a lower temperate.
Check if there's a lot of variance in print speeds for different tasks (shell, infill, etc). It can be hard for some printers to maintain the right temp for the extrusion about to be deposited if the speed changes too rapidly. If your printer has been heating extrusion rapidly for quick movements and then the speed slows way down, it can struggle to keep the subsequent slow filament from getting overcooked, as it can't instantly cool the nozzle even with proper cooling. Bring the various extrusion speeds closer together.


Before two month ago I tested double-sided tape between bed and glass plate. It's awesome and really works perfectly. No more clips, so I'm able to print to the complete area. And no more slipping. Don't use that much tape, just a little bit at the edges should be totally fine.


Referring to the scratching, this could indicate that the nozzle is a little too close to the bed. This can be caused by a non-uniform bed, but that is unlikely in your case as you have tried printing on different areas of the build plate, this implies that the bed is correctly levelled. Still, the nozzle may be too close while having a perfect level bed (easily checked by using a metal ruler on its side over the bed). You could print an adjustable Z endstop trigger mechanism, there can be a few found on Thingiverse, e.g. this one or this one, it should enable you to fine-tune the nozzle to bed distance by turning the adjustment screw; the following image shows an example:

Note that a recent question has a solution that describes that the rollers had too much play on the profile.


BL-Touch bed leveling seems to produce tilted bed level around Y-axis

The problem with the Tevo Tornado design is that the design is as such that the Z-axis is powered by a single stepper (under the assumption that you have not added a second Z stepper).

This means that the level relies on the rigidity of the X-axis assembly, more specific the play on the guide wheels. Apparently the BL-Touch level determination suffers (the up and down movement while probing) from this design as can be seen from the tilt around the Y-axis direction. This effect causing the tilted level plane is called hysteresis. Now that the Z-axis moves up and down you experience much more problems than using a mechanical switch. The effect is more pronounced when the mass of the hot end carriage is furthest from the Z-axis lead screw.

Note that an extra stepper can also cause tilted level when the second stepper does not move in sync (e.g. missing steps). In such designs, a single stepper (geared) belt driven 2 lead screw has better performance in that respect.


Without any restrictions to your methodology, your objective is easily accomplished. Thingiverse has a truncated icosahedron model available for download and printing.

Because the creator has included in the download the OpenSCAD source files, you could edit it to meet your bed limitations. I've downloaded the source, opened it and found the model is a single hexagon, until you change a parameter from 6 to 5 to get a pentagon. I suspect the assembly is up to the builder to figure out.

It appears that the default is for a 50 mm diameter sphere. Change the 50 in the code to 300 or so to reach your 12" desired diameter.

An alternative to friction welding would be just about any decent epoxy or even a 3D printing pen such as the 3Doodler.


Creating positives for a food-safe silicone mold: safe?

In principle, ABS is safe for contact with (cold or room-temperature) food. The two main concerns specific to 3D printing are, assuming you start with a filament that is not itself contaminated:

Pores and holes in the printed part which may harbor bacteria
Impurities introduced into the plastic during the printing process

I doubt that the silicone mold will capture the pores and holes with sufficient detail to be of any concern (it certainly won't capture the internal structure, only the surface).

That leaves us with 2. It has been noted that brass nozzles contain trace amounts of lead. This lead can contaminate the printed part, which may in turn contaminate your mold, which may in turn contaminate your food. I don't think this is of realistic concern, since we're looking at trace amounts of trace amounts of lead. The nozzle might also have burnt plastic stuck to it (which might be carcinogenic) so you should make sure to do the print with a very clean nozzle and at a temperature that is not too high.

ABS is food safe for contact with cold or room-temperature food. It is however not food safe for contact with hot food, because at higher temperatures the food may leach certain chemicals out of the plastic. Your application is one of low temperature, but silicone is not food and might perhaps leach some contaminants out of the plastic, regardless of temperature. However, this concern is not specific to 3D printing, as it applies to the method of making moulds out of Lego bricks as well. Therefore, making moulds from 3D printed positives does not appear to be different in a food safety perspective from making them out of LEGO blocks.


Bed heating stops when paused by filament runout sensor

There is no easy way to keep the bed heated during pause
Looking at the sourcecode, I am pretty sure that the current version (10/29/2019) keeps the heated bed at the right temperature.
Features are built into the firmware. You need an Arduino and some wires to write new firmware to the built-in SOC. Adjusting the code should be as simple as commenting a single line.
That is some serious shortcoming of the CR-10 S5! I can't imagine a reason why not to leave the heated bed on.
The command that keeps the heated bed at temperature is in Marlin_main.cpp:5664:
Source code link


Optimal rotation can be considered from different perspectives. For example

as little support as possible. This way app tries to orient object so as much surface as possible doesn't overhang and doesn't need support
bed only support. App tries to orient object so all overhanging parts can be supported directly from the heatbed (not from the object itself)

But have a look on Meshmixer as Ryan Carlyle suggested. In this app you can see 3 kinds of auto orientation procedures. Additionally Meshmixer can create angle support and tree-like support.

In terms of mathematics.

I cannot suggest any sources but you can imagine the way it calculates such optimal rotation. Let's say it will be dead simple explanation of the second approach:

Let's get all faces (facets) and let's project their center points on the "floor" (heatbed) or "ceiling". If imagined projection line slices any other faces then rotation is not optimal. App can calculate "a weight" of such orientation and then try to find the smallest weight of all possible orientations.

Of course it's not that simple. App has to manage concavity, which face requires support at all, and many other aspects but in general you can imagine the algorithm.

edit

"as little support as possible" could be considered as easier to imagine "as little shaddow as possible" and the problem can be simplified to projection and ray tracing
similarly "bed only support" could be simplified to "cast shaddows but not on itself"


Bed size and nozzle homing offset in Marlin 1.1.9 firmware

The original Anet A8 has:

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

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

So in your case it would be:

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

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

Tuning the bed to print exactly in the middle so that large prints fit on the build plate is described in question: "How to center my prints on the build platform? (Re-calibrate homing offset)".


How do I find the best settings for a resin?

Since every printer is slightly different (light intensity, for example), you probably want to run one of those 12-spot test patterns where each "spot" gets a different exposure time, then see what time works best.

I found a more general test pattern at Amerilabs Calibration File which may be useful. Not to mention a zillion other test patterns


There are three main options here for Mendel style ZX gantries:

One Z screw and motor, which is similar to a cantilevered design but somewhat more stable because of the opposite smooth rod
Two Z screws and two motors
Two Z screws and one motor, with belt synchronization of the two sides

Of all of these, running two screws off one motor is clearly superior in reliability and user-friendliness. There is no risk of the two sides of the Z stage going out of sync. One motor running at higher current will generally out-perform two motors splitting one driver's current via parallel wiring, because one motor with twice the torque can push much harder when one side of the gantry binds up or hits a rough spot.

The only real downside to the single motor, double screw approach is that it requires more engineering and parts. A closed-loop timing belt must be run between the two screws, with associated pulleys, tensioner, and support bearings. In comparison, using a separate motor for each screw is very simple. It adds a stepper and a shaft coupler, but saves a lot of vitamins and design complexity.

Two-motor, two-screw solutions are lower-cost and simpler to design. That's why they're used. End of story.

One-motor, one-screw Mendel style printers are quite rare. The passive side of the Z mechanism does add a little bit of stability to the X stage, but not a lot. It's possible to rack the X stage out of square with the bed and bind up the gantry. In order to work at all, they require a very wide/tall bearing footprint on the driven side to resist torque exerted on the driven side by the weight of the X stage and extruder carriage. So it's true that they don't have synchronization issues, but additional design challenges and undesirable flexure modes are introduced. It's much more common for one-screw designs to simply cantilever out the X stage, like a SmartRap or Printrbot Simple.


How may I identify the firmware in use on my 3D printer?

Send M115 to the printer. This command is

  Request the Firmware Version and Capabilities of the current microcontroller.

Response example:

  ok PROTOCOL_VERSION:0.1 FIRMWARE_NAME:FiveD FIRMWARE_URL:http%3A//reprap.org MACHINE_TYPE:Mendel EXTRUDER_COUNT:1

For more info see here, RepRapWiki- G-code - M115: Get Firmware Version and Capabilities.

Of course, this isn't guaranteed to tell the truth, just whatever your generic clone firmware had in its source code.


On this thread, Does anyone tried Palette 2.0 on Creality Ender 3 or Ender 3 Pro?, there are a couple of useful links:

There is a video, albeit for the CR-101, but that should be of help: YouTube - Setup Guide: Creality CR-10 with Palette 2;
In addition, this Facebook group, Mosaic Palette, Palette+, Palette 2 (Pro) Users, apparently has some users who have paired their Ender 3 with the Palette 2.

However, with respect to your question about the flow rate and steps/mm, there isn't much info out there about that, and no one seems to have experienced similar issues, but your issue might have something to do with profiles - which, as you haven't mentioned them in your question, it is hard to know if that might be the issue or not.

In the same thread, this post, states:

  I use it with the Ender 3.  There is a profile in Canvas and Chroma for it also.

This link here, Chroma for Palette 2, states that after using Cura, you then need to load the G-code file into Chroma v3.1, after having selected the appropriate profile. However, if you use Canvas, then there is no need for Cura nor Chroma, as Canvas can slice. This link goes through the whole process for Benchy.

At the risk of repetition, the process for preparing the print, post-slicing, is also given here, from Multicolor 3D Printing How To: Using the Mosaic Palette+ with the Creality Ender 3, albeit slightly different from the link above:

  Setting Up Chroma:

  When you load up Chroma, you’ll be presented with a blank canvas ready
  to be filled with your 3D creations.  In the top left corner, make
  sure that you have the Ender 3 selected from the drop down menu.
  After this you can click Load Print.  From there you’ll be presented
  with your gcode files that you have on your computer.

  In this example we will be selecting the butterfly-1.gcode file, and
  clicking Open.  From here Chroma will be compiling and arranging the
  settings for the gcode file to be displayed.  This might take a minute
  or more.

  Selecting Your Colors:

  Once the loading is completed, you will be presented with the 3D
  rendering of our butterfly!  This butterfly will be in 4 randomly
  selected colors by default, but we will be changing this next!  To
  change the colors, navigate to the top of the screen where you will
  see 4 colored circles, and drop down arrows along with each circle.
  These circles represent the colors of each tool head.

  To change the color, click on the Tool Head Colored Circle, and your
  options for color will appear, we’re going to select Black for our
  first color.  After this, you will want to select the Default PLA
  Settings by clicking the Drop Down Arrow to the right of the first
  Tool Head Colored Circle.

  As we make these changes you will notice that the 3D rendering of our
  butterfly will change to our corresponding colors.  Repeat this
  process for the remaining 3 Tool Heads, remember to use the Default
  PLA Settings for each Tool Head.

  Saving Your Project:

  After you have selected all your colors, you will click Save for
  Printer in the top right corner of Chroma.  From there, name your
  file, and click Save.  You will be then presented with a loading bar
  as Chroma prepares our 2 output files.  One of the files will be an
  adjusted gcode file that has added the purge tower we just modified,
  and the other file will be a file that goes straight to the Mosaic
  Palette+.

  Printing Your Project:

  Once the files are ready, you will be presented with a screen that
  says “Ready to Print!”.  On this screen you will be presented with the
  files you have created for your project, which for us are the
  butterfly-1.msf which goes to the Mosaic Palette+ and the
  butterfly-1.msf.gcode file which is your newly created gcode file.
  You will also be presented with “Materials Used” for the project,
  “Number of Splices” for the project, and “Number of Pings” for the
  project.

  After this, you will need to turn your Creality Ender 3 on if it isn’t
  already.  After making sure that you have all your components set up
  and assembled correctly, then it is safe to begin the printing
  process.

  Depending on your specific project will determine how long the
  printing process takes.  But once your printing process is complete
  you will be presented with your beautiful multicolored 3D butterfly
  (or whatever your project was)!  After printing is finished, you
  should let the project cool before you attempt to remove it from the
  tray. Once it has cooled you can now gently pry the project off of the
  tray.

Footnotes

1 The CR-10 is, on a broader level, an Ender-3 with 2 lead screws and a slightly different board.


What do I need to do to recalibrate my printer after updating the firmware?

If it is Marlin based or RepRap based, many parameters are stored in EEPROM memory. A G-code command M502: Read parameters from "configuration.h" would reset all parameters that can be changed to their default value as defined in your configuration file. Don't forget to follow the M502 command with a M500 command to store the loaded parameters to EEPROM. This would overwrite all previous settings.

From the linked source, M502:

  This command resets all tunable parameters to their default values, as set in the firmware. This doesn't reset any parameters stored in the EEPROM, so it must be followed with M500 if you want to do that.

You can send these commands over a terminal interface to the printer using applications such as Pronterface, OctoPrint, Repetier-Host, and probably many more, or store the commands in a G-code file (e.g. a text file with a .g extension) and print the file using an SD card.


How do I know if my BLTouch is faulty or firmware is faulty?

Try calibrating your Z offset
Based on this answer it sounds like the flashing red means there isn't enough clearance between your bed and your probe for it to operate.
You might try raising your Z axis up a bit to let the probe achieve the minimum clearance necessary for deploying the probe. My guess is that your Z-offset isn't quite right and it isn't raising up enough to allow that minimum clearance.
I recommend calibrating your Z offset and see if that resolves the issue.


Lack of smoothness / homogeneity in several first layers of print

There are several solution you should check in this order :

1"

The part is printed too close to bed: measure the first layer with a digital caliper to mach your first layer thikness, usualy 0.35 mm like so:

2"

Verify that there is no bevel on the first layer if the part looks like this : U make it look like this  ■ and see if it changes something.

3"

Maybe it is a cooling / temperature problem. the bed should be at max 70 °C for PLA and check the cooling of the noozle.

4"

Check for an over extrusion problem! When you ask for 100 mm of filament, does it push 500 mm through? If so change this soon.


Thermal degradation of 3D printed ABS (and other plastics)

To answer your question briefly: No, ABS will not survive for a duration of at least one year at 80-100°C.

If you look at the chart above (from Tiganis/Burn), you'll notice, that the blue line (ABS 90°C) is decreasing. I did an eyeball calculation of the graph and arrived at the equation (J for break energy, h for hours):

J = -0.002h + 14

Based on that, a break energy of 0 Joule will be reached after 7056 hours or 294 days.

If you roam around internet forums on 3D printing, you'll find that that value is in the ballpark of people's experiences. I remember one case, where someone put out a piece of ABS in the sun and it broke down after a year.

Tiganis; Burn: The Effects of Heat Aging on Acrylonitrile-Butadiene-Styrene (ABS) Blends. In: Lacasse; Vanier (1999): Durability of Building Materials and Components 8, pp. 912-922.


How to make a steel mold from a 3D print in high detailed resin?

Unless you have proven demand, you should start with aluminum tooling. It's much cheaper than steel, and (I'm assuming you want this for injection molding) you can produce quite a decent amount of parts from aluminum tooling if you handle it carefully.

Why do you want your tooling to be based on a 3D print model? Typically, for greatest accuracy, the tool and die company works from your original CAD work that you printed the 3D model from.

In terms of companies, Protolabs does plastic injection molding: https://www.protolabs.com/injection-molding/plastic-injection-molding/


Does CuraEngine get some advantage slicing cylinders to move the head back to the center twice on each layer?

I have seen this behavior a lot in CuraEngine slices. Mostly older versions of the slicer. Not sure if they actually improved it.
You could see this a lot in long and complicated forms. I also don't like this. Not only for unnecessary moves, but also for imperfections due the start in the middle. Sometimes you can tell where the filling started and which segments were printed separately.

I think it comes down to several issues here:
1.) Starting from the middle saves a move at the beginning of the fill. It probably starts the fill where is stopped printing the perimeter. If the change you want would be implemented, a move after the fill printing would become necessary to start at the right position. So therefore the benefit of faster printing might be gone already.

2.) For the sclicer implementation it is hard to do. The algorithm that computes the print moves for the fill just knows the start point (end position of last perimeter line) and the points that define the area. It does not know if the area is round or square or shaped like a "C" or like a "Y". Usually the slicers have a preferred direction that changes with every layer. This way the fill lines of different layers cross each other and that probably increases stability.
I have seen slices where the fill started several times in "C" shaped prints.
Also if you think about the "Y" shape. If you start at the bottom then you can print horizontal lines and fill the form until you reach the split. Now you have to decide which arm to print fist. And then you have to do the other arm separately.
As you can see a perfect way to fill all possible shapes in one go is impossible.
And defining an algorithm that can fill any shape with only knowing the outline is already hard. I assume the solution has to do with splitting a form into segments and to then fill each segment after the other. Even your example form has probably more sections than only the two obvious ones.

What could be done would be to "optimize" the sequence used to fill the segments. Basically adding a computing step that checks if by introducing a move to the best starting point the fill of the segments could be done in one move.

Again that is probably rather hard to do, but CuraEngine and other slicers are open source, so if you or somebody else would like to invest some time to get this feature that would be great!


Screen stays black on new Ender 3 V2 after power-on

I had the same issue.  I think I flipped my display cable around and it worked.  Maybe I got lucky and it was simply reseating the cable.


How to heat up a Printrbot's hotend using an SD card

Sure there is. As you use Cura, you can grab any G-code file (you already have) and use it to set hotend temperature (delete the actual printing part from the file) to get something like this:

;FLAVOR:Marlin
;TIME:102
;Filament used: 0.0573674m
;Layer height: 0.2
;Generated with Cura_SteamEngine 3.3.1
; M190 S60 ;-> this sets the bed temperature so we can comment it out
; the next line sets the hotend to 200 degrees Celsius
M104 S200

As every line that starts with a semi-colon is a comment and is ignored by the printer, M104 S200, would be the only line you need in the printout file.

If you're interested in knowing more - look here: G-codes on reprap wiki


In the video, there is this still from 0:32:

The labeling is iPro 8000, which is a 3dSystems resin printer using SLA technology.


I suspect, as I am wont to do, that your problem lies in the STL created by SketchUp. It's an unfortunate aspect of that program that it creates non-manifold models which creates troubles such as this.

Consider to load your STL file into a program suitable for showing flaws (and repairing them) to determine where the failure points lie. I'm fond of Meshmixer, but there are many others such as Netfabb with which I am less familiar.

If you don't want to check your STL file, attach it to your post and I'll take a shot at it.

You would also want to consider to learn a new program if you intend to perform such 3D modeling. Fusion 360 has a popular following. I'm a fan of OpenScad, but use Fusion 360, Meshmixer, Blender (only a tiny amount) and anything else I can utilize for model repair, creation and editing. Build a large repetoire of different programs and get the best of all worlds.

SketchUp has a strong following primarily because it's rather easy to use. The same can be said of a few other programs, but SketchUp really generates trouble when it comes to 3D models.

TinkerCAD is very much like SketchUp and will give you better final results. OnShape is another popular modeling program, but I have zero exposure to that one.

It's not out of the question that there's a bug in Cura that's causing this problem. You are not limited to one slicer program, and you can check the results of another slicer such as Slic3r, Craftware or others.


In the file Marlin_main.cpp on line 7131 there is a switch case:

(To turn on line numbers go to File>Preferences and click Display line numbers.)

case 'M': switch (codenum) {
  #if ENABLED(ULTIPANEL)
    case 0: // M0 - Unconditional stop - Wait for user button press on LCD
    case 1: // M1 - Conditional stop - Wait for user button press on LCD
      gcode_M0_M1();
      break;
  #endif // ULTIPANEL

  case 17:
    gcode_M17();
    break;
  etc.....

Adding another case with an unused number such as 5 and then the code you want followed by a break should do the trick. Ex:

case 5:
   doABunchofCoolStuff();
   myservo.write(thebestposition);
   break;

-AC


How is the E argument calculated for a given G1 command?

Basically, all movements are (small) straight lines, the volume of a straight line is easily calculated as you already guessed.

To calculate the volume to be extruded you multiply the following parameters:

the layer height (h)
flow modifier (e.g. as pertectage) (SF)
extruder nozzle diameter (d)
distance of the straight line (l)

With this volume you can calculate how much filament you need to extrude. To get the length (thus the length defined by the E parameter), divide the obtained volume by surface area of your used filament by:

π * (filament radius)2 or alternatively π /4 * (filament diameter)2

To sum up, the value of E is given by:


How do you make sure you have the right voltage on the trimpots on an A4988 stepper driver?

I want to add some points and clarifications to the answer that @darthpixel already has given. Most information you need is in there, I want to give some more practical advice, since that is what I understand you're question is asking for. I'll start with some points on the more theoretical side, though:

notice that the Vref is not a voltage that is passed on to your motor. The described pipe analogy is very good, but the Vref is outside of this analogy. The reference voltage Vref is only used to set the current limit. This seems confusing, but has electronic reasons. One can understand the major (side-)benefit easily: Voltages are very easy to measure externally, because you connect your voltmeter in parallel. If you wouldd want to measure the current, you would need to get your ammeter in series with the circuit.
The stepsticks work by supplying the needed current for movement of the motor (current, because it works by creating magnetic fields), the voltage the stepstick supplies is 'just' supplied as high as needed to feed the desired current through your motor (determined by its resistivity/impedance). This just as an add-on.

Now to the practical side and the application of darthpixel's answer and the above:
You want to measure the reference voltage to limit the current that produces the torque, but also heats up the motor - let darthpixel's advice be your guide: if you can't touch it because it is too hot, then there is too much current, i.e. Vref is too high). To do so:

Set your multimeter to volts, range can be autorange or something bigger than 2V.
Connect one lead of your multimeter to the ground of your Prusa i3 controller board's power input (I use the screw that fastens the ground input of the RAMPS). The other lead goes directly to the center of the trimpot on the Stepstick. I took the best of my paint skills to create an image showing the process:
Note the value you read (12V power has to be on)
Use an insulated screwdriver and turn the trimpot slightly.
Get a new reading by repeating the measurement process.
Repeat the whole process until you get the desired Vref.

Warning: While I've had no problems turning the trimpot while everything was switched on (with my DRV8825 drivers), you should switch the power supply off when doing so.
The described process allows only for a stepwise and rather slow setting of the Vref, but this is the easiest way I've found. I have read of people that use a crocodile clamp to attach the multimeter to the screwdriver for a readout while turning.
If you don't have any idea whether you need more or less current on the motor at the moment, check your resistors on the board and calculate the Vref you should need (see darthpixel's answer for the formula). I would however just do what darthpixel already suggested: figure out the trimpot position by ears and touch: klicking motor: go to higher Vref. Can't touch the motor for more than some seconds: go to lower Vref. It might be a lengthy process, but in the end you'd need to do it anyway to get the best out of the printer!


Resources on getting horus/ciclop scanners to work?

I don't know if this will work but BQ commercializes a Ciclops scanner and have some downloads in their webpage (https://www.bq.com/en/support/ciclop/support-sheet).

There are different Horus and driver versions, maybe some will work for you(?).

Hope it helps!


What defines the speed at which a motor is retracting and how can it be changed?

You instruct the printer to move from a certain X-Y position instructed by the previous move, to X=50 and Y=50. While moving at a feedrate of 100 mm/min, it will also retract 10 mm of filament (if the previous extruder distance was 0) during that move. If the movement distance is large, the retraction is slow. If you started from X,Y = 49.99,49.99 it would be very fast.

If you want a fast retraction, first move to a position, and than retract fast, so in separate commands. Do note that we usually do it the other way around: first retract fast and then move, this way there is less oozing of the nozzle.

To sum up, in your G-code command, the speed of retraction depends on the path of travel (the length and speed defined by the feed rate F). If it is fast retraction you are after, you should split the command into two separate commands.