text:
Calibrated Esteps Causes Extruder Skipping
I have replaced the stock extruder on my Ender 3 with one of these:

The grip gear has a smaller diameter, so I calibrated the esteps as per the top google search: Extruder Calibration – 6 Easy Steps to Calibrate Your Extruder...
If I set the esteps so that it's spot on with 100 mm of filament is used up when I ask it to extrude 100 mm, then during a print I get the occasional skip on the extruder.
If I dial it back a bit and set it so that it extrudes 90 mm of filament when I ask it to extrude 100 mm, then I don't get the skips.
In both cases the print looks normal.
I've tried changing the nozzle as well in case there was some blockage, but it doesn't make a difference.
Should I just go with the under extrusion? or is these likely to be some other problem that isn't apparent?
I didn't notice any issues with the stock extruder and the stock estep setting, but I didn't think to check the calibration.

Why did you replace it? Likely this one is just worse than the stock one - incapable of producing the same pressure reliably.

If you don't notice serious quality issues from a 10% change in extrusion amount (which is huge), it's probably not a good idea to make random changes to your printer.

I replaced it because the stock one made of plastic was starting to wear at the point the filament was being pulled in, also the spring was too weak and didn't grip the filament strongly enough. There is nothing wrong with the new one... much better than the old one.

If filament can slip in it (probably because the small gear has too little contact surface) it's not better.

The filament isn't slipping in the gear.... the stepper motor is skipping steps.

@R.. I had to replace mine after the plastic one broke. I chose the aluminium design of the original extruder though. This design is "double drive", pushing th filament from both sides. This has a better pushing characteristic but also is more prone to shredding the filament.

Increasing stepper motor current can also help, if it is not already set to the maximum for that motor.

@BG100: Ah, I misunderstood what you meant then. I think my initial tone may have been a bit hostile - sorry about that. What are the final steps per mm compared to the original extruder?

@R.. No worries :) Original extruder was 93 steps per mm, and new one is 143.4 steps per mm. I'm using Klipper firmware and annoyingly it uses mm per step, so the actual setting is 0.00697.

@BF100: More steps per mm should decrease the motor torque requirements so odd that it's missing steps... BTW I'd compute it exactly from mechanical properties rather than experimentally.

Consider that the extruder is skipping because it is unable to push filament at the rate you are requesting. By reducing the steps to ninety percent, you are reducing the rate by that much as well.
Typically, a skipping extruder is an indication of clogging, but it does not have to be clogging caused by particulates jamming the nozzle. At higher rates of filament travel, one needs higher temperatures to compensate for the cooling at those higher rates.
Consider to reduce the print speed to ninety percent of the current figure, or raise the nozzle temperature by five to ten degrees (in steps) to see if you'll get rid of the cold blocking that may be causing this problem.

I'm using the same filament at the same temp as I used when it was stock (PLA at 200 °C), not really had a problem before the new extruder, but that maybe because the new extruder is doing a better job of pushing the filament through... so thanks for the info, I will experiment with slightly higher temp and slower speeds.

This answer contains information on the relation of print speed and filament pressure and as such skipping steps! This should be incorporated in all those guides that tune filament extrusion length! I even forget that myself sometimes...

Technically, it is not clogging if the nozzle can't handle the flow at this temperature. Changing the temperature changes the flow parameters (especially viscosity) in the nozzle.

If you have followed that guide, you have extruded the 100 mm through the heated nozzle.
This results in your steps/mm value to also be influenced by hot end temperature, speed during the extrusion test, and potentially pressure on the extruder grip gear.
Try recalibrating your extruder, but this time, disconnect the Bowden tube either at the hot end, or at the extruder.
Once you have the steps/mm set to something only related to the mechanics of the extruder, you can calibrate your flow rate - which you should usually do per filament type and even spool individually.

Note that the speed in the guide is very low G1 E100 F100, so the filament extrusion is not calibrated to print speed/pressure of the filament!

Thanks for the suggestion of removing the bowden tube... I really like the idea of being able to totally eliminate any resistance at the hotend, like @0scar says though, it does extrude it very slowly... it takes about a minute to extrude 100 mm. However, it doesn't skip when calibrating.... only subsequent prints following the calibration.

Let's set up the basics of extrusion and then go over what has effects on the results of calibration.
Let's discuss the extruder as an item on itself first, then look into how the nozzle and filaments impact it.
Extruder
The extruder basically is a spinning motor that pushes along filament at some extrusion rate $e_r [\frac{\text{mm}}{\text{step}}]$ and it's related factor $s_e [\frac{\text{step}}{\text{mm}}]=\frac 1 {e_r}$ via a hobbed gear - or in the case of this extruder via a pair of synchronous hobbed gears. The motor in an Ender 3 is a typical NEMA17 with $s=1.8\ \frac{\text{deg}}{\text{step}}$ (and up to 16 micostepssee here). It spins a hobbed gear, which has an outer diameter $d_o$, and the teeth are cut to a depth that generates the inner diameter $d_i$. Somewhere between these diameters is the effective diameter $d_e$. So, using basic geometry we get:
$e_r=\frac{C_e\times s}{360°}=C_e\times0.005\frac 1 {\text{step}}$ wherein $C_e=\pi d_e$
$s_e=\frac {0.005\ \text{steps}}{C_e}$
Filament effects
Now, that we know the theoretical setting of mm/step or steps/mm ($e_r$ and $s_e$) for the firmware, we need to discuss how the filament impacts this. First of all, the calculation above holds only true for pushing even thickness filament that the teeth bite in evenly. If the filament does change in thickness, the effective diameter of our gear changes, and as a result, the extrusion changes. A thicker diameter filament does not get dug in as deep, the effective diameter goes up, and thus the circumference $C_e$.
Similarly, different filaments do have different hardnesses.see also here A test on hardness was done for this paper, exploring Type A and Type D Shore hardness. Type A is a flat tip, while D is a sharp tip. The last is somewhat similar in the effect to the hobbed gear. The difference means that the teeth don't bite the same, affecting the effective diameter of the hobbed gear $d_e$.
This behavior is filament dependant
Nozzle behavior
The next part we have to look at is the behavior in the hotend and nozzle. In perfect conditions, the heat zone would melt up the filament fully and ensure a stable, laminar flow through the nozzle as it necks down the material from its starting diameter to the extrusion width.
Assuming our filament stays laminar, then the flow of material in is exactly the same as the flow out, nothing stutters. But if the factors in the pipe are off, then we get turbulent flow.further reading
So, the flow is not necessarily linear, and we can easily identify several factors that impact the behavior in the nozzle. Let's do a quick rundown of different factors:

Materials do expand differently (with factor $\alpha$) under heating, thus impacting the volume of the material in the nozzle, which in turn impacts the volumetric flow rate and pressure in the nozzle. This is temperature and material dependant.further on this
The viscosity of the material has a huge impact on the flow behavior. Most plastics viscosities are temperature dependant but also material dependant
The nozzle shape can have an impact on the flow rate to a small degree (mainly if it is uneven or rough). The most influential factor, however, is the nozzle diameter, which directly impacts flow rate.

How all that effects flow in a nozzle
Let's assume flow is ensured and that we can ignore friction of the nozzle on the material. Then we get the Freeman formula for Flow:
$Q=Av$ where Q is the Volumetric Flow in 0.001 m³/s, A the area of the nozzle in m², v is the velocity at the exit in m/s.
$A=r^2\pi$ is the well known circle formula, r is the nozzle radius, which is half the nozzle diameter
$\ \ \ A_{0.4\text{ mm Nozzle}}=1.256\times10^{-7}\text{ m}^2$
$v=\sqrt{2P}$ is the Bernoulli's Equation, telling us that the flow velocity is pressure dependant (see Nozzle Behavior point 1). As a result, we get that the volumetric flow through our nozzle depends on the pressure like this:
$Q=\sqrt 2 \pi\times r\times\sqrt P$
$\ \ \ Q_{0.4\text{ mm Nozzle}}=1.777\times10^{-7}\text{ m}^2\times\sqrt{P}$
The pressure in the nozzle is the sum of the pressure generated by the force with which the material is pushed in by the extruder ($P_F=F/A'$) and the material expansion in the nozzle ($P_e$).
As we established up in the Extruder part, the extrusion rate is somewhat dependent on the effective diameter of the hobbed gear $d_e$. The effective diameter of the hobbed gear also has an effect on the pressure in the nozzle: how deep the teeth cut into the filament determines the force they transmit. The other factor that impacts the force transmitted via the filament is the extrusion speed $v_e$, thus we write $F(d_e,v_e)$. Atop that, the actual filament diameter $A'$ plays another factor, as explored under filament effects. The thermal expansion, which is dependant on the material coefficient $\alpha$ and the Temperature increase $\Delta T$ adds to the pressure in the nozzle, thus we write $P_e(\alpha,\Delta T)$. So the expression for the volumetric flow out of the nozzle is
$Q=\sqrt 2 \times r \pi \times\sqrt {\frac{F(d_e,v_e)}{A'}+P_e(\alpha,\Delta T)}$
If this flow is laminar and non-turbulent could be read from the accompanying Reynolds number $Re$, which is dependant on the (dynamic/kinematic) viscosity $\mu=\frac \nu \rho$ (rho is the density). Viscosity is temperature dependant, thus we write $\nu(T)$. Last factor in the formula for the Reynolds number is the hydraulic diameter $D_H$, which for our case boils down to the diameter of the nozzle, so $D_H=2r$. For our case this gives:
$Re=\frac{2r\times Q}{2 r^2 \pi \times \nu(T)}=\frac Q {r \pi \times \nu(T)}=\frac {\sqrt 2}{\nu(T)} \sqrt {\frac{F(d_e,v_e)}{A'}+P_e(\alpha,\Delta T)}$
tl;dr / Conclusion
Ok, the theory is all nice, but how does all that affect our print?!

It's a good idea to calibrate for one material and use that as your benchmark and then create profiles for your other materials measured against this benchmark
If our temperature is lower or higher than in calibration, the flow is different and, as a result, the extruder-steps don't match up. Instead of altering the steps, we should adjust the volumetric flow value up or down to match to the particular material. Usually, it is called either Flow or extrusion multiplier in the software. In the calculations above it is $Q$.
A different material or material mix (like a new color or different brand) has a different thermal expansion, thus we adjust the flow/extrusion multiplier in our profile as needed.
If we swap the nozzle, we get a different flow characteristic. Most of the flow calculations for such change is already done in the slicer, we usually don't need to alter the profile further, but tiny changes could be done by adjusting the flow/extrusion multiplier value.
extruder clicking can show over extrusion, but it also can show that the print height is not achieved as it is calculated for and point to errors in bed leveling if happening in the first layer(s) and to errors in the z-Axis if it happens later in the print.

I have this same extruder on my Voxelab Aquila.
Default E-steps are 93. Using the printer menu to feed 100 mm of eSun black PETG filament I measured a feed length of 66 mm, so 34 mm under extruded.
Using the formula 100 / 66 * 93 gave me a new E-step value of 140.9.
Upon re-testing, I found I was now over extruding by 34mm.
This formula is missing something. I've chased E-step values up and down before so decided to try something different.
Since the new E-step value was over extruding by the same as the original E-step under extruding value, I added the original E-step value to the new E-step value and took the average. 93 + 140.9 / 2 = 116.9.
I re-tested this value and found it was over extruding by 0.4 mm. Since I was still over extruding slightly I calculated a new E-step, 100 / 100.4 * 116.9 = 116.4. Took the average between the 2 again and got a final E-step value of 116.6.
Hope this helps anyone else having issues calibrating E-steps.


text:
Large SLA Build Plate
So I purchased a ready-made z-axis. There are four holes for 6 mm screws. Two pairs of holes are 100 mm apart, with each pair of screw mounts 20 mm apart from each other. Basically, think rectangle with four mounting points on the short edges.
I want to make a 19 inch by 19 inch build platform. Turns out, two 45 mm T-slotted aluminum extrusions fit pretty nicely in the gap between the screw mounting points.
Questions:

How should I go about making a build platform for my Z-axis?
Is there a best practice for designing these or a place to buy parts?

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
What causes these blobby corners
Contrary to a lot of other corner related problems (where the corners are bulging), I seem to have a different problem where the corners (ONLY) seem to stick out and appear blobby in the x/y plane. This only happens for corners/edges with a fillet radius greater than 3-4mm and only in the x/y plane. Anything smaller than that radius (such a sharp corner/edge) seems to be fine.
Any ideas what could be causing this?
Conditions

CR-10s
Ultimaker Cura v4.2.1
Material: ABS
Nozzle size: 0.4mm
Bed temp: 80 °C (I can't go any higher than this)
Nozzle temp: 250 °C

What I've tried already

increasing nozzle temp from 240 to 250 °C (seemed to help slightly?)
reduced flow rate from 100 % to 80 % - had a negative effect on overall print quality

Thank in advance for any ideas/suggestions

Hi Dane, welcome to 3DPrinting.SE! Have you calibrated the filament extrusion (e.g. over-extrusion can cause blobs) and what print speed are you using? From the rounded cube it appears that the speed is too high, the individual lines in the shell are not touching. Please update the question by [edit] rather than replying in a comment. Thanks!

The corners are actually the only part of the second print that looks right - the straight paths in between are extremely under-extruded.

I suspect you are printing through a usb or network connection,  and the communication rate it's to slow for any of many reasons.   A curve consists of many tiny linear movements,  each requiring a command exchange between the PC and printer.
If you can,  try printing from an sd card plugged into the printer (I'd the printer is so equipped).
This could be worse if the uses a Bowden extruder,  since there is now compression and windup in the filament.

This solved the issue. However, I'm very surprised as to why. I have been printing with the Octoprint OS on the raspberry pi for several months now without any dramas. I feel like there must be something more to the story here. Perhaps a recent Octoprint firmware upgrade or similar which has slowed the baud rate? or increased the amount of processing required per head move?

150 °C is way too low for pretty much any material commonly used in 3D printing, especially ABS. I'm quite surprised anything comes out of the nozzle at all rather than just griding in the extruder gear. Most ABS filament manufacturers recommend a nozzle temperature in the range 210-250 °C. From your images, it looks like you have a lot of serious extrusion problems aside from the corners that should all go away if you print with the right temperature.

Sorry. I meant 250degC. Typo.

So I have the hot end set to 250degC. It was originally 240degC. increasing it marginally helped. But I feel like the issue is more than just a temperature problem. Why would this only be shown in the corners (and not appearing at sharp corners, only filleted corners)

You think I should up the temp again?

Your temperature doesn't seem too bad. Make sure not to use layer cooling / only very little of it. How fast are you printing?

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Resin burns to transparent sheet
I recently bought a Kelant s400 LCD DLP 3D printer. I am using Wanhao resin (green) to print, using the recommended settings from Wanhao. I was printing a hollowed out cube as a test and it printed fairly ok, except one corner didn't print. Please see the attached photo. Turns out the corner stuck to the transparent sheet and not the rest of the print (base layers printed fine). Why would this happen and what can I do to prevent it?
Thanks

The first thing to check is the transparent sheet itself - are there any defects (rough patches, creases, grazes) in the area in which the print was stuck to the "transparent sheet"[1]. This will cause the newly cured layers to cling better to that sheet than they should in that area, and likely caused the failure.  If the sheet is marked in any way in that area, you likely need to replace it.
This kind of failure happens when the forces holding the newly cured layer to the transparent sheet are weaker than the forces holding the part together/to the build platform. These issues are usually to do with exposure settings - underexposed layers are less likely to bind together well and more likely to fail.
Since the majority of your part printed correctly, it looks as though your exposure settings are probably about right.  If there are no defects in your transparent film though, there may be unevenness to the spread of light across your LCD that means some areas on the build area cure less well than others. You don't mention what slicing software you are using, but many slicers allow for a 'greyscale mask' that can compensate for this by making the image displayed on the LCD screen less transparent in the areas that the UV output is stronger so that the weaker areas can catch up.  Note that after applying such a mask, you may need to alter your layer cure times to compensate.

[1] This transparent sheet is likely FEP film - essentially transparent flexible teflon,  though I can't actually find that specified in the product details for this model of printer


text:
PyCNC - Z steppers screaming
I'm transforming my Anet A8 printer to Raspberry Pi driven using PyCNC. Things seem to look promising so far apart from the Z motor doing nothing but making screaming-like sound when supposed to be moving (In pycnc enter command z10).
I was playing with the config, changed the Z related velocity and step values. Didn't see any difference.
When I start pycnc and enter command g28 (all axis home) the Z needs some help... Here is a video.
Has anyone got experience in PyCNC? Or any idea?

That sounds like you're trying to use too much acceleration (the really relevant thing in kinematics rather than velocity), but it seems you can only set that for all axes at the same time.

@towe Nice spot in the FW of PyCNC! For reference in Marlin default config.: #define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 } for X, Y, Z and E respectively.

Thank you both. I have managed to make the Z motor work by adjusting the STEPPER_PULSES_PER_MM_Z to 50. I'm not sure what this exactly is. ♂

authors: Александр Геращенко


text:
What is the thermal conductivity of various 3D printing filaments?
Thermal conductivity is how well a plastic conducts heat. Most plastics don't conduct heat very well at all, which is what allows them to be 3D printed. That being said, there are a lot of potential use cases for highly thermally conductive filament, assuming you could print them. A commonly discussed one is computer heatsinks. Similar heatsinks could also be used for stepper motors and extruders in 3d printing.
To get a good picture which plastics are useful in such an application (like mentioned in question: "Water-cooling stepper motor with aluminum block"), I need to know what is the thermal conductivity of the commonly used thermoplastics.

Answering your own question is a win/win situation for everyone ... however, you should edit your "question" and actually make it a question to conform to how the Q & A actually works. Ask the question within the question, making the body of the question for specifics about the question, then leave a comment about the rest of the fluff. Just a suggestion.

Just infuse the plastic with diamond dust :-) .  (If this were possible, it would probably work very well. Diamond is a fantastic thermal conductor)

I wonder how it would compare to the graphite / graphene / carbon nanotubes values listed below

All values are in W/(m*K).

PLA: 0.13
HIPS: 0.20
ABS: 0.25
PETG: 0.29
PEEK: 0.25
PLA with copper: 0.25 (see discussion)
PETG with 40% graphite: 1.70 (ansiotropic)
TCPoly: 15
Steel (not a 3dprintable plastic): 10 - 50

what is the source of Table 1 and 4?

Do you have a source for the amazing performance of TCPoly that's not their marketing materials? :-)

I'm sorry I havent provided the source for the tables yet. I meant to originally, it just slipped my mind. It's a review of thermoplastic polymers that I havent  been able to refind.

And nah I dont know much about TCPoly, except that its base is TPU. If i had to guess, it's TPU and either graphite or carbon nanotubes. Most filaments with this mixture dont bother even measuring thermal conductivity, from what I gather. So it would be interesting to see how TCPoly compares to one of these. TCPoly is kind of expensive, but they say they do provide test prints very quickly which might make it easy to test without having to actually go through the process of printing this unusual material

I just dont understand how a material with that high of thermal conductivity could be printed. If it conducts heat, the filament would melt in the cold end, causing jams. I would expect a water cooled hot end to help lot with this, although if you already have that, then that's about 50% of what TCPoly would be good for for.most hobbyists anyway (at the risk of sounding lame, of course this plastic has tons of other applications)

I have been looking around for a PETG with 40% carbon as I think it would make a great battery housing for an electric skateboard. It has been difficult to find and they don't list thermal conductivity in specs. Which filament is tested here?

I think they probably made the filament from mixing PETG pellets and graphite and maybe some dissolver like acetone (maybe), then put it through something like a Filastruder. I know there are easy methods for doing it online however you should know the filastruder costs like $400 to $500

Just pointing out that the list in the answer does not directly correspond to the table images provided. PETG (polyethene terephthalate) with 40% Carbon fibre is not the same material as PI (polyimide) even if the thermal conductances might seem similar between the list 1.7 and table 4, 1.73. Also, TCPoly's filaments at best are around 8 W/mK once you actually read their specs, and the thermal conductivity varies per plane extrusion direction. The alleged value of 15 W/mK is given for their proprietary print services.

Also, I did not find a reference to his k value for PLA with copper in the 3DHubs link provided.
Basically, the values provided in his answer could be right, but they are certainly not justified with the sources provided. That said, this information is not simple to find at least for commercial filaments.

Trimet3d has a Nano diamond PLA with a claimed thermal conductivity 3-5 times that of PLA. The diamonds are sub-microscopic and smooth. See https://www.tiamet3d.com/product-page/ultra-diamond-pla-1kg
Primarily they seem to be doing it to gain strength.
I would prefer larger diamonds for higher thermal conductivity. It would be ferociously abrasive even for a diamond nozzle.  It would also limit the thermal expansion.


text:
PyCNC - How to configure for my setup?
I have replaced the main board of my Anet A8 printer with a Raspberry Pi based one, running PyCNC.
After many issues I have finally got to a point where all the motors work as well as heating and sensors.
However I am unable to print due to the E motor seems to run too much. How can I figure out what values should go to the config of PyCNC? I use Cura, maybe a different slicer/gcode format needs to be chosen? Thanks!!
# Maximum velocity for each axis in millimeter per minute.
MAX_VELOCITY_MM_PER_MIN_X = 3000
MAX_VELOCITY_MM_PER_MIN_Y = 3000
MAX_VELOCITY_MM_PER_MIN_Z = 300
MAX_VELOCITY_MM_PER_MIN_E = 150
MIN_VELOCITY_MM_PER_MIN = 1

# Average velocity for endstop calibration procedure
CALIBRATION_VELOCITY_MM_PER_MIN = 300

# Stepper motors steps per millimeter for each axis.
STEPPER_PULSES_PER_MM_X = 50
STEPPER_PULSES_PER_MM_Y = 50
STEPPER_PULSES_PER_MM_Z = 50
STEPPER_PULSES_PER_MM_E = 15

# Mixed settings.
STEPPER_PULSE_LENGTH_US = 2
STEPPER_MAX_ACCELERATION_MM_PER_S2 = 3000  # for all axis, mm per sec^2
SPINDLE_MAX_RPM = 10000
EXTRUDER_MAX_TEMPERATURE = 250
BED_MAX_TEMPERATURE = 100
MIN_TEMPERATURE = 40
EXTRUDER_PID = {"P": 0.059161177519,
                "I": 0.00206217171374,
                "D": 0.206217171374}
BED_PID = {"P": 0.226740848076,
        "I": 0.00323956215053,
        "D": 0.323956215053}

Update: None of the motors work properly. When I try to print a gcode file the motors travel too much an too fast.

I'm not familiar with PyCNC, but generally, first you need to define how much is "too much" and after that you would need to most probably update your STEPPER_PULSES_PER_MM_E with a value other than 15.

Thanks for your comment. This is where I got stuck. I don't know what should be the number for STEPPER_PULSES_PER_MM_E. Actually, turned out all the other motors have this issue. I have no idea how to get these numbers.

Generally you calculate the value, but you can use this one and measure how much extrudes so you can adjust to a new value. You could look into "How do I calibrate the extruder of my printer?" for hints.

Great, thanks, i'll have a look! How to calculate the other values, for the X Y Z motors? This is a common printer, can't i just use the values from .. somewhere? :)

Yes, e.g. here. For the steppers: #define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 400, 100 } for respectively X, Y, Z and E. You've got too few steps configured, so X and Y are twice the speed, Z four times, etc... If those values work, an answer can be composed for you.

I forgot to mention that I have tried with these values, no luck. X Y moves too fast on G28 and Z seems to be just buzzing no movement at all.

Your acceleration is also very high, in Marlin the acceleration values are one third or less the values PyCNC uses; e.g.: #define DEFAULT_ACCELERATION          400     // X, Y, Z and E acceleration for printing moves and values of 1000 for retraction of filament and travel moves.

Unfortunately still no luck. Motors become super fast now.


text:
Where to enable user interface encoder in Marlin?
I am trying to configure Marlin for a Ramps 1.6 board. I have an I2C 4x20 character LCD enabled. I have the LCD working with
#define LCD_SAINSMART_I2C_2004

I have a separate encoder, with push button, but I can't find where to enable it. It seems that combo display-encoder-buzzer boards are enabled as a set. Some common name, like the define I used for the display. But I can't find any useful information that includes a I2C LCD with an encoder.
I'm looking for a configuration that would enable my LCD and encoder, or just some way to enable the encoder by itself.
For some configurations I found the following. But when I connect my encoder to those pins nothing happens when I try it. So I think I need to enable them somewhere.
//encoder pins
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35

It seems that ULTIPANEL must be defined. The code for the encoder was included long ago with the Ultipanel (display and encoder) and does not exist on its own.
#define LCD_SAINSMART_I2C_2004   //  I2C LCD

#define ULTIPANEL                // enable code for encoder.

//encoder pins
#define BTN_EN1 37
#define BTN_EN2 35
#define BTN_ENC 31

I notice that the BTN_ENx definitions differ from those posted in your question. These are the correct pins I guess, or can they be set to any pins, which the encoder is connected to? Also, did you have any links, or sources, for the code having been included and now no longer exists? The statement seems a bit confused. Presumably the code is still included, but requires the #define ULTIPANEL to enable it?

They can be to any available pin. Whatever is used, as long as it is defined the same, would work. I said the encoder code does not exist "on it's own". When the UNIPANEL became available someone wrote the code to use the complete LCD and Encoder as a set. Not as two separate components that would both have to be each selected. This is not a surprise, code grows organically, as is needed. I have not been able to locate the actual code. I got it working and didn't feel like spending more time looking for it at this time. But I do want to find it.


text:
Herringbone timing belt?
I realized while playing around with 3D printed gears that it would be easy to make a 3D printed herringbone-style timing belt and matching gears/pulleys. Would such a design have any advantages over typical GT2 timing belts used in 3D printers? I figure the belt contact around the gear/pulley is sufficient that it doesn't make a big difference to smooth transfer of force like it does with meshing gears, but it would prevent lateral movement of the belt. Are there other advantages (or disadvantages)? I would assume it's harder to produce the belt with conventional manufacturing techniques, but of course it's easy to produce with a 3D printer and TPU or other flexible material.

At a nearly microscopic level, the herringbone belt/gear combination will reduce the whoosh effect of a square profile cogged belt forcing itself into a matching profile pulley. Consider a well-sealed drawer or similar shape. Push it into the cabinet at maximum speed and force and the air is going to have a difficult time exiting.
By the design of the herringbone belt, the teeth on the belt are eased into the groove in what amounts to a diagonal motion. This permits the air to be exhausted in a less-abrupt manner.
This is part of the concept of Goodyear Eagle belt systems.
Part of the sales pitch is quiet, another part is precision, which I expect falls into the self-centering aspect of the design. Yet another described characteristic is reduced vibration, certainly valuable in the 3D printer world.
I've had no luck getting email communications from the manufacturers regarding this type of drive system, but found that commercially available belts and pulleys do not go below a rather large diameter, making that aspect unsuitable for 3D printing. The belts are also high-load capable, very stiff and also quite wide.
You would not want to use TPU or other flexible filament (perhaps obc?)* unless you could be assured of minimal stretch. Any stretching of the belt would inject too many problems into the printer to compensate in practical terms.

*From MatterHackers web site:

OBC (Olefin Block Copolymer) 3D printing filament from Dow Chemical is
  a breakthrough material that is both flexible when printed thin and
  rigid when printed.

As an anecdote, I desired to replace the x-axis belt on my laser cutter with a Silent Sync system. It is believed on at least one laser-cutter forum that the GT style belts cause oscillation which appears when engraving. I had hoped to discover that the Silent Sync belts and pulleys would solve this problem, but the lack of communications with the manufacturer threw a wrench in the works. It's unlikely that I can 3D print a 2.5 meter long segment of belt, as I don't own a White Knight printer, but it's interesting to think that OBC filament might do the job well enough. Too much experimentation, however.

You can print a 2.5 meter long belt on a typical (e.g. Ender 3) bed as long as it doesn't need to be a closed loop, just by printing it coiled.

See for example https://twitter.com/RichFelker/status/1115706744615968769

For material, I've heard good things about using flex-modified PLA (presumably some plasticizer added) instead of TPU for less elasticity when printing things like belts. I haven't done any rigorous tests on it, but anecdotally (based on trying a few prints and playign with the result) it seems plausible.

@R.. I have played with one of those flex-PLA things.  Very flexible, and not particularly extendable (won't stretch).  I haven't tried them in a drive-belt situation.

@CarlWitthoft: I did a tiny GT2 belt just for fun a while back, but I'm thinking of printing a long one using the coiled technique above just to see what happens if I sub it in place of my printer's original X axis belt, i.e. whether print quality is noticably/measurably worse. If I do I'll probably post results as a question/self-answer.


text:
Nail polish remover that won't dissolve ABS?
In Finishing sunken text in 3D prints, I found that nail polish works great for filling sunken lettering in 3D-printed parts, but the procedure for using it requires removing the excess from the non-sunken surface using nail polish remover. For PLA, acetone works fine, but with ABS the acetone will obviously dissolve the ABS too (and from my experience trying to get polish off plastic toys made of ABS, it mixes the polish with the ABS really nastily in the process).
Is there an alternate nail polish remover that's suitable for use on ABS? Ethyl acetate based ones, maybe?

Why not use something else?  I often paint/fill with craft/clothing paints, many of which are latex - based.  easy to wipe or rinse off with water until fully dried.

@CarlWitthoft: Given Trish's answer that's probably a good idea. I don't have an immediate need for this; it's just that nail polish worked so well (easy to remove excess from surface while leaving plenty in the lettering, without damaging part, and cheap and readily available) that I wondered if it could be adapted to ABS.

First of all, Nail Polish comes in 2 types: Acetone based, and acetone-free. The latter is based on Ethyl Acetate filled up with alcohol and water. Sadly, Ethyl Acetate also dissolves ABS, so it is not an option. However, the acetone-free nail polish remover can be used to smooth PLA to some degree. Anyhow, we look for something that is putting Nail polish into solution but not ABS, so it can neither be among the able ketones (like acetone), nor an acetate ester, nor be aniline.
Next up, Turpentine. Turpentine is a crazy mix of chemicals that we know to be able to turn most glues to goop and remove nail polish too. Sadly, Turpentine too can dissolve ABS, and it has been used in this fashion to create ABS Slurry/Cement as a bonding agent.
But what do we actually have in nail polish that needs to be put in solution? Well, to a good part, most nail polishes are a Nitrocellulose lacquer. To keep it in solution, Ethyl Acetate (already ruled out) and Butyl Acetate are used. Sadly, that is an acetate ester, so nope, no gains here.
So, we are left with one way: Mechanical removal. Nail polish is known to bond quite ok, but conventional nail polish lacquer (not the gel stuff) also is known to chip, and we can use that. Letting the lacquer harden and then using a sharp knife o remove most of the surplus, then polishing it up to very fine 1000 grit sandpaper is a possible way to go without needing to open the chemical toolbox. For the last postprocessing step, very short exposure to acetone vapor should restore the surface and put it to shine, including the lacquer.
Other fillers?
An alternative might be other filler materials. For a white filling, white Valejo putty might work, which is an acrylic bound marble dust filler, which can be wiped away with a wet cloth. It doesn't shrink, so gives flat surfaces. It could be colored with other acrylic paints, but the base color is marble-white.
Tamiya Basic Putty is based on Ethylbenzene and often used with ABS models as a gap filler. It is available in several colors. As a downside, it does shrink a little during bonding. Ethylbenzene is not a solvent but incidentally, the same stuff that is used for making ABS so should be safe for the model.

Kinda disappointing but not surprising.

@R.. added some other filler materials that might work nicely.


text:
Writing G-code: Audible Alert at end of print
Often, the pre-generated G-code is enough for start and end. However, sometimes we want to have something different. In this case: how to generate an audible alert of something like 4 bleeps at the end of the print, after putting the printer into the end position and when the bed has reached a "safe" 30 °C?

Let's put the parts one by one:

Wait for bed temperature being at 30 °C: M190 R30
Play Bleep for 1/5th of a second: M300 S440 P200
Wait for 1/5th of a second: G4 P200

That gives:
M190 R30
M140 S0
M300 S440 P200
G4 P200
M300 S440 P200
G4 P200
M300 S440 P200
G4 P200
M300 S440 P200
G4 P200

Just for 0scar:
M300 S1396.91 P400 ;f7
G4 P400
M300 S1661.22 P600 ;as7
M300 S1396.91 P400 ;f7
M300 S1396.91 P200 ;f7
M300 S1864.66 P400 ;b7
M300 S1244.51 P400 ;es7
M300 S1396.91 P400 ;f7
G4 P400
M300 S2093.00 P400 ;c8
M300 S1396.91 P400 ;f7
M300 S1396.91 P200 ;f7
M300 S2217.46 P400 ;des8
M300 S2093.00 P400 ;c8
M300 S1661.22 P400 ;as7
M300 S1396.91 P400 ;f7
M300 S2093.00 P400 ;c8
M300 S2793.83 P400 ;f8
M300 S1244.51 P400 ;es7
M300 S1244.51 P200 ;es7
M300 S1046.50 P400 ;c7
M300 S1567.98 P400 ;g7
M300 S1396.91 P1600 ;f7

Cool, I'll implement it as soon as you post how to play this! ;)

@0scar There you go. Beverly Hills cop.

Lol! I will give it a try!

Trish's version is good but wait for bed temperature being at 30 °C (M190 R30) before setting the temperature to 0 °C (M140 S0)
So this is my version:
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
G1 Y150 F5000 ;move completed part out
M84 ;steppers off
G90 ;absolute positioning
M190 R30 ;waits until cooling to 30 °C
M300 S300 P1000 ;beep
M300 S300 P1000 ;beep
M300 S300 P1000 ;beep
M300 S300 P1000 ;beep
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off

S perimeter is "this or more" - 60 is more than 30, so triggers S.

ups yeah my bad..I was talking about the M190 R30 gcode but - hey - you used the "R" right so my fault..I'm gonna edit my answer

Yur order of commands in the revamped... You do realize that you set the bed off (M140 S0) and then demand the printer to target 30°C after that and not turn off the bed again?


text:
G-code commands gets multiplied by random number
The G-code sent from Octopi to my printer gets multiplied at the end of every row.
The corresponding code out of Simplify3D do not have that multiplication.
This results in a always Max speed print.
1 month ago all worked perfect.
Have anyone seen this problem before? How to solve?

Welcome to 3dPrinting.SE! According to this answer, the asterisks at the end followed by a number is just a checksum, used to ensure what's going out is what's coming in ... this should have absolutely no affect on how your printer behaves.

Thank you @PAULSTER2. And I though i searched the web :). Then I'll have to find my problem with the printer not reduceding the speed at for example first layer.

I believe that everything after the "*" is a comment.  From the random variation, I speculate that the comments for Octoprint are a check code.  For other host programs, it is a sequence number.
@oscar linked to a previous answer in a comment which shows that it is a checksum.  I will need to check the next time I run Repetier Host, but that seemed to be a sequence number.  Please see Oscar's comment (and upvote it).

Please look into What is the purpose of asterix (*) in Gcode? to read about the asterisk character in a G-code.


text:
Reprogram Marlin to assign endstop pins to arbitrary tasks [Arduino Mega]
Can someone point me out an appropriate entry code for this task in Marlin source code?

Apparently, given one

has already enabled USE_<AXIS>_PLUG (for example
<AXIS> = XMIN) in Marlin's Configuration.h,
one can add an additional define (for example <AXIS>_ENDSTOP_CUSTOM) in
Configuration.h and
make this block the else statement in an
<AXIS>_ENDSTOP_CUSTOM existence check, with the positive case being your
arbitrary task.

The function that gets executed in the standard case in the linked block is PROCESS_ENDSTOP, so cloning it would be a good starting point to make a PROCESS_ENDSTOP_CUSTOM task, too.

Interesting - presumably you could then execute both the current endstop task (stop moving, indicate zero, etc) and some new tasks (launch cruise missiles, start playing Fast& Furious on the large-screen monitor).


text:
Prusa i3, MK3: Firmware updated to 3.8.0. Display shows white blocks
About the printer:

Prusa I3 MK3 [Sintron]
Arduino Mega 2560 (just replaced)
Replaced LCD / Smart controller
FIRMWARE 3.8.0

Steps I have already tried:

Replaced faulty Arduino
Failed to flash firmware with PrusaSlicer

avrdude-slic3r: Could not open port: /dev/cu.usbmodem1421

Connected using Pronterface
Replaced LCD Display / Smart Controller

I replaced the Arduino on my I3 MK3 and have tried to flash firmware V 3.8.0. The AVRDUDE logs in Prusaslicer say the flash succeed. I haven't gotten any response from the printer. I also replaced the LCD display / Smart Interface to see if it was faulty.
The screen displays the same block-bar pattern. The heat bed starts to hear up, as well as the extruder tip, the extruder fan also runs. There is no response from the dial on the LCD display / interface. When I try to engage any of the stepper motors using Pronterface, nothing happens.
I have also already read this this post. I am hoping that the print shield isn't fried.
This is the log output after attempting to flash firmware using Prusaslicer:
avrdude-slic3r -v -p atmega2560 -c wiring -P /dev/cu.usbmodem1421 -b 115200 -D -U flash:w:0:/Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex:i

avrdude-slic3r: Version 6.3-20160220-prusa3d, compiled on Sep 16 2019 at 02:08:32
                Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                Copyright (c) 2007-2014 Joerg Wunsch

                Using Port                    : /dev/cu.usbmodem1421
                Using Programmer              : wiring
                Overriding Baud Rate          : 115200
                AVR Part                      : ATmega2560
                Chip Erase delay              : 9000 us
                PAGEL                         : PD7
                BS2                           : PA0
                RESET disposition             : dedicated
                RETRY pulse                   : SCK
                serial program mode           : yes
                parallel program mode         : yes
                Timeout                       : 200
                StabDelay                     : 100
                CmdexeDelay                   : 25
                SyncLoops                     : 32
                ByteDelay                     : 0
                PollIndex                     : 3
                PollValue                     : 0x53
                Memory Detail                 :

                                         Block Poll               Page                       Polled
                  Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                  ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                  eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
                  flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
                  lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                  hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                  efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                  lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                  calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                  signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

                Programmer Type : Wiring
                Description     : Wiring
                Programmer Model: AVRISP
                Hardware Version: 15
                Firmware Version Master : 2.10
                Vtarget         : 0.0 V
                SCK period      : 0.1 us

avrdude-slic3r: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude-slic3r: Device signature = 0x1e9801 (probably m2560)
avrdude-slic3r: reading input file "/Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex"
avrdude-slic3r: writing flash (244050 bytes):
avrdude-slic3r: stk500v2_command(): command failed

Writing | ################################################## | 100% 42.31s

avrdude-slic3r: 244050 bytes of flash written
avrdude-slic3r: verifying flash memory against /Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex:
avrdude-slic3r: load data flash data from input file /Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex:
avrdude-slic3r: input file /Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex contains 244050 bytes
avrdude-slic3r: reading on-chip flash data:

Reading | ################################################## | 100% 31.26s

avrdude-slic3r: verifying ...
avrdude-slic3r: 244050 bytes of flash verified

avrdude-slic3r done.  Thank you.

avrdude-slic3r -v -p atmega2560 -c arduino -P /dev/cu.usbmodem1421 -b 115200 -D -u -U flash:w:1:/Users/james.johnson/Downloads/prusa3d_fw_3_8_0_MK3 (1)/prusa3d_fw_MK3_3_8_0_2684.hex:i

avrdude-slic3r: Version 6.3-20160220-prusa3d, compiled on Sep 16 2019 at 02:08:32
                Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                Copyright (c) 2007-2014 Joerg Wunsch

                Using Port                    : /dev/cu.usbmodem1421
                Using Programmer              : arduino
                Overriding Baud Rate          : 115200
avrdude-slic3r: prusa_init_external_flash(): MK3 printer emitted incorrect start code: `echo: `
avrdude-slic3r: arduino_open(): Failed to initialize MK3 external flash programming mode
avrdude-slic3r: Could not open port: /dev/cu.usbmodem1421

avrdude-slic3r done.  Thank you.

Pronterface error log repeats the same error continuously:
echo:busy: paused for user echo:busy: paused for user // action:pause Extruder fan speed is lower than expected echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user // action:pause Extruder fan speed is lower than expected echo:busy: paused for user echo:busy: paused for user

Welcome to 3dPrinting.SE!

I used Marlin 1.1.9 firmware and compiled and loaded it using the Arduino IDE. The printer works now. I was trying to use incompatible firmware.

Very good first question, welcome to 3DP.SE!

Although Prusa is a brand and the i3 and MK3 the model, it has become a model name for many other brands. Only if you have an original Prusa (you will know as they are more expensive than the clones) you can use the Prusa specific firmware, else you need to revert to e.g. open source alternatives as Repetier and Marlin or many more. Note that the Prusa firmware is based on Marlin, but only applicable to Prusa machines.

I used Marlin 1.1.9 firmware and compiled and loaded it using the Arduino IDE. The printer works now. I was trying to use incompatible firmware.
Marlin 1.1.9
Arduino IDE

Hi James, thanks for posting an answer on your own question! Thanks!

Please don't forget to accept your solution after 48 hours, happy printing!


text:
How to extend Marlin to support additional movement axis?
On a RAMPS 1.4 it is possible to mount 5 stepper motors: X,Y,Z steppers are used for cartesian movements, while E0 and E1 are provided for extruders control.
I want to use E0 and E1 as additional movement axis in a robotical arm.
Is it possible in Marlin and if not, how can one approach the problem?

Klipper supports manual steppers natively, if that could be an option for you

I found many ways to re-task extruder steppers to
behave like cartesian-like controls:

If your application does not require contemporary movement of
all axes, you can enable multiple extruders setting the EXTRUDERS
define in Marlin's Configuration.h.
Then you can select which extruders will be set as E
variable in G1 commands, by sending T0, T1 and so on.
If your application require contemporary movement of all axes,
you can enable the MIXING_EXTRUDERS option (source).
With that option, you are basically splitting the E argument
between steppers. To set the ratio of your movement, you can give

    M163 S0 P0.6    # Set stepper 0 to ratio 0.6
    M163 S1 P0.4    # Set stepper 1 to ratio 0.4
    M164 S2         # Create a virtual stepper with given settings
    T2              # Select the virtual stepper

If you want to configure additional steppers as proper axis,
check this commit.


text:
What are the downsides of high stepper current OR power?
Microstepping reduces the actual torque at partial steps, so I would like to increase the stepper torque as much as possible to ensure better behaviour when high acceleration is needed (I'm installing a heavier print bed).
I know which drivers and which motors I have so I know the rated values and how to avoid exceeding them.
Besides the additional heating, what are the downsides of using higher current OR current, provided (as said) that the ratings are not exceeded?
For example: noise? vibrations? anything else?

There is a downside.
If the current is too high, you lose the linearity of micro-stepping.  If the highest current exceeds the maximum, then the highest current micro-stepping positions will collapse on each other.
If you are within the specs of the motors, there are no motor-related problems caused by higher currents.
But other problems can be caused by increasing the current.  The current must be within the capacity of the motor drivers and their heat sink.  If the drivers overheat, many will simply shut off, causing the motors to not move when they should, which will appear as misalignment on X, Y, or Y.
Another problem could be higher vibration, which would show as stronger ringing when going around corners.  The higher current will give higher torque and higher acceleration, which will cause more vibration.
If you are increasing the current to support a bigger and heavier print bed, you will possibly have other troubles.  Although the higher torque will be countered by the higher bed mass, the higher bed mass may be coupled with longer belts, which will be more stretchy.  You may also be imposing forces over longer frame components, which may cause them to flex more.

What do you mean by "if the highest current exceeds the maximum" -- what is the maximum current? Isn't the maximum current the point at which the stepper and/or its driver physically breaks? What causes the "collapse" of microstepping positions once a given current is exceeded?

@TomvanderZanden I guess that once the magnetic core saturates, the magnetic flux will not be proportional to the current anymore and the microsteps, which are based on accurate ratio of magnetic flux (torque) on two windings, will not be accurate anymore


text:
Does voltage or current affect the time to heat a bed more?
Which of these will heat a bed fastest?

A. 12 V, 10 A power supply
B. 24 V, 5 A power supply
C. Both A and B will be the same (only total watts matter)
D. Depends on the situation

I originally thought Amperage was what mattered until I realized I needed a 24 V power supply to even heat my Lulzbot mini bed by one degree.
I know voltage is used to determine insulation thickness on wires. But thin wires with high current in them also get hot. Is insulation thickness on wires only to prevent you from accidentally cutting through them and shocking yourself, or is it for heat reasons?
I'd like to power my heated bed with a 19.5 V, 5 A power supply. It's just an old laptop charger - I want to reduce strain on my circuit. It's a big bed and I have a few other laptop chargers lying around so I'd prefer to choose the best one.

It depends on whether you are re-using the bed or not, it is actually the resistance of the bed that determines this in conjunction with the voltage (the current you get for free).
Let's say that the heatbed resistance is 1.2 Ω (depending on the heated bed make and model the resistance is typically in between 0.9 - 1.5 Ω), this means that the power can be calculated using:
$$P = U \times I$$
$$U = I \times R$$
combining gives:
$$ P = I^2\times R = \frac{U^2}{R} $$
For 12 V (assumed default printer voltage) this means that the heatbed power equals about 120 Watt (at a current of 10 A). Running that same bed at 24 V means that the power is 480 Watt (at a current of 20 A). So yes, that will heat up fast, at the expense of an increased current, which is pretty high, and should not be attempted without extra resistance in the loop.
If you're using the laptop charger, the current draw equals about 16 A, which the adapter cannot deliver.
This means that you need to acquire a new heatbed that is able to handle a higher voltage out of the box (more resistance), or you need to put additional resistors in the loop, but beware of the currents. Note that heated beds for 12 V/24 V exist, the wiring is different depending on the voltage. Note that such beds heat up faster, it all depends on the resistance and the voltage, but running the 24 V circuit on 19.5 V (160 Watt bed) is definitely an improvement over the 120 Watt bed at 12 V but still requires about 8 A (only applicable to heatbed that can run 12 V/24 V through extra resistance connections).
Be careful with this and be sure what you are doing!

I see, the current here is a dependent variable (as opposed to voltage and resistance which are independent variables). The current draw varies with the resistance and voltage. If i could make a suggestion, change the variable for voltage from U to V (more intuitive for people without an ECE background or from a physics background), and also specify answer D in the first line of the answer.

I calculated most of this and figured out that i could add an extra 1.2 ohms if i used 10 resistors of 10 Ohms each, connected in parallel, and two laptop chargers connected in parallel at 18.5V and 4.3A each. The total watts would only add by about 10% though. So, I will implement this later on if i want to

I just want to add that could still be a huge improvement because there's almost no chance of the circuit overheating if all the heat that normally goes into the MCU instead goes to a separated power supply and relay

^ assuming the MCU is next to the heated bed terminals on the board you're using

Bed heaters look like this
They are rated for use with 12V or 24V supplies. 12V supply would take longer to warm it up, as P = V^2/R.  Say it was a 2 ohm total resistance bed, then 12*12/2 = 72 watts, vs 24*24/2 = 288 watts. And 19V*19V/2 = 180W. Then you work backwards, P=IV or P/V = I to determine current draw: 72/12 = 6 amp, 288/24 = 12 amp, 180/19 = 9/5A.

Power is the thing that determines how quickly the bed heats up, nothing else.
A specific bed will be defined by it's resistance, this is the only relevant factor which is a constant. Of course, you shouldn't run it at a much higher power than it was designed for, or at a significantly higher temperature (these are related, since the bed looses much more energy to the room as it gets hotter).
All 'low voltage' beds will have the same sort of insulation requirements (effectively none, less than 36V is regarded as safe to touch unless the skin is also penetrated).
The wires used to connect to the heated bed must have a significantly lower resistance than the bed itself (similarly the connectors). Otherwise the wiring overheats and the bed has to work harder (making the overheating worse). Using a heat bed designed for a higher voltage (and a matching higher voltage supply) puts less strain on the wiring because the current is reduced for the same power output.
Since the resistance is constant, increasing a 12V power supply to 13V gives a ~17% power increase (with the same bed) because the current also increases.

I would also consider the voltage to be a constant, in the case of a DC power supply. It's the current draw that changes

@steveantwan absolutely not. You can adjust most modular switching supplies maybe 15%, and a DC-DC switching converter can be had for very little $. If you have a specific bed, you have a resistor. I will not have non-scientific concepts introduced into my posts.

In the case of a laptop charger or the big silver boxes most people use, the voltage is constant during operation. The resistance is also an independent variable. Current is the dependent variable.

R u saying in the 12V silver boxes the voltage might change during normal operation? Or only if u modify it?


text:
Why and how am I supposed to change the extrusion multiplier?
The slicing software knows exactly (given accurate E-step, filament diameter, nozzle diameter values) how much cold plastic is pushed in the extruder and how much mass is extruded.
Why should the extrusion multiplier be changed from 100%? Shouldn't the slicer extrude already enough to fill the gaps left by the neighbouring perimeter (see rectangular vs recto-oval extrusion profile).
As result of the "why" question, implicitly comes up the question "how" should I (scientifically, not try and fail) define the extrusion multiplier? it would appear that said value should not be touched if the rest is done properly.
The only idea I can have is to print at 100% infill and then saw the part, to check how big are the voids between 4 neighbouring extrusions. Measuring the wall thickness seems very prone to errors (but again, is such calibration really needed?)

In an ideal world, you will not need to change this parameter once it is properly calibrated.
In a non-ideal world, some filament may be out-of-spec, and some filament may slip when it passes through the extruder. So for a flex (or more flexible) filament, you might increase the extrusion multiplier a little to compensate. If the compensation is material specific, it should be consistent (and might even be advised by the filament manufacturer).
You might want to increase/reduce the multiplier whilst printing the first layer (in lieu of fixing your bed leveling properly).
Maybe you want to fine-tune the top surface (which will be 100% fill) and you prefer to slightly under-fill this (because over-fill results in more noticeable surface defects).
It is for quick hacks or fine tuning, there is probably no scientific approach to setting any value other than 100%.
When it comes to material specific variations (due to melt viscosity, thermal expansion or drive efficiency), there are many factors which affect the tuning. Machine geometry, temperatures, colourants (and other additives in the filament), as well as the base material.

Ok so that value is just a hack when nothing else works, for example to compensate minor differences in the nozzle diameter which cannot be otherwise measured.

Nozzle diameter shouldn't have a 1st order effect on the extrusion volume required in a bulk region.

atop that, different materials behave differently. Some slicers know how and adjust for it, others don't

Your note about the filament dependency is a good thing but they don't usually tell what you should set. What you need to set is dependant on what you print at, your gear geometry and it can be dependant on the color too. It is pretty much a "compensate  agaisnt my benchmark by X" factor

@Trish did see it on a recent product, and was quite surprised. Not sure which vendor. I'll expand a little.

@SeanHoulihane That's new, but a really good one!


text:
What does it mean when they say up to 256 interpolation and 16 micro stepping for the TMC step sticks?
I am planning to get a few TMC step sticks for my 3D printer.
I wanted to know what does 256 interpolation with 16 micro stepping mean, in simple terms?
Does it help? If so, how?

Higher microstepping numbers result in smoother movement.
However, printer control boards are limited in how many steps the can generate per second - as low as 10'000 steps/s on an 8-bit AVR board running Marlin.
To get the benefits of smoother microstepping, without adding load to your control board, TMC stepper drivers support interpolation between each step impulse coming from your control board, up to 256 different positions with which the stepper motor is driven.
You will still have to set up your firmware for the 16 "real" microsteps, the interpolation is only done on the stepper driver itself.

Thanks for your answer
Could you tell me if this is useful , does it improve quality and make the finish of the better ?

@HussainBhavnagarwala Yes, of course. It results in smoother motion.

But torque for intermediate microsteps is greatly reduced: https://www.micromo.com/media/wysiwyg/Technical-library/Stepper/6_Microstepping%20WP.pdf or https://www.linengineering.com/news/in-the-media/how-to-use-microstepping-to-get-more-torque/ or https://www.njr.com/semicon/PDF/application_notes/Microstepping_APP_E.pdf

@FarO Yes - of course. That's true for all microstepping. If you drove the stepper motor with a perfect sine wave (which would be optimal for smoothness), you'd have 0 incremental torque.
It's not really relevant for 3D printer positioning accuracy though, since even 16 microsteps are overkill for that.

That means Interpolation makes extra steps between real input steps?

@user_fs10 Exactly.
For a full step of a normal stepper, you might send 16 impulses to your TMC driver, and the TMC then interpolates these steps to 256 distinct current values it sends through the stepper coils.

In TMC2100 has two configuration, 1/4 step/256 interpolation and 1/16 step/256 interpolation. Im going to use Arduino MEGA for generate pulses. What is the most suitable configuration and what is the reason for that?

@user_fs10 The MEGA can produce approximately 10'000 steps/s running Marlin. About 80% of that will be used on X and Y, 19% on the extruder and 1% on Z.
1/16th mode would offer you better positional accuracy (about 0.0125mm rather than 0.05mm for a 20 tooth GT2 belt) at a maximum speed of roughly 100 mm/s.
Do you plan on printing (much) faster than that?
Perhaps this would be best suited for a new question though.

@towe ... Actually this is not for a 3D printer. I need only silent motors and should be use low processing power.

@user_fs10 In that case it's even less clear - and depends on what speeds and resolutions you're after.


text:
What do I need to go along with my new SLA 3D printer?
I just purchased an Anycubic Photon 3S LCD-based SLA 3D printer. I understand the need for cleaning and curing parts after printing. While the device is in transit, I'm looking to set up a workstation to use it with.
Are there any recommendations for accessories to buy?: Particular containers to store materials in, particular products for cleaning prints (or cleaning the machine), particular lamps for curing, etc.
I'm trying to avoid gotchas, and I've got time to visit hardware stores or make further online purchases before it arrives. I'm not asking about software or computing hardware, just things that I'll want to have "on the bench".

Safety Gear
Gloves, you want to wear them whenever handling any resin. Single-use gloves are best - dispose of them after use. Consider them contaminated after touching anything in contact with resin and toss them before handling anything that shall not get in contact with resin. That includes door handles.
A good idea is to also wear eye protection, as resin in the eyes could destroy them.
While a dust mask might not be strictly necessary, it could reduce your exposure to the fumes of resin. Some resin fumes are known to create hypersensitivity.
It is also a good idea to put the printer into a dedicated workspace that is well ventilated and not your primary living space. I strongly recommend reading both Best way to deal with Resin Printers in your living space and Safe way of disposing resin
Post-Processing Station
You may want to build a post-processing station. Most pieces can be sourced in any home depot store or made from household items, so I don't recommend specific brands but the requirements.
Washing Station
A typical post-processing station consists of at least 2 vats large enough to submerge your print volume in, so you can wash off your print in the first and then wash it with fresh liquid in the second. The typical liquids for cleaning are isopropyl alcohol and sometimes technical alcohol. Some resins demand special liquids that are specific to the type of resin. Best, the washing vats have securely sealing lids. Glass is preferably as it is easy to clean.
To use the least amount of cleaning liquid, you might want to have a pair of needle spray bottles - one for each bath. Label them!
To avoid spillage and ruining tables, a plastic table cloth can be a good addition. Fold it with the contaminated side onto itself for storage. A different solution would be to put the cleaning station onto a ceramic or steel surface, which can be easily cleaned after use.
Curing Station/Chamber
The next step is curing the print under direct exposure to a UV light source, somewhat akin to how gel nails are hardened. Sometimes the sun is enough.
Since the resin residue from washing is now in the isopropyl alcohol (or other washing liquid), treat it as chemical waste. To reduce the waste of material, flock out the resin in it by exposing the liquid to the UV light and filter the result. The result is Isopropyl Alcohol with some remaining contaminants, which can be used again for the first rinsing step.
Other Tools
Besides cleaning and curing the print, you need to remove the print from the plate, so you need a spatula or scraper, which is reserved only for your SLA printer. Never use it on the build platform of your FDM printers and consider it contaminated with uncured resin after use. Best cure residue on it in the UV chamber and then physically chip off the hardened resin before handling it without gloves again.
Similarly, a tool to stir the resin and remove flakes is often used, and some makers have special spatulas to clean the vat. Clean them well after use.
You will want to have some nice snippets to remove the support structures at some spots and some pliers to break them free - safety first.
Needle files and sanding paper for cleanup where the support stuck are a given.
Resin Recovery
Since the resin in the trays might harden over time, you'll want to have some sort of rig to hold the vat at a tilted angle upside down so it can flow out, back into the resin bottle. A cover might also help to reduce exposure and allow short time storage in the machine. Thingieverse has a couple of solutions for lids, pouring and filtering stations as well as other accessories. Look for those that fit your printer.
The Resin should be stored in airtight and light-blocking bottles. As an extra security measure, you should store the resin in a closed cupboard to prevent light exposure through not totally opaque bottles.
More on Re-using resin can be found here
Further Reading/watching

Angus/Makers Muse on 3D printing safety
A rather good guide regarding Resin 3D printing

I would recommend a tub for cleaning the print, some funnels to get leftover resin back into the bottel, gloves, since you really don't want to get any uncured resin on your skin and a strong UV light for finishing the curing process after the cleaning

Only today, an article I read suggested to use caution when handling the isopropyl alcohol after it is used to clean the part. The IPA now contains uncured resin and can cause additional contact problems (health-wise). I have in the past read that it's a good idea to expose the rinse bath to sunlight to cure-out the washed off resin. Any spare bottles should be light-blocking.

@fred_dot_u Curing out the washed off resin works great. Thanks for the idea.


text:
Printing straight from the browser
Are there any browser extensions or printers with OctoPrint built in that would allow me to print straight from the browser?
Thinking of a workflow like this:

Make something with Tinkercad (or other online service)
download stl or obj
select print from bookmark or dropdown menu
print is sent to printer and starts printing

There was the CuraEngine plugin, but it's not really maintained anymore. It should still work though

This works for OctoPI (OctoPrint on a Raspberry Pi).

Add the Samba package to your OctoPrint machine.
open an SMB connection to that machine from your browser machine
Save your STL to /home/pi/.octoprint/uploads on the Raspberry Pi.

You can save directly from your slicer the same way.

Not really what I am looking for. My usecase is a chromebook so I need some way to slice the model in the browser.


text:
Getting wrong measurements on my Kossel Linear Plus after installing SKR 1.3 with Marlin 2.0
So I've switched the Trigorilla board in the printer with a SKR 1.3 with TMC2208 drivers and installed the latest Marlin 2.0, with a config based on this one. You can find the Configuration.h here, the only thing I changed in Configuration_adv.h was the pin of the hotend fan.
Now when let the printer autocalibrate the delta settings, it tells me that the height is 141.35 mm, instead of the actual ~300 mm and I had to set the radius to 78 mm, instead of the actual 115 mm so that it doesn't try to probe outside the bed.
What settings could I have set so horribly wrong that I get these results?

So the problem was that the TMC2208 were wired for UART mode, yet Marlin was configured for standalone, which apparently makes them work, but with completely wrong step sizes. Changing it in the configuration completely eliminated the problem

I would check the "steps per distance" setting.  If the motors were moving more than the firmware thinks, the height would measure as shorter than actual (since the number of steps would be less than the firmware expected).  Similarly, the radius would scale up.
You replaced the controller and motor drivers, so perhaps the micro-stepping is different.
If the result is inconsistently wrong, it could be a dynamics setting, such as acceleration or max velocity.

I thought the same, but I found the error: I had wired the TMC2208 for UART mode, but used TMC2208_Standalone in the firmware: It now uses the correct dimensions after using the right value in the configuration file

@Metalfreak Can you move this to an answer and then accept it once available? This could potentially help someone in the future and comments are not guaranteed to stick around


text:
Vertical lines with no layer adhesion
I have an Ender 3 Pro which I use together with Cura 4.2.1 (and Octoprint). I print in PLA at 180°C. The print bed is set to 70°C. The Bed temperature is lower though, since I use a glas bed on top of the heated bed. I use a print cooling fan at 100%. The layer height is set to 0.2 mm, the line width 0.4mm from the 0.4mm nozzle. My retraction is 5mm at 50mm/s.
Prints come out with heavy vertical lines and no layer adhesion at these lines. I can easily break the print apart. In other spots the print is fine. Any ideas on what could cause this problem?

The Ender-3 has a problem that stems from the way the X-axis is mounted and which can often be a source for "jumping" in the  Z area. Seeing the upper photo, you can see that the bad printing seems to be on one side more than the other, leading me to believe this might be the reason:
Check if the X gantry is orthogonal to the frame on both sides and make sure the eccentric nuts are not too tight so that the wheels roll easily on it, but not spin freely.
A little drop of oil on the Z-rod might also help to remove any binding, making sure that it moves smoothly.
If your layers are bad repeatedly, it also might be a problem with the extruder. Check if the extruder arm is all intact. When I had such an issue that was recurring every 10 layers, I found the lever arm holding the wheel on it broken and occasionally loosing contact. If it is broken, I suggest swapping the extruder assembly for a metallic one.

@Trish's answer is good, and has specific Ender-3 knowledge.
As I look at the picture, it looks as if the number of affected layers is more than one, and in the enlarged picture it looks as if all layers are present, and the layer pitch is generally consistent.
In addition to @Trish's suggestion, check for any binding in the filament that may be slowing the extruder feed.  This could be periodic as the spool turns, filament catching on something in the environment, or filament wound on the spool so that it does not unspool freely.

Thanks! I will check tomorrow! What do you mean by "Layer Pitch"? Is it the height of each individual layer?

I mean the distance between layers.


text:
Does right handed radial fan exist?
I have mounted two radial fan on my printer as a part cooling solution.

As you can see, the fan has input on the left side and blows air down. Does a mirror construction exists? With outlet on the right.
I can even print my own casing, but I'm not sure if the fan will work, if I change the rotation direction.
I'm using this print cooling fan duct: https://www.thingiverse.com/thing:1850163
The fan on the right side has the opening facing the hotend, and there is not much space, so the impeller can catch on wiring etc. If the right fan had opening to the right, there would be no such problem.

Please explain by [edit] why you cannot flip the fan, e.g. the fan cannot be attached mirrored because the opening is then covered by the backplate. Else you simply flip it. Changing the direction of the fan will not work with a new housing.

the integral part of the fan in the impeller, the spinning part. A lefthand fan needs to have also a mirrored impeller.

Looking at the cooling fan ducts, I see no reason why to look for a mirrored fan. For that size they do not exist, I've seen larger fans which are mirrored, e.g. for projectors.

If "wires catching" are the main concern, you could probably print a fan cover that mounts to the two holes instead.

Yes these do exist, but I've never seen them in the size you are interested in, see e.g. these projector fans:

An alternative are fans that attract flow from both sides, like:

but I've not seen them in the small size you are interested in.
Considering the placement of the fans in the printed cooling duct you posted, I see no problem in using 2 similar fans. There is enough free space to suck in air and if you are afraid that the wires are caught by the impeller, you need to properly fasten the wires, ty wraps work wonderfully in securing cables. If I'm not mistaken, you could even use the holes in the fans to secure the cables or otherwise design and print a small bracket for attaching the ty wraps.

https://www.alibaba.com/product-detail/120mm-Small-Squirrel-Cage-Exhaust-Plastic_653850349.html?spm=a2700.7724857.normalList.14.23834341IiKFAu&s=p
After quite a bit of searching the above link from Alibaba was all I could find. I suspect that they don't make them like that because of the direction of the rotation of the blades. Perhaps they are made so that the rotor can be swapped around if necessary.

(https://i1.wp.com/www.homeintheearth.com/wp-content/uploads/2012/11/CentrifugalFanTypes.jpg)
The different curving of the blades affects either the volume or the pressure of the airflow (or both).
Alternatively how about one that is more agnostic:
https://www.amazon.com/2Packs-Wathai-40x40x10mm-Brushless-Centrifugal/dp/B07RNZF97F/

Or just 3d print your own housing!

Worth noting that those "more agnostic" fans are the same as used on Creality printers.

I did also some research on this and decided to go with this solution. This fan only measures 50x50x10mm and is easy flippable: https://de.aliexpress.com/item/1005001894771961.html

Another option was this: https://de.aliexpress.com/item/4001185014078.html

Also found a Thingi, where people tried to flip the existing 5015 blower fans. It seems very difficult, since you have to print the fins in flipped direction and they tend to break.. https://www.thingiverse.com/thing:3716277


text:
Why is some part of the print not aligned?
I'm using a Prusa Slicer with a FlyingBear Ghost 4 and got a wrong printing alignments on the Y axis only on a part of the printing object. What may cause this?
Here are the printed model pictures showing the problem:

Here are the settings:
# generated by PrusaSlicer 2.1.0+win64 on 2019-09-29 at 11:37:50 UTC
avoid_crossing_perimeters = 0
bed_custom_model =
bed_custom_texture =
bed_shape = 0x0,255x0,255x210,0x210
bed_temperature = 60
before_layer_gcode =
between_objects_gcode =
bottom_fill_pattern = rectilinear
bottom_solid_layers = 7
bridge_acceleration = 0
bridge_angle = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 60
brim_width = 0
clip_multipart_objects = 0
colorprint_heights =
complete_objects = 0
cooling = 1
cooling_tube_length = 5
cooling_tube_retraction = 91.5
default_acceleration = 0
default_filament_profile = ""
default_print_profile =
deretract_speed = 0
disable_fan_first_layers = 3
dont_support_bridges = 1
duplicate_distance = 6
elefant_foot_compensation = 0
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
end_gcode = M104 S0 ; turn off temperature\nG28 X0 Y0 ; home X and Y axis\nM84     ; disable motors\n
ensure_vertical_shell_thickness = 0
external_perimeter_extrusion_width = 0.45
external_perimeter_speed = 50%
external_perimeters_first = 0
extra_loading_move = -2
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_colour = ""
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 1
extrusion_width = 0.45
fan_always_on = 0
fan_below_layer_time = 60
filament_colour = #FFFFFF
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_cost = 30
filament_density = 1.25
filament_deretract_speed = nil
filament_diameter = 1.75
filament_load_time = 0
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_max_volumetric_speed = 0
filament_minimal_purge_on_wipe_tower = 15
filament_notes = ""
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_retract_before_travel = nil
filament_retract_before_wipe = nil
filament_retract_layer_change = nil
filament_retract_length = nil
filament_retract_lift = nil
filament_retract_lift_above = nil
filament_retract_lift_below = nil
filament_retract_restart_extra = nil
filament_retract_speed = nil
filament_settings_id = "FlyingBear Ghost 4"
filament_soluble = 0
filament_toolchange_delay = 0
filament_type = PLA
filament_unload_time = 0
filament_unloading_speed = 90
filament_unloading_speed_start = 100
filament_wipe = nil
fill_angle = 45
fill_density = 20%
fill_pattern = stars
first_layer_acceleration = 0
first_layer_bed_temperature = 60
first_layer_extrusion_width = 0.42
first_layer_height = 0.2
first_layer_speed = 30
first_layer_temperature = 210
gap_fill_speed = 20
gcode_comments = 0
gcode_flavor = marlin
gcode_label_objects = 0
high_current_on_filament_swap = 0
host_type = octoprint
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 80
interface_shells = 0
layer_gcode =
layer_height = 0.1
machine_max_acceleration_e = 10000,5000
machine_max_acceleration_extruding = 1500,1250
machine_max_acceleration_retracting = 1500,1250
machine_max_acceleration_x = 9000,1000
machine_max_acceleration_y = 9000,1000
machine_max_acceleration_z = 500,200
machine_max_feedrate_e = 120,120
machine_max_feedrate_x = 500,200
machine_max_feedrate_y = 500,200
machine_max_feedrate_z = 12,12
machine_max_jerk_e = 2.5,2.5
machine_max_jerk_x = 10,10
machine_max_jerk_y = 10,10
machine_max_jerk_z = 0.2,0.4
machine_min_extruding_rate = 0,0
machine_min_travel_rate = 0,0
max_fan_speed = 100
max_layer_height = 0
max_print_height = 200
max_print_speed = 80
max_volumetric_speed = 0
min_fan_speed = 35
min_layer_height = 0.07
min_print_speed = 10
min_skirt_length = 0
notes =
nozzle_diameter = 0.4
only_retract_when_crossing_perimeters = 1
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
parking_pos_retraction = 92
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0.45
perimeter_speed = 60
perimeters = 4
post_process =
print_host =
print_settings_id = FlyingBear Ghost 4
printer_model =
printer_notes =
printer_settings_id = FlyingBear Ghost 4
printer_technology = FFF
printer_variant =
printer_vendor =
printhost_apikey =
printhost_cafile =
raft_layers = 0
remaining_times = 0
resolution = 0
retract_before_travel = 2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 2
retract_length_toolchange = 10
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
seam_position = aligned
serial_port =
serial_speed = 250000
silent_mode = 1
single_extruder_multi_material = 0
single_extruder_multi_material_priming = 1
skirt_distance = 6
skirt_height = 1
skirts = 1
slice_closing_radius = 0.049
slowdown_below_layer_time = 5
small_perimeter_speed = 15
solid_infill_below_area = 70
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 20
spiral_vase = 0
standby_temperature_delta = -5
start_filament_gcode = "; Filament gcode\n"
start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n
support_material = 1
support_material_angle = 0
support_material_auto = 1
support_material_buildplate_only = 0
support_material_contact_distance = 0.2
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0.35
support_material_interface_contact_loops = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = rectilinear
support_material_spacing = 2.5
support_material_speed = 60
support_material_synchronize_layers = 0
support_material_threshold = 0
support_material_with_sheath = 1
support_material_xy_spacing = 50%
temperature = 210
thin_walls = 1
threads = 4
toolchange_gcode =
top_fill_pattern = rectilinear
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 15
top_solid_layers = 9
travel_speed = 150
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
variable_layer_height = 1
wipe = 0
wipe_into_infill = 0
wipe_into_objects = 0
wipe_tower = 0
wipe_tower_bridging = 10
wipe_tower_rotation_angle = 0
wipe_tower_width = 60
wipe_tower_x = 180
wipe_tower_y = 140
wiping_volumes_extruders = 70,70
wiping_volumes_matrix = 0
xy_size_compensation = 0
z_offset = 0

Hi Eric, welcome to 3DPrinting.SE! Note, 210 ℃ is pretty hot for PLA. Your defects look if they are heat related.

@0scar what temperature do you recommend me for nozzle and bed?

First lower the temperature to 200, also look into questions and solutions concerning stringing.

Thx for your answer 0scar, tested a few small model and figured that 195 cause less stringing and the printing stay together way more effectively. For the stringing thing, I did found the retraction feature in the slicer configuration.

Your defect is not related to misalignment at all, it is a lack of cooling and too hot print.

@Trish cooling is at 1, is that 100 % fan? Couldn't find fan speed in the list. If that is true, the cooling duct may be too narrow for proper flow.

This looks like your problems are lack of retraction and having the slicer's "overhangs" setting enabled.
Retraction is absolutely essential when your print has layers with multiple disconnected components, and even when it doesn't, it's usually important. Without retraction, material will continue to flow out of the nozzle after extrusion is supposed to have stopped, producing oozing/stringing and subsequent underextrustion (due to the material already having been lost elsewhere).
The "overhangs" setting is actively harmful unless your printer firmware has "linear advance" feature and you have calibrated it properly. Otherwise, when reaching part of the perimeter that's an overhang, the print head motion will slow down (I think PrusaSlicer does 10-20 mm/s for overhangs), but extrusion will continue at the full previous rate until pressure in the nozzle subsides. This is what's causing all the ugly sagging loops around the tail. Disable this misfeature so that print speed remains constant between overhang and non-overhang parts of the perimeters.

Awesome answer! Thx for the info. I use 3D modeling software for now 3 years but just started to 3d printing 2 weeks ago, but rendering and printing isn't the same thing at all.


text:
What do I need to know to successfully use Taulman/Dow EVOLV3D™ USM Universal Support Material?
Taulman3D advertises a soluble support material (EVOLV3D™ USM Universal Support Material) that handles temperatures appropriate for nylon and is completely safe to flush down the drain. There's very little about how to print with it successfully, however, or how to remove it after printing.
Other than the documented (wide) print temperature range (200-250 °C), what do I need to know?

Advice From Taulman
On emailing Taulman asking for advice (after getting some initial failed prints), they responded with the following:

[...W]e use the following settings. Support:

Flow 115 %
Infill = 8-10 %
2 full surfaces at 100 %
Support speed 50 % of print speed.

What I've learned trying to apply that advice:

Turning the flow percentage up as advised is a good idea.
17 mm/s is definitely much too fast for this material -- at that speed it's more likely to stick to the nozzle than to the base layer -- but at 8.5 mm/s it prints well.
The advice to keep the infill percentage low is solid if you want to be able to mechanically remove any readily accessible sections. I've tried a print with 30 % infill after trying to diagnose a failure (more on that below), and while the print came out well, the support infill couldn't be mechanically removed, and was also very slow to dissolve (see below).

On Support Removal
At Taulman's recommended 10 %-or-below infill percentage, any accessible parts can be mechanically removed. At 30 %, that's not really possible anymore -- though 5-10 minutes in boiling water might get the edges loosened up enough to let the bulk of the material be scooped away.
If you're just going to let it sit in tap water that isn't being circulated, expect that to take a long time, and to have several cycles of scraping out material that's turned to a gel to allow more to be exposed.
Using boiling water speeds the process substantially. If you're using USM with a nylon (or other material that's safe to bring to 100 °C), do that.
How's Its Adherence To Nylon?
Not as strong as its adherence to itself. If you print a ceiling of USM on top of support infill of nylon, it's possible for that ceiling to come away with the print head; thus, it reduces risk of failed prints to use USM for the infill as well.
Thus, the "2 full surfaces at 100 %" advice given by Taulman above isn't (as I interpret it) just about ensuring that there's a successfully-printed support floor or ceiling; it's also about ensuring that there's enough surface area between the support floor and the nylon of the main print for them to adhere.


text:
Which filament to use for an application involving water circulation?
Let's suppose I want to build a water block shaped exactly for my Ubis 13s hot end

(similar to this instructable), or that I want to circulate water around specific objects to be cooled (like Water-cooling stepper motor with aluminum block).
CNC allows the use of shaped radiators/water blocks, but it is too expensive for home projects and requires the ability to make a part at the first or second attempt, to keep costs low.
3D printing allows me to design jackets which are perfectly matched to the intended part, including gaps for O-rings or matching valleys+ridges between the components which also would result in a mostly waterproof seal (just add grease or hot glue...). In this case, water would be in contact with the object to cool and also provide (where suitable) a better interface. Corrosion can be avoided with some additives (in case of aluminium, water should be acidic).
Which common printing material is best for this application? Let's limit the question to materials that can be reliably printed at maximum 270 °C (nylon ok, but no polycarbonate or PEEK, for example).
We are talking about very low pressure pumps, mechanical strength is of little relevance.

Oooh... I hadn't seen that hot end design, but I really like it. A big limiter to print speeds is the mass of the print head. Smaller/lighter print heads allow for faster movements with fewer "ringing" and jerking effects at the changes, and this hot end looks very light. Couple this with the comment where they also allow some fanless printing (perhaps a much larger fan on the frame to help), and you could end up with a very light print head.

My plan is to enclose the printing chamber for ABS/nylon printing (and I use trimmer line, which curls even more than normal nylon), so external cooling would be required. Also, I would like to avoid air flow from the hot end fan so close to the printed part. However, the question is about the material, it may be useful in other cases as well.

As the design is pretty simple from the outside, machining it would be actually pretty simple. Start with the inlet and outlet from the side, flip, start a cylindrical bore of hotend shaft diameter, then bore open to allow flow around the top, add a grove to take a seal topside and in the bottom. put aside. Take a plate, drill core hole, add grove to take seal. Put both parts onto one another in alignment without seal. drill 6 mounting screwholes outside of the grove and tap them in the body. Tap the inlet and outlets. Install the fittings and O-rings. Install hotend. Test.

@Trish thanks for the info, but I don't have the facilities for machining.

You should consider if FFF is the process for creating long term water/coolant tight parts. Constructed from existing tubes as suggested might be a way better solution if you don't have the tools and means to fabricate parts on a lathe.

I saw a lot of selling PETG water cooling pipes.
So PETG will be the best choice considering all factors.
In addition:
You could use any plastic with the oil instead of water for cooling medium.
Also automotive anti-freeze (G11, G12, G13 ...) designed to be non corrosive and much better than water in terms of cooling.

True, I didn' know about PETG tubes. Also the suggestion of using G13 is good: https://www.wolflubes.com/EN_EU/Blog/2016/What-you-need-to-know-about-G13-antifreeze-and-coolant.aspx


text:
Anet A8 not printing over heat bed
My Anet A8 printer will not print over the heated bed.
Once I have prepared a file on Cura and inserted the SD card into the printer, the nozzle (extruder) moves into the top left corner and stays there. I have unchecked "Origin at center" and been over the printer settings multiple times. Yet still nothing.
Any suggestions?
I have included a picture of the settings I am using:

Welcome to 3DPrinting.SE! Please post a piece of the code (30 lines or so), or a link to PasteBin.

What parameters did you use in your slicing software? Sure looks like the location data "thinks" the bed is off in negative (x,y) space somewhere.  Make sure Cura knows you are using an A8, and that you have the X and Y motor drives plugged into the correct outputs on the board.

Please fix your start and end codes by reading this question about not using G28 X0 Y0, use G28 in the start code and G0 X0 Y0 in the end code. Also remove the G28 Z0 from the start code.

I have altered the start and end codes as @0scar suggested. CarlWitthoft, the Cura version I am using does not have a specific selection menu for the Anet A8. I believe I had to specify a custom printer when setting it up. What is your suggestion for the negative (x,y) spaces? - sorry about this, am new to all of this.

do you set the {speed_print} value correct? Otherwise the command G1 Z15.0 F {speed_print} is not executable imho...

Good catch, +1, the variable/keyword is called {print_speed}! IMHO it is far better to use a fixed value rather than a a print speed to move the platform...

Interesting - there appears to be no value following the code G1 F{speed_print} simply a blank line. I have added a second image showing the value for {speed_print} which in this case is blank.

@user18696 That is because {speed_print} does not exist! It is called {print_speed}, but you shouldn't use that parameter at all, you should use a fixed value.