text:
Why are my Cura generated thumbnails showing in one flat color without any depth?
I recently started using this Slicer Thumbnails plugin in OctoPrint and added the steps to my Cura 5.5 slicer. However, my thumbnails are in one color, like this:

And are not showing any depth as shown for example on the plugin page:

Am I missing something here or is there a better way to create and add beautiful thumbnails?
For reference, I used the model Female Scart Dust Cap for Male Scart Connector.

After a lot of trial and error I figured it out. I thought it was the result of having very small models but it turns out that simply changing the Filament Color in Cura Filament Profiles also translates to the Thumbnail color. Using a filament profile with the color black apparently doesn't show depth.
Below is the thumbnail using the original Cura Thumbnail Script and another Filament Color which resulted in the following transparent PNG Thumbnail:

Instead of the original script I also tried using the Cura script Cura JPEG Thumbnail creator as described at How to generate a gcode preview which resulted in the following JPG Thumbnail:


text:
Ender 3v2 nozzle plunging into bed after finishing mesh (only changed springs)
Yesterday I was printing just fine. Today I put the new springs that I bought from Amazon. Swapped them out, went to level things and my Z-offset was of course way off.
I have the Ender3V2-422-BLTUBL-MPC-20230904.bin firmware from mriscoc
I homed and set the probe Z-offset with paper barely grabbing at the tip.
I do the tramming wizard and get it all within limits, do the auto mesh, and it checks out all green (until this last one after several bed digs).
Now when I try to print, it goes through the steps, and when it does the last piece of 25 (back left corner) it just immediately plunges straight down and digs into the bed until I yank the power.
The probe worked fine until that point, and I changed nothing in my settings. The CR Touch triggers every time, until after that 25th square, and then it just dives into the plate and the printer sounds like it's trying to kill itself, and I have to kill the power manually.
Literally, the only thing I did was change the springs. I know I have to figure out how to tighten my arm now and the entire hotend assembly because it's loose after diving into the bed several times.
I hope someone has seen something like this before. I'm at my wits end trying to figure out what is causing this all of a sudden as it doesn't make sense to me. I would maybe understand if it was just digging a little across the board when resetting to start extruding, but the thing just straight-up plunges down and doesn't stop until I kill the power.

It sounds to me like your end-stops positions relative to your new bed level are off or the Z-offset is very off, did you use microsteps and manually checked the Z-offset?
The nozzle crashing into the bed is kind of catastrophic, the bed is maybe much higher than the current end-stops. Could that be the case?

Make sure that the end-stops are high enough to prevent the nozzle from being below bed level and preventing physical damage to the bed. Also make sure that your end-stops are tightly connected to the frame, unable to move to avoid further offsetting issues such as:

As explained in this YouTube video.

I was under the assumption that the 'Z-probe wizard' menu meant when I chose 'auto homing" and it went to the middle, did the probe, finished and went back up, that that position was the Z-home of the printer.
So I then chose the manual offset and leveled it. Tests would run and at the end catastrophic bed plunge.
Then I 'noticed' the 'home Z' or 'move Z home' option (not sure of the exact term as I'm at work) and when I chose it, it immediately dove into the plate.
Solution:
After doing the auto-homing:

I manually set the Z stop to like +4.00 mm for safety.
Chose the 'move Z home' and it ended up above the plate this time.
Choose the manual offset and level as usual, then save the setting.

Tested this time and things worked fine. I had a spot during a print where it got stuck about 75% through, but I think I didn't have the nozzle quite close enough to start.
So the main takeaway is that the 'auto home' wizard doesn't set the initial/starting Z height like I thought it did.

Manually adding a z-stop to +4mm probably works, but it seems to me like a symptom-fix and not a cause-fix. I think your end-stops should prevent the type of catastrophic failure you described, at all times. As I described in my answer: https://3dprinting.stackexchange.com/a/21572/36802. I've added an image for illustrative purposes.

source: Stack Exchange

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

sort: votes


text:
Is it possible to 3D print plastic straws?
Plastic straws are forbidden in the EU so it will get harder to buy them. I wonder if it is possible to 3D print plastic straws? I would likely use them as tools when woodworking, but if you can use them to drink beverages that would be a bonus. I am not familiar with 3D printing so I don't know if it is possible to get them bendable and so on like usual plastic straws.

It's of course possible but the question should be about food safety really.

You could buy packages of 1000 straws each straight from China... Also, how do you use them for wood working??

I have ordered a 100 straws so I will have some stock to use from. It was good to collect junk when chiseling or gouging by dragging the straw along the corner (the junk goes into the straw). I was taught this trick some weeks ago so I have not tried it myself, but I think paper straws might just break.

Yes, it's possible to print, you can print almost anything. The question should be if you actually want to.

From 3 July 2021, single-use plastic plates, cutlery, straws, balloon sticks and cotton buds cannot be placed on the markets of the EU Member States.(Source: EU restrictions on certain single-use plastics)

A few things about this, if you use them as a woodworking tool, I suppose that's not a single use. Also, you're not selling them ("placing them on the market"), it's for personal use only. So my guess would be that this use case is allowed.
There are many designs that are about straws or include straws. I'm sure you can find some design or make it yourself since the shape is quite easy (as is tinkercad.com).
However, it's not generally recommended for health reasons to eat or drink from 3D prints. To my understanding, PLA is the most food-safe but it perhaps lacks the flexible properties you asked for. However, even with PLA, there are concerns about the intake of microplastics, which is very concerning in health terms.
If you want truly flexible material you could print with TPU but as far as I know, there isn't a food-safe TPU on the market. There are special "food safe" filaments on the market but the issue with microplastic intake due to the inherent result of (FDM) printing layer on layer remains.
Maybe it is possible to print in a more food-secure way with resin printing but I don't know enough about that.

Some, or maybe  lots of TPU is safe up to 125 °C, so parts can be sterilized at 121 °C. FDM itself creates layers and therefore always crevices for germs to grow in.

Yes, you can print functional straws with FDM printing. Most manufactured straws are polypropylene (PP), which is a food-safe plastic you can print, though it's reportedly a little bit difficult due to adhesion and warping issues. While not as common as PLA, ABS, or PETG, PP is readily obtained as filament. Thin-wall PETG or PET would likely also have the flexibility properties you want and may be easier to print.
In terms of printing, orienting the straw along the Z axis is definitely possible, but difficult on bed slingers because the motion of the bed is working hard to deflect or detach it while you're trying to print. It's also very hard to cool sufficiently fast. But it does allow vase mode, which makes water-tightness/air-tightness easier and gives a nice uniform surface.
Printing horizontally will not give a uniform round shape, but if you're happy with a slightly truncated cylinder, it's a much easier option. I have printed straw-like hoses successfully like this.
Another option is orienting the straw diagonally so that you have much larger cross sections than a fully vertical print, but a flat/truncated surface against the bed only at one end, where you can just cut it off. Depending on the angle, this probably requires minor supports, but that's an advantage since it gives you a lot of stability.
Printed straws will be difficult to clean, but in most reasonable materials, including PP, PET, PETG, or PLA, they should be entirely food-safe for single use, contingent on lack of unsafe pigments. If you want to use them this way (note: this may be an accessibility need in places where plastic straws are banned), choose uncolored/natural-color filaments and purchase from suppliers with a MSDS and/or other technical documentation that the filament does not contain sketchy additives. I do not see a plausible concern about microplastic ingestion here; if you're concerned, pre-rinse them to get off any dust. But PLA is safely absorbable by the body (used in medical implants, even) and PETG is essentially no different from polyester garment lint which you ingest in much larger quantities.
Update: Somewhat inspired by this question, when I found myself without a suitable straw for bubble tea, I quickly printed one from material that was known to be food-safe (it was formerly a seltzer water bottle) and it worked. Short video showing print orientation/process here:

Yes! I would print in a vertical configuration. So you'd need a 6-8" Z-axis, and I'd definitely check my Z-axis, you'd have a better result if you printed in a continuous mode. Increase the tempemperature for PLA by 5 °C. Turn your cooling fans up to 100 %.

It indeed is possible to print a plastic straw via 3D printing, however it requires a considerable amount of precision and supports during 3D printing, modelling and slicing.
This is because as the 3D printers build the plastic straw layer-after-layer, the circular structure could result in instabilities and therefore requires some time to condense.
Overall, these structures are possible to be 3D printed but not as easy as it seems, and way more expensive to print as well.

To be honest: No, straws are long, open structures that don't print well.

When printing vertically, the layer lines are horizontal and make the straw structural weak. It will break when bent a little.
When printing horizontally, it will have rough sides because of support material or sagged sides.
It will probably not be watertight. FDM prints are rarely watertight.
When printing vertically, going upwards, the print head will bend the straw and deform the result and maybe even fail, depending on the height.
Even though I would drink from PLA material, it is not considered food-safe, especially because the rough edges cause a nice home for bacteria

TPU won't be your friend here as it will bend when printing. having a Prusa i3 derivate will make this even worse as it rapidly moves the printbed back and forth, which makes the straw bend all over the place.
SLA prints won't have as many of above issues, but until cured well, it is pretty toxic. Also it will be even less strong.
You're probably better off importing straws or rolling your own from a thin sheet of plastic. (roll 2 times and secure with a small piece of tape. )

Interesting. I have been looking for thin sheets of plastic in two or three hardware stores but have not found any yet.

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


text:
Ender 3 extruder skips
I'm printing a 3D flower model using an old Ender 3 printer.
At first the printer was printing so well but suddenly, when printing something, the extruder starts to skip and make noises and stops loading filament to the nozzle and not printing at all.
After disassembling the PTF tube, it turns out that it was clogged so I decided to replace it with a Capricorn Bowden tube and after trying to print with the new upgrade the extruder is still skipping or clicking and making a noise and the nozzle is almost extruding filament.
I have uploaded a video that describes the issue: extruder skipping ender 3

BTW I'm using very cheap PLA filament.

Have you tried changing the nozzle? It could be that it is clogged as well.


text:
How much time/material does it add up using a multi color 3D printer?
I am wondering how much time/material would that add up using AMS or Mosaic Pallet 3 Pro with an FDM 3D printer compare to using a single filament?
I know it depends on how many colors we use and how we use the colors, but I am trying to estimate does it worth it to buy multi-color accessories regarding to using a single filament and hand painting the parts?


text:
How to change the orientation of an object inside the STL or OBJ file?
I have little experience with CAD software, only use Thinkercad and only recently started using the Revoscan app. I know how to rotate files when slicing (in Cura) but that only has an effect on the generated gcode file, not the STL/OBJ file. But as I'm trying to publish a few things I scanned using Kiri Engine (photogrammetry app) where the original rotation is wrong.
I want to know if I have an object in OBJ/STL format how do I rotate the position in those files so I can publish my OBJ/STL files in the proper rotation. I'm fine to use another app or tool, I just don't know how to do it yet.

Many 3D editing programs exist that will accomplish your objective. Tinkercad will do this as well, using the rotate feature, followed by moving it to the build plane and exporting it as an STL as desired.
Fusion 360 is available for free personal use, but has a bit of a learning curve.
Meshmixer from Autodesk will also rotate in the x/y/z axes and also place the model on the build plane.
You've presented your objective well enough. I suggest to pick a single program and ask specifically how to accomplish that which you are unable to achieve.


text:
How to I give my mesh object (STL/OBJ) a flat surface?
When scanning objects like sculptures using Kiri Engine (photogrammetry) often the bottom is open. What I currently do after exporting to OBJ, is opening it in my RevoScan app and use the "fill holes" feature to select it and fill it. However that's usually not entirely flat and suitable for printing and results in artifacts. What I then do it simply lower the object when slicing to sub-zero/a negative value to have a small part of the object be under the bed, basically cutting it off and leaving a perfectly flat surface in my gcode.
However, I want to really be able to do this in my STL/OBJ file already for publishing to Thingiverse. How do I alter the STL/OBJ file to basically achieve the same, but in my object rather than in the final gcode?

Please use the search function, I remember this has been asked before.

I did. Please mark as duplicate and link to the original because I couldn't find it.

Do you have any experience with 3D editing software or 3D printing slicer software?

Apparently not enough. I do have sufficient experience with 2D design software. And with slicing software too. As I said, with 3D editing software it's quite limited to the Revoscan app and Tinkercad. I can probably figure it out if I know what tool to use and what features to use approx. I did make some successful designs myself but this is around relatively simple shapes, not complex mesh objects (from photogrammetry). As I said, manipulating in slicing software is not the issue.

I tried to find the similar question, but the search capabilities or my lack in search qualities (probably this) did not com up with the question I remmenber from the top of my head...

Associated with your other question, Meshmixer (and Fusion 360) will perform plane cuts. I feel that Meshmixer will accomplish easier the plane cut you seek, as one simply imports the model, selects the model by clicking on it, then from the tool bar on the left, selects Edit/Plane Cut. Manipulating the plane which appears with respect to translation and rotation is done with gizmos within the main window. Note the dialog box which should be set to re-mesh in order to properly close the cut.
One of the gizmos will allow you to select which side of the plane remains after the cut. If you make an error (in most programs), Control-Z will allow you to reverse the last few actions to try again.
Tinkercad can be used by creating a cube larger than the object, turning it into a "hole" and placing it to cut in the desired manner. Tinkercad will also glitch with too many triangles/facets, which leaves Meshmixer a better option in my opinion.
Please note that for both questions, you'll find helpful videos with tutorial approaches, to make your objectives that much easier. Too many to link in a practical manner.


text:
Convert rotation movement to a linear movement, in the same axis
I need to convert the rotation movement of a motor to a linear movement (it has to be in the same axis of the motor).
I made a 3D model in Tinkercad consisting of two parts:

the first part will mount on the motor and has a shape like screw inside

the second part is a plunger that should move in linear direction when the motor rotate with the first part

I printed this model but the plunger gets stuck inside the first part and do not move.
So it fails.
I want a simple way to convert the rotary move to linear in the same axis of motor.
I broke part #1 ("the first part") from behind to see what happened inside. I found it sticks as part #2 jumps above the screw shape.

I think this mechanism is hard to be done.
So I switched to scotch yokes mechanism.
Hope it works!!
The vertical gear will pull the horizontal gears to move the articulator in a linear movement.

I'm seeing some close votes for this question, too bad. Although this appears to be a question which could be hosted on SE.Engineering, this is related to 3D printing! Note that our 3D printer leadscrews transfer the rotational stepper motion in linear displacement through the lead screw nut. I'm voting not to close this question.

What's the question? How to convert rotational movement to linear movement on the same axis? How to design a model that can be used to convert rotational movement to linear movements on the same axis? I suggest to reflect an actual question in the title. I agree this should not be closed and fits on this site.

Simple Machines
We got a circular motion, and need a linear one. The most simple set up for this is known from steam engines:

The downside is, that this is a 90° turn from the motor. But to turn a circular motion by 90° is easy: Gears.
There are many options of gear types that would work to drive the transmission disk in a right angle from the motor:

Helical Gears engage in a 90° to one another. McMaster Carr describes them as "For smooth, quiet operation at high speeds under heavy loads, helical gears have curved teeth that engage gradually and stay in contact longer than straight teeth. Because the curved teeth create thrust loads (loads that are parallel to the shaft), helical gear systems often require thrust bearings to prevent wear from misalignment."
Miter Gears have their teeth mounted on a cone. There are 2 types (normal and spiraled), and McMaster Carr describes them as "Miter gears have straight teeth and a conical profile for transmitting motion at a right angle without changing shaft speed or torque. They're more efficient than spiral miter gears, which means they require less power to do the same work; however, they are noisier when run at high speeds and under heavy loads."
Very similar are Beveled Gears, but the tooth geometry is simpler. McMaster Carr says: "Similar to miter gears, bevel gears have straight teeth and a conical profile for transmitting motion at a right angle. Unlike miter gears, one of the gears (sometimes called a pinion) is smaller than the other."
The outside of the disk is connected to a worm gear. The linear motion will be slow but VERY powerful, and the machine can't drive the motor. McMaster Carr says: "Worm gears use screw threads to reduce shaft speed by ratios of 18:1 and greater while transmitting motion at a right angle. Unlike bevel gears, worm gears operate in one direction only; they transmit motion from worm to gear and cannot be reversed."

Redesigning the original part: the Angled plane in motion
Your basic idea works but your design had two large problems:

The alignment feature for the pushrod is way underdesigned
The Pushrod is missing a secondary alignment feature

That is easy to solve, and reduced to the working areas, this is what might appear in your construction, approximating the actually very complex surface to an angled face:

The rotating angled plane is good to act. To prevent rotation of the green pushrod, I made the retainment lugs much beefier and part of the whole shaft, not an addition onto the shaft. That made it a large rectangle, which prevents any rotation in the grey housing part.
Do note that the rendition as a simple ramped cylinder is just a very rough approximation of the actual body you need, which would be the rotational cut of a rotating and sliding cylinder. The required cam track can be quite tricky to design in CAD.
The shaft also protrudes through the bottom angled surface in the most forward position, which prevents the shaft from misaligning at that critical point and not hitting the bore it has to get back into. This protrusion can be much shorter than shown, but it is very much aiding in reliability and preventing the misalignment you saw.
As an additional factor, the turning disk might need to be made from two halves that are connected, so it can be put around the shaft and not contain an insert-slot that would result in misalignment. You might need interlocking pegs between the parts of the rotating barrel to force alignment.

However, there's one problem with the design in itself: the setup has very large contact areas and will induce lots of friction.

Am I missing something, or will the driving pin on the green shaft snap off when you rotate the red part? Because in your image, the pin is perpendicular to the green shaft, but the slot in the red part is not perpendicular to the green shaft above and below the shaft.

To fix that, the cutout in the red shape would need to be some kind of sweep of the green pin along a sinusoidal trajectory around the green shaft, so that the face of the cutout is orthogonal to the shaft all around.

@Fritz indeed, the cut as depicted lacks space, but is meant as a representation more than the actual,  extremely complex path.

Sounds like you should mention that in your answer then. Right now a reader could understand that the mechanisms in your images would work as they are shown, when in fact they would not.

The following might seem obvious, but it shouldn't be overlooked either.
Unless you have one of those Wire EDM cutting machines, with very precise tolerances1, that can seamlessly cut a shape out of blocks of metal that then, seemingly, glide out of the surrounding block, with little to no stiction2, then your printed surfaces of the screw will have imperfections that may cause the binding. The first step would be to shave, sand and smooth the surfaces. Maybe even treat with another chemical, such as acetone (depending upon your printing material) to smooth the surfaces even further.
However, in addition to that, some lubricant may be in order. Every gear box or mechanism contains a little oil or grease.
So, your original design may still work, with a little help from smoothing and lubricating any mating surfaces. As Trish states, your design has a lot of surface friction, so every bit of polishing of the surfaces will help.

1 Approaching $\frac{5}{1000}$ (i.e. five thousandths) of a millimetre
2 Such as the objects shown at the start of this video: How these impossibly thin cuts are made

Yes, it is very rare to see example like this, i saw this once and can not find it too, but as trish said the design itself has problem and you said this need to be very smooth and well cutting so it seem to be sensitive to be made so i switch to gears option (scotch yokes) very common and no sensitive techniques

I think you're refering to wire EDM machines, e.g. https://www.youtube.com/watch?v=7OMTDW0vH0Y

@towe - Yes, that's it. Many thanks :-) Actually, your link then linked to the video that I had originally seen: How these impossibly thin cuts are made. So, double thanks are in order..!


text:
How could dual end-stop switches on each axis improve the functionality and precision of 3D printers like the Creality Ender 3 V2?
Looking at a bare Creality Ender 3 V2, I realised that there are three end-stop switches, one for each axis, X, Y, and Z. But this only helps to determine the start (0) position of each axis. Wouldn't doubling the end stops to six instead, two for each axis, one on each side, help to determine not only the start but also the end position? (Besides, to my understanding, the switches are called 'end stops' but are used as 'start stops' in this case.)
If each axis has an 'end stop' at the start and at the end, it can dynamically determine how many steps can be taken. Isn't this more elegant and adaptable than using fixed sizes? Also, since end-stop switches are simple and cheap, why don't all printers use them? I think it could also help in precision calibration and still stay operational when hardware tweaks are made without firmware changes.
Moverover, wouldn't it prevent wrongly configured firmware (by means of a 'hard stop' where stepper motor are trying to move something moving beyond the physical possible axis potentially resulting in catastrophic damage?

First the questions in the body are addressed:

I realised that there are three end-stop switches, one for each axis, X, Y, and Z. But this only helps to determine the start (0) position of each axis.

No not necessarily, you could mount an endstop to the other end of the axis to determine the maximum value for that axis without the need for a start endstop, Marlin is already equipped with functionality for this:
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

E.g. Ultimaker printers have their Z-endstop at the bottom, so the maximum value of the Z axis.

Wouldn't doubling the end stops to six instead, two for each axis, one on each side, help to determine not only the start but also the end position?

No, not necessarily, the end is fixed by the start position and the defined axis length (e.g. bed size of Z movement). It might be interesting to use a second endstop in case something goes wrong. E.g. layer shift as a result of the nozzle hitting something redefines the origin and could result in thinking the origin is somewhere on the build plate, adding the maximum bed sizes, the printhead could run into the end and destroy your printer, a second endstop, when triggered will stop the printer. I have used such an endstop on one of my printers, but I have never ran into problems with layer shifting and as such the endstop was never hit; I removed this endstop recently.

Besides, to my understanding, the switches are called 'end stops' but are used as 'start stops' in this case

The start is also an end of the axis, there are two ends on an axis.

If each axis has an 'end stop' at the start and at the end, it can dynamically determine how many steps can be taken.

No, steps are determined by your hardware (common hardware configuration for stepper motors is e.g. 200 steps per revolution or 400 or even more/less steps per revolution) together with the stepper driver which allows for substeps of the afore mentioned values.

Moverover, wouldn't it prevent wrongly configured firmware (by means of a 'hard stop' where stepper motor are trying to move something moving beyond the physical possible axis potentially resulting in catastrophic damage?

Yes it would, I already described that in case of layer shifting. But if you are bold enough to compile your own software you should known what you are doing and configure it correctly. Also test the printer before you use it and keep the powerswitch nearby.
Now to answer the main question,

How could dual end-stop switches on each axis improve the functionality and precision of 3D printers like the Creality Ender 3 V2?

The precision will not be improved by adding another endstop to the other side of the axis. However, the functionality can be improved by adding another endstop but this is mainly protecting the printer in case something went wrong, as in the printhead has changed its position relative to the origin, e.g. in case of layer shifting. Knowing that the Creality Ender 3 are printers on the cheap end with their shortcomings (see all the questions) this may prevent damaging the printer, but, generally the belt skips when the head is obstructed in X-Y range. For the Z direction this may be different as there are lead screws involved which can procude more force (but I have yet to see a layer shift in Z direction...).

The rule of thumb when engineering things is add sensors for things that can change unexpectedly. If the changes can only occur through the user dismantling and rebuilding the device, sensors that detect that sort of changes are usually a waste of money.
Your print head position can change unexpectedly. Stepper skipping steps, something seizing up, someone moving the bed or print head while the printer is idle. Your bed and gantry dimensions won't change without you replacing the bed and the gantry, and possibly the frame. Never mind the printer won't know how far apart the two switches are, this still needs to be a config entry and changed with rebuilding the bed. There is virtually no precision benefit to having them on two ends. They are used in more heavyweight machinery like big CNC routers, to protect the machine from damaging itself by going past the unprotected end due to a software glitch. In 3D printers if that happens your print is already dead, and your printer will warble loudly but nothing will break (any worse than it already is).
On the other hand, dual switches on one end for dual drive devices are a pretty good idea. Say, the printer with two Z-axis motors and two Z screws - if the motors somehow get out of sync, the gantry will tilt, the nozzle will dig into the bed on one side, fly over the bed on the other, generally problems abound. Fixing this manually is quite a chore. Meanwhile an end switch for each side of the gantry, distance between their activation corresponding to how much out of level it is, can allow the printer to re-level its gantry all on its own. Similar problems occur for CoreXY bed motors, making the bed flat.
In short, start/stop switch won't improve distance precision, but a pair of start switches for one axis can improve the angle precision - how perpendicular the axis are.

Thank you. How about solely for the purposes of testing the reliability of steppers, detecting skipped steps? By measuring the (micro)steps a few times from start to end?

@BobOrtiz You'll be much better off with an optic encoder, providing the axis angle. Or a dedicated rig, not a part of the printer.
Some crazy good (and expensive) CNC machines use DC motors and encoders instead of steppers, but that's definitely overkill for 3D printers.


text:
Is there a metric that defines the abrasiveness of filament?
All filament is abrasive to some extent. Speciality filaments such as carbon fibre filament even more so. How is abbrasivness defined for filament and is there a metric that defines the abrasiveness of filament?
If available, are there any filament producers that report the 'abrasiveness' of their filament?

Abrasiveness depends on both the hardness and the roughness of a material. The harder material will grind/polish the softer one. But if both surfaces were perfectly smooth not much would happen, so roughness is important.
For example sandpaper is rated and sold based on its grit which refers to the size of the particles (i.e. roughness).
The encyclopedia Britannica has an excellent article on this, Abrasive | Types, Grades, Uses & Applications. The most relevant part being:

One of the most important properties necessary in an abrasive material is hardness. Simply put, the abrasive must be harder than the material it is to grind, polish, or remove. Hardness of the various abrasive materials can be measured on a number of scales, including the Mohs hardness test, the Knoop hardness test, and the Vickers hardness test.
[...]
Toughness or body strength characteristics are also significant to abrasive function. Ideally, a single abrasive particle resharpens itself by the breakdown of its dull cutting or working edge, which exposes another cutting edge within the same particle.

Some filament manufacturer's do publish data sheets PDFs on their websites, but except for flexible filaments like TPU and TPE I've not seen hardness included, presumably because the hardness of, say, PETG filament should be the same as the hardness of PETG copolyester that can be looked up.
Cheaper filaments tend to have some additives/filler mixed in to make them easier to print or give them desirable properties (like "silk" PLA). These additives are usually not disclosed (they're trade secrets I suppose), so the best we can do is make some educated guesses. "High flow" materials are likely softer than their regular counter parts. Glass-filled filaments hardness will be dominated by the glass. Likewise for carbon-filled.
As for brands which provide data sheets, Fillamentum provide technical data sheets for each of their filaments which include the following specifications:
Physical properties

Material density
Melt flow index
Diameter tolerance
Weight

Mechanical properties

Tensile strength
Elongation at break
Tensile modulus
Charpy impact strength

Thermal properties

Glass transition temperature
Heat deflection temperature

Printing properties

Print temperature
Hot pad
Bed adhesive

Hope this helps!

Thank you. Do you suggest that the 'metric for abrasiveness' is simply the 'hardness'? Meaning that the answer to the question is 'Shore Hardness' is measurable with a Durometer (00 or A) and that it is a, or the, most important metric for 'abrasiveness'?


text:
Why is the heating unit not on top?
Most printers are build the following (please excuse if I do not use the correct terms)
A heating unit mounted below an aluminum build plate and then some surface on top that can be printed on like glas or some fancy material.
Why is the heating unit not sandwiched above the aluminum bed and the the surface that can be printed on?
wouldn't it be more efficient having the heating unit closer to the printed part and more "insulation" on the bottom?

You're asking about the bed heating right?

yes, that's right

You can add insulation under the bed heater, assuming there is sufficient space.

I can think of the following reasons why heating units in 3D printers are typically below the build plate such as:

Uniform Heat Distribution: An aluminum build plate evenly distributes heat across the printing surface.
Safety and Insulation: This setup provides insulation, reducing the risk of burns and maintaining a stable temperature environment.

The stable temperature also would allow for a more gradual cooling of printed layers, potentially minimizing warping issues.
Placing the heating unit on top might perhaps improve heat transfer efficiency but would likely lead to overheating, uneven temperature control, safety issues, or print quality issues.


text:
How to fit a model into a hole with the same shape?
I've 3D printed a box with a hole in it, the hole looks like a horse. My idea was that I then 3D print that horse in a different color and put it into the hole. The problem was that the horse didn't fit the hole, as they were the same size. I then made the horse smaller, but that made a new problem. Now the feet of the horse don't align with the hole. How can I scale the horse easily, like how can I just make everything thinner?

The image above is how the horse looks, and what I want is to make all sides go in 3 mm, I'm not sure how to do it without the legs moving.

Welcome. Adding images of what you currently have or trying to achieve could be helpful.

What you need
You don't need a scaled horse, you need an offset off the outline.
Designing the offset
This can require to create a whole new model, with slightly altered ratios between items. Look at this example:

As you see, some sections - especially the diagonals from bottom left to upper right - have the identical length to the line they are offset from, others are longer and others shorter. if you have the design-sketches in a STEP file, it's as easy as defining an offset and re-extruding the shifted item.
Altering the model
If you only go the STL, some programs do offer an offset-function to alter the model. In the case of blender, you could choose all vertical walls and extrude negatively by a little.
Slicing with offset
As jpa correctly noted, you can force slicing with an offset in many slicers. Often this function is called XY compensation, Horizontal expansion, or similar.

Many slicers can do this directly:

PrusaSlicer: Print Settings -> Advanced -> XY Size Compensation
Cura: Print Settings -> Horizontal Expansion

Setting a negative value will move each wall inwards along its normal.

the slicer is offsetting from all walls.

A less elegant but easier to implement alternative to what Trish suggests (for example, doing 'offset' in FreeCAD is a chore and a half), is to use draft angles / chamfers. Make the hole and the horse walls 45 degrees (matching the angles so both the hole bottom and the horse bottom is smaller than the outline). It will always fit for sure but likely stick above the surface of the hole, which may be desirable, and if not desirable, place the horse model in the slicer bigger side down, then sink it into the build plate (uncheck 'drop model' then modify the Z coordinate of its position in the Translate mode) by as much as it sticks outside the hole, and the part that sticks above the box surface simply won't be printed.

Has the added benefit of making a nice interference fit so you can drop the horse in, but not through the hole. (Assumes that's the goal.)

However, that requires knowing how to model^^

This might be an absurd suggestion, but have you tried freezing the horse? Just throw it in a freezer for an hour or two and then quickly try to fit it into the box.
That's a pretty typical way of getting an interference fit: Cool one part to allow it to shrink then insert it and let it expand into place.
Though it might still be too tight since both parts are literally the same size and have not been designed with any tolerance.

Welcome to 3D Printing! and thank you for your contribution. When you get a chance, please take the [tour] to understand how the site works and how it is different than others.

Scaling in FreeCAD is very easy but you must remember that it's CAD not art. You can offset the sub-binders off a face or sketch. You can't offset the pad or the sketch without playing with parameters, a lot, which you won't want to do.
Give the sub-binder (the green one) a negative offset of say -0.5mm. Pad it as if it were a sketch and it should fit the hole.


text:
What causes these print issues after changes on my Creality CP-01 extruder?
I have a Creality CP-01 that has one of the feeders loose so I had to take down the entire extruder to fix it. After fixing it making sure it feeds properly and leveling the bed, it is producing what seems to be overflowing prints and I have no idea what to do to fix it.
I am working with the same nozzle I had used before and had to level the bed multiple times. No change in cura settings only the hardware.

Welcome. What's your actual question? I suggest changing the title into a question and if possibly adding more details about what it is you've changed exactly or what steps you took.

@BobOrtiz done this is the most i can provide i think

Previously the title described the issue, now it does not. Now it just says when "the issue" occurred (i.e. when the extruder was changed). I'm not sure if that is an improvement?


text:
Homing fails with filament in run-out sensor
My friend has an Ender 3 Max Neo that they were just able to reassemble after moving. Looking it over there didn’t seem to be any assembly errors, but the auto-home was definitely causing a few issues.

The Printer would hit the end stops for X and Y, auto-home to X:157 and Y:170 to test the Z (where the CR Touch would tap with about 2 mm between the bed and the extruder), then raise the extruder to 10 mm (technically 12).

The printer would then stay in that position (X:157 Y:170 Z:10) even though the owner has never had that as the home location. Starting a print right here then causes the printer to try to go off the right side.

The printer also can’t seem to auto-home with any filament in the run-out detection. Starting a print, or telling the printer to auto-home, causes the printer to pull the filament out of the extruder and feeder line until it's past the gears. If I don’t pull it out of the run-out detection then it just says “Homing failed” and can’t be exited unless the entire thing is turned off and then turned back on. At first, I thought this was because of a loose length of filament that had been in the feeder line left over from before. But removing that didn’t stop the issue from occurring with a freshly inserted strand from the spool.

My next plan of action is to re-install the firmware and double-check all the wirings.

With the last statement (My next plan of action is to install the software again and double-check all the wirings.) we can assume that you are hinting that the current firmware is not the default Creality firmware. So, is this a complete new Marlin configuration you are trying to get right?

So right now it is on V 1.2.3_G so I was planning on just upgrading to the newest Marlin configuration on the Creality Website. A few people on Reddit did so and said it worked fine.The owner hasn’t ever updated it or anything, and the Creality support said that there could be a bug with homing that could be fixed with a firmware update.

Thanks for the clarification, I will adjust the answer!

Homing does work as expected, it hits the X and Y end stops, then it moves to the center of the bed (corrected for probe position) and homes Z (this is caused by firmware option #define Z_SAFE_HOMING). As the X and Y endstops are hit the printer knows the position and the location. If your printer now prints in the wrong area, the slicing is probably incorrect, the center of the bed (corrected for probe offset) is never the starting point relative to where the print starts.
The whole purpose of the filament detection sensor is to detect a run out of filament, if run out, the printer stops. So if no filament is detected, it is imaginable that also homing fails. Considering that the homing fails if filament is present in the sensor and not when there is no filament could hint that the filament sensor is incorrectly wired. I would skip the sensor and never use it, it is a pretty useless feature, in the past 10 years and kilometers of filament (1.75 mm and 2.85 mm) I have seldomly encountered broken filament, actually only with the thicker filament and usage of old brittle PLA. Just make sure you have enough filament to finish the print. If your spool has few windings, count the windings and calculate how much is left or unwind the spool and measure the length and compare that to the length the print requires (reported by the slicer). You never run out of filament if you know you have enough.

The issue with the run-out detection isn’t that it fails when no filament is detected. Homing fails when it does detect filament. So taking out the filament during the homing process at the start of a print, allows it to home, but then the print would just start without any prompt to reload filament or anything.

Also the printer is still set up with the default firmware. Neither I nor the owner have ever upgraded it. I wasn’t trying to hint at there being an incorrectly configured firmware. All I was saying was that upgrading the firmware was next on my to-do list. It had been highly suggested by both other users and Creality support to try it in order to single out any homing bugs that could have surfaced.


text:
What could have caused both belts becoming loose?
Recently both belts on my Prusa MK3S+ became loose. Quite suddenly, too. One print was okay, the next nozzle wobbled in the Y and bed in the X causing layer shifting. More precisely, each movement was shifted pretty randomly.
I checked belt tension and there was basically none. It was good a month ago, and it must've been good enough just one print before. Of course I will tension them again, but I would be glad to know what are the possible causes of belts losing tension suddenly, to check them during the maintenance.

I figured it out.
Long hours of printing ASA parts for my upcoming Voron Trident, in an enclosure, made printer parts softer and belts skipped on the teeth. I needed to glue and shim belt ends in place. Next time I'll need to replace these parts, and belts. Hopefully I'll have another printer by then.


text:
Encountering some weird layer gaps on the last few lines of a particular print
I'm working on printing the 3D Printable Jet Engine w/ Minimal Printing Supports and I'm having a surprising amount of difficulty printing the fan. The fan seems to print fine, right up until the last 20 or so layers, where it starts to gap and blob-like I've never seen before.
I have quite a few photos available to view, but I'm including a few below:

Settings/components:

Ender 3 S1 Pro (running Klipper)
Filaments tried: SUNLU 3D Printer Silk PLA Filament 1.75 mm and AMOLEN Shiny Silk Black PLA Filament 1.75 mm
Nozzle size: .4 mm
Layer heights: 0.16 mm, 0.2 mm
Speeds: 100 mm/s, 75 mm/s
Temperature: 205 °C, 210 °C, 215 °C
Retraction: Yes, tuned with with retraction towers
Slicer: Cura

What I have tried:

Initially, I thought that maybe it was because I had the infill set to ~40 %, and a lot of top layers, so maybe the print geometry and the infill/top layers combo caused it, but they showed up when I put the infill to 100 %, as well as if I just put the walls to 20 (thus making it 100 %).
I've tried printing with .20 mm and .16 mm layer height, as well as .16 mm + adaptive layers (which made a lot of it .12 mm)
Tried switching to a different filament, and encountered the same results.
Printed some tuning towers to verify that the temperature and retraction are set up okay.
Tried lowering the speed down to 75 mm/s (usually around 100 mm/s)

If it was something like a clogged nozzle, then I would assume that that same pattern would be seen everywhere on the print. That goes for the temperature and retraction as well.

I re-printed the model using Curas overlay settings and some stretched cubes to apply different settings to some of the fan blades:

And once printed, the blade seen here at the very bottom looks like it was the best:

The changes on that blade were just 4 bottom layers, 0 top layers and 7 walls (effectively making everything after the bottom 4 layers 100% density with just walls).
I'm not sure why exactly the gap between the top layers and the walls was showing up, but regardless, this seems to be the fix.


text:
What is a good approach to develop a 'nozzle wear sensor'?
I'm thinking about implementing some kind of nozzle wear sensor. My question is simple: Do such sensors or automatic approaches already exist? Although I expect not and I know nozzles are cheap, it's just a fun educational challenge, not financially viable but that's not the purpose anyway.
I thought about using a simple camera with a proper lens and computer vision to do either one or more of the following things:

Have the extruder retract, perhaps brush the nozzle, then have a zoomed camera and light pointing up from under the nozzle, in an attempt (with some reference image next to it) to determine nozzle diameter size.
Have a camera from the side of a nozzle, brushing it clean, extruding a few cm of filament, and analyzing how straight the filament flows down when extruded
Take two precision measurements from under the nozzle somehow, one of the heat block and one of the nozzle-end, and determine the difference, although I have no way to account for other variables such as the nozzle not being screwed in properly, maybe non-standardized nozzle-height et cetera.

Does something like this or another approach to achieve the same already exist? If not, is this a proper approach or are there other things to consider?

Are you talking about internal nozzle diameter wear because you are using abrasive filaments?  I would not use optical.  If you have some worn nozzles and some new nozzles, I would see if your multi-meter can detect the difference in resistance between a node one one side of the nozzle, and a node on the other side of the nozzle.  You might need to find a very sensitive ohm meter, but optical gets expensive pretty quick

If it would cost over $100 there is hardly any point to do it – get a Diamondback polycrystalline diamond nozzle and there's literally nothing that can wear it down, so no sensor required.

@Mołot that an interesting thought, although it is an alternative solution to the problem. It's worth  being mentioned in this context. Thank you.

It makes a huge difference if you want to measure the internal nozzle diameter or the "typical" wear when using an abrasive filament. CNCKitchen has a nice article,How Much Abrasive Filaments Damage Your Nozzle!, about the typical wear.
TLDR is that most of the wear comes from moving your nozzle through parts of the last layer during travel moves. This way, your nozzle tip gets shorter.
If that's what you want to measure, you might use your bed-leveling sensor for that. If your leveling sensor is precise enough, you could measure the distance to the bed with your BLTouch or other sensor. When your nozzle is new, you can take a second measurement by "pressing" the nozzle into the bed and detecting when motor current spikes, or by lowering it to a conductive edge of your print bed. This way, you can save the distance of your bed leveling sensor in relation to your nozzle tip. If your nozzle wears out, it should be shorter, and you should see that you can move your hotend lower before closing an electrical circuit or before your stepper driver uses an increased current (because it pushes into the bed).
I need to mention that this is just an idea and I have never seen a solution like this. Doing this might pose problems I didn't think of.
As you mentioned in possibility 3, a loose hotend screw can make the measurement of the distance difficult. Maybe you can remove that error by probing against a metal that has the inverted shape of a nozzle (just an inverted cone) which shouldn't change with nozzle wear, and then probe against a flat surface afterward and examine the difference. For this to work, you would of course have to clean the nozzle before any measurement.

Welcome to this site and thank you. Very nice answer. The 'second measurement' you've described is effectively the same as, or can be used for, automatic z-offset determination, right? Where in effect, the z-offset is automatically adjusted as the nozzle becomes shorter due to wearing?

I'm glad you mentioned the wear modes, I would have never thought about that.


text:
Is there a lightweight OctoPi multi-camera implementation?
I've seen and read many videos and articles about a multicamera setup in OctoPi. Most of them including Setting up multiple webcams in OctoPi the right way describe:

However, watch your CPU usage as streaming can be quite resource-intensive.

Other guides note a maximum amount of cameras for the Pi. However, in my case, I want to simply manually switch to some cameras for another view and maybe only have one camera used for time lapses, which is simple snapshotting, not streaming.
I was wondering why there is a camera limit at all because cameras can simply be disabled when not used, so at most there would be one active at the time. Is there currently such implementation available compatible with OctoPrint and for example OctoApp? Because switching cameras off and on only when used could save a lot of resources which is much more resource efficient, especially in a resource-limited environment like a Raspberry Pi (OctiPi).


text:
Is it possible to 3D print without PFAS/PTFE?
Polytetrafluoroethylene (PTFE) is one of the best-known and widely applied PFAS commonly described as persistent organic pollutants or "forever chemicals".
If I want to avoid PFAS due to environmental concerns, is there an alternative to:

PTFE Bowden tube used?
PTFE coated nozzles?
PTFE spray used for rod maintenance?

None of those items are needed.
If you have a bowden extruder, upgrade to a direct drive.
Even on direct drive systems, PTFE tube is commonly used as a "reverse bowden" or "feed tube" to deliver the filament from a drybox or spool mounting point to the toolhead. Other tube materials may be used, but may contribute too much friction; you'll have to experiment if you want to go that path. You can usually forgo having one at all if youu mound the spool with a good direct path, or setup a system of filament guides/pulleys.
If you have a PTFE-lined hotend, replace it with an all-metal one.
Direct drive extruders may have a small piece of PTFE between the extruder and hotend, even when the hotend is all-metal. This part of the filament path being low-friction is not critical, and it can be replaced with a 2mm ID metal or even printed plastic tube without seriously compromising extrusion capability.
Nozzles should never be PTFE-coated. Don't buy ones that are. The best nozzles are 100% tungsten carbide (never wears out, never wears into air or into your printed parts), but pretty much no nozzle should contain any PTFE unless explicitly marketed as such (eew).
As a lubricant, there are lots of choices other than PTFE sprays, most of which are probably better. PTFE is highly recommended against for linear rails, as it's reported to lead to sliding by the balls instead of rolling. For smooth rods it might be a good choice, but I would expect there are grease, graphite, or other options that work just as well. I've never used a printer with smooth rods so I can't recommend anything in particular from experience.

I disagree with tungsten carbide being the best. Ruby or diamond has their benefits over it. Drawbacks, too. Claiming one is universally the best is always dubious and prone to aging out ugly. I agree with "don't buy coated ones", just not that one alternative is always the best.

Copper's got four times the thermal conductivity of tungsten carbide, giving better temperature control.

It depends on your printer really. If you have a direct drive printer with all metal hotend, then you can feed filament directly into the carriage without any guiding tubes.
For example, the Prusa i3 models (MK3, MK3.9, MK4) don't require any tubes, as shown in Prusa's own promotional photos:
Edit: It seems this is misleading marketing, as there is apparently ~5cm of PTFE internal to the carriage.

As for replacing a Bowden tube with something other than PTFE... I don't know any of concrete examples of a proven solution, but really any tube in which you can easily slide your filaments (i.e. low friction) will do.
If you are printing PLA and PETG I would expect you can get away with using Polyurethane ("TPU"), but might need to lower your speeds to overcome the friction. I've not tried any, but I can see that if you are in the US (I'm not) you can get a variety of soft (i.e. flexible) tubing from McMaster-Carr
The inner diameter may differ slightly from the usual PTFE tubes the printers come with, in which case you may need to tune retractions (larger inner diameter -> more retraction needed).
If you have an all metal hotend, then the Bowden tube itself won't be subject to high temperatures, so the important characteristics will be its inner diameter, whether it can flex the way you need for your particular printer, and if filament can be pushed through it with relatively little resistance.
If you are feeling adventurous, you could even try printing your own tube from TPU and see if the idea can work at all. I'd use some of the stiffer filament, perhaps with a shore hardness of 98A which when printed solid is about as tough as shopping trolly wheels. If you print it thin it bends quite easily.

Prusa you are showing in the picture has about 5cm PTFE inside, so it is a bad and misleading example.

Oh? That's news to me. TIL.

https://www.prusa3d.com/product/hotend-ptfe-tube-mk2-5s-mk3s-mmu2s/


text:
Is there a open-source pretrained TensorFlow Lite model for failed print and spaghetti detection?
I'm considering to use the Coral.AI USB accelerator to add an Edge TPU coprocessor to my Raspberry Pi running OctoPi, enabling high-speed machine learning inferencing using a USB port. It's power performance is sufficient enough:

4 trillion operations (tera-operations) per second (TOPS), using 0.5 watts for each TOPS (2 TOPS per watt)

I'm not happy with Obico and its cloud connections, and I just simply want a model to run locally on the Pi instead. For the purpose of detecting failing or failed prints, spaghetti or other defects. As well as checking if the bed is empty before starting prints. Is there a existing pretrained TensorFlow Lite model to achieve 'spaghetti detector'-like computer vision, locally on a TPU?


text:
Is there a way to read the printer LCD screen into OctoPi?
Is there a way to 'read' the LCD screen from a 3D printer as is, using a Raspberry Pi?
I'd like to connect the printers LCD screen to my Raspberry Pi to be able to view the screen as is, in OctoPi, in an identical way as looking at the physical LCD. This could serve as some kind of viewing console and can be helpful to determine remotely what the printer status is, for example when it's in a Shutdown mode, disconnected or unresponsive.
Optionally being able to control it as on the screen would be great but I don't think that's even remotely easy to achieve. Are there any projects that attempt to achieve this for only viewing or viewing and controlling?

A similar question was asked in a Discord group; if I remember correctly, it depends on the printer model and the interface on the LCD screen.

Wasn't there a plugin that does that?

As far as I know there is only one that shows the printer messages from the M117 or M118 G-code https://plugins.octoprint.org/plugins/DisplayLayerProgress/. I'm not aware of another one for the whole screen.


text:
Does every 3D printer need an enclosure?
Some materials need a heated chamber, which in itself is an enclosure already. However materials such as rPLA, PLA, PHA don't necessarily need a enclosure, or even a heated bed.
Could printers that only print with such materials still benefit from print enclosures in terms of print quality?
Also, are there other reasons to put printers that use only such materials inside enclosures?

This is one of those "yes, if", or "no, but" situations.
The short answer is that if you have a printer that is only being used for a material such as PLA then the average user will see no advantages from having an enclosure as they print perfectly well at ordinary room temperature, and slight variations in temperature have minimal effect because they're stable and don't warp or shrink very much.
You can probably stop reading here.
Even for printer businesses, most PLA-based print farms use basic open-frame bed slinger-type printers as there are no benefits to enclosing them, so it's not worth the additional cost.
If your printer is in your bedroom, the only advantage that an enclosure would provide you with PLA is that it would be a little quieter.
The exception to this is if your printer is in an area that has high temperature variations, or high levels of humidity. For example, my 3D printer is in a room with two pottery kilns and a wood steamer. Or it being in an outbuilding where it gets down to double digits below freezing.
Some materials don't require enclosures for quality reasons, but having one with proper venting is a good idea due to the fumes that they give off. However, this isn't an issue for most people as these materials are less common.

How about reduction in air pollution with an enclosure?

@Bob Ortiz, if your printer is in an area with a lot of dust, or you spray paint in the area, then it could prevent it from getting into your printer, I guess. But generally speaking, if the air pollution in your room is bad enough to effect printer filament then you're probably in danger from it yourself. What are we talking about, fumes from a generator, or welding?

Ah that's another thing I didn't think about. I meant to trap the fumes from the printer itself in an enclosure. But indeed it also keeps dust away from the printer, yet another advantage. It seems to me that an enclosure has a lot of benefits that increase the stability of the (printing) environment.


text:
Can Duet 3 Roto Toolboard work with BigTreeTech mainboard?
I am considering a CAN Bus setup with BIGTREETECH Manta M8P, V1.1 or V2.0 with a Raspberry Pi CM4 2GB WiFi as a mainboard because it is overkill and it shouldn't limit me in any way in a foreseeable future. I am also interested in Revo Roto as a tool head because it's light and all-in-one solution for a well-established easy-to-use ecosystem. It's advertised as compatible with high-flow nozzles and 60 W / 300 °C heaters, and I am not going to print very high temp materials. To avoid drag chains, I would want a CAN Bus setup, but the only solution for Roto I can find is Duet 3 Roto Toolboard.
I don't know the first thing about CAN Bus. Would these two boards work with each other? And what would I need to add, to make it work?
All these boards together add up to a pretty penny, so I don't want to spend that much only to waste some of it and never be able to get it to work. I am not associated with any of these manufacturers, if I were I would make them find answers for me. Links are only for reference.


text:
Is printing from a micro SD card faster than printing over a USB cable?
I've been repeatedly printing the same G-code on two fairly identical machines (Creality Ender 3 V2) with the same settings, the only difference being one is printed from a Micro SD card and one is printed using OctoPi over a USB cable.
Although I didn't measure the exact times, I have the idea that the SD card prints were consistently faster.
Is it possible that prints from Micro SD card are indeed faster than prints sent from OctoPrint and if so, by how much percent could it be and why?

For the percentage, why do you ask us instead of printing a beanchie on the same machine twice, once via usb and once via microsd, and measuring?

I will once my printers are not printing. But I'm more interested in the theory behind it and if, why and how this could be the case.

The slowest USB standard is "low-speed USB 1.0", at 1.5 megabits per second.  The slowest SD card I've been able to find has a rated read speed of 900 kilobits per second.
The average line of G-code is about 200 bits.  Even the slowest USB connection or SD card can transfer thousands of lines of G-code per second, much faster than your printer can carry out the relevant motions.  Any speed difference is going to come from how a printer handles those data sources, not anything inherent in them.

I'll accept this answer because you specifically also mentioned 'Any speed difference is going to come from how a printer handles those data sources, not anything inherent in them'. Although helpful, the answer is limited to a comparison of the specification speeds of the USB an SD standards alone, and does indeed not take into account how a particular printer handles those data sources which could still greatly affect the outcome. I'll try to do some tests on Creality Ender 3 V2 in particular and post the results here later.


text:
How to find the weakest point of a model?
I would like to use some kind of simulation software to test my model and find the weakest points for example when pressed or stretches from different angles or positions. Under different loads or conditions, temperature or humidity.
How is such analysis called and are generic properties for example for PLA accurate enough for all PLA or is a very narrow and specific profile of material properties and print settings required, does such simulation software exist?
I simply want to find the weakest point of a model and perhaps get suggestions on how to fix it.

I know that Fusion 360 has some structural analysis built-in but don't know to what extent it does it. It would at least give you a start and something to research.

Structural analysis on models is known as Finite Element Modeling or FEM, but since models are sliced with infill this needs to be modelled. This is difficult for composites and even more difficult for plastics. Not an easy task without knowledge of FEM or structural analysis. https://3dprinting.stackexchange.com/search?q=FEM+ Furthemore, ti highly depends on the quality of your printer, too much cooling will mess up the optimal bonding between layers and your whole analysis goes south.

There are procedural methods, e.g. with OpenSCAD, to generate a STL file with explicit infill from the original solid STL. However, since infill provides very little strength, it would probably suffice to just hollow out the model to the intended wall thickness you will print at, and perform the FEM using that.


text:
Can I use two print heads to print mixed material based on own DIW extruder?
I want to use two SDS 5 (DIW) print heads on our Hyrel 3D printer to print one part with two different materials (not use the mixing component supplied by Hyrel company, because we want to DIY the printing nozzle). During the printing process, sometimes only one print head works, sometimes I need two print heads to work together.
I have thought of possible printing methods, but also have some drawbacks: Uses one print head as master, and another printing head clones the master head, but, using this method, we cannot control the mixed ratio of printing material during the printing process, the mixing ration is fixed during the printing process.
Is there a better way to solve this problem?

I've answered Jingcheng already, as he also emailed us with this question.
For posterity, I summarize the answer below. I work for Hyrel 3D.

With two separate extruders, you can alternate between, for example, T0 and T2. When the head offset from T0 to T2 is stored on head T2, this provides for tool changes without editing any position or flow data.
For gcode details, please see https://hyrel3d.com/wiki/index.php/Gcode

Note, this is not specific to DIW (Direct Ink Writing), aka Robocasting. The user just happened to be doing DIW in this case. Tool changes are the same (on Hyrel equipment) for all material deposition methods.

For those of us new to 3D printing, what's a "DIW"  extruder?

Direct Ink Writing - printing with liquids or gels, usually at room temperature. Also called Robocasting. Thanks, I'll edit this.


text:
Only one 4-pin fan on toolhead board - use it for part cooling, or hotend radiator fan?
BTT CAN Bus toolhead control board I'm going to use has three fan connectors. Two 2-pin ones, and one 4-pin. What is more valuable, to have tachometer and PWM control over the part cooling fan, or over the hotend radiator cooling fan? On one hand, better part cooling fan control can make better prints (is the 20% cooling"really a 20%?).On the other, being able to easily detect stall on a radiator cooling may be useless 99% of the time, and save my posterior this one time it's needed, by stopping heater when hotendfan fails. So I am lost here.
Most printers use only 2-pin fans so I guess it's not that big of a deal, and having either one on full control would be a progress, but I want to get the best of what I've got when I'm building it myself.

I would use it for the hotend cooling, not part cooling. There is utterly no reason to need to know if 20% is "really 20%". If you're using sub-100% fan settings, the actual linearity of the percentage is irrelevant; you just need to find (experimentally) the power setting that achieves the results you want, and use that.
On the other hand, as you've noted, stall detection is highly valuable for the hotend cooling fan. It can protect you from potentially very serious damage to your printer, if not outright fire hazards.
If you would like to use both, though, you don't need a 4-pin fan connector. Any endstop/filament-runout-sensor/etc. connector can be repurposed for the fan tach. Just make sure you check the circuit diagrams and ensure they work the way you think they do before connecting anything.


text:
Does a Creality Ender 3 V2 running mriscoc firmware require a micro SD card at all?
To my understanding, all settings including those that resulted from the Nozzle Auto MPC tuning and Bed PID tuning and the created UBL mesh are all stored I the EEPROM by the mriscoc Marlin firmware on a Creality Ender 3 V2.
I'm asking because I recently encountered a bad (or very slow) micro SD card, where the printer took long to boot to the start screen and start beep (30 sec), consistently with a bad SD, and without a SD it booted almost instantly.
So, does a Creality Ender 3 V2 running mriscoc firmware require a micro SD card at all, for other things as I previously mentioned?
I'm printing only over USB using OctoPrint on a Raspberry Pi (OctoPi).

If you only print from Octoprint, the SD card is not used.


text:
What is the maximum size, read and write speed for micro SD cards on a Creality V4.2.2 board?
What is the maximum read and write speed for micro SD cards that the Creality Ender 3 V2 board V4.2.2 can theoretically handle and what is the maximum SD card size in gigabytes?
Micro SD cards have several ratings such as V10, V30, V60 and V90 which is why I am asking in order to be able to select the fastest possible card.

From what I have read and experienced, 16 GB is about as big as they can handle. Yes it can be partitioned down to 16 GB but if you are doing that then just get a 16 GB. I tried a 32GB in my Ender 3 with 4.2.2 and it would not read it.


text:
Is there a way to get a "vase mode" for multiple wall prints if you just change the order the walls are printed on each layer?
I was pretty fascinated with vase mode print results thinking it would be awesome if this could be done with at least 2 (or more) walls. Initially I was told that its not possible because the printer would start on the outer wall (or inner), then once that is completed, smoothly transition to the inner wall, and once that one is done, it would then need to move up 1 layer and move back to the outer wall - Thus creating the Z-seam.
But after thinking about it - that seems like something that could easily be solved by just not printing the inner/outer wall in the exact same order on every layer. The printer could just do the outer wall, then like usual, print the inner wall, then instead of retracting and moving to the same location the lower outer wall was created, it could just continue on to print the inner wall on the next level, then the outer wall. Then move up, outer wall, inner wall.. Rinse and repeat.
I highly doubt I'm the first one to think of this, but I didn't see any plugins or settings for this. I don't see why this wouldn't let several wall vase mode prints to be possible.
Question: Is there some flaw with the above logic? If not, is there a way to get that style of print (I use Cura/Klipper/Ender 3 S1 Pro).

Vase mode can't have two walls
Vase mode creates one continuous spiraling pattern all over. Z is moving up continuously very slowly. There is no "end of the layer", there is just a start point and an end point.
This is mutually exclusive with trying to print any single layer with more than one wall. The whole thing about Vase mode is the spiral pattern along the outer wall to have no seam or sudden moves up.

I'm going to call this an XY problem, because if a model admits printing in vase mode except that you want it to have "multiple walls", the problem is not actually needing "multiple walls" but a higher total wall thickness. In that case, you just increase the "outer wall line width" to whatever wall thickness you want. With a standard 0.4 mm nozzle you can print lines up to at least 0.8-1.0 mm thick, maybe even 1.2 mm. If you need thicker than that, use a larger nozzle.

I have seen a video (unable to locate) which may provide some resolution but it requires that you are the creator and have created the model in such a way as to incorporate this method. There may be model editing practices which can be used on someone else's model, but the skills required would match those of a creator.
For the sake of this answer, the model being printed is a simple cylinder and the base is ignored.
Consider the following: the model which generates the cylinder would have a 0.4 mm width wall, arbitrarily consistent with the nozzle size and not locked in stone. The slicer in vase mode performs in the normal, expected manner.
In the modeling software, excise a vertical slot at any point on the circumference of the cylinder. The slot creates a reversal of direction of the nozzle and as the print progresses, the nozzle returns again to the slot from the opposite direction. The slot width should be large enough to be seen in the slicer as a distinct interruption, but small enough that the extruded filament will join with the previous circuit.
This is approximately what you describe in your second paragraph. The result would have a wall thickness of 0.8 mm and would have a clearly visible seam at the location of the slot.
Alternatively, if you have greater skills and understanding than I, you may find Full Control to be a suitable solution. It is not modeling software, nor is it a slicer. One creates g-code based on parameters provided to the program which allows for models beyond the reach of conventional modeling programs. Images from linked site:

In your theoretical scenario, the printing head would need to basically stop and circle back around (as you mention "the nozzle returns again to the slot from the opposite direction"). The path I was describing would avoid that. It could do the outer wall and spiral into the inner wall, then when it gets to the "end" of that, it could simply move the nozzle up 0.16mm and print the inner wall and spiral onto the outer wall.
That would allow for the print head to keep the inertia up and not have to retract the filament at all.
Hopefully I explained it better that time

The method I describe would still work in the typical vase mode and should not have to retract, but I would expect there to be a change in velocity, simply by definition. This lack of applicability to your objective is why I included the suggestion of Full Control, although it's beyond my ability to provide details for use.


text:
What is the difference between Carborundum Glass and Borosilicate Glass and which has better adhesion properties?
I'm choosing a new bed for the Creality Ender 3 V2. It's unclear if the Creality Ender 3 V2 came originally with a Carborundum Glass bed or a Borosilicate Glass bed. What is the actual difference between Carborundum Glass and Borosilicate Glass and which has better 3D printer bed properties such as adhesion?
(I'm not interested in personal preference or opinion, which seem to be involved in most available information regarding printer bed choice.)


text:
Does running a PID Autotune with an increased cycle count result in more accurate PID values?
I'm using the mriscoc firmware for Creality Ender 3 V2. The firmware has the option to run more PID Autotune cycles. The default is 5 cycles. Does running a PID Autotune with an increased cycle count result in more accurate PID values? For example running 50 cycles instead of the default 5?

In short, yes, More PID cycles will generally yield 'better' results.
However, the PID values are being averaged over these multiple runs, and it will very quickly pass the point of diminishing returns after 5 cycles, Hence why it is the default.
By the time you reach the hypothetical 50 cycles, you have likely far exceeded the margin of error present as a result of tolerances in your setup, and are only averaging noise.

An interesting question that may arise from your answer is why better results are generated by doing more than one cycle.


text:
Is warping solely caused by thermal stress on the printed material?
Is thermal stress the root cause of warping of printed parts? As in the (rapid) shrinkage of the cooling down material?
Either the material (PLA, ABS, PETG) is cooled down too fast either by too much cooling, too fast temperature changes of the bed, chamber or environment?

It's a terminology question and I don't think more details or clarity can be provided. Therefore, it should not be closed.


text:
Can Cura apply multiple Z-offsets across the bed to "flatten" the print area?
We have a Tronxy X5SA 400 Pro which uses a TR sensor to "auto-level" the printing bed.  It samples 16 positions across the bed (4 x 4) and provides a +/- level from its initial measurement.  For example, it might produce a grid like this:
+0.280   +0.155   -0.108   +0.127
-0.267   -0.010   -0.005   -0.218
-0.114   -0.020   +0.004   +0.000
-0.143   +0.110   +0.253   -0.270

As you can see in this contrived example, measurements toward the center are closer to a Z-offset of 0 because that is what it samples first; toward the edge, it can be off by ~0.3mm.  By turning the sprung leveling screws, I can usually get it to within 0.250mm across the bed.
However, 0.250mm variance is still too much for 0.1mm-layer prints because at the center it is right on, but on the edge it is 2-3x the layer height above the bed...or worse, in the opposite case, the head will crash if the bed curves in the +Z direction; thus, I have to babysit the first layer and manually +/-Z as needed.
Prints in the center of the bed are great, but adhesion can be poor on the first layer when it prints near the edge, and part thickness can be off by ~1-3 layers.
Question:
Is there a way to tell Cura about these 16x calibration points and have it adjust the print head with a linear extrapolation between points?
(I did find the Z Offset Setting plugin, but that appears to support only a single-valued offset.)

As far as I'm aware, this kind of correction is usually performed by the printer's firmware, rather than the slicer.

@craftxbox, I had hoped that it does too...but the behavior of the printer (ie, high in some spots, or crashing in others) doesn't lead me to believe that it does.  When I run a "auto level" on the printer LCD console, it doesn't save the settings.  It appears to be only informational so I can turn the adjustment screws.

It may be possible to configure and upload a customized version of Marlin Firmware to do this, but that would be a fairly large undertaking if someone hasn't already made configurations for your printer, as it seems TronXY only makes firmware available upon request.


text:
Does Cura's M0 pause work to pause an Ultimaker 2+ (Extended) print?
I want to make a print where I swap color halfway through. I have tried doing something similar with a 2+ Connect before, and what the internet told me then was to go into Ultimaker Cura and modify the G-code to add a filament change. And the printer blew right past that layer and printed the whole thing in one go. (How Cura would allow me, completely without warning, to insert G-code unsupported by the chosen printer, especially since the chosen printer is of their own make and entirely under their control, is beyond me, and also a different question.)
So naturally, now that I'm working with an Ultimaker 2+ (Extended, with original firmware up-to-date according to Cura), I am inclined to distrust Cura with these things. I have tried to look into modifying the G-code manually to add a pause, and then by hand interrupt the print to change filament. The two main options I have found are the commands M0 and G04. But none of the sources I have found have mentioned printer support. I haven't been able to find anything online that tells me whether M0 or G04 are actually supported by the firmware.
The G-code that Cura makes, with the settings I chose, uses M0, as shown below:
G0 F9000 X19.305 Y19.27
G0 X19.27 Y19.27
;TIME_ELAPSED:25576.615046
;TYPE:CUSTOM
;added code by post processing
;script: PauseAtHeight.py
;current layer: 22
M83 ; switch to relative E values for any needed retraction
G1 F300 Z4.57 ; move up a millimeter to get out of the way
G1 F9000 X190 Y190
G1 F300 Z15 ; too close to bed--move to at least 15mm
M0 ; Do the actual pause
G1 F300 Z3.57
G1 F9000 X19.27 Y19.27
G1 F300 Z3.57 ; move back down to resume height
G1 F1800 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E3066.65549
;LAYER:22
;TYPE:FILL
;MESH:brett.stl
G11
G1 F3600 X34.487 Y34.487 E3067.94669

Would this even work? And if it turns out that it doesn't, is it as easy to fix as swapping out that M0 command with a G04 (possibly with a specified time argument)? Finally, I want this change to happen between what Cura, in the slice preview, calls layers 23 and 24, where it seemingly gives the first layer the name 1. The G-code insertion wizard asks me to insert the last layer I would like finished before the pause and specifies that 0 is the first layer printed. So I enter 22 in there. But in the above G-code, it seems to have inserted the pause before it begins to print its layer 22 (which in the Cura preview would be layer 23?) I need some help untangling this.

I decided to go ahead and try anyways, to moderate success.
The main takeaways:

M0 does definitely work as advertised.
During the pause, plastic had been leaking from the nozzle and down on the print, and during the filament change even more leaked out. Next time I'm doing this, I'm adding significantly more height to the line G1 F300 Z15 (right above M0) and perhaps will consider a different parking spot (the line G1 F9000 X190 Y190 right above that again) to prevent this from affecting the print
As I extracted the blue filament that I started the print with, I saw that a couple of milimeters at the end had gotten singed and miscolored. Not much of an issue, though, I'll just snap it off next time I load it.
Even though I did get plastic of the right color coming through the nozzle during the change procedure, as the printer resumed printing, it didn't actually print anything (presumably it retracted a little bit). I had to push the filament through the tube manually to get it to print correctly, but a little bit of the new layer was missing. Luckily, the next layer printed fine even without the layer below supporting it.
When entering which layer to pause on into the wizard, it seems one should believe the layer numbers in the slice preview of Cura and the part of the pop-up that tells you to enter the layer that will complete before the pause. Everything else around this confused me into suspecting an off-by-one error somewhere, but those were just red herrings.

In the rightmost corner you can see a little bit of the damage from the leaking while swapping filament, but most of it is hidden below the black (and you can also see that it didn't stick to the build plate, but that's entirely unrelated to this issue).


text:
My Ender 3 malfunctions with touchscreen
Yesterday, I upgraded my Ender 3 with a Creality touchscreen that is compatible with it. However, since the installation, it gets stuck on the loading screen once the bar fills up. I tried different versions and even built my own, but they all gave me one of three responses:

Stuck on loading screen
Firmware unexpected. TF may be corrupted. Try renaming or using different TF.
Take me to the interface with half the buttons/widgets responding and no functionality.

And I can't reinstall the old LCD because I had to cut its cable to disconnect it.
I also asked the Bing AI, which gave me tips that didn't work.
Any tips from this community?

Have you checked to see if the screen itself needs a firmware update?

yes. i tried installing my crtouch since the half functional interface had an auto-leveling option but it still dont work. However, it eliminated it to only giving the error and freezing after the bar fills up.

Thank you. I realized the screen is different from the printer itself. However, still haven't tried it yet...

Agarza was right.

Have you checked to see if the screen itself needs a firmware update?

I inserted the SD card into the wrong place. I finally got it to work by inserting the SD card with the DWIN folder into the touchscreen itself (after unscrewing the housing) and successfully flashed the working version of the firmware.


text:
The part of the motor that the hobbed gear goes on is too short
My Ender 3 had a broken part so I replaced all the plastic above the extruder motor.
After learning how to safely take off the pressure-fitted hobbed gear, I installed a new one that could be replaced more easily. Now the teeth of the gear are too low to reach the PLA. The rest looks fine, I've tried flipping it upside down (the squeezy handle won't fit) and I've tried moving it as high up as I can. Do I have to buy a new motor with a longer rod? (sorry I don't know the names of these things)
As previously mentioned, the gear has already been replaced. It's not stuck and I now have one with screws (its the one in the picture)

Can you show a picture? That might help assess what's wrong.

As stated above, please [edit] your question and upload an image

Pretty sure you just have it on upside down.

So, as mentioned, you could get a new stepper motor. As an alernative, have you tried flipping the hobbed gear around (as shown in this picture)?

The question Problems with stock gear with no screw on Ender 3 pro, more specifically this answer and this answer describe that after changing the gear, the shaft is too short. It is advised to just buy a replacement stepper or tap the shaft from the bottom of the stepper to extend the shaft. First option is probably the easiest solution.

I don't need to remove any gears.

According to your question After learning how to safely take off the pressure-fitted hobbed gear, I installed a new one that could be replaced more easily. you did...


text:
How to migrate OctoPi to new camera stack without reinstall?
The new OctoPi camera stack is reported to be lighter, more efficient, and overall better. Old camera stack sometimes loses access to my camera during print, and only regains it after restart. Thus, obviously, I want to try the new one. Maybe it'll help with my specific problem, maybe it won't, but it has to be at least slightly better. I do not want to lose my uploaded files, Octolapse lapses, plugin config etc.
So, is there a way to upgrade to the new camera stack without reinstall? Or to save plugins, configs and files to restore them after reinstall?

Great question. I would love to do exactly the same thing. If I get to it and figure it out, I'll let you know. If you do earlier, please share. I'm currently in two long prints, I think you can use the built-in Backup and Restore. If you have two SD cards, I guess make a backup, write new stack to another SD, restore backup, test.

I think many problems could arise from doing this manually such as missing or incompatible dependencies. As I had to do the same I just tested the following successfully:
Making a backup of the OctoPi configuration (required)

Login on the OctoPi web ui
Click settings
Under OctoPrint (left menu) click on 'Backup & Restore'
Click 'Create backup now' and when finished download the backup

Make a backup of the entire SD card (optional)
You can make a full bit-to-bit copy (image) of the SD card as a backup or use another SD card for testing it first. On Windows you can for example download Win32DiskImager and make a full image/backup of the SD card.
Flashing OctoPi with the new camera stack

Download and open Raspberry Pi Imager
Choose 'Other specific-purpose OS' followed by '3D printing' and 'OctoPi'
Choose the 'OctoPi (new camera stack)' as shown below
Insert another SD card for testing or override your current SD card after you've made the backups as described above
Choose other specific settings if desired such as WiFi et cetera
Flash to SD card

Restoring the OctoPi configuration

When finished, place the SD card in the Pi and start it up
When the Pi started open the Web UI again on the Welcome Wizard click Next
On the 'Restore Backup' screen select the backup you've made on the first step and wait for all plugins to install, config to be restored and Pi to restart


text:
Ideal camera position For OctoEverywhere's Gadget AI
I'm trying out OctoEverywhere's Gadget AI print failure detection.
It's been working surprisingly well, but I wondered if there was an ideal camera position, image format, or whatever to ensure it could always catch failures. Does anyone have any idea?

The ideal camera position details for AI failure detection are listed on the Gagdget website.
But in general, they are:

Make sure there's good lighting on the print.
Make sure the entire print can be seen at all times, even if the bed moves.
Reduce the number of other objects the camera can see to prevent false positive detection.


text:
Why does Consumed Filament vary between MAFX and G-code?
I am attempting to set up an MMU, the Mosaic Palette 3 Pro, with my Ender 3 (original version), with mods of note being Klipper firmware and the MicroSwiss Direct Drive NG Extruder. Accessory Mode is the mode of operation and I have set the outgoing tube length and loading offset appropriately.
After some trial and error of the MMU not creating enough filament for the outgoing tube, I am dealing with (hopefully the last setup-related issue) prints running out of filament approximately 75% through on the test keychain.
I slice with PrusaSlicer, so I can have an offline slicer, and use P2PP for post-processing.
However, the file that I see on Klipper and the generated MAFX from PrusaSlicer+P2PP vary wildly in the amount of filament consumed.
Why is the Palette claiming that it only requires 1.99 meters of filament for the job, while Klipper thinks it's 2.45 meters from the uploaded G-code?
Current P2PP start G-code for PrusaSlicer:
BED_MESH_PROFILE LOAD="default";
G28;
M82;
G92 E0;

;P2PP PALETTE3_PRO
;P2PP P3_UPLOADFILE
;P2PP PRINTERPROFILE=12345678901234567890123456789012

;P2PP P3_HOSTNAME=192.168.1.8
;P2PP P3_SHOWPRINTERPAGE
;P2PP P3_PROCESSPREHEAT
;P2PP SPLICEOFFSET=40
;P2PP MINSTARTSPLICE=130
;P2PP MINSPLICE=90
;P2PP EXTRAENDFILAMENT=150
;P2PP LINEARPINGLENGTH=350
;P2PP MATERIAL_PLA_PLA_2_2_1
;P2PP MATERIAL_PLA_PVA_3_3_-4
;P2PP MATERIAL_PVA_PLA_3_3_-4
;P2PP KLIPPER_TOOLCHANGE
;P2PP ACCESSORYMODE_MAFX
;P2PP ABSOLUTEEXTRUDER
;P2PP CONFIGEND
```


text:
What issue can make very short temperature spikes to appear?
I have issues with momentarily temperature spikes, but only above 250 °C. At and below 250 °C it's pretty solid.
I'm using Prusa MK3s+ with a E3D Revo upgrade.
I suspected connector issues as described in Random hot-end temperature spikes but in my case, the reported temperature spikes up, then compensates down - exactly opposite to what Space Faring Or Bust reported. Also, my issue happens only at specific temperatures. Connectors on both ends of a cable look good. I don't recall it happening earlier, on my old V6 hotend.
A side question is, are these even real? Or just a read error or a display artifact?
I cut the connector off and re-crimped it, but it didn't help, it looks exactly as it did before.

Faulty sensor? Is your firmware using MPC or PID for nozzle temperature control? Is it (auto) tuned?

@BobOrtiz PID and it was tuned. I ordered new heater (revo uses heaters with built-in sensors) so I'll be able to try different one in a week or so.

Maybe far fetched and would probably give more issues but faulty power supply and power spikes?

I'd love to know how to test that. I don't have spares. It might make sense as it only happens with higher power consumption.


text:
Why do two identical Creality Ender 3 V2 printers have a center that is 3 mm off from each other and 7 mm off expected and how to calibrate it?
When pushing the limits of the bed size (235x235 mm) for two Creality Ender 3 V2 printers running the same mriscoc firmware and the same config and upgrades. I noticed that despite using the same G-code for these two fairly identical printers resulted in offsets that was not accounted for.
I sliced and printed a test model 175mm_bed_center_calibration_crosshair.stl from Thingiverse.com and when slicing in Cura it is perfectly centered as shown below:

However when printed on each printer and measured, the position in mm for both printers (namely Owl and Fox) are off as shown below:

I would like to setup the printers fairly similar, I only print from OctoPi over USB to these printers, one Pi for each printer, so that I can slice once and use the same G-code on both printers. How do I calibrate this without recompiling the firmware? Can I setup a start or end G-code in OctoPi per printer to set a proper center offset? And moreover, why does this happen for identical printers? Shouldn't the tolerance be much smaller than 3 mm difference horizontally and 2 mm vertically (shown from above)?
Additional measurements
For reference, based on request in the comments some measurements of the end stops relative to the frame of the XY-axes of both printers.
Measurement of the Z-axes are irrelevant for this purpose.
Owl Y-axis Endstop (85mm)

Fox Y-axis Endstop (85mm)

Owl X-axis Endstop (45mm)

Fox X-Axis Endstop (45mm)

I also measured the size between the bed and the frame as shown below and it's precisely 7mm on each side of the bed on both printers.

I think these are the only measurements that make sense, but correct me if you have other suggestions for measuring it.
Also, the only offset that is reported after running the M503 G-code in  G-cod M851 it not relevant for centering, the Z-offset. For Fox M851 X-41.50 Y-7.00 Z-1.13 ; (mm) and for Owl M851 X-41.50 Y-7.00 Z-1.06 ; (mm).

Are the endstops mounted differently?

Familiar center print object!

I didn't even know. Small world

I guess you imply 5, 5 (x, y) for Owl and 3 and 7 milimeter for Fox instead of 3 and 7 centimeter in the title?

Unbelievably dumb mistake. I'm sorry, brain error.

I was surprised to find this out as I haven't heard or read anything about this before in any 'calibration instruction' or 'calibration guide'.
However, as I just found out, the mriscoc firmware gladly has a very easy way of changing this from the menu as documented on the mriscoc GitHub Wiki.
As I already took measurements as shown in the question and as my bed is 235x235 mm. I simply used the LCD menu to go to Advanced > Physical settings and then for printer 'Owl' I changed it to:
X_MIN_POS = 5
X_MAX_POS = 240
Y_MIN_POS = 5
Y_MAX_POS = 240

For 'Fox' I changed it to:
X_MIN_POS = 2
X_MAX_POS = 237
Y_MIN_POS = 7
Y_MAX_POS = 242

I also set the bed size to 235x235 for both printers. I reprinted the test file on each printer and now it is perfectly and equally aligned for each. The question still remains how this could be so far off the center and off identical printers.

What offsets have you set for each printer? Look at the response of a M503 in a console (in OctoPrint e.g.) to see what is listed behind M206.

The only 'offset' that is reported after running M503 is in G-code M851 (not M206). Does that make sense? And it's for Fox M851 X-41.50 Y-7.00 Z-1.13 ; (mm) and for Owl M851 X-41.50 Y-7.00 Z-1.06 ; (mm), so except for the Z-offset no difference.

Are the 2 printers exactly the same, it sounds like the bed or the endstops are mounted differently.

I guess there is too little space in the frame for the bed to be mounted so differently. But I have to do some additional measurements to try to spot differences. It looks not very different to me, but I'll measure it when I get to it.

It it a very strange thing happening, it puzzles me. Hope you have some additional information.

Me too, and I also want to understand why so I will post more info when I have time to measure more things.

I've added endstop measurement photos in the question and they are basically identical for the X-axis and Y-axis of each printer, so is the bed location. So, still in unknown.

I never like the way the bed is sized according to e.g. that firmware configuration and others use. Basically, the corner of the bed should be (0,0), not (5,5) for Owl. We used to express the minimum positions with negative values to indicate there is space between the endstop and the origin. If you do this, the bed itself is always 0 to 235 and not 5 to 240. Now that you added measurements, you still need to look into the actual position of the build surface mounting relative to the endstops.

That won't be too hard for the X-axis as it is static to the build surface but the Y-axis is a moving bed, how would I measure that relative to the endstops? With the bed at the max. other end?

Perhaps the hot-end or end stops of one of the printers are located in a slightly different location. That's why there is a calibration guide to be able to correct that.

Thanks, I will try to do additional measurements later to try and find out the difference and report here if I found it.

I've added endstop measurement photos in the question and they are basically identical for the X-axis and Y-axis of each printer, so is the bed location.