text:
Water does not flow through 4 mm hole when there is a small amount, how to let water flow through small hole even when there is low pressure?
I have a 3D print where there are 5 holes with a diameter of 4 mm in a cup, and I would like liquid to flow through all 5 holes at once while slowly draining the cup (by slowly I mean: just take a few seconds and not drain instantly). Therefore the holes can not be very large.
When I fill water in the cup it drains fine until there is a small amount of water left, and then it just stops with a small layer of water flowing over the holes.
I'm guessing it is due to surface tension and not enough pressure from water above to push the water through...
Is there a hole design that fixes this problem? I don't know what to Google or if this is the right place to ask the question. It just takes too long to guess my way through and print every attempt at the right size or shape of hole (which I have done so far and still got nothing).

This is almost an engineering question, specifically regarding hydrodynamics and as you suggest, surface tension. How thick is the wall (floor?) surrounding the holes?

less about water resistancy of prints, more about the design and the post processing to solve this problem. While generally an engineering problem, there are solutions for the 3D printed variant.

Thank you for correcting that Trish. Fred, the floor is 1 mm in thickness :)

I think a related question can and should be asked in Physics SE or Engineering SE. If you ask a related but different question (so as to avoid cross-posting), like the relationship between hole diameter and back pressure where dripping stops and factors related to the hole that might affect it, and then mention this question for context, it would have some different and useful answers.

My hunch is that water being so darn sticky there isn't much you can do that will make more than a small difference, but I don't know for sure. Water really, really likes itself!

You can reduce (but probably not eliminate) this by having the inside bottom not be flat, but be a slight cone, so the last of the water is all directed to the center hole.

You didn't mention the material.  In materials such as PLA, you may want to paint it before drilling the holes, to make it less porous.

@PerryWebb PLA is rather watertight (I have conducted tests on this by submerging printed cubes, then cracking them open after some time) but Nylons and other hygroscopic materials would suffer a lot in wet conditions. questions about that are [tag:Water-resistance]

Do you plan on trying to smooth the surface?

Although it is not a hole design, you can spray it with 'scotchguard' or 'neverwet' or another hydrophobic treatment to make water not stick to it.

What you encounter there is a combination of Adhesion, Cohesion, and Capillary Force.
Cohesion is what holds the water together. Adhesion is the force to retain water against a wall or hanging from a pen's end, it is proportional to the surface wetted. Capillary Force is the resulting effect where water moves up through a thin tube, it is anti-proportional to the diameter and in the opposite direction of the weight (force). Their relation can be shown in this picture, where a droplet hangs on the end of a glass rod, which has a capillary in it:

How to reduce the water sticking in the cup then?

Make the straight part of the bore as short as possible. This can be done by having a thin cup. The shorter the hole, the less surface there is the water can adhere to vertically, and you might overcome capillary force.
Smooth the hole. Maybe print it 3.5 mm and drill it up to your 4 mm diameter. This reduces adhesion.
Smooth the inside surface. Reducing the adhesion to the inside by having less steps.
Chamfer the inside of the holes. This alters the whole geometry and flow setup in the very low water level case, especially when the surface separates into several areas, above each hole. Then the larger volume belonging to each hole on the inner side means there is a little more pressure and you can get out some more water - and it also shortens the distance the hole has to bridge.
make sure there is some slope everywhere inside so that the water will collect in one of the holes.

An example for a (non measured) design which relies heavily on chamfering to guide the water to the already chamfered holes and then keeps the straight section as short as possible could look like this: the central hole has a very wide chamfer, the whole plate directs water to the center and each of the other holes has a chamfer to guide out water.

However, there is a lower limit to where just tweaking the design will workd, which is based on cohesion. Cohesion is what results in surface tension and viscosity. You can only shift those limiting factors by altering the properties of the liquid, for example by adding an agent that lowers the surface tension and viscosity (soap).

Thank you! I will try those suggestions, the floor is already thin, at 1mm, and at that scale I dont think champfers would be very noticeable. Should I go for thinner floor? or thicker floor and add Chamfer? or just add Chamfer to the 1 mm? And just to be sure, it is the top edge of the hole I should chamfer, right?

@JacobWelin both? and yes, the top. If you can, chamfering the lower would alter the flow pattern but might reduce the kept water even more.

I tried printing 3 test prints with just one hole.

First print was with 1mm floor and a champher.
Secound print was with 0.3mm floor and no Champher (No room for a champher anyways)
And third print was with a 3.2mm floor to allow for a bigger Champher - This third one is the one that worked the best, almost all of the water runns out and only the small champher is left with water in it, but that is just a few drops. So thank you, that worked fine!

@JacobWelin the chamfer does aide in sloping the bottom floor and at the same time does reduce the straight part... let me rephrase the first point a little XD

I tried making the bottom floor as thin as possible with only 0.3 mm in height (I print in 0.2mm layer height, so it was 0.4mm (2 layers) when printed I guess), and if I made it thinner than that I don't think it would be waterproof anymore, but that didn't make a difference to when it was 1mm in thickness... But making the the floor thicker (3.2mm) and adding a champher allowed for low adhesion and higher pressure from the water above in the champher pushing it down. So that solved it.

Beveling the whole inner floor to feed the chamfers might be the best option even for maximum flow

Another quality Trish answer. @JacobWelin, you can also use a hydrophobic coating on the inside of the cup to reduce the adhesion.

@user77232 Would that actually promote flow through the hole though? It seems to me that the cohesion is the main force causing the water's surface to not deform sufficiently to pass through the hole, as opposed to the adhesive forces of the water clinging to the inside of the hole.

@maxathousand, the water is also clinging to the bottom of the cup and not adding it's weight to force the rest of the water out of the hole. Therefore reducing cohesion on the floor of the cup should allow more of the water to fall out of the hole. Just coat the bottom of the cup, though not the hole!

@user77232 Ah, of course! I misread your comment as coating around the hole for some reason.

In the idea correct, but a correction of both of you terms: Cohesion is what keeps the water together, it is weakened by soap. Adhesion is what keeps the water clinging to the surface, it is reduced by hydrophobic coating and a less coarse surface. I'm adding a picture...

If it is possible to add a downward pointing thin needle (hair, AWG-40 wire etc.) to the edge of (each) hole, do it. The droplets will smoothly glide along it to its end, where the needle circumference becomes so tiny that surface tension cannot hold the droplet anymore. Surface tension won't have a chance!
With a very thin needle and funnel-like hydrophobic surface of the vessel, you may get rid of virtually any (microliter) amount of water. It can be hard to make it by 3D-printing, though.

You can easily make "hairs" with a 3d printer, but a slicer won't do it for you in places you want them, only places you don't. :-)


text:
G2 / G3 command in Cura
I'm using Cura for my 3D printing (an ultimaker S5 printer) and in order to understand 3D printing I'm trying to learn G-code.
I've noticed that even when the model is full of circles, the G-code is full with the G1 command. I haven't seen the G2 or G3 command at all!
How could this be?

The .stl files most commonly used for printing do not have any circles in them at all!
.stl files describe the surface of the things they represent with lots and lots of triangles:

That also means that your slicer doesn't really know which parts of the model are supposed to be round (where G2 and G3 might be applicable).
And, another consideration, though historical: Most 3D printers were (and are) based on relatively weak 8-bit microcontrollers. It's much easier for those microcontrollers to calculate the movements needed for the print if it's just straight lines, rather than elaborate curves.
One issue that can arise with this is when your model is of high quality, and your slicers uses all of that quality - a simple circle can then become hundreds or thousands of tiny segments, which all need to be transmitted, parsed and executed - which may lead to stuttering.

Thank you!! So if i'd like to print a circle and use the G2 / G3 command , is there an alternative to the STL files?

As of now, I believe all common slicers only accept the common "mesh" file formats - .stl, .obj and .amf.
There are, however, developments like integrating a slicer into Autodesks Fusion 360 CAD suite, which might allow them to use G2 and G3 commands since it could operate directly on your model.
Not all printer firmwares even support G2 / G3 (https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move) and it's optional on some to save space too.

Autodesk fusion does support the G2/G3 in milling operations.

source: Stack Exchange

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

authors: ณัฐชัย ทองสี

sort: votes


text:
Problem with Marlin 2.0.5.3 / BLTouch upgrade with Sovol SV01
I have just fitted a BLTouch to a Sovol SV01, and flashed Marlin 2.0.5.3 firmware. Bed leveling etc and building the bed mesh all went OK. Slicer is Cura 4.7.1.
However, it won't print.
The Gcode created by Cura after macro expansion etc is as follow
;FLAVOR:Marlin
;TIME:246
;Filament used: 0.14214m

;MINY:115.791
;MINZ:0.3
;MAXX:159.709
;MAXY:144.209
;MAXZ:1.5
;Generated with Cura_SteamEngine 4.7.1
M82 ;absolute extrusion mode
M501;Load settings from EEPROM (necessary for Z offset)

; Following settings from Sovol
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate

M190 S60 ;Heat bed - wait
M104 S200 ;Heat extruder - no wait

G28 ;Home
M420 S ; Turn leveling back on after G28 (why is this needed?)
G29 L0 ;Load mesh
G29 J ;Three point level

M109 S200 ;Heat extruder - wait

G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up

G92 E0
G92 E0
G1 F3000 E-3
;LAYER_COUNT:7
;LAYER:0
.... and so on

It heats up the bed OK, and it starts heating the nozzle. It then does the three point level OK, then waits for the nozzle to get up to temperature (200) - the M109 S200.
But that is as far as it gets. The nozzle comes up to 200 and generally moves between about 197 and 203 degrees. The bed sits at around 60/61. I can hear a fan keep speeding up and slowing down, and the info display just says 'E heating ...'. That's it.
It cannot seem to get past waiting for the nozzle to heat - but it has, and M109 S200 should wait for it to reach temp, and continue.
Can anyone advise what has gone wrong here?

Except for the temperature instability, I get exactly the same behavior when I write the G-code file from Cura directly onto the SD card, when I save it to another location on hard drive first and copy it later to the SD card, it works fine...

I think I might have found it - PID problem (heater has a PID loop). Standard values are 32/3/85 (P/I/D). Just watching the temperature, I noticed there was a lot of overshoot.
It appears that to continue after a temp wait, it must stay within some limit for a period - don't know either number. But, presumably, it wasn't.
There is an autotune PID gcode - M303 E0 S200 C8 says 'autotune extruder 0, at 200 °V, looping 8 times. Ran that and I could see it getting better on each iteration. Unfortunately, didn't manage to find a way of seeing what it came up with, and could not get the result written back to E2P either (M500).
So, resorted to tried and trusted techniques - fiddled with it. In the end reduced P to 20.0 and I to 2.0 - and it started printing.

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


text:
XY Resolution of Form 3 Printer versus Laser Spot Size
According to the Formlabs site, the XY resolution (with the appropriate resin) is 25 microns.  However the laser spot diameter is listed as 85 microns.  Assuming the 85 microns is FWHM (full width half max), unless the sensitivity of the resin is quite non-linear, I don't see how it is possible to achieve a 25 micron resolution.  Does anyone have any hard data on the measured resolution of the Form 3 printer?

Both values must be referring to different properties, one will be the positioning of the laser, the other the laser deposit width.

Oscar, unfortunately, you are probably correct.  I know of others who have used the precision of their scanning as the XY resolution.

Printer (as in: printer on paper :) manufacturers have always been guilty of making the same misprepresentation: the dot size they deposit is usually larger (sometimes much larger) than its positioning accuracy.


text:
Printer with two extruders but one as a backup
I'm trying to make a printer that will have a second extruder as backup for when the primary one clogs or runs out of filament. It is an ongoing project I'm doing to make a 3D printer as reliable as possible. How could you implement this.

This question should be reworded to clearly ask specific points, opinions are not allowed on this site, see help section.

@FarO Indeed, I initially overlooked the part in the body, I've reworded the body as the question (use of a spare tool) has value to retain for the future.

You could use a "filament runout sensor" and combine it with a "filament running sensor". If either fails the controller needs to be notified by a signal. If you configure the Configuration.h filament runout setup such that it doesn't call M600 but instead a series of codes to park tool 0, activate tool 1, home tool 1, prime tool 1, and commence printing, you are near a solution.

Thanks, man. Appreciate it. Btw what are your thoughts on a system that can automatically clear a ruined print from the build platform and start reprinting again?

@FarazAhmed Please look into Blackbelt 3D printer.


text:
Filament residue sticks to bed and wont come off
There is filament residue on my glass bed that is so thin that it wont come off. I have had residue buildup for over a year now and none of it has come off. This residue appears with both the PETG and the PLA filament I have. Is there anyway to remove this residue?

Have you tried using cleaner/polish for a glass cooktop? It's really good at getting rid of all sorts of residues on glass without scratching it. I've never tried it on this though.

I would try a single edge razor blade at a low angle used as a scraper.  If you can't feel the blade catching in the residue,  it probably isn't an issue.
If you must get rid of it you don't have good choices of solvents.  Maybe you can burn it off by placing the class in an oven through a clean cycle.  With luck the hearing and cooling won't break the glass.
If you can't scrape it off with a sharp razor blade,  I would just let it be.

Take care that you don't heat the glass so hot that you lose it's planar surface shape.  Also take care not to change temperature too fast.

Heating the glass in a oven clean cycle is a very risky move considering the 500°C temperature, but the good point of the answer is the other one: if a razor blade cannot scrape it, it's probably not a problem for printing.

I had exactly the same issue.  I read where ethyl acetate would work so I bought a can of Klean Strip M.E.K Substitute (MSDS says it is ethyl acetate) at Home Depot and it works like a champ.  No heating of the bed is required. All of the PLA build-up came off with a cloth rag and a little bit of elbow grease.  Make sure to follow instructions. Good luck.

Heat the bed to around 90 °C and then scrape everything off with a metallic scraper, like the ones used to fill gaps in walls. No need of a super sharp one, since the plastic will be very soft a that temperature.
If you have a razor blade and a proper handle to avoid cutting yourself, you won't need to heat the bed to more than 40 °C, since you dont want the plastic to be too soft.

Heating the bed to 100 °C so that the PETG was soft and scraping off with a putty knife worked for me to remove a 1st layer.

Maybe you could put your bed at the max temperature and print a large square of 1 mm onto it using a higher than normal temperature for that filament, maybe this bonds the residue to the new print. Let it cool down and pry the print off or remove while hot.

I wouldn't do this with PETG.  Some have reported pulling chunks of glass from the bed because of PETG adherence.  You want to get good adherence to the residue, but not the glass.

@PerryWebb I have used glass for a long time, the chipping is probably on low quality glass (I heard people are using cheap mirror glass or dollar store window panes of picture frames), never had an issue with chipping on proper borosilicate glass. If you pull it warm, chipping won't be an issue as the filament will be soft. The idea is to get the filament to bond better to the residue that the residue to the glass. Near glass transition temperature would ensure that.

@Oscar True, that might explain reports.  Glass not meant to take heating could develop cracks during the bed heating.  Anyway, PLA is probably safer to use.  PETG might only result in more residue. Note: PETG doesn't seem to release as well after the bed cools down like PLA and ABS.

It's probably not practical, but what would be ideal is to put the glass from the bed in an oxygen plasma asher used in the semiconductor industry.  It would probably be difficult to get a used one large enough, since your bed size probably matches state of the art wafer sizes.
What would be even more practical is for someone to develop an oxygen plasma cleaning torch that wouldn't overheat the glass (https://www.semanticscholar.org/paper/FINAL-REPORT-U-.-S-.-Department-of-Energy-Plasma-of-Hicks/fc32a874806de71f1d10f2d979d3a74e2bb7c0d0?p2df).  Plasma cutting torches already exist.

I agree, it's not practical.

More of thoughts for developers than for people printing right now (build a printer with the oxygen plasma cleaning torch next to the hot end).  Right now it probably cost less to buy a new glass bed than to use plasma cleaning.


text:
Using BLTouch on Y Axis instead of Z
Long story short, Y and Z axis on my printer are swapped because it is a belt printer. Currently, the BLTouch sensor only works on Z axis, so I need to figure out how to do it for the Y axis otherwise I would need to design a limit switch sensor for the Y axis which in a conventional printer, would be height and would not be accurate. A software solution would be nice.
[Edited] Due to nature of slicer, its not possible to swap Y and Z motors.
Any help would be nice.

Which firmare are you using? are you sure you cannot assign the BL touch to another axis? with Klipper the axis is not fixed and you can use it freely. Even if you cannot, maybe just swap the motor wires...

Thank you for your reply FarO. Swapping motors is not possible due to nature of the Slicer software. I will look at klipper as I have a raspberry pi. Thank you.

Actually I checked and I'm not sure Klipper works for other axes. Maybe you should open a ticket in the GitHub page. However klipper supports CoreXZ geometry, which may be of help in your case.


text:
Compressed corner in my prints
I'm getting issues with any print in the specific corner throughout different and unrelated prints. The specific corner comes out compressed.
I have tried to take pictures to illustrate the issue:

Any ideas on what to look at?
Printer: Creality CR-10

This is a very well known issue that is caused by insufficient adhesion. The corners curl up during printing.
You should increase the adhesion by:

cleaning the bed (I use water and soap, others use isopropyl alcohol)
better leveling,
correct nozzle to build plate distance (dragging paper method),
using a brim or so-called mouse ears in your design,
increased the heated bed temperature, or
use of an adhesive like hair spray or glue stick (not any type will work) or specific sprays that are created for this purpose (e.g. 3DLAC, Dimafix, etc.)

Some people used tape on the build plate for adhesion, but I'm not a fan of tape. Not all tapes work. Tape needs to be applied correctly, prepared (sanded), etc. This is much more cumbersome than applying a little spray over the build plate. It can be successfully used on PEI, Buildtak (clones), glass and on the bare aluminium bed.

Also consider cleaning the printbed prior to each print (e.g. with isopropyl alcohol). I've had several prints fail because of people touching the printbed with greasy fingers.

@Rik Good point, I use water and soap, but not regularly, I've updated the answer. Thanks!

Also, since the OP seems to be having problems at the same part of multiple prints, it may be that his bed is warped so that one part of the bed is lower than the rest.

I strongly recommend a brim, with brim gap (newish Cura feature) of around 0.25 mm to make it fully removable without damage to the model while fixing this type of peeling off the bed pretty much 100%. It doesn't need to be a wide brim; just 3 lines suffices for me.


text:
Are there differences in filament consumption between ABS and PLA
I have been printing the same model once with Verbatim PLA and once with an ABS material from Switzerland. For both I was using two brand new 1 kg spools of filament. I was printing both at the same speed, same additions, same infill percentage, solid layers, solid wall count, etc. Literally everything the same except temperature.
Simplify3D indicated 300 g for each print, however I already realized that all of Simplify3Ds estimates for time and material are - unlike Cura - very poor. However I was still kinda surprised when I checked the two spools after printing. Originally they had the same diameter of material and same depth. After the print the ABS spool looked almost the same as before the print, in terms of diameter it shrank less than 5 mm, however the PLA roll was definitely at least 1/3 empty. The difference was also confirmed by a scale. ABS only consumed like 220 g, while PLA was using a bit over 300 g. ABS surely did not look like more than 20 %, but maybe its inner diameter is larger than the PLA spool.
Since I can order ABS considerably cheaper than PLA I was wondering if this is a common phenomenon. Googling for that leads to a million of pages outlining the differences between ABS and PLA where 999'999 of times it says that ABS is more prone to warping than PLA and the other one is about dimensional accuracy, but I could not find anything about material usage.

PLA is good for dimensional accuracy when you want things to be rigid, but it breaks easier if you bend it.  ABS and, even better, PETG work if you want objects that bend.  PETG doesn't warp as easily as ABS, but often sticks to the bed too well.

Volume: no (unless the filament diameters differ). Mass: yes.

Note that you can specify filament density in the "Other" tab in your profile if your want accurate weight estimates.

I’ve never actually printed anything other than PLA, but...
Searching the web for filament density, I found this article , among others, that indicate that PLA is nearly 20 % denser than ABS, on average (1.24 vs 1.04 g/cm3). This indicates that a 1 kg reel of ABS will have 20 % more volume (therefore length) than a 1 kg reel of PLA.
This does not quite explain the difference you see as 300 g vs 220 g is 36 % but maybe your measurement is off or the particular PLA mix you’re using is slightly denser.

True, the volume consumption is the same, but the weight consumption is different.


text:
How to set Home Offsets and Manual Home definitions in Marlin correctly?
I am using an Ender 3 and I have just upgraded to the Hero Me Gen 5 fan duct adapter. This has shifted the nozzle position. I also flashed some new Marlin 2 firmware and in the Hero Me manual it says to uncomment and change #define MANUAL_Y_HOME_POS -9 to suit this change in nozzle position.
This has, however, not given me the right results. It did not center my prints but actually let the Y-axis grind upon going to Y235. Additionally, I noticed, that my printer must have been off-center from the beginning, because the X position of the nozzle has not changed due to the installation, but the printer homes to a point 5 mm inside the bed perimeters.
So, if my printers endstops dictate an original home position of 3 mm inside the bed area for X and 15 mm outside the bed area for Y, how do I set this up correctly in Marlin 2?
I think the relevant parts are
// The size of the print bed
#define X_BED_SIZE 235
#define Y_BED_SIZE 235

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 5
#define Y_MIN_POS -15
#define Z_MIN_POS 0
#define X_MAX_POS 250
#define Y_MAX_POS 240
#define Z_MAX_POS 230
...
// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS -9
//#define MANUAL_Z_HOME_POS 0

This is my idea, I would let the manual home pos be commented out as I do not know what it does. However, I also want the software endstops to correcly work as to not let the printer destroy it aaaaand my BLTouch to probe the bed and not the air or my bed clips using UBL when doing 3-point probing. Would this be correct? Where do I have to look to let the printer consider my bed clips(only 10 mm on both ends of the y-axis side of the bed)?

This question is very similar, and therefore a duplicate to Recalibrating Home-position and How to center my prints on the build platform? (Re-calibrate homing offset). The answer to those questions describe in detail what you need to do. First question is specific for the Ender 3.

Normally you wouldn't use the MANUAL_xyz_HOME_POS at all.
Home your machine.
Use a caliper or ruler to measure the distance between the nozzle and the edges of the print bed in both the X and Y direction.
If the nozzle was off the bed in both directions, input these measurements as negative X_MIN_POS and Y_MIN_POS values.
If it was over the bed in either of those directions, you'll need to input them as positive positions.
That should result in your nozzle to be exactly on the edge of the bed after a
G28 X Y
G1 X0 Y0

movement.

Oh my god, that is what I did and it didnt work, so then I wondered what I did wrong and came here to ask. But it did work! I just didn't flash the firmware, I must have forgotte nto turn the printer off and on again!

Still, how do I set the probe offsets or whatever correctly to not hit the clips? And is 5mm less of build volume normal?

You'll first want to set the probe offsets via NOZZLE_TO_PROBE_OFFSET relative to the nozzle.
The offsets for the actual probing would be set with PROBING_MARGIN, which defaults to 10 mm.


text:
Extreme under extrusion Ender 3 Pro
I'm having some severe under extrusion and I cannot figure out what's going on I replaced the extruder with the all metal one I've also replaced all the Bowen fittings and the tube with Capricorn tubing replaced the nozzle made sure everything was butted up tight can't figure out what's going on at all can someone please help I've only had the printer for 4 months and I've never had a problem like this before

Have you updated Cura? It sometimes resets the filament diameter to 2.85 mm, which will cause severe under-extrusion if you use 1,75 mm filament.

Actually believe it or not I did because I had to select generic filament because my filament was not on there and I selected pla and 1.75 mm I don't know what else it could be I would post a picture but I can't figure out how

I had a similar problem to you with my Ender-3 but now it is fine.
There are so many causes of under-extrusion that I doubt I can tell you what is specifically wrong in your case but perhaps I can give you some pointers.
In addition to what you have done, check if you can manually extrude the filament by releasing the grip on the filament (depress the lever on the feeder mechanism) and push the filament through with your hand (while the nozzle is heated to the correct temperature for your filament).
If that works well without too much force then it suggests one of two things:

an issue with the feeder mechanism (e.g. worn or clogged up teeth on cogs, spring too tight or too weak) or
extrusion settings on your slicer need modification (e.g. your slicer made G-code with too frequent retractions and this causes the filament to wear down thin preventing the extruder feeder cogs from gripping it. A solution is to reduce the maximum number of retractions possible by altering your slicer settings - this was an important factor for getting my machine to work again).
I found the following YouTube video helpful in giving me pointer of where to start - perhaps it will help you too:


text:
How can I clean out internal channels in an SLS polypropylene print?
After SLS printing any internal spaces retain the un-fused but packed powder that was in the bed. I am hoping to add channels as wire raceways internal to the part.
Any experiences with this - is it worth the trouble?
More specifically, any recommendations for "flexible-auger" type tools to clean out around the bends?  The residual powder is of a consistency where I expect an appropriately shaped wire could dislodge it.
(Concept, this is polypropylene. Scale: raceways are currently 1.5mm - 2mm in diameter.)

have you tried compressed air?

That was my first thought too.

Have not yet tried a print of this.  Having previous prints I am pretty sure compression of the powder and friction would prevent compressed air from working.

Since this was asked more than 2 years ago I don't expect an answer is still necessary but it might help someone else.
We recently had a PA print with 5 mm internal channels, mostly straight but one was opened up near a 90° bend yet still reachable with a bit of flexible wire. It was possible but difficult to get the powder out. We used a combination of 5 mm drill for the long straight channel and welding wire's in multiples sizes and bent to multiple shapes to get poke it out. A thin bent wire helps to get the last bits out by rotating it in the channels but with a circular channel like you mentioned with 1.5-2 mm diameter I don't see this working as easily.
Compressed air was used at the end to clean it out more, but it does require loosening it up physically because it can still stick to the walls. If you have any small exits (which we did, 0.5 mm) you might get a clogg if it dislodges from air later during use.
Took about 30 minutes to clean up 3 prints with about 1 meter of (mostly straight) channel.


text:
Ender 2 LCD replacement
My Ender 2 LCD is suddenly not lighting up.
Is it possible to replace it with an Ender 3 LCD?

Maybe you could add an image of the Ender-2 LCD or some additional data?

Not easily.  Some folks have been messing with both 2 and 3 LCDs and based on their posts, the pinout is different between the two.
Ender 2 display pinout from when one GuzLightyear figured it out for Marlin (MKS MINI 12864 LCD):

          -----
     5V  | · · |  GND
   MOSI  | · · |  LCD_RS
 LCD_A0  | · · || BTN_EN2
  RESET  | · · |  BTN_EN1
BTN_ENC  | · · |  SCK
          -----

From a user called arnd13, the Ender 3 equivalent would be:

         -----
5V      | · · |  GND
MOSI    | · · |  LCD_A0
SCK     | · · || BTN_EN2
CS      | · · |  BTN_EN1
BTN_ENC | · · |  Buzzer
         -----

Maybe you have some luck in debugging your screen (sometimes with these LCD screens, a contrast adjustment resolves the issue).


text:
How to wire an LJ18A3-8-Z/BX sensor with an optocoupler to a stock Ender 3?
I have this optocoupler.

and this sensor.

I want to wire them together and use them for auto bed leveling. Note, stock Ender 3 board (Creality v1) has 2 pins for its endstop, not 3, so this:

won't work
However, I found this diagram:

My optocoupler is rated for 12 V so I definitely wont attach 24 V to it. However, everything else seems good. So I could only replace the 24 V to 12 V and it would work?

Does this answer your question? Inductive Sensor in 24 V machine?

Both diagrams are exactly the same, the difference is the +5 V that is not connected on the bottom diagram (displayed in white, labelled "not used"), but since your endstops do not have a +5 V pin in the socket (only ground, GND, and signal, SIG or S) you don't need to attach it. You should source the +5 V from elsewhere from your board. As the left and right side of the module are separated circuits, you need to power the board with +5 V.
Read this answer for applying 24 V.


text:
Ender 3 ignores signal from optocoupler
Optocoupler used in conjuction with an inductive sensor on a stock Ender 3, wired like this:

Except I also wired a switch to the Z endstop signal and ground.
I don't know the switch pin layout so I had to guess.

I guess S stands for signal, but I don't know why the other pin isn't G, but rather V. So we have signal and voltage? that doesn't make sense so I guess its the reason for the problem.
When I do auto home all axes, it completely ignores signal from the optocoupler. It only stops when hitting the switch.
The optocoupler is connected to an inductive sensor. When the sensor detects metal, it sends a signal to the optocoupler, the optocoupler to Z limit pins on the mainboard (or so it should).
Video of whats happening is found here.
Should I connect optocoupler VCC to switch V (keep switch S to optocoupler OUT)?

U (not V) is +5V, so should I connect the optocoupler VCC to it?

S is signal, U(not V) is +5V, G is Gnd.

Not knowing the type of inductive sensor you are using, the most common, an NPN type sensor (like the LJ18A3-8-Z/BX) is assumed (in relation to your previous question). NPN type sensors imply that the signal is held high at a certain voltage (the supply voltage ranges from 6 V-36 V, but are reported to work on 5 V also) and is actively switched down to 0 V when triggered.
Basically the sensor always produces a high signal until triggered. Why is this the preferred option? If somehow the wires break or some issue occurs that triggers the sensor, movement is stopped to prevent damage to occur.
The signal from the sensor needs to be "high" and the switch needs to cut the power by opening the circuit. So make sure what your sensor signal is outputting in the first place. The depicted switch is a powered switch as it uses an LED, but the switching component on the circuit board itself has three pins, COM (COMmon), NO (Normally Open) and NC (Normally Closed). You need to put +5 V on the white wire to power the right side of the optocoupler and connect the switch as such that the COM and the NC are connected (most probably S and U in the depicted switch).


text:
How to correct XY mirroring?
So I made a 3D printer from scratch. It is a RepStrap based on a Prusa i3 running Marlin 2.0.x.
It prints fine and accurate, but, The trouble is that the XY plane is mirrored and I don't know how to solve this.
I'm using Marlin 2.0.x on an SKR 1.4 controller board.
Any pointers would be greatly appreciated.
Thanks!

Make sure X = X and Y = Y. If possible hook up a console or a software application that communicates with the printer, e.g. Pronterface (PrintRun suite) or Repetier Host. The latter options allow for graphical interfacing with the printer; homing, movement, etc.

First of all, make sure that you have correctly identified the X and Y axes, and that the stepper motors (and end-stop switches) are connected to the correct ports. The hot end moves on the X-axis, and the bed moves on the Y-axis. If you connect the X and Y motors the wrong way round, you will get reversed text.
If the X and Y motors are connected to the correct ports, you may need to invert the motor directions in firmware. There are #define statements to allow you to do this.

Oh I see, turn the wires around AND invert in Marlin?! That makes sense! Will try! thanks!

No. Swap the cables if they are connected to the wrong ports (this is a common error). Otherwise, you will have to change the firmware.

@DennisDecoene You only need to do "AND" if you need to flip the connectors 180° in the same port (then the endstop is in the wrong direction).


text:
Is SD2209 the same as TMC2209 stepper drivers?
While shopping for TMC2209 stepper drivers I found advertisements "SD2209". Is this the same thing?

From what I can tell, the SD2209 is not a clone of or another name for the TMC2209, but is a board with a TMC2209 on it setup to be used as a drop-in replacement for other stepper drivers. See e.g. this SD2209 a drop-in replacement for Pololu style drivers:

It must be designed for boards where no firmware update is envisioned: usually the trimmer is on the bottom side because unnecessary, but here they sacrificed useful heatsink surface to show the trimmer. Also, they didn't expose the DEBUG pin, which would be the third hole in a triangle with the other two on the short side and which is useful for sensorless homing, which makes sense if no firmware update is expected.

2.7 A max current is peak, not RMS, which is misleading... but probably irrelevant if used as drop-in replacement with preset trimmer to the usual 0.8 A


text:
Is it possible to create a completely sealed box?
I would like to create a case or a box which has two holes for incoming and exiting water. I want the box to be opened and closed. Therefore it is good to be something like a treasure box.
Is there a way to design the lid of the box to prevent water from leaking around the areas where the box and the lid are meeting without using glue?

Not a complete solution, thus a comment only: the more hydrophobic the material is, the larger the gap that water won't penetrate (at a given pressure). Thus, choosing the material wisely (or considering a hydrophobic coating) may be one puzzle piece to a solution. That would be along the lines of ABS rather than PLA or PETG.

"Completely" is always relative, but for water at the pressures involved it's probably achievable. Normally you need some sort of gasket (material that can bend/compress to slight imperfections in the mating surfaces), and a means of holding the two surfaces tight against the gasket, to get such a seal.
With 3D printing, it's plausible that the print itself could be sufficiently non-rigid to achieve this, if you have a way of keeping the lid and box pressed tightly against each other - bolts through the lid, clips around the edges, etc. But it's unlikely to work well.
I would either print I suitable gasket in TPU, or cut one from some suitable material if you don't have the capability to print with TPU. Either way you still need to design your box and lid so that they're pressed tightly against the gasket.
One possible frame challenge would be doing a round box instead, with a circular threaded lid. It's likely that you could achieve a decent seal for your purposes without any gasket just by tightening the threads, and if not, you still have a really good setup for use with an added gasket.

The round box sounds great. Do you think the average of three printers are capable of printing the threaded lid edges?. Thx :)

Yeah, printing large-diameter threads is fairly easy for a 3D printer; the overhangs (at least as long as you stick to metric thread profile or something similar) are not severe and don't need any supports. With a hollow threaded cylinder which you'll have here, just make sure the walls are thick enough they're still sturdy once the threads are added.

I know this sounds obvious, but given the box has holes in the top – does it only need to be watertight when it's the right way up?  If not, you could just do something like:

Assuming that won't work, I think a really good seal would be hard with just something like PLA, because the printing texture alone means there will always be tiny gaps between the mating surfaces.  In some cases, those grooves will actually act as capillaries (if you've ever tried to use a sharpie marker on a print, you can imagine what I mean).
If the lid fits snugly, then just lining it with something like plumber's thread tape would probably do a good job.
If it needs to work straight out of the printer, then I would try something like this (obviously I've exaggerated the detail):

The idea being something like the plastic seal you see on some types of refrigerator door, which has a thin wall with a free edge that allows it to flex.
NB in all these cases, sharp corners will cause problems – it will be easier to get a seal if you put a radius (say, 5mm) on the vertical edges of the box.

You forgot the gasket in design 1, and the self-sealinggasket in 2 does not secure it against overpressure that lifts the lid - but the concept is there.

The point of the first design is that if the box won't be tilted (much), then you don't need a seal at all – you just need the inner box to be higher than the level of the water...


text:
How to test all pins of a STM32 board?
I have an SKR PRO control board with a dead (shorted, it's burning hot) main processor. I ordered a new board, it was my mistake.
The voltage regulators work, so I ordered a replacement STM32F407 processor from STM (a free sample actually) and I'll repair the board in my free time.
How can I test all pins of the new board, so that I can ensure the board is working when I'll sell it/when I'll use it for my next project?
I think that programmatically turning on and off each pin would be enough, then I would use an oscilloscope or a LED to verify the result. The pins which have special functions (heater, fan, MOSFET in general) would be tested accordingly, but I still need the pulsating input.

A good starting point could be to use one of the two versions of the RAMPS1.4_TestCode.pde testcode, which is linked to by this thread on the RepRapWiki, RAMPS 1.4 test code:

Please note it will switch on and off your heated-bed and extruder hot-end too besides moving all the motors and flashing the leds. Disconnect them if you do not want any heating while testing.

There is a later version, in this post on the same thread, which also checks the individual stepper motor steps:
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_MIN_PIN 3
#define X_MAX_PIN 2

#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15

#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19

#define E_STEP_PIN 26
#define E_DIR_PIN 28
#define E_ENABLE_PIN 24

#define Q_STEP_PIN 36
#define Q_DIR_PIN 34
#define Q_ENABLE_PIN 30

#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13

#define FAN_PIN 9

#define PS_ON_PIN 12
#define KILL_PIN -1

#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 14 // ANALOG NUMBERING

void setup() {
  pinMode(FAN_PIN , OUTPUT);
  pinMode(HEATER_0_PIN , OUTPUT);
  pinMode(HEATER_1_PIN , OUTPUT);
  pinMode(LED_PIN , OUTPUT);

  pinMode(X_STEP_PIN , OUTPUT);
  pinMode(X_DIR_PIN , OUTPUT);
  pinMode(X_ENABLE_PIN , OUTPUT);

  pinMode(Y_STEP_PIN , OUTPUT);
  pinMode(Y_DIR_PIN , OUTPUT);
  pinMode(Y_ENABLE_PIN , OUTPUT);

  pinMode(Z_STEP_PIN , OUTPUT);
  pinMode(Z_DIR_PIN , OUTPUT);
  pinMode(Z_ENABLE_PIN , OUTPUT);

  pinMode(E_STEP_PIN , OUTPUT);
  pinMode(E_DIR_PIN , OUTPUT);
  pinMode(E_ENABLE_PIN , OUTPUT);

  pinMode(Q_STEP_PIN , OUTPUT);
  pinMode(Q_DIR_PIN , OUTPUT);
  pinMode(Q_ENABLE_PIN , OUTPUT);

  digitalWrite(X_ENABLE_PIN , LOW);
  digitalWrite(Y_ENABLE_PIN , LOW);
  digitalWrite(Z_ENABLE_PIN , LOW);
  digitalWrite(E_ENABLE_PIN , LOW);
  digitalWrite(Q_ENABLE_PIN , LOW);
}

void loop () {

  // if (millis() %1000 <500)
  // digitalWrite(LED_PIN, HIGH);
  // else
  // digitalWrite(LED_PIN, LOW);

  // if (millis() %1000 <300) {
  // digitalWrite(HEATER_0_PIN, HIGH);
  // digitalWrite(HEATER_1_PIN, LOW);
  // digitalWrite(FAN_PIN, LOW);
  // } else if (millis() %1000 <600) {
  // digitalWrite(HEATER_0_PIN, LOW);
  // digitalWrite(HEATER_1_PIN, HIGH);
  // digitalWrite(FAN_PIN, LOW);
  // } else {
  // digitalWrite(HEATER_0_PIN, LOW);
  // digitalWrite(HEATER_1_PIN, LOW);
  // digitalWrite(FAN_PIN, HIGH);
  // }

  if ( millis() % 60000 < 30000) {
    digitalWrite(X_DIR_PIN , HIGH);
    digitalWrite(Y_DIR_PIN , HIGH);
    digitalWrite(Z_DIR_PIN , HIGH);
    digitalWrite(E_DIR_PIN , HIGH);
    digitalWrite(Q_DIR_PIN , HIGH);
    digitalWrite(HEATER_0_PIN, LOW);
    digitalWrite(FAN_PIN, HIGH);
    digitalWrite(HEATER_1_PIN, LOW);
    digitalWrite(LED_PIN, HIGH);

  }
  else {
    digitalWrite(X_DIR_PIN , LOW);
    digitalWrite(Y_DIR_PIN , LOW);
    digitalWrite(Z_DIR_PIN , LOW);
    digitalWrite(E_DIR_PIN , LOW);
    digitalWrite(Q_DIR_PIN , LOW);
    digitalWrite(HEATER_0_PIN, HIGH);
    digitalWrite(FAN_PIN, LOW);
    digitalWrite(HEATER_1_PIN, HIGH);
    digitalWrite(LED_PIN, LOW);

  }

  digitalWrite(X_STEP_PIN , LOW);
  digitalWrite(Y_STEP_PIN , LOW);
  digitalWrite(Z_STEP_PIN , LOW);
  digitalWrite(E_STEP_PIN , LOW);
  digitalWrite(Q_STEP_PIN , LOW);

  delay (200);

  digitalWrite(X_STEP_PIN , HIGH);
  digitalWrite(Y_STEP_PIN , HIGH);
  digitalWrite(Z_STEP_PIN , HIGH);
  digitalWrite(E_STEP_PIN , HIGH);
  digitalWrite(Q_STEP_PIN , HIGH);

  delay (200);

}

As your board isn't a RAMPS you will probably have to change some of the #defines, to correspond with your board, but that should just be a simple search-and-replace exercise.

Well I got some problems with a batch of STM32 boards where some work and some don't. I'm trying to figure out the same thing.
The initial plan is a simple board with a socket for the micro and some LEDs, hopefully not 64 of them, and put in it a simple firmware that just goes around testing all the GPIOs, but I fear that the test could not be enough.

Did you ever manage to come up with some firmware to test your board? Just a thought, but you could use a multiplexer to reduce the number of LEDs required, or (maybe) use a form of Charlieplexing instead.


text:
Marlin inline void gcode_M400()
Can someone show me how to add Lines to Marlin 1.1.8 ?
I want to change the M400 command.
In a kind like that:
M400 () { move Z + 5 if not Z MAX; Home X; printbed on MAX LENGHT}.

This coud be ported to pause and abort.

That should be doable, but what you want is not possible if the printer hasn't been homed yet. The printer should be homed first, else Z is unknown. Note that it not smart to let known commands do something different than default. I think in version 1.1.8, the printer will not go over the limits, so no need to check for Z max. Programmatically, you need to send (G28), G91, G1 Z5 F1000, G90, G1 X0 Ymax where Ymax needs to receive the max set in the firmware first.

M400 is the final command print finished so all axes are homed long before.
But i dont know how to add lines of code to this function.
I tried but nothing worked :(

Not necessarily, motors can be disabled, there is no guarantee the printer is homed. Maybe in your case yes, but if you override a command, you should make it generic. Maybe you could add to the question why you want to do this, this seems exactly something for an end G-code script?

The End Gcode is befor M400 method of marlin so FW will execude commands after the End Gcode from slicer so i need help to add lines of code to the method of m400 in marlin firmeware


text:
SKR 1.4 Turbo - Withhout SD-card reader, bricked?
Unfortunately and regrettably.
Whilst trying to install and fit an SKR Turbo 1.4 Turbo Motherboard into 3D printer body, I managed to break the SKR 1.4 Turbo Motherboard SD-card reader. The card reader is not flush and protrudes from the board. It peeled the reader from the PCB.
I attempted to fix it without success. I have since removed it from the controller board (the original SD-Card Reader PCB pads are not intact so connecting a new SD-Card Reader in place is not possible)
Have I bricked my brand new controller board?
Please can anyone suggest (If possible):

Is there a way that this could be rectified in respect to uploading/flashing the Marlin 2 firmware to the SKR 1.4 Turbo
without the original SD-Card Reader Module?
I am under the impression I may be able to use a programmer of some description to upload the firmware?

Installation of a new SD-Card Reader that could be used instead of the built in default SD-Card Reader?
I think I would be required to first modify Marlin and then flash the motherboard firmware? Then perhaps be able to connect another SD-Card reader to the motherboard via SPI or alternative e.g wires to the respective pins on the reverse of the board?

Could somebody kindly point me in the right direction?
I would appreciate some guidance if this indeed possible?

You may get lucky flashing firmware with the STM Cube Programmer, though I haven't tried that.
The schematic for the SKR 1.4 Turbo shows that the relevant pins for the SD card are also accessible via the 2x3 SPI header - except for the P0.27 pin used for "SD DETECT", which you may have to circumvent.
I believe you should be able to use an "SDRamps" module and connect that to the SPI header via jumper cables.

If you are skilled with soldering, you can connect the pins of the SD card reader directly to the pins of the CPU with thin wires. They are small, but it's doable.
Then hot glue all in place to avoid stress on the wires.
Whatever you decide to do, be sure that it will be less convenient than getting a new board, assuming you value your time at least around 10 Euro/dollars per hour...


text:
Details of Marlin's feedrate calculation
I want to programatically generate G-code for a (Marlin-based) Ultimaker 2+ printer, and I have been looking at the Marlin documentation and working G-code examples generated by Cura.
This has left me confused about exactly how Marlin interprets the feedrate (F) parameter in G-code commands.
If I move on a single axis (e.g. G1 F7000 X10 or G1 F200 E50), then I assume F simply says how fast that axis should move (ignoring acceleration).
On CNC milling machines I've worked with, the same is true when moving on multiple axes – for instance, G1 F1000 X10 Y10 Z10 would mean the tool moves at 1000mm/min, and therefore the individual axes are each moving at 693mm/min.  Which is good, because it means the feedrate doesn't depend on the direction of movement.
But a 3D printer has four axes (E, X, Y, Z), and Marlin only uses a single feedrate parameter.  So do I need to calculate that in four-dimensional space?  In other words,
$F = \sqrt[4]{F_E^4 + F_X^4 + F_Y^4 + F_Z^4} ?$
If that is not correct, how is the feedrate related to the feedrates for the individual axes?.

Feedrates are not 4-dimensional, and yes this makes them a bit inconsistent. But physically the 4-dimensional speed would not make any sense - for example, slowing down the E axis while speeding up the X axis would not maintain the same "overall speed" in any meaningful sense.
So, feedrates work differently for:

Moves with a nonzero X, Y, or Z component: the feedrate is an ideal, desired speed in 3 dimensions, possibly limited by the max feedrates of each axis (including E) individually, as well as their acceleration profiles.

Extruder-only moves where X, Y, and Z components are all zero: the feedrate is an ideal, desired speed in one dimension: the E axis, and may be limited by the max feedrate and acceleration profile for the E axis.

Aha!  I did wonder if that was the explanation for how Cura's "print speed" can be the same as the feedrate it uses for printing moves.  I guess it keeps things simple.  The 4D approach wouldn't be completely insane, but it would mean you'd have to continually adjust F to get a constant movement speed or constant extrusion rate.  (FWIW, specifying the end position and time fully determines the solution, so you couldn't actually slow down E while speeding up X)


text:
Enclosures (w.r.t. emissions) useful for not only printing ABS?
I've been reading and seeing a lot of texts on the internet and videos on YouTube claiming that enclosures are both beneficial and not so beneficial. My main concern though is the possible toxic fumes emission. I suffer from respiratory problems, and the last thing I need is a new poison in the air.
Is ABS the only filament product I have to be careful with, or are there others I should worry about?

Please note that the question is not very simply answered, what filaments are you expecting to print? Note that toxic fumes aren't the only things emitted from printers, also fine particles are being emitted. If you are concerned with the possible toxic emissions you should read Should I enclose my 3D Printer? and What air filtration options exist for enclosures?. E.g. POM emits toxic fumes too, but I wonder if you are going to print this, it is pretty difficult filament to print.

Does this answer your question? What air filtration options exist for enclosures?

Other filaments need much higher temperature to print, making enclosures mandatory. But all these are non-standard. On the other hand, a resin printer can also benefit from a proper airtight enclosure to prevent resin emissions.


text:
Flashforge Adventurer 3 - bed temperature not going over 89 °C
I have an issue with my Flashforge Adventurer 3. When printing with ABS, the bed temperature is not going over 89 °C. Additionally, when I connect to the printer with Flashprint, it displays a negative bed temperature (when I connect to the printer, the bed temperature is displayed as -11 °C).
Is it somehow possible to calibrate the temperature? Or is there any other solution for this issue?

Welcome to 3DPrinting.SE! Note that many beds will not reach the 100 °C mark. Insulation sometimes makes a difference. What is more concerning is the negative bed temperature, this usually tells you the thermistor is bad. Have you recently changed the firmware for a custom firmware?

it could also be a mis-calibrated thermosensor

@0scar I already did two firmware updates, but I didn't install a custom firmware, it was always the original Flashforge firmware that got updated.

@Trish Do you know whether it's possible to calibrate the thermosensor?

It is good to know that you used original firmware upgrades, this rules out an incorrect thermistor translation table (voltage to temperature). With respect to the mis-calibration, using an estimated room temperature of about 20 °C (depends on your room temperature/location) you get a 31 °C offset, so a 120 °C bed temperature which is usually higher than the beds can go. If insulated well, the best you can get from beds is about 110 °C as far as I know.

Calibrating a Thermosensor is altering the associated table in the firmware. Which is why it is essential to know if you altered the firmware.

@0scar 110 witnout a chamber and normal setup. My local materials science lab in the uni had a setup that for (as fasr as the student claimed) could get 130 bed temperature, but he didn't tell what was the setup... :/

I can only estimate the room temperature, I would guess about 17°C.
Maybe I should try to install the firmware version that has been installed when I bought It (if that is possible). After the purchase it was working well, but I can't remember when the behavior changed.


text:
How do you send G-code from a USB port with Python?
I'm working on a project for my masters where I'm trying to detect print errors using object detection and I want to be able to pause the printer when a potential fault is detected. However I can't seem to figure out the correct way to send G-code to my printer from a Python script. Does anyone happen to know how this works?

I'm working on an identical project, I couldn't find any contact in your profile. If you want to discuss/share approaches let me know. Via SO chat https://chat.stackoverflow.com/users/6859185/nickdgreg or my github is in my profile

The process is pretty straightforward, you open a serial connection and send the instructions over the serial connection. The printer reports "OK" when received (not when the command has been executed).
You can use pySerial to connect to a USB port with the correct speed, then send the command you want to execute (include the newline char).
You need to be aware that commands are buffered, if the buffer is full, the printer sends "OK" when there is a spot free in the buffer.
See this question on a sister SE.


text:
What are the dimensions of the FlashForge Creator Pro heating block?
I have a FlashForge Creator Pro, couple of years old.  I'm looking to replace one or both of the heating blocks, as they're getting old and pretty gunked up.  Instead of buying two blocks at \$30 each, I thought I could take some aluminum and make two on my CNC mill.  The only thing - are there any manufacturer provided dimensions?  I could probably get by measuring with calipers, but I'd prefer the exact specifications.

The FlashForge Creator Pro uses a MK10 hotend:

The Micro Swiss MK10 All Metal Hotend Kit for instance is reported to be a drop-in replacement for the FlashForge Creator Pro, it uses M7 threads.
The heater block for an MK10 has a threaded hole for the thermistor (M4), but some use a machined hole for PT100/3 mm thermistor cartridges. The block measures around 20 x 20 13 mm. The images below should give you enough information to create your custom blocks. However, there appear to be 3rd supplier after-market blocks available on on-line webshops and market places

The Flashforge original spare part heater blocks show that they are slightly different (the top image shows symmetrical heater blocks while the spare parts are not symmetrical), so above drawings and caliper measurements should give you enough information to reproduce the heater block.

It would be a great addition if you added your own answer once you measured your blocks and created some drawings!


text:
What are the effects of backlash from a geared stepper motor used to drive a filament extruder?
Question background:
I am building an extruder / hotend combination to be used with 2.85 mm filaments.
The extruder I chose is QR Extruder from Bondtech which comes with a stepper motor, with an integrated planetary gear system and a reduction of 5.18 to 1.
The motor's specification states that it has a backlash of less than 1 degree.
I have contacted the manufacturer but I could not get a more specific number.
Here is what I'd like to know (i.e., my question clarified) :

How does this < 1 degree backlash translate to pushing filament through the hot end?
Once the extruder steps are calibrated, can it cause artifacts on the prints?
Can linear advance (Marlin) or pressure advance (Klipper/Duet) make up for this < 1 degree backlash of the planetary gear system?

What is the diameter of the extruder cog? You need to know that in order to translate 1 degree into linear error. Unfortunately using 2.85 mm filament means you need ridiculous levels of positional accuracy at the extruder to get accurate fine extrusion at the nozzle (because of the 2.85²:0.4² or whatever ratio), but backlash might not actually matter since the accuracy is really only needed in the forward (extruding) direction, not for back-and-forth movement (retraction).

Thank you for your message. 2.85 mm Bondtech gears have an inner diameter of 8 mm and an outer diameter of 22 mm.

I've been down that road and chose to go for a belt reduction instead.

Yes I completely understand that @0scar, but I would still like to understand ins and outs of this thing. I appreciate your suggestiong though. Thank you.

I'm with @0scar, belt reduction will give you less backlash error. There is no way to compensate in modern 3d printer firmware. You will need a backlash mitigation strategy to do otherwise (which might be outside what you are willing to do).

During normal extrusion backlash has no effect.
During retraction you can perfectly compensate by increasing retraction length slightly.
Backlash cannot be taken into account for pressure advance, but unless it's a lot, it should not cause issues: pressure compensation is a second order effect and does not need to be tuned super accurately to produce results.
One degree does not seem to be enough to cause problems.


text:
New RepRap Discount Smart Controller blinks and beeps, but doesn't display
Main board: MKS GEN L V1.4
The SD card reader on the original controller LCD (from four years ago, or so) went out, so I replaced it with a touch screen. I found, however, that I don't like the touchscreen interface as much as the LCD home screen, so I ordered what I thought was an identical LCD controller. They certainly look the same.
The original controller is plugged in now and working. It should just be a matter of the EXP1 and EXP2 cables between new and old, but when I plug it in and fire up the printer, the beeper starts a constant, weak beeping, the screen sort of flashes on/off, on/off... Is there something I'm missing? Some fundamental difference between the old LCDs and the new? Is there firmware I'm missing?
EDIT: I saw this post that talks about turning the slots, but they don't move and I'm afraid of applying too much pressure. How hard should it be? Can I accomplish the same thing by reversing the connector on one end of the ribbon cable?

So, the answer in the other referenced post was correct, the slots were turned opposite how they should have been. AND YES: you can create a "crossover" ribbon cable and everything works great, so physically turning the slots is not necessary.


text:
Why aren't fixed build platform 3D printers popular?
I'm trying to build a DIY 3D printer for myself. I've been exploring many different styles of printers and found this type of printer that has a fixed bed that stays fixed in one place and the whole gantry moves which includes all axes.

Why is this so rare?
Are there flaws in this design?
Will print quality be affected by using this approach?

Check out this video for reference and skip to 10:50:

Care to link which machine you speak of?

I guess this includes Delta kinematics and printers you see in concrete printing.

https://www.youtube.com/watch?v=XeX7QthGKpA&t=1s&ab_channel=DesignPrototypeTest ,skip to 10:50.

Voron has a stationary bed. (#1)(#2)

Why is this so rare?

Such kind of printers usually harder to assembles, calibrate, and maintain because 3 axes machine is a bit more complex than 2 axes. For instance, it's can be tricky to move an entire extruder among all 3 axis and some of such printer's designs may require even dedicated exruder's design like Bowden Extruders.

Are there flaws in this design?

The key disadvantage of such kind designs is complexity with moving of an extruder among all 3 axes. Moving platform by at least one axis simplifies that.

Will print quality be affected by using this approach?

It depends on the exact printer's design, so, potentially you can have issues with ease of assembling and maintenance due to more complicated construction and as a consequence higher risk of low printing quality due design, assembly or configuration mistakes.
On the other hand, if you already have some device with precise enough 3 axis machine, like CNC milling machine, you can upgrade it to 3D printer by installing an extruder, however, it would also require update of software and, probably, electronics.

I would like to add that a moving platform could introduce movement into your part as your part flexes. Especially when your part is a little bit top heavy. A fixed platform will never have this issue as the printed part will not move at all.

@Hacky, can agree to some extent - it's true for legacy printers' designs, like Prusa i2 and i3 because we have frequent movements of a platform here across Y axis and this is less relevant to modern designs with platform movement across Z axis because such movements are rare - once per layer, short and in a single direction, usually downward, so even a weight of a part we're printing wouldn't be an issue.

I totally agree with you Stepan. Didn't think of the platforms that move in Z direction. That'll probably introduce no wobble at all.

As a frame challenge, they kind of are. It's just that the optimal, and in some sense only reasonable, design for a fixed build platform that doesn't move on any axis is the delta robot geometry. This design is not the most popular, but it's far from obscure - there are lots of cheap entry-level delta printers available as well as higher-end ones.
What makes delta optimal? Keeping a single gantry (like the Ender 3 has) square with a fixed bed height is hard enough; it requires a very rigid frame and perfect rails/rods. If you want to have a multi-axis motion system over a completely fixed bed, you have a whole extra dimension in which it can be non-square. Mechanically (at least for a plain cartesian configuration) it's like having a gantry that moves between two other gantries, each of which already has concerns about remaining square, and the resulting system might not even end up being planar.
The delta configuration avoids this by not having a 2-axis motion system that's constrained to a particular movable Z height relative to the bed, but instead calibrating the transformation between a constrained motion system with free degrees of freedom and normal cartesian coordinates. Any error can just get calibrated out.
On top of that, delta has an extremely low toolhead mass, allowing extreme speeds and accelerations.

Within the realm of Cartesian machines (eg having orthogonal X, Y, Z axis) consider the sort of design you do see: the Ultimaker-like X-Y stage over a build platform which can drop.
The question is then, why drop the build rather than raise the mechanism?
Likely the reason is mechanical simplicity.  The X-Y gantry is the part that moves around quickly and may vibrate.  It's also the part that is rather complex and has lots of electrical cables.  Making that fixed in the housing is generally a simplicity.   In contrast, the built object in a typical consumer printer has lower mass, and the build platform only moves slowly so variation in dynamics from its increasing mass isn't really an issue (increasing build mass typically isn't even really taken into account in designs where the build rides on a rapidly moving Y axis either).
You might ask, what would a machine like this look like if instead of dropping the build you raised the mechanism?
It turns out such a thing does exist, in the form of a clever hack where you run a linear rail up the wall of your hackerspace, mount your entire Ultimaker-style printer on it (less build platform and bottom panel), and tap out the Z control signals such that the printer climbs itself up the wall leaving some towering sort of build on a fixed platform below.   Conceivably if you wanted to start there you could also saw off all but the top third or so of the cabinet to leave the X-Y gantry with some rigid frame.   But it's a bigger, more expensive product that doesn't work simply by lifting it out out of the shipping box.  Apart from very unusual or "proof of concept" builds, it doesn't make a whole lot of sense.
The thing about the 3d printer realm is that you're free to try anything you like.  Some ideas work.  Some ideas don't.  Some that go a little bit against orthodox mechanical design as taught in Mech E. departments turn out to work a bit better than they should fairly be expected to, and make it into products.   But generally what is on the market is what has proven to present a good balance between cost and utility.

Why is this so rare?

This is rare because machine designers basically copy the designs that work, without trying to innovate too much. As a result of this, Adrian Bowyer's original RepRap design (a travelling type) is currently the most prominent desktop 3D printer design around.

Are there flaws in this design?

There aren't any flaws in the concept for a static bed, after all, it is just a design concept; there are advantages and disadvantages for each type (static, floating and travelling).

Will print quality be affected by using this approach?

The individual implementations will have varying levels of success. Certain designs provide more quality than most due to the rigidity of the frame that is required (e.g. CoreXY) which in turn provides better print quality. Any printer design can produce a good print quality when the machine is well designed and well maintained.

Now that I learned the truth about supporting the XY gantry, I can answer this. No, it’s not about complexity, it’s about stability. There’s nothing complex about 3-axis movement. However, moving the gantry has more requirement than moving the bed, and this additional requirement is the reason why many implementations stick to moving the bed instead.
Why moving the bed instead is easier
The XY gantry moves around quickly, horizontally. Which means that it must be supported by at least 4 points of supports forming a square, otherwise, it’ll wobble. Yes, 3 points define a plane, yet the XY gantry cannot be stably supported with just 3 points, which is why this is challenging. Synchronizing the movements of those four supports is not as easy as linking them all together with a single belt. This introduces another challenge. To do this correctly, typically, it requires multiple motors for the Z axis (e.g. Voron 2.4 has four Z-axis motors.). And even with 4 points of supports, they can still fail to stably support the rapidly-horizontally-moving gantry.
On the other hand, the stuff on the bed does not move around. The weight does not move around. Meaning, the bed is absolutely fine with less than 4 supporting points (e.g. 1, 2, or 3 leadscrews).
Now you should see why moving the bed is considered as easier and more stable.

authors: Константин Ван


text:
Drop in temperature after couple layers
I'm printing basically a large flat square pane. This goes fine for 3 layers, after which the temperature suddenly drops by about ten degrees. After a while, my printer goes into thermal runaway protection.
I restarted my print, and as soon as the temperature drops, I pause the print. I wait for it to go up again, and resume. It starts dropping again, so I decide to see about continuing this part at 200 degrees (which worked quite fine, so I think I'll stick at 200 for now.)

I have tested running the printer at 210 and turning on the fan, thinking maybe it's simply related to that. That does not give a thermal runaway, and a drop of 2 degrees max. My assumption is that it's the PID.
How do I fix this?
My printer is a heavily modified Anet a8, running Marlin.

Can you measure the hot-end temperature independent of the sensor to tell if you are really getting the temperature drop then thermal runaway, or is this a problem with the sensor?

I can not, don't have tools for that. But considering that it rises again as soon as I pause, I'm assuming I am really getting a temperature drop. I highly doubt there is any actual thermal runaway, considering that the temperature does remain stable at 200. So, without any tools to definitively confirm, that rules out an actual runaway for me.

Did you test the 210 °C with full part cooling test near the bed or in the air/at certain Z height.

I did, by pausing the print. This keeps the fan on, and the print head at the same height.

Are you sure the slicer didn't insert temperature reduction commands?

You can get Infrared Laser Thermometers as low as $25 to measure the hot-end temperature.  That would allow to compare with the sensor.

@R..GitHubSTOPHELPINGICE Yes. The problematic drop is the one around -18 min, not the one around -8 min. The one around -8 min (the drop in target) was manual.
And I'd assume that any conceivable temperature reduction command would show up in the light red line, right?

I had a similar problem with an Anet A8 once. The problem was, that the thermistor wasn't mounted right in the heat block, so the air flow cooled it while the print head was moving. You can check, whether this is a problem at your printer.

According to the OP's Octoprint screenshot, it was the target temp that dropped, not just the achieved temp, so I don't think this is a plausible explanation.

@R..GitHubSTOPHELPINGICE As I mentioned, after a while I manually lowered the target temp.

I will definitely check my thermistor.


text:
Prusa MK3S Y-skewed prints
My prints have recently started to come out with a serious skew along the Y axis.  This occurs regardless of printing parameters such as speed/acceleration. I don't know the exact cause yet, can someone help me resolve this? What could have caused this?

Please don't mind the stringing/blobs, I'm currently running out of filament and I was forced to use an old PET-G spool damaged by moisture.

looks like you loose steps in Y. Is the belt tight?

I can't think of a plausible theory whereby lost steps would be a consistent skew like that. It looks to me more like the frame isn't square.

I ran the selftest and actually, the Y-belt is overtightened. Even if this does not change anything, I need to fix it. I'm pretty sure there is something wrong with the frame, perhaps it actually isn't square (I can tell this just by looking at the printer.). I have no idea how this happened as I haven't used this machine for a long time.

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

Any clue as to why the skew occurred?

@BobT Well, skewed prints are the effect of a skewed frame but I have no idea as to what caused this. Sorry to disappoint. Anyway, I'm glad that it's working now.


text:
Ender 3 Extruder Speed / Upgrade
I am attempting to make my Ender 3 Pro print significantly faster than it is intended it I fear.
I hear a clicking noise coming from the extruder above 130 mm/s in Cura when it is going in long straight lines (I think my acceleration settings prevent it on shorter lines).  I have seen this before when the bed is too close to the nozzle but I have auto bed leveling now and it is happening on all layers.
I have a standard extruder + Bowden tube setup.  What can I do to make things go faster?  I am less concerned about the quality of the print and more concerned about the speed.

Try a larger nozzle

Not an option for the parts I am making, did consider it.

Have you increased the extruder current? you risk grinding the filament, but if you also increase the spring tension, it should be ok.

I am still somewhat of a noob, but I have heard that your problem may be because the extruder is not getting the filament out fast enough. You are trying to extrude filament before it is sufficiently fluid. Try increasing your hotend temperature by 5 degrees.

your answer would have been my answer, as your understanding is correct and likely the correct answer to the question. If a 5° increase does not remove the problem, another 5° added until there is no clicking is the recommended approach.

I will try this and see if it helps, my hot end isn't cooling but it makes sense that maybe its not all fluid by time it comes out and is clogging it.

My settings are now a little insane but I have PLA printing at 190 mm/s at 237 on a mostly stock ender 3.

@TristanMaxson Obviously increasing the temperature helps on long straight segments, but on the slower parts of the print the extra temperature will reduce the quality of the print and also make bridges not bad, just impossible. It may be ok for specific prints.

You're likely hitting the thermal limit of your hot end.
The standard Creality hotend used in your printers maxes out at around 8-12 mm³/s.
To calculate your current volumetric speed, you can simply calculate
speed * layer height * extrusion width
With an 0.45 mm extrusion width and 0.2 mm layer heights, printing at 130 mm/s would put you at around 11,7 mm³/s - very high for the standard hot end.
Increasing temperatures as suggested in the other answer will help, but might reduce print quality on other layers / intricate structures.
The "proper" solution would be a Volcano or SuperVolcano hot end, or any of the other "high flow" alternatives.


text:
Do I need linear rails on a corexy printer's z-axis while already having quality lead screws at hand?
I'm currently working on a CoreXY printer, my build platform will be 220 x 220 mm I've chosen to go with linear rails on X and Y axes. I have some nice straight machined 12 mm diameter lead screws on hand which I'm thinking of using in the Z-axis, both of them will be supported on each end with pillow blocks, is it necessary to support them with rails? Or will it be overkill?

Using rails for Z is overkill. They are stiffer than smooth rods, but for Z axis that's not needed.
Using only the leadscrew may be enough, especially in designs with three of them, but if you have only two you may be able to still twist the bed around the Z axis.
Also, the bed would be supported only in the center by the "nut" on the leadscrew. This means that the bed could wiggle around the X axis (the axis along the line between the two nuts).
Some additional support for the bed, or using two "nuts" per leadscrew, properly spaced apart, is usually needed.
This in general. Since you mention now that the bed is 220x220 mm, maybe you can get away with the two leadscrews alone, especially if you can find "long" leadscrew nuts, so that the wiggling is not excessive.

Even 12 mm ones? My build platform will be 220 x 220 mm.

@FarazAhmed well you didn't mention it in the question and usually CoreXY is used for larger print volumes. Answer updated


text:
New Build. Hotend Overheating. Not Printing Yet
My build with the Hypercube Evolution continues with a replacement BIQI KFB2.0 board. I am not at the printing stage yet. This is due to my latest problem.
The kit contains a “no-name” hotend, complete with round finned heatsink and nozzle. Looks a bit like a V5 J Head Hot End.
Everything is wired up. A 24 V power supply is being used. The printer is connected to Pronterface via USB. Using Pronterface, I set the hotend temperature to 70 °C. The KFB2.0 board lights a bright red LED when power is being sent to the hotend (and/or the heated bed). On initial heating, the red LED is on until the hotend temperature reaches around 65 °C and then turns off. The temperature continues to climb to around 120 to 125 °C, then starts falling. At 69/70 °C the red LED comes on again for about two seconds, the temperature continues to climb after the red LED is off to around 86 °C. It then cycles around the 69/70 to 86 °C position.
I have removed the thermistor to check its resistance. Reads greater than 100 kΩ. When in situ in the hotend, it was reading around 85 k&ohm, but a bit of Kapton tape sorted that. I was now reading 100 k&ohm with the thermistor in place. I then used Pronterface to set the temperature again. This time with a multimeter hooked up to the hotend terminals on the board. It confirmed that the bright red LED was sending 24 V and nothing when not on, so the hotend is recording a temperature increase from around 65 to 125 °C with no power. But, I now got something different when the temperature fell back to 69/70 °C. The red LED flickered for about two seconds and the multimeter showed readings fluctuating between 0.1 and 4.2 V. From this point the hotend kept the correct temperature, even after I had removed the multimeter.
Has anybody any idea why the temperature is going so high and what can I do to fix it?

What is the resistance of your heater?

@PerryWebb 3.9 ohm

Basically the resistance of the heater element is too low causing large currents and fast heating of the hotend. The overshooting you describe is the result caused by the active PID schedule. However, PID tuning is not always possible when you use wrong heater cartridges. I've made this a duplicate of an existing question.

3.9 ohms is a 12V heater.  It won't work on 24V.

Thank you. You would think that the suppliers of the kit would include the correct parts. I will try a DC-DC converter to drop the voltage.

Heaters cost lest than a converter.


text:
Identifying this ATmega1284P board
I recently bought what I am told is an Ender 3 clone. It is a CTC model and has v1-5 written in the bottom corner and comes with a Marlin v1 firmware. But I have no idea what board it is.
When I send command M115, I get
FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6
FIRMWARE_URL:http://www.mendel-parts.com
PROTOCOL_VERSION:1.0
MACHINE_TYPE:CTC 3D
EXTRUDER_COUNT:1
UUID:00000000-0000-0000-0000-000000000000"

Can anybody help me identify this board so I can upgrade the firmware to Marlin 2 in the hopes of getting it to work with Octoprint, and all the safety features that come with the new firmware (such as thermal runaway protection).

This printer controller board looks exactly like an Anet controller board. These also have a v1.5 version:

Your board misses the "Anet" branding, but includes the 1.5 version designation. Your board is probably customized with a different silkscreen (ink layer that identifies components and other information) on PCBs (printed circuit boars). Rebranding is pretty common in electronics.


text:
Adjusting extruder
Since I have some problems with printing I wanted to try to adjust my extruder esteps. While changing the esteps I noticed that the value has almost no impact. My default setting was 93 and the calculation went from iteration to iteration up to 375. Then I just tried my luck with 450 and then 75 the results were all crap.
Then I notices that the filament didn't move as fast as the stepper motor. So I guess there is the problem. What can I do to fix this issue?

Are you trying to calibrate though a hot nozzle or with the bowden tube disconnected?
You may also need to adjust the tension on your extruder gear.

I heated the hotend to 180°C with the nozzle for my PLA filament. Do you have a reference for adjusting the tension of the extruder gear? Seems logic for me but I have no idea

That's way too cold, and you were probably trying to calibrate too fast. I always calibrate my e-steps with the bowden or nozzle removed.
Extruder gear tension is tricky. Too low tension can cause it to skip over the filament, too high tension can cause the motor to lose steps. If you can see the filament being ground off by the wheel, you'll probably need more tension (if it's adjustable at all on your printer).

Thank you for your hints I'll try it later again, which temperature do you use?

Cold, with the bowden tube (bowden) or nozzle (direct drive) removed ;)

Also, go back to 80-ish steps/mm for now


text:
Over extrusion on Ender 3 with SKR mini E3 v1.2 and BMG clone (Bowden)
I own two Ender3 printers, a stock one and one upgraded with SKR mini E3 v1.2 and BMG clone.
I calibrated the E-steps using the filament measurement method ~415 looks correct.
The machine severely over extrudes, reducing the flow rate to ~50 % looks right. I would say it pushes out about twice as much material then it should.
I am testing this using a simple one walled cube, sliced with Cura 4.7.1.
Printing this will have the wall thickens about double and several blobbing on the side the layers are restarted.
Printing the same G-code on the stock printer works without problems.
Printing from the card or using Repetier Server does not make any difference.

415 is not correct, so much I can tell from my config. My Ener3 has: #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }

93 is for the direct original extruder

the original bowden extruder. Direct is where the motor is on the carriage.

correct, i expressed wrongly, I meant "not geared" as the Bondtech BMG extruder it is, such extruder has a gear reduction, hence the bigger E-steps needed

Ok, you always should calculate the steps for the extruder. Can you give us numbers for the gear ratio?

415 should be pretty close. My BMG clone runs at 407 (with 16x microstepping and 1.8° stepper motors).
93 is obviously for the stock extruder, which the asker replaced.
Make sure you have no flow rate modifiers active with M221 S100

At how many microsteps have you set the TMC2209? Default should be #define E0_MICROSTEPS    16 as seen in the Configuration_adv.h.

I actually forgot about checking micro steps and really hoped this is, but turned out where 16. M221 returns echo:E0 Flow: 100% . I will now try to print the models from "Teaching Tech 3D Printer Calibration". Thank you a lot for all the good tips.


text:
Post-processing and filaments for weather-proof electronic enclosure
I'm building a weather-proof enclosure for some electronics. It's expected to stay exposed outside all the time so I'm worried about its resistance:

What would recommend me for 3D filament? I was thinking about ApolloX ASA but I don't have an enclosure.
What post-processing should I go with without being overkill? I was thinking about:

Resin coating (was thinking about XTC-3D)
Filler/Primer spray
UV-resistant spray paint
Water-proofing spray

The enclosure have some moving parts exposed, how do I make the junction between them water-tight?

What is the problem with the moving parts? if they are inside, why do you need to make them watertight?

I will have some exposed junction where water could enter and drip on the motors and electronics. I re-phrased it in the post @FarO

There are already some questions about the choice of filaments for outdoor use:
Which is more durable to sunlight/weather - PLA, ABS or PETG
3d printing for outdoor use: what types of filament are most weather resistant?
PLA use outdoors?
It may very well be that if you print in PETG you won't need any postprocessing.
If you still want to, you could try to paint or spray the outside with some bitumen spray for car underbody.
I think that the only part which actually needs postprocessing is the spot with exposed moving parts.
It's difficult or impossible to find a solution without having an idea of what we are talking about when you say "some moving parts exposed", but in general this is solved first of all by adapting the design so that water wont' be an issue: rain should flow away without getting inside, and spatwater should be reduced so that it will evaporate when rain stops.
If you only have an exposed pin for rotating parts which are inside, you could also pour some wax: it will seal it while allowing movement. The same bitumen spray may help.

See UV Resistance in https://all3dp.com/2/petg-vs-abs-3d-printing-filaments-compared/#:~:text=UV%20Resistance,will%20last%20you%20much%20longer.


text:
Which wire size to connect 24 V PSU to board?
I'm building a new 3D printer (P3 steel type, 24 V setup) and I've been struggling with the wire gauge to connect the PSU (24 V, 15 A) to the SKR 1.4.
From my calculations, 1.5 mm2 should be fine, but I'm thinking about using 2.5 mm2 just to be safe. What are your opinions on this?

As always: It depends.
Are you planning to connect your heated bed directly to the board? Or are you using an external MOSFET for it that'll connect to the PSU?
Also, what are the specs of your bed?

I'm planning on connecting directly to the board, unless a Mosfet is absolutely necessary. The bed is 24V and 3.6ohm (read from my multimeter, manufacturer claims 3.2ohm).

3.2 Ohms results in around 8 A. Together with the around 2-3 amps for the heater, drivers and fans, 1.5 mm² will be fine.
Larger obviously doens't hurt though.
I went with 10 AWG (6 mm²) for my heated bed, even though that only draws around 20 A - though I used silicone insulated wire for the flexibility.


text:
What are the changes between BLtouch 3.0 and 3.1?
I couldn't find a reliable source listing the improvements of BLtouch 3.1 vs 3.0.
I can see that BLtouch 3.0 is sold (original) for about 20 Euro, while 3.1 costs about 30 Euro. The difference is significant.
What are the improvements?

Best reference would be the original equipment manufacturer (Antclabs). It appears their sensor has had many versions:

So, from 3.0 to 3.1 is a software upgrade. Reported highlights are:

★ Smart V3.0 (Mar. 2019 ~ ) : S10, S60, S90, S120, S140, S150, S160,
PWM Wiring defect indication(Blue LED), QR, Molex 1.25, Plastic
Push-pin(PC), Power Wiring defect indication(Red LED)
★ Smart V3.1 (Mar. 2019 ~ ) : S10, S60, S90, S120, S130, S140, S150,
S160, PWM Wiring defect indication(Blue LED), QR, Molex 1.25, Plastic
Push-pin(PC), Power Wiring defect indication(Red LED)

If you look at the manuals you will see the differences:
V3.0

V3.1

As can be seen, timings are different and more PWM position G-code options are available in the V3.1.


text:
Wiring BLTouch V3.1 on Anet A6 and the JST connector polarity
I have looked at many tutorials already but I am not sure about how I should wire this properly. I bought a BLTouch V3.1 together with an extension cable

Now, the thing is, with that extension cable you get one set of wires for the servo in a Dupont connection (brown, red, yellow) and one for the Z-min in a JST connection (black, white).
The JST connection actually has room for three cables, and when holding it the way you can plug it into the Anet A6 you have the following order: Empty, Black, White. However, IIRC the input Z-min input on the Anet wants the following order: GND, VCC, Z-min.
So if I would use the cable like this. then I would connect the black wire of the BLTouch to the VCC. Will this cause any trouble with my BLtouch?
Because I think it does, but then again, why would you sell such a wire.

Black is GND and should not be connected to VCC.
Note that you can simply pop out the metal parts (use a pin to press a small clip) from the connector and rearrange how you want them to be.
Note that most printer controller boards have the GND of all the endstops connected, so technically you don't need the black wire at all. I make my own extension cables (from 4 wire cable) where the brown and black are connected at the sensor side and a single white wire is used for the Z-min endstop.

Great, thanks for the confirmation. Didnt knew how easy it was to re-arrange the wires in the JST connector!


text:
What are the pros and cons of Painters tape?
Painters tape is a common quick fix to adhesion problems, and we know it doesn't need to be blue, but it is often recommended not to do. Why? When is painters tape best used or skipped upon?

I feel like this is a good knowledge base topic, but the question and self-answer aren't fleshed out enough.

@R..GitHubSTOPHELPINGICE that's why the answer is community Wiki - as should be the question... forgot that.

Read First

Painters Tape does lift the print surface upwards by its thickness. This has to be accounted for in leveling the bed. Different Brands do have different thicknesses and thus need different leveling!
Easy-peel tapes need to be avoided as they don't stick to the surface!

Pro

Painters tape is cheap and easily available.
Laying down a painters tape without overlap is easy.
It is one of the best print surfaces for unheated printers.

Cons

Painter Tape needs to be refreshed regularly.
Weak glue on a painters tape might come off the bed.
Rough-textured tape might stick to the print too good to be easily removed.
Some tapes do leave coloration on the prints.
Cheap painter tapes can be hit-and-miss.
Heating painters tape degrades the glue on it, leading to adhesion failure and staining the actual print surface with residue. It is not advised to use it with heated beds.


text:
Can I adjust print speed on the fly?
I am running an Ender 3 pro with an Octoprint connected. I accidentally set the print speed too slow in Cura and the print will take very long. Is there a Marlin command I can issue to the printer to speed it up without stopping the print?

You can use the M220 g-code like
M220 S200
to speed up your print speed to 200%.
You can simply enter this g-code command in OctoPrints "Terminal" tab at any time.

Is there a way to set it too a certain mm/s I know I am splitting hairs but I have tried to experiment with that too. This will work for now though so thank you

Not directly - since you may have different speeds for printing moves, travel moves, first layers, perimeters etc.
Theoretically, you could alter the maximum feedrates with M203 to your desired speed, and push the feed rate multiplier up to its limit (990% as far as I can tell). Then all moves should run close to the mm/s speed you set with M203, but that approach doesn't seem very robust to me.

yes
Print speed is a setting that can be altered by just turning the click-wheel of the Ender 3. You don't need to push it to gain access to menus. A turn to the right does increase the speed, left lowers it. It is applied only some moments after
stopping the turning - then the firmware does inject a M220 command as the next line. This means the current running movement is ended with the last set speed, the new speed is set and the following command will be done with the new speed.
As towe correctly states, one can also send a M220 command to the printer via a terminal, but then you need to have one set up before the print starts, as plugging in a terminal will reset your printer and abort the print!

I believe it's applied after the current movement buffer has run empty, i.e. at the same point as canceling the print without M112 would stop the printer.
That could be minutes at slow straight first layers; or fractions of a second for high-speed curved paths.

@towe partially correct: it takes stopping the wheel for a second or two for the firmware to decide "new speed is set... now I apply it"

Are you sure about that? I couldn't find any such delay in a short code search: https://github.com/MarlinFirmware/Marlin/blob/2.0.x/Marlin/src/lcd/ultralcd.cpp#L580

@towe I am rather sure from practical testing: turning the knob to 250 on a rather speedy baseplate did not affect the print for at roundabout a second, using a Marlin 1.9 design.

Also FTR I am running an SKR board so it isn't the stock marlin version but I forget which one

@Jackie that's a crucial information!

Yeah I know my bad