text:
TPU on Ender 3 S1 Pro only works when flow is set to 600 %
First time trying the EasyPrint Flex TPU filament. When printing a solid, I can see clear lines with plenty of air on both sides. This gives me the idea that it is not extruding enough filament.
I've tried many tweaks:

Adding/removing tension to the extruder
Pulling at the filament to see if the gears have a good grip at it (they do).
Printing at ridiculously slow speeds (5 mm/s)
Bypassing the runout sensor, in case that is adding too much friction or something.
Adding flow rate in Klipper (maxes out at 200 %, slight improvement)
Adding flow rate in Cura to 600 %

The last tweak makes the most apparent improvement. Printing at 25 mm/s, it's somewhat decent. There's still some air going through each layer, but much less. The result is still dissatisfactory.
As this printer uses a direct extruder there shouldn't be any problem with the feeding.
Can I now conclude that this is simply a crappy filament and my best bet is to buy something better? If not, then am I missing something obvious here?

Welcome to 3DPrinting.SE! Do you have a photo to include (before and after)?

Have you calibrated your extruder E-steps properly?

Thanks for your feedback @Oscar @kosteklvp! While taking the photos as requested I got enough motivation to take everything apart and found the issue, posted below as an answer. This was a tough problem to reason about. Happy to have learnt some new things though.

Great you found the problem and posted the answer, make sure to accept it after 48 hours!

This is the Creality Sprite Extruder Pro.
The tension is controlled by a bolt with a square-shaped nut that is pressing on the lever with a spring. To increase tension to the gears that feed the filament the adjustment bolt is turned clockwise.
However, you have to be very careful not to turn it too far, or the bolt will unhook from the internal nut. Turning anti-clockwise in this situation does nothing.
If you're lucky, like I was, it will get stuck in a position of max tension no matter what you do. If unlucky, the various parts can go into the gears and cause permanent damage.
It is a most unfortunate design as there is no way to tell if you turned it too far!
In my case, having it at max tension at all times caused it to under-extrude. Adding more flow alleviated the problem somewhat. I had to open everything up to see what was going on there. In my case, just putting the nut back on the bolt solved my problem.
TPU is much softer than PLA so it's more sensitive to tension. While PLA can print okay at max tension, TPU cannot.

Remember to accept your answer if it solved your problem.


text:
Ender 3 Pro has too much space between extruder and bed
I just finished assembling my Ender 3 Pro and am having trouble with bed leveling. The extruder doesn't even come close to the bed, the z-limit stops the nozzle about 3-4 mm away.

The leveling springs are already pretty uncompressed. Is there any way to decrease the gap? Should I be checking for a specific assembly step to see if I assembled it incorrectly somewhere?

Have you tried to lower the Z-endstop?

@kosteklvp In this case those questions do not apply, you need to have the nozzle to touch the paper to level the bed first. If the Z stop is pressed you cannot go past it without breaking the printer. In this case the Z-end stop needs to be lowered. You see that the end stop switch is pressed at the left of the photo.

@0scar I totally missed it. You are right, it can't go now any lower.

There is only one thing you can do if there are no more threads left on the levelling screws, you need to move the Z-end stop assembly (depicted in the front left of your photo) to a lower position. Just unscrew the two hex screws a little and move the assembly down (blue arrow direction in the bottom/last image below). However, the more recent Ender 3 versions have a notch on the Z-end stop bracket:

That notch rests on the frame:

You should not be lowering this notch lower than the aluminum frame top.
Referring to your image and enlarging it, it appears you still have some threads left (encircled in red), this may be enough to get the bed to the nozzle (note that the leveling screw contains a knurled brass M3 insert, so you should be able to unscrew a little further):

If not, you should first unscrew the levelling screws a little so that you can properly tram the bed (alternatively, use longer countersunk screws). A detailed description can be found at All3DP's Ender 3 (Pro) Z Offset: How to Adjust It.

I  went ahead and moved the z-stop as you indicated. I've done a few test prints and things seems to be working fine. My only concern is that the piece indicated in this video https://youtu.be/ibsOYzXduYc?t=570 is now to the side of the frame instead of resting on it which just seems weird to me. Not sure if it will cause a problem or not but at least it works for now.

Please do check how your bed is mounted on the rail, because the notch should indicate the lowest point for the Z-stop, but good that you lowered it further. You now can print your own design or one from Thingiverse! It looks if your design needs a sheet of glass, than there wasn't a need to move it.

It's normal for your nozzle to be some distance away from the bed. It should be adjusted properly at first. Since, you can't move your nozzle any lower, you should follow these steps:

Lowering Z-endstop
You can manually reduce the distance between the nozzle and the bed by moving Z-endstop. Find the Z-axis limit switch (which is located on the left Z-axis on Ender-3) and loosen its screws. Next, set the switch a little lower to minimize Z-offset.

Adjusting with bed leveling knobs
It looks like you still have some space between the bed level knob and the bed. You can lower this distance by turning the knob clockwise (looking from the top). You should turn all four knobs exactly the same amount. Do not turn the knobs more than one turn, lower the Z-endstop first. This option should be executed last to calibrate the offset as precisely as possible.

The nozzle shouldn't be touching the build plate, because it will damage the printing surface. To check if the distance is set correctly, you can print first layer test model. It may be necessary to level the bed at first.

Based on your picture, I can tell that the leveling springs aren't standing straight up, rather they are leaning at an angle, making it so that full extension doesn't push the platform up as high as would be possible if they were straight. I had the exact same problem. I simply took a pen and nudged all the springs to make them stand up straight, and it solved the problem.
I know it doesn't look like it will help much, but trust me it does.

source: Stack Exchange

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

sort: votes


text:
Configure MKS Robin WiFi Module on FLSUN Super Racer without Klipper
I recently purchased an MKS Robin wifi module for my spouse's FLSUN Super Racer after noticing that the printer runs on an MKS Robin Nano V3.1 board. Immediately after installing the chip, I saw it broadcasting a network, so I connected to it and opened the admin in my browser:

The next few steps seemed pretty straightforward.

Update the firmware
Setup the wifi connection
Connect using the MKS wifi plugin for Cura

I entered the information for my home network and uploaded the firmware. The device quickly updated and gave me a success message before disconnecting the public network it was broadcasting. I then checked my router's device table to see if anything new was connected, but there was nothing. Scratching my head, I troubleshot for about an hour before concluding that I had done something wrong, and now there was nothing I could do, so best to return the chip and get my money back.
I was about to do that this morning and tried to log in on Amazon, but I had no internet connection. So I checked the gateway and opened the admin, and (drum roll) was the admin for the wifi module! What gives?
When I put in the information for my home network, it took that as setup steps for its hotspot, so I had inadvertently logged in thinking it was my home network.
Feeling excited, I decided to try out the MKS Wifi plugin while I was on its network, and the connection was a success!
For a moment.
After queuing up a print, I realized it wasn't working. I get an error message in Cura that reads, "Send file to printer failed."
I found new firmware and a web view for BeePrint here. The only thing I have not done at this point is to update the web view. My best guess is that a newer version may not be so bare-bones.
After uploading the new firmware and the web view, it still has not been updated. It's the same boring admin, although I did change the wireless SSID.
I am not sure where to go from here. I watched a video about setting up the wifi module using Klipper, but completely re-flashing the firmware on the device is not a route that I would like to go. I am worried that I may not have the expertise necessary to pull it off successfully, that even if I do, the printer may not work as well, or worse, I could turn it into a brick with no ability to restore the firmware from backup.
Is there any way to get this wifi module working without those steps? From what I understand, FLSUN does have delta printers with this module installed, but not on the Super Racer. I checked Github for anything in the SR's firmware that might indicate hidden support but found nothing. Is there a way to do this using the factory-installed firmware, or will I have to use something else?

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


text:
CNC Kitchens flow calibration script - too little extrusion
I created some G-code for my printer according to Extrusion System Benchmark Tool for Fast Prints.
Everything seems normal and the G-code preview also looks normal. However, the blobs that are supposed to be extruded are really slow. So slow in fact that I first thought the printer had crashed.
I checked the G-code of that particular move:
G1 Z10.5 E200 F4.99 ; Extrude

So 200 mm of filament are supposed to be extruded with a speed of 4.99 mm/min at 4 mm³/s, which seems slow to start with, but I calculated the volume of that move.
$4.99\ {mm}/min = 0.08\ {mm}/s$
$cross\ section\ of\ 1.75\ mm\ filament = 2.405\ {mm}^2$
$0.08\ {mm}/s * 2.405\ {mm}^2 = 0.2\ {mm}^3/s$ which is quite some way off the targeted 4.
It seems that the F4.99 speed is applied to the movement of the Z-axis, not to the speed of the extrusion. My printer is Marlin based, so I wonder why the G-code is interpreted like that.

Have you used G91 command before? It puts the printer in relative movement mode.

ah interesting. the script actually puts a G90 at the start. but ill try it with G91.

ok G91 makes the whole patter look weird, but I found an M83; set extruder to relative mode but M82 should be relative extrusion moves according to the marlin gcode library. ill try it with M83 now.

I thought you are only doing this one particular line. G91 won't work in fully generated G-code. Can you share your full G-code file?

https://pastebin.com/BhhzFAzG
this is the unaltered generated gecode from the excel tool
https://marlinfw.org/docs/gcode/M083.html

It seems like everything is fine with your generated G-code. If the extruded filament is minimal, maybe something is not good with your printer. Have you printed anything before? Have you calibrated your E-steps?

hm, yeah the M82 doesnt seem to do anything.
the printer prints fine, already for a long time. i just recently switched from idea maker to prusa slicer which allows me to test all these fancy calibration tools.

Looking at the G-code, there should be a little difference between each extruded line. Can you add a photo of the finished print to the question?

ill try to get a pic but the print takes ages. I managed to print 2/3 of the first row and it took something like 2 hours. but the pattern looks correct, the priming lines are printed correctly and the blobs are also extruded correctly.
im wondering if my printer has some special relative extrusion command. its a raise 3d pro btw.

Let us continue this discussion in chat.

Except for that issue on the script, is your printer functional and printing parts normally? as if you are setting up the printer a mismatch in mm per step on the extruder is a common thing.

If you find that there is a problem with the tool, be sure to file an issue: https://github.com/CNCKitchen/ExtrusionSystemBenchmark/issues


text:
Is there a conventional scale for 3D printing models?
Is there a convention for the scale of the 3D printing STL files that are shared online and/or expected by 3-D printers?
I found a model on Thingiverse that is useful for my project, a connector that must fit with other parts, so precision is important. Eyeballing, it seems that each STL unit corresponds to 1 millimeter, is this a safe/conventional assumption?

The STL File format is unitless, It only contains relative positions for the vertices of the mesh which makes up the part. As such, there is no true "standard." However, most 3D printing focused slicers will import STL files on the millimeter scale.
The vast majority of STL files you find online will be in mm units, however, It's important to note that such is not always the case.
Typically however, a file imported in the wrong unit will be very obvious, and unless the model author has done something very unusual, scaling should be trivial within your slicer software of choice.

This. By convention, STL units are mm, but this is a human convention not conveyed in any way through the data. Every once in a while you find files where the author has done something else (inches is probably the most common) or (mostly in pure-art/non-functional models) where the author designed freehand with no care whatsoever for the scale of the numbers and you just need to pick a scale you like for printing. I find the latter case are almost always very-low-quality because the author paid no attention to printability affects of detail resolution.

STL files are based on coordinates rather than individual units of measurement as they're supposed to be completely unit agnostic in order to allow them to be evenly scaled on any platform, and to not be bogged down with unit translations.
Typically, the units are set by whoever makes the model, and by whatever the default of the software that they use is. In most cases, creators use a one-to-one scale.
So, the answer to your question is that the conventional scale is "100%". Though probably isn't the answer that you're looking for.
If you print it at 100% it will be whatever size the creator intended it to be. For example, if you were printing a Warhammer miniature and it has a base attached to it, and you print it at 100% then that base will be 25mm wide, and the figure will be the exact height that the creator intended it to be. Whatever that height is.
For the purpose of your question, if the part "looks" like it was created in MM then it almost certainly was.
If you take that STL file and put it into your slicer, then use the default scale (100%), you can use the slicer to determine how its width or height or length in MM. Just set the scale of the model to whatever makes that dimension the same as the dimension you need it to be and the rest of the model will be scaled accordingly.
Your biggest problem might actually be the material that you use, as some will shrink after printing, or shrink unevenly.


text:
How can I test if my model can be 3D printed without having a printer?
This would be my first ever 3D printing
I previously worked in Sketchup to generate simple objects, mostly floor plans and various small objects mostly for visualizing and designing things.
I am now trying to print a dust collector (hose) adapter that would connect my vacuum to my table saw guard. I have the model already (looks like below), I have managed to get quotes from 3D printing service providers so apparently everything looks OK
I still have doubts regarding the stability of the object during the 3D printing.
How can I verify if everything is OK in that respect? I plan to print at our local public library which offers free printing (you pay the materials)
Here is my model, the OD at the base is 64.3 mm (2 17/32", the height is 288.1 mm):

Here is the link to the file.
If it matters the local public library branch has the following 3D printers which I can use:

The LulzBot TAZ,
The Maker Bot Replicator 2
The Ultimaker 2 Plus

Can you share your 3D model? It may help me better answer to your question.

Sure how can I share a model here? I looked for that option but I could not figure out hoe to do it

You can add it on some 3D-models hosting repository and leave a link here. I’ll check it from there.

ok if that is the case I have added the link to the file at the end f the post see the update

What kind of printing services? If it is powder printed (SLS), you don't need to bother about the overhangs.

I don't really exactly, I assumed that the model will present a problem for all of them. They did not say anything so I assumed it was OK. Turns out that the overhang problem is ...a problem :-)) I will fix that

You better may take a closer look to the build volumes of the mentioned printers, none of the three mentioned can fit the object upright!

SketchUp is known to create models which fail in the slicer or during the print. It's a good idea to use a resource to check for flaws/errors in the model. These errors can be quite varied. All3DP has a somewhat misleading presentation purporting to provide resources to repair damaged models, but the linked page merely describes those factors which are to be considered when examining a model. This particular link is included for completeness.
Non-manifold builds, intersecting faces, non-intersecting faces (holes) and others are listed in the linked article and are to be avoided/repaired prior to printing.
Some slicers will identify and auto-repair a model if the "damage" is not too severe.
Windows 10 and up includes 3DBuilder, which will also identify flawed models and attempt to repair them. Despite being bundled with Windows 10, it is a capable program for checking a build.
Meshmixer (windows) also has Analysis, Inspector to identify problem areas, and also to repair them. For your model, Meshmixer does not identify any failure points, making a repair unwarranted.
An online repair resource from NanoDLP exists but does not display any information, merely repairs the model and makes the repair STL file available for download. There may be others of value online, use search terms "online 3D model repair."
If you can identify the slicer used by the library, it's possible/likely that it is a free download. PrusaSlicer, for example, will provide notification when a suspect model is loaded and will auto-repair. As noted above, your model does not have flaws; loading the model will provide other resources such as slicing and g-code preview as requested in your question. Other slicers are available for free download as well, including Cura, as referenced in the video.
The overhang mentioned by @FarO is a valid concern and the video provides a useful solution to the possibility of drooping during the print.
Angus of Maker's Muse on YouTube has a couple of videos covering design considerations to reduce or eliminate the need for supports, a version of the video linked by @FarO:

It's similar in respect to adding material to the model, creating a change from overhang to bridging.
I've had to print a counter-bore with the major diameter on the build plate. This created an unsupported bottom of the counter-bore "floating" above the plate. To fill this area with supports via the slicer would have been detrimental to the print quality and possibly resulted in impossible to remove supports.
The Angus' method served well in that I created a cylinder 0.4 mm larger in diameter than the minor diameter of the hole, placed directly in the center. This cylinder created a bridge from the major diameter, with an overlap of one nozzle width, which was easily snapped clear. One could have even less of an overlap by using 0.2 mm delta.
In the case of your vacuum nozzle, the overhang could be changed from the method presented in the video to a few gussets perpendicular to the surface under the overhang. This would "bookend" the overhang, creating bridging of the shelf, rather than drooping.

This image above is a hastily thrown-together example of the suggested option. The difference between the left and right support panel is the result of sloppy and hasty creation on my part, not a reflection of the model construction.
Addressing the question in the comments regarding print time, multiple factors are to be considered. Print speed for the specific filament type is the first. PLA can tolerate relatively high speeds compared to other filaments, especially flexible types. Layer height is also a consideration. A model printed at 0.300 mm layer height will print more quickly than one printed at a common 0.150 mm or 0.200 mm height. Layer lines will be much more visible on non-vertical faces when printed at 0.300 millimeter layer height, but for a utilitarian purpose such as yours, that's insignificant, in my opinion.
The slicer program selected will also be a factor. At 0.300 mm height, one of my slicers presents a 7 hour 22 minute result, while another suggests 8 hours 32 minutes. As both are in excess of your allowed time, you'll have to improvise.
One option, based on the duration limitations, would be to segment the model in a manner to allow easy assembly after printing, then glue the segments in place. Super-glue-type adhesives are prone to becoming brittle and fail, while solvent types are more likely to create a better bond. A popular adhesive, from my experience as well, is E6000.
If you split this model, use a horizontal plane cut to maintain the vertical orientation. It will provide the fastest printing. You can also create the plane cut at the overhang area, removing the need for manipulating support structures.

I have updated my post with the models the local public library has. They give you two hours for most of the printers; they do have some printers that can be used for longer. How can I determine how long is it going to take to print my model. Also what material would you recommend me to use ? (not sure if they provide the material or I have to come with mine)

Answer to comment question now in edited answer (bold)

Thicker layers are faster only if the printer runs blindly at a predefined speed, which unfortunately is often the case.

The shape seems very easily printable.
The only part which will need supports is the bottom side of the rectangular connection port, in the figure just right to the quote "11 21/32". That part, if it doesn't need to be connected to anything else or doesn't need to be exactly horizontal, can be modified to be slightly slanted, see video below with the issue and solution.

Remeber that the height of the ramp depends on the depth of the overhang part. In the video the ratio is about 0.4 mm ramp height per 2.5 mm unsupported overhang. I would change it to be safer, 0.4 mm per 2.0 mm overhang, so (no less than!) 1 to 5. If your square connector is 5 mm deep (I mean measuring on the outer side of the opening, you get it), use a ramp 1 mm tall or more. The angle will be 11 degrees from horizontal.
Printers may struggle when the angle from horizontal is less than 20, but it's worth a try... or simply make it a bit taller, 0.4 mm per 1.5 mm overhang.
Once printed, file the ramp out so it becomes horizontal again. Try to use ABS if you can, it does better overhangs than PETG. PLA may work too but it's quite brittle if you hit it.

Would these issues be revealed when I try a to simulate the printing in Fusion 360? Still trying to find a video that would show me how to do the simulation, that is what I was looking for when I asked, I also hoped that the simulation would tell me that there are problems with my model as the one you pointed out , thank you for that. PS: I posted a link to the file is you want to have a closer look

only part which will need supports not if you print the tube leaning over. I've printed lots of various shaped tubes for the pool that way.

@0scar bit then you need supports on the bottom, isn't it?

@MiniMe what you can do is to load the STL model in prusaslicer and enable "supports everywhere" to where the software will place them. Then it is up to you to get an Idea of what would happen if you don't use them. Of course, it's always possible to use supports and the issue with sagging is gone

How can I test if my model can be 3D printed without having a printer?

Find out what printer is used and slice the print yourself using free tools like PrusaSlicer, Slic3r, Ultimaker Cura, etc..
From the mentioned printers, none of these allows for the tube to be printed upright, the TAZ has the largest height of 285 mm (depending on the exact version they have), your object is 288 mm...
e.g. One of my printer cannot take the object upright:

This means that you are left to two options, cut the object into two pieces and design a coupling between the two pieces, or you need to modify the orientation of the object.
Do note that orientation of the print on the plate can do a lot to print object that sometimes do not appear to fit on the plate or in the volume.
E.g., you could print the tube other than upright, see below (it fits my 200x300 mm printer):

This is sliced with support, but, a smaller scaled version printed fine without support. The larger version and the shallow incline of the tube need support for the full size print.
Scaled version of the tube printed without supports:

I think the best solution is to break up the part into two pieces and design an appropriate coupling. This would give you 2 parts, but the printing time and the amount of support will be minimum. The less time and the less support the higher the chance the parts print in one go without failing. It is also best to print the two parts after each other, else you will have the nozzle to retract (takes time) in between the two parts if printed together.

I second this, using an open source slicer and go through the motions. This is all that most people do before printing their models.


text:
Extruder MK8 won't turn using RAMPS 1.4 with Marlin
I am building my own 3D printer and I finish almost everything the only thing that I can't solve is how to start the extruder stepper motor. I am using Pronterface and Marlin. I can't even make the motor rotate in Pronterface when I manually set the extruding temperature to 0 °C and then try to start the motor, it won't start.
What I tried so far:

Changing to use drivers in Marlin
Testing drivers to see if they work
Testing the stepper motor to see if it works
Seting up Pronterface in different ways

You cannot drive the extruder unless you heat the nozzle to at least 170 °C, this is the default value in Marlin. This is to protect your printer from extruding at too low temperatures (which can harm your nozzle or extruder or grind the filament).
You can disable this feature by G-code using M302:
M302 S0 will disable the limit.

always allow extrusion (disable checking)

In Marlin, cold extrusion is prevented in the Configuration.h file:
// @section safety

/**
 * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP.
 * Add M302 to set the minimum extrusion temperature and/or turn
 * cold extrusion prevention on and off.
 *
 * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! ***
 */
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170


text:
How to add magnets to 3D print mid-print?
I would like to add neodymium magnets during print. The model, which I would like to print, has fully enclosed holes made for placing magnets.

I added pause on layer (M601) in slicer. Since, this is a very long print, I would like to avoid any problems. I read that the magnet can attach to the nozzle while printing. How can I avoid this, and what else should I watch out for? How should I prepare in advance for magnets placing?

I'll share some experience, I got while printing with magnets:

Firstly, check if the magnet can stick to something around the hotend, especially when using neodymium magnets. It may be necessary to replace the nozzle with a non-magnetic one.

Apply a small amount of glue before placing the magnets. The magnet should be free of metal filings that may stick to the magnet, because the glue will not stick to the magnet properly. In this situation, the magnet will not stick to the print and may frivolously move around in the hole.
I used a small amount of hot glue on the bottom and top of the magnet, completely surrounding it in the hole. Hot glue should be used carefully as it can deform the plastic surrounding it.

Check magnets pole orientation. This one is important, if you want to use magnets in pairs, e.g. for parts that should connect and disconnect. Magnets should either attract or repel each other, depending on the application. Before placing the magnets, check that they are correctly positioned. You can also mark the poles first with a marker.

Make sure the magnet fits in the hole. For this purpose, you can make a quick test print and check if the magnet fits correctly into the hole. This will save potential drilling in the printout and other unwanted problems.

Magnet pole won't matter if it's attaching to part of the printer, however.

Yes, but it is important if you want to use 2 magnets e.x. in a case and a lid.

Unless you are using a nozzle made of magnetic metal, the magnet will not attach to the nozzle. The heater blocks are usually aluminum, the nozzles are brass or copper, although some can be steel. Other portions of your extruder assembly could be a factor but I've not seen examples.
Pass the magnet under the nozzle area close enough to touch the nozzle. This will provide indication of which portions of the assembly might attract the magnet.
Consider to apply some super-glue-type adhesive and allowing sufficient time to cure (or use a thin layer of moisture on the magnet, or an accelerator) to provide additional security. Even a small segment of double-stick tape may provide the level of assurance you require.

I didn't know, that the heater block is non-magnetic. I have to change the nozzle to brass, because my current one is stainless steel and it has too much force, so I don't think it will work.

@kosteklvp Check your existing nozzle -- most stainless alloys are non-magnetic.

Some heater blocks have set screws (sometimes called grub screws). Those are magnetic if carbon steel and may be magnetic if stainless steel, depending on the particular SS alloy.

I've certainly had this happen. While it didn't attach directly to the head, it attached to the steel roller bearings that moved the head, as well as the BL touch probe!
The type of magnet matters as well. If you're just using a regular steel or ceramic magnet, you probably won't have a problem since they usually aren't strong enough to lift themselves the inch or two required. But if you're using a neodymium magnet, then those certainly are.
I've done three things to solve it:

Learned the tolerance of my machine so I know how large of an opening to make for the magnet so it ends up being a bit of a press fit (when designing my own stuff). It doesn't take much to offer just a little bit of resistance to prevent the magnet from lifting.
When printing multiple items at once (made some refrigerator magnets), I arranged them so the print head travel properly and not cross over the magnets of the other items
Used a glue stick to glue them in. I was a bit surprised this worked, but it was just sticky enough to solve the problem.

One of the best first prints I ever did was to create a cylinder, say 1" in diameter, with a hole in it (1/2" in diameter), then create the corresponding "pin" exactly 0.500". Then I'd create multiple cylinders with holes of varying tolerances, say 0.490, 0.495, 0.500, 0.505, 0.510.
Then I could compare the fit between the two items. Essentially if I needed to put a magnet into something, there's no way I can do a 0.500" hole. It's too tight. I've learned that with my printer, that if I oversize a hole by 0.01" diameter, then it's a nice fit with a little bit of resistance. Well worth taking a few minutes to do this.

You want the magnets to fit snugly in the holes for them so they can't jump out. Making the hole undersized is not a good way to achieve this, because forcibly inserting the magnet can then break or deform the partial part.
Instead, I like adding one or more very thin splines, like the ones Lego bricks have to interface with and grip the studs of another piece, in a slightly oversized hole. These splines can wedge against the magnet and deflect without deforming the rest of the part.

Do you have an image of the spline design technique? I think it would benefit the understanding of the answer.


text:
My prints have started to turn to mush at a certain Z height
I just got an Ender 3 Pro for Christmas and, aside from firmware, I have made no changes to it whatsoever. Until yesterday, my printer was running all prints flawlessly. The only thing that changed was the filament, but I don't think that's the issue because the problem only starts to occur at a certain Z height.
What I've ensured:

The firmware is up to date
The filament is dry
the X, Y, and Z axis all have no bumps or obstructions (lead screws and belts are fine; wheels and bolts all good, etc.)
I have the right temperature (200 °C as printed on my PLA filament's label)
The filament is not tangled
There is no nozzle jam
I have retraction enabled properly in my Ultimaker Cura settings
The file is not corrupt (I've remade it, re-installed Ultimaker Cura, reformatted my SD card, etc.)
The extruder is not slipping or chewing into the filament
My bed is leveled

What I've noticed aside from the crappy prints:

There's an intermittent "thump" sound coming from the extruder, that as far as I can tell, is caused by the wheels "snapping back" suddenly sometimes.
The filament seems to be from a cheap Chinese brand: Sunlu.

Images of a good print and a bad print. These are the same version of the same G-code file printed at the same settings on the same printer in the same conditions. (EDIT: I removed the good print images because of a logo they contained that I am trying to limit public exposure to.)

Does it always happen on this same height? Does it also occur on other models?

@kosteklvp, yes to both questions.

This is most likely heat creep, lower the temperature with at least 10 degrees. Could be that your retraction is not optimal, if the Cura default, it is too large. What values do you use?

The thump and the appearance of the print are indications of underextrusion. Tracking the source of this failure can be challenging, especially considering how many factors you've included in your question.
Consider to create a model of smaller or larger diameter than the existing troublesome object. Adjust the height of the model in inverse proportion to the diameter change, that is, if the diameter is smaller, increase the height.
For example, if the problem is heat creep in the nozzle, it can appear at a specific duration of the print. By decreasing the diameter of the object, the failure point should appear at a higher level, more or less confirming that time is a factor, pointing to heat creep.
Consider also to download and print a suitably configured temperature tower. This will allow you to reference the time factor again, but also allow you to expand the range of printing temperatures you can use for that specific color and manufacturer of filament.


text:
Ender 5 Pro w/4.2.2 & BLTouch does not apply previously saved Z-offset
Installed a BLTouch on an Ender 5 Pro. As usual, the official firmware from Creality is buggy trash (wrong BLTouch offsets, only 9 point probing, etc.) and useless to me.
I compiled and flashed the TH3D Unified firmware, which works well other than the fact that I have to redo the Z-offset via tune every time I do a print, as it does not apply the stored value (it does retain the value however). So the first print the Z-offset is ~ -11, and the next time it is -22, -33, etc.
Why is it doing this and how can I fix it?
Config files (Using marlin bugfix 2.1.x):
https://drive.google.com/drive/folders/1rLc0XlNgTj02fTgg2V190oUmv1MEOt_f
Side note:
So I was able to get the Creality stock firmware working by switching some wires around on the extruder and manually setting the offsets in pronterface, so anyone else in my predicament can at least do that- but I'm still stuck with v2.0.6 .bin file only and only 9 probing points so I really need a Marlin version that works as intended that I can compile myself.
Why is it that the latest Marlin often doesn't work on Creality printers and we are forced to use one that is years old?

I already tried a new board. It's not the board. The z-offset error doesn't happen when I use Creality's crap firmware, that runs the extruder in reverse and has incorrect probe offsets, so I know its not the board. I attached my config files. Hopefully you can see the problem?

I don't understand your problems, probe offsets can be changed with M851 at all times. If the extruder turns the wrong way, unplug stepper cable turn 180° and replug. I'll look into your files later.

@Oscar You can't change probing points and 3x3 leveling is a joke considering how bad many creality beds are warped from the factory. Also it is Marlin 2.0.6.

I wouldn't know, I don't have an Ender, but it sounds you need a straight sheet of glass. One of my printers till very recently ran 1.1.9, it worked very fine. I just wanted a newer version to play with, otherwise it would have run fine still. Have you tried to compile Marlin (the original source) yourself with your own config files, so not a copy from anything else? Configuring isn't that difficult and there are plenty tutorials to find.

@Oscar It already has a 4mm glass bed; that's always the first thing I do. With 5x5 leveling it makes up for the average warped bed, whose imperfections do translate through the glass ever so slightly. 3x3 however does not; and is only good if the underlying aluminum is flat.

@Oscar Yes I have tried compiling with multiple versions of Marlin straight from the github. There's no reason it should not be working properly. Some Ender boards just don't work with newer Marlin, idk why, but this is no doubt why Creality releases firmware dated Nov 2022 that is using 2.0.6 Marlin.

Not sure if its a solution to your problem but I had a similar problem and this worked for me:
My Problem
I could auto-home and configure my Z-offset as many times as I want but it behaved strangely. It just added the values on top and the offset did not apply whatever I did.
I did auto home, drive to Z -3, set my Z-offset to -3, did auto home, and was again 3 millimeters too high.
How did I get there
I compiled Marlin 2.1.2 with the configuration for the Creality Ender 5 Pro and enabled ENDER5_USE_BLTOUCH.
I did some adjustments to NOZZLE_TO_PROBE_OFFSET (where the 3rd parameter, the Z option didn't do anything).
My Solution
I commented out (put // before these lines) Z_HOMING_HEIGHT and Z_AFTER_HOMING which were commented in by the author of the Ender 5 Pro configuration.
Why I did that
I realised that every time the auto-home ran, it moved to Z 10. Ignoring my offset. This could be a bug, could be intentional behaviour but after commenting those lines it always moves 10+Z-offset down.
My guess as to why this happened
My assumption is that it always moved 10 mm but those lines made Marlin believe it moved also respecting the offset.


text:
New Ender 3 v2: the printer backs the filament completely out of the extruder
I just bought a new Ender 3v2 from MicroCenter. When I attempt to start a print, the printer backs the filament completely out of the extruder, up the feeding tube and out of the machine. I'm running PLA+ in it. The first time, the nozzle was blocked, but it is still doing it and the nozzle is not obstructed in any way.

Hi, welcome to 3DPrinting.SE, your question wasn't expressing the actual problem, so I changed the title for you. Too bad you are experiencing problems! Are you saying that the filament when properly primed in the nozzle travels backwards completely instead of advancing to the nozzle? Can you show us the first 30 lines of G-code of the print file? Alternatively link the file in comments. You haven't changed anything to the firmware and the connector of the Extruder isn't accidentally reversed into the socket of either the controller board or the extruder stepper motor?

My 12 year old assembled the printer for me.. as far as the G-code for the file, I’ll have to have him help me with that, I’m totally new to printing, he’s been doing it for over a year

Have you managed to print something? If so it sounds as of it is incorrectly assembled.

Thank you everyone for the suggestions.. I took it apart and reassembled it (my 12 year old originally built it, he’s usually good at these things) we found that the wires were reversed (at least according to him). It’s printing great now

You're welcome to hinting to the solution. Thanks for getting back to post the answer, please do not forget to accept it after 48 hours to mark it solved, just tick the check mark under the up and down arrow in front of the answer.


text:
Flsun Q5 returns 'ok 0' as response to every command
I have a Flsun Q5 which I am trying to get to communicate with my python script. The script is this:
import serial
from time import sleep

COMMAND = 'M105' # Request for temperature

ser = serial.Serial(port='COM4', baudrate=115200)
print('Connected to Printer... T-2s\n')
sleep(2)
ser.write(f'{COMMAND}\n'.encode('utf-8'))
print(f'>>> {COMMAND}')
sleep(20)  # Allow time for response
response = ser.readline()
print(response.decode('ascii'))

But it returns ok 0 everytime (even when asked for firmware i.e., M115):
>>> M105
ok 0

When I hit with a G28 command, the printer does move like its supposed to, but it responds with ok 0. It's like it responds like that to everything. I have tried messing with that 20s timeout, but no matter what, it does not do anything.
How do I get the temperature of the bed? TIA.


text:
Y-Stepper motor pulley skips the belt
I haven't used my Creality Ender 3 S1 in a week. But I started it now. During auto leveling and auto-home the stepper motor for the build-plate (Y axis?) goes over the limit and a unhealthy sound is heard (the stepper pulley skips the belt).
All worked well last time I used the printer. I have tried to "Disable motors" and manually moved the plate, but it did not fell in "alignment", so the noise will come e.g. with "auto-home" again.
Is there a way I can reset this or may something be broken?

I did "Control -> Reset Configuration" and tried to use "auto-home" again, but the same problem occurred. I also tried to tighten the belt for the motor that moves the build-plate, but it did not help.
It sounds like something is broken. In some way, it sounds like the stepper motor has the "wrong position", if that can happen. Perhaps there are some "encoder" that is broken?
Any suggestions on how to move on from here?

To reproduce my problem:

I disable the stepper motors.
Move the build-plate as close to the motor as possible.
I do "Control -> Reset Configuration" to reset the printer.
I do "auto-home". The end result of this is that the build-plate is centralized and the "level-pin" on the nozzle is in the center of the build plate.
When I do "auto-level" now, it eventually tries to move the build-plate too far away from the motor, so the pulley skips the belt and noise is heard.

Auto home
When looking at this video of Creality Ender 3 S1 doing auto home, it moves the build-plate as close to the motor as possible, before moving the build-plate to home. This does hot happen on mine.
Instead, if I first put the build-plate in the center, then start the auto home. It never moves the build-plate as close to the motor as possible, it only moves the build-plate away and finally the motor pulley skips the belt.

When a stepper keeps on spinning and skipping the belt, it usually indicates that there is something wrong with the end stop. If it is not pressed, the stepper will rotate the length of the bed usually making the pulley skip the belt.
Please check your Y-end stop, you find it in the image below left of the stepper (you see the cable of the endstop, just above where the sticker is being pulled off).

You could try and press this switch the moment you auto home to see if it works. If it works, make sure the carriage hits the switch.

The updated question explains that the bed moves in opposite direction when homing, if so, this hints to a defective end stop switch or cable (or unconnected). When the end stop is defective the firmware (when properly configured and proper switch state routing is used) the printer assumes the end stop is triggered and moves away from the end stop.

It turns out, that a cable in the area of your photo had been disconnected. When I connected it, both auto-home and auto-leveling worked fine again. Thanks.

Happy printing @Jonas!


text:
Ender 3 S1 general (beginners) problems
I'm a beginner, so my terminology may be off.
I bought my first 3D printer a while back
It's the first Creality Ender 3 S1 series that came out.
Question
I'll summarize my observations: Manual and auto bed leveling don't seem to catch all the inconstancies on the bed. The first layer is either too loose or too squished because of these differences. I can't seem to find any visible inconsistencies when using a ruler to check the bed at problematic points manually. I'm constantly adjusting my Z-offset to find the right height, but can't seem to find it.
Problem 1: Manual and auto bed leveling
I'm following the following steps:

Tighten all springs
Auto-home
Move the Z-axis to 0
Loosen springs to bring the table up and allow the springs to breathe
Use Z-offset to bring the nozzle to the table
Use a sheet of paper to feel a slight friction between the nozzle and the bed
Move the nozzle to four corners (~ spring mount points)
Move between each corner until satisfied with friction

Well, I don't really get to step eight, because I'm never happy with the friction.
As soon as I move to the next corner, the other corners deform to the point where there is no friction at all.
The springs are not too loose, so I don't think that's the problem.
Problem 2: Build plate deformation
When I'm finally kind of happy with the manual bed leveling, I return to auto-home.
To my surprise, the nozzle presses hard against the surface.
When I disable steppers, I notice the nozzle is still at the correct height as measured on the four corners.
There is also a small spot on the plate (1x2 cm) where the nozzle seems to press into the plate as well.
Problem 3: auto bed leveling
Now I'm thinking to myself... hey! auto bed leveling to the rescue! Well of course not. The 1x2 cm square I'm talking about does not get picked up. And the PLA on most parts of my bed is either too high or too low.
Problem 4: Z-offset and adhesion
Finally, as I mentioned, it often prints too high or too loose. But I can't seem to find the right Z-offset at all. When I move it down too far, it squishes, and when I move it back up a bit, the previous PLA loosens and gets pulled off the table on the next past (or even immediately after the first pass)
Things I've done:

Contacted Creality, they're really good at google translate...
They sent me 1x motherboard, 1x print head, 1x print plate, 1x print bed
No real help... just going in circles and some vague instruction video's on their part
Updated firmware to the latest version from 21 October 2021
Bought a glass bed and installed it
Adjusted all wheels on the X- and Z-axis
Adjusted the belt tension
Cleaned and greased both T-rods
Degreased the bed plate
Printed with bed @ 60 ° and 64 °C
Printed with nozzle @ 195 °, 200 °, 205 ° and 215 °C

I'm sorry if this question is too broad. I've had this printer for a couple of months now, and tried a lot of things, but I've never been able to start a print and go for a coffee... it always fails.
Greenonline pointed out that this question should be split up into separate questions. But to my beliefs, all four problems mentioned below might be relevant to pinpoint one or two remedies for the issue I'm having with this printer. So my question should be this: Maybe someone with more experience can see a correlation between the problems I'm having.
Help a newbie out, please :)

You will need to ask four different questions because, as it stands, your post will lead to confusing answers - where some answers provide solutions for only some of your questions. Just one question per post please. Please [edit] your question to remove three of the problems and post  those three as separate questions. Thanks. Also, there doesn't seem to be an obvious question in your post, just a series of observations.

Hi Greenonline, you're right of course, but I'm indeed not looking to solve these problems one by one. There's already a lot of information on google for each of these problems. and I can manage to solve these problems one by one, but remedies for one problem only create another. Hence my question.

I too am having the same issue you are having. Hopefully someone can answer this because it is very frustrating when you are a beginner at this like I am.

As soon as I move to the next corner, the other corners deform to the point where there is no friction at all. that is not uncommon, it may take several rounds to get this right. Note, you have a sheet of glass, so, if that is perfectly flat, you should have no trouble setting the correct level or distance for that matter. If that doesn't work, either the printing tuning skills aren't there yet (no offense, mine weren't good when I was a beginner) or you have an unsurfaced hardware issue. I doubt whether we can fix this, although we want to, with the question in its current state.

I'm having exactly the same issues. So this confirms, it's just a sh***y printer. They've offered me to send me a new bed, but I'm not going to have every single part replaced one by one until the warranty period expires. I'll just return it, demand a refund, and buy another one. Absolutely pathetic.

Problem 3
Forget about auto bed leveling. Just do it manually.
Problem 2, Problem 4
Yes, Build plates are completely warped, sometimes up to 1 mm. On very large printers such as the Ender 5 Plus, it can get as bad as 2 mm. Every board has its limits and experience will tell you what you can print and what not, and what difficulties you will get.
A common issue with the Ender 3 printers is that a cable rubs against one of the wheels responsible for bed levelling, misadjusting it, usually the one on the rear left. Make sure that isn't happening.
Problem 1
Everyone I know incorrectly levels AND incorrectly uses their build plate. If you only use PLA you might get away with doing it the "ordinary" way, but that won't work for more advanced materials and even with PLA it will severely limit you. Here's what you want to do.
This is a rear view of your Ender 3 S1. You want to make sure that your X-axis is parallel to the rest of the machine. Turn one of the motors (marked red) by hand to make it parallel if it isn't. Use a normal ruler to measure the distances (marked yellow)

Once that is fixed, you level the build plate. The first thing you will want to do is level it along the X-axis.
Every build plate bulge at its center: the red cross (image below) will be the highest point of the build plate. You will want to avoid printing there if you can. Print small parts where the green cross is. Print long, thin parts along the green arrows. Print large round parts (>10 cm) in the center. Also, you will want to avoid printing long thin parts from the front left to the rear left, or from the front right to the rear right, as it will upset the balance of the build plate the heavier the print becomes, tilting it. If you have a printer that is built like an Ender 5 (not the Ender 5 Plus) you will want to avoid printing at the very front of the build plate, because it will tilt with added weight. That's why it's good practice to always print at the rear of the board along the X-axis.
So first you make sure, that the bed is flat and at the correct height along the green line because that's where you'll want to print. That is easy, as you only need to operate two screws instead of all four. Then you do the same for the orange line. You will want to go back to the green line and make light corrections. Forget about the center. The center will always be warped, so never print there, unless you're printing something really large and you have no choice.
Green is good. Red is bad. Avoid orange completely, there is no need to ever print there. I do it as I sometimes print nylon, and cover that area with PA adhesives. Saves me from washing the board between material changes. But don't do it on an Ender 5-style printer, Ender 3 will work fine.

Cheating
If all else fails, contact adhesives can be a lifesaver. You'll want to buy a second glass build plate for this because of the mess. You coat the entire build plate with a thick layer of contact adhesive (or just the parts you need if you know what you're doing) and let it dry for about 1 hour. The glue will dry out. Then you heat the bed up to no more than 80 °C. The adhesive will now soften and is ready to be printed into. You start printing directly into that layer of glue (a raft can help). It won't really matter how bad the bed levelling is, as you'll be literally printing into the glue. After the first layer has been laid down, you turn off the heated bed. Once the glue cools down, it will harden and create an incredibly strong bond to your print while your printer continues to print. After the print has finished, heat the bed to max 80 °C (50 °C for PLA, or it will soften the material) and sprinkle the build plate with warm water, which will soften the adhesive and enable you to remove your print.

"experience will tell you what you can print and what not"... unbelievable how people seem to accept that you may spend $300 on a piece of equipment and it's just a matter of luck whether or not it does its job.

@matteo my 3d Printers cost well over $1000 and it's about getting to know the limitations in respect to each individual material. It's not about luck. But of course some elements are random.


text:
Why do we change E-steps based on the hotend?
I know why and can understand the logic of changing E-steps for a new extruder- obviously it is related to the number of turns of the stepper.
What I don't understand is how the hotend could alter the E-steps so drastically.
For example in Marlin the default e-steps for the stock MK8 hotend on a Creality printer is 93 (which is always too low IME) but then if you have a MicroSwiss it sets the E-steps to 137.6
How does simply changing of the hotend (keeping the same nozzle diameter) require such a high increase in the E-steps? Can someone explain the physics of it?
Edit:
This is what I was referring to:

Based on your advice I did some further searching and found that Microswiss makes an extruder as well. I initially assumed that it was referring to the hotend, since the most popular all-metal replacement hotend for the Ender line is the Microswiss, since it is a direct drop-in and requires no additional mount hardware.
If it is the Microswiss extruder that they are referring to- I find that odd that they would include only that one since there are perhaps a dozen popular extruder options for the Ender line and they don't list firmware e-step options for any of them.

E-steps/mm are related to the extruder, not the hot end, not even to the nozzle diameter, please provide links to content claiming the difference. Also add images of the 2 extruder/hot end combo's. Only friction and slipping would explain this if you use the same extruder, but that implies you have a sub par working extruder.

@0scar, While e-steps affects the extruder, how could nozzle diameter not matter? The bigger the diameter, the more material you'll have to put out, which would require larger 3-steps.

@LarryBud E-steps per mm is a property of the extruder (embedded/set in the firmware), the slicer corrects for nozzle diameter (as in the extruded volume/length). The extruder pushes 1.75 mm or 2.85 mm filament, that is not related to the nozzle diameter.

You're saying the G-code extruder calculation changes based on the nozzle diameter? I did not realize that!

@LarryBud In G-code the amount of mm that needs to be extruded is calculated by the slicer (based on the selected nozzle size), your firmware (using the E-steps per mm value you can set through G-code) translates this to stepper rotations.

If you Google "microswiss for ender" you get at least 4-5 different designs for plain hot ends and direct drive solutions, who knows what design is meant in that firmware snippet. My answer below explains both options. I think a direct drive is meant in the snippet opposed to the standard Bowden, hence you find different values, it includes 2 different extruders.

Actually we don't.
Under the assumption that the same extruder is used, the hot end doesn't matter. The question is unclear about the reuse of the same extruder. If there are different hot ends that have the extruder incorporated into the hot end design, the gearing solution used for these different extruders explain why the E-steps per mm are different. But, if the same (Bowden) extruder is used, you don't need to change the E-steps.
To explain, the E-steps per mm is a property that belongs to the extruder, not the hot end. The E-steps per mm expresses how many steps need to be send to the extruder stepper to extrude a mm of filament. This filament is pushed while it is 1.75 mm or 2.85 mm. For this reason the nozzle diameter doesn't have a part in the equation either; the slicer will calculate the amount of length to extrude a volume is needed, the firmware recalculates this extrusion length (or volume if the filament area is taken into account) and expresses this with the E-steps per mm into an amount of steps for the stepper.
You can calibrate your extruder by disconnecting the hot end or unmounting the nozzle (and telling the firmware to extrude at low temperature using G-code M302; you just need to make sure when 100 mm extrusion is requested, 100 mm is spit out. Any deviations from that can be fixed with the extrusion multiplier.
In the early days, when extruders didn't use dual gear filament gear solutions (which many these days do now), the filament was pushed by a single gear and used a counter bearing that pressed onto the filament with a spring like mechanism. What frequently happened with the cheaper extruder solutions is that  friction in the path up to the nozzle caused some slip, so it may look like more steps per mm were needed, but in fact this was just an extruder issue.
Also beware of soft filament and pressure on the filament. See e.g. the following image of 2 different (blue and red) filament types or pressures on the filament sketched in the same image:

This image shows 2 types of filament or pressures on the filament. You see that the softer filament (red) or more pressed on (resulting in the gear teeth digging deeper into the filament), has an effective radius of R2 while the harder (blue) or less pressed on has an effective diameter of R1. R2 is smaller than R1, so for the same amount of steps per mm less filament is extruded (if the gear makes one turn, the extrusion difference is $ E_{diff}= 2\times\pi\times(R_1-R_2)$. Such effects should preferably be adjusted with the extrusion modifier in the slicer.


text:
Ender 3 Max Neo Table Size
I'm seriously considering purchasing an Ender 3 Max Neo, but I'm unsure if I'll be able to fit it on my desk (i.e. I'm not sure if my desk is deep enough)
The specs report the machine dimensions as being 516 mm x 582 mm x 590 mm.  When I look at pictures of the unit it appears the rod for the Y rail protrudes past the front of the main unit, so I'm hoping I can get away with a table that is less than 582 mm deep.
Does anyone know how deep a table I will need to support this unit, assuming the table is hard up against a wall?

It is hard to find some measurements on the Ender 3 Max Neo to help you out, but, with the help of question How to calculate linear Y rod length for a larger replacement bed? and some videos on the Ender 3 Max Neo we should be able to come up with the space needed in the back and front.
The Y-axis carriage has 6 V-slot rollers running on a 4040 aluminum extrusion profile:

When you know the pitch between the rollers (you need the distance between the first and the last roller) and the diameter of the wheels, you will be able to calculate the overhang of heated bed. Since I have no access to this printer I cannot measure this, but we can make some engineering "guestimations".

From the image above you can deduce that about one third of the bed "overhangs" (beware of the perspective!).

Similarly, you can calculate the length of the Y-axis tensioner to be about 55 mm extending in front of the 4040 extrusion; this implies the bed extends about 80 mm in front of the tensioner.

The back has a NEMA 17 stepper of 42 mm, so an overhang of 90 mm.
This implies that the table should at least be 582 mm + 80 mm + 90 mm = 752 mm deep to fit the bed within the table dimension. At the back you need some space for the bed to reach the home position (when the table has a wall behind it), but you can have the printer extending the bed at the front over the table.

Thank you for your effort with this answer.   I'm not sure its right though - I have just visited my local 3d print supplier and had a look at various machines.  While they did not have this exact model, they did have another Creality model with a 300x300 usable print bed in the same style, and this will fit fine on my 500mm deep table even with the board totally pushed back (albeit with with the overhang sticking out - and I wonder if this is where your answer veers from my requirement? )


text:
Print overhangs from the edges in
I am trying to print an object with this cross section (the full object is just this mirrored):

The problem is that big overhang layer. Cura slices it like this:

This is obviously going to fail. Is there any way to make Cura slice it in a spiral inwards from the outside, something like this (excuse the terrible diagram):

Is there a reason for not using supports?

Yeah in theory I think it could print without them, and they take time to print. However I actually did try with supports and it still gave bad results. The issue is it prints the inner circle floating in space (there are supports underneath but 0.4mm away so it doesn't really help. Then all of the bridges to the inner circle do not stick to it.

In theory you cannot print large overhangs (unless you print slow and cool properly) and certainly not when there is a wall (hole) to be printed in the middle without changing your design. There are mods to spiralize such area's, but that is very experimental. You don't need a distance of 0.4 mm, 0.2 mm works fine (you can use an interface layer) but be sure to cool that layer more than normal. If properly sliced and printer properly setup, this prints fine with support.

For printing large BRIDGES without supports you'll want to cool MUCH and print FAST. LARGE nozzle diameter and HIGH layer height. Overhangs are a different story...

I'm pretty new to 3D printing but I was fairly sure I could get this to print nicely without supports and I did it! First here are some things I tried:

I tried the manual supports suggested by fred_dot_u, unfortunately, it does not really work in this case. It seems like the bridge needs a reasonable width of support at each end to adhere to.

I redesigned my model to not have 90° overhangs. Fortunately, in my case I can actually get away with 45° slops and also a 67° slope like this (this is upside down compared to the images in the question).

Unfortunately, this did not print at all well with the default Cura settings. It still insists on doing the "wall" rings first and those have no support.

(The black dots are from wet and dry paper.)

I managed to get it to print in the right order - spiraling inwards - by slicing with PrusaSlicer and just setting the wall width really high, like 5. It worked a bit better, but still 67° overhang was too much for my printer, and also I don't really want walls that thick.

Finally I realised what I should do. Bridging seems to work well over long distances, as long as both ends are well supported. So all I need to do is manually add some "bridge supports" and convince Cura to print them as actual bridges. Here's my CAD (I've resorted to just a test piece rather than my actual model now):

Essentially I added a 0.2 mm layer extrusion down everywhere except a square in the middle, and then a further 0.2 mm extrusion down in these purple areas:

Then when you slice in Cura set Top/Bottom Line Directions to [0, 90] (or perhaps you could just rotate the square by 45°), and it will slice it like this:

And it prints perfectly!

Ok, in the end, I think I might not do that because I realised I can redesign it to use 45° slopes and a big closed hole at the top... but I'm glad I proved that you can do 90° overhangs with holes in them without supports.

By changing the design yes, but that was not in the original question (it was asking about spiralizing contours, this is possible, see https://www.youtube.com/watch?v=c9b7Ey4LyCs, albeit with experimental slicers). You could have made it even more easy by covering the holes completely with a 0.2 or 0.4 mm layer, that is pretty common, you later remove the fine surface to recover the hole.

The design is barely changed - only by 2 extra partial layers. And yeah I am aware of the various attempts to spiralize contours (fullcontrol.xyz and arc overhangs) but neither of those fit the bill here. fullcontrol.xyz looks entirely hand-coded and arc overhangs isn't supported by Cura or PrusaSlicer. As far as I know neither of them have a handy scripting layer so I would have to modify the engine which is a bit too much work.

Good to see that you explored various things and reported them in an answer, you can accept the answer after 48 hours. The technique you used in the final part of the answer is a well known solution to do this, kudos you engineered this yourself!

Now I see what you did. You removed "overhangs" from your model, now you only have "bridges". Nice job. There are many ways to remove overhangs, this is one of them. Printing with supports isn't a big deal really with the right settings. And there's always 3D printers with dual extruders where you can use water soluble supports. If you make lots of technical parts you might wanna look into them. Makes life a lot easier.

Angus of Maker's Muse has a video which may be of value. He suggests to create additional components to the model that become supports. I've used this method with great results. The specific model I created contained counterbores that could not be inverted and would have required supports and also would have become a mess to remove.

The black lines represent a pair of cylinders of nearly matching diameters. The larger cylinder should be the same diameter and the second cut plus one or two nozzle widths, to allow overlap. This creates a bridging circumstance of relatively small dimensions.
This support cylinder could be hollow, but the slicer will have to bridge the top of it in order to create the center cylinder support. One could create a solid cylinder with a cone removed, allowing the print to build a non-supported taper to the top, but it would be easier to create a pair of nested cylinders, both of which could be hollow.
As before, the center cylinder should be the same diameter as the top most cut, plus the nozzle width times to create the bridging feature.

For info: the extra component that will work as supports can be added directly in the slicer, no need to change the model. And of course printing on the flat side is also an option.

I tried this and it kind of worked. See this photo. Unfortunately bridging to 1-extrusion-thick wall does not really work. However it has given me another idea that I will try...

Here are your settings. The ones with the arrows are especially important. Just copy everything I've underlined with red and everything will work fine ;-)

I appreciate the help but I don't think it really answers the question - I was trying to print without supports. Also if you check my answer you can see that I came up with a much better method that does allow printing without supports (with very minor model changes).

@Timmmm Yes I'm aware of that. I answered this after I read your comment: "However I actually did try with supports and it still gave bad results. The issue is it prints the inner circle floating in space (there are supports underneath but 0.4mm away so it doesn't really help. Then all of the bridges to the inner circle do not stick to it."

I simply gave you an answer how to use supports properly, since your settings are wrong. A model like that should really be printed with supports.

Yeah I think the default Cura settings have a 2 layer gap which is just way too much. But in any case it shouldn't be printed with supports because you can get better results without supports.

@Timmmm Better results without supports? I don't think so.

Well I do and I've actually printed it so...


text:
Z-Offset Multiple Heads on Tool Change
I have created my own tool changer for my 3D Printer but I'm having an issue with the Z-offset for each head.

Firmware: Marlin 2.1
Slicer: Cura

I have used the offset wizard to get the Z-offset of each head from the bed and then I tried to use the following G-code (M851 Z-4.3) in the Extruder Start G-Code and I have done this for each head, I can see it has changed on the screen in the configuration menu but it looks like it has had no effect as the print has already started.
What is the best way for me to set each offset for all my extruders?

There is a specific code to set the offset between the various tools. This G-code is called M218 - Set Hotend Offset.

@0scar, how is it possible to "view the current hotend offsets with M503"? Where I can read this result value? Here there is an explanation: https://marlinfw.org/docs/gcode/M503.html, but currently is beyond my knowledge...

This may help you understand: https://3dprinting.stackexchange.com/questions/10573/what-is-a-printer-console-terminal


text:
Major Y-axis skipping (Anycubic Kobra)
I have recently purchased an Anycubic Kobra, and the first two prints worked out fine. On the third print, the Y-axis belt snapped, so I contacted Anycubic support and they gave me a replacement one. I did a few test owl prints, but there was major Y-axis shifting on the prints.

After I replaced the belt, I made sure that they were as tight as possible, but there was some slack, but I couldn't tighten them further. There is only shifting in the Y-axis, but it mostly only shifts in one direction (towards front).
What other reasons would cause a Y-axis shift like this? Is this due to incorrect belt replacement, as there was no shifting prior to the belt snap?

I found a solution to this layer shifting. Even though the belt was too loose, I managed to use a rubber band to tighten the belt slightly. Now to prints go off without a hitch. Thanks for your help.

Glad you solved the problem! But, a rubber band sounds like a temporary fix, you might want to look into a belt tensioner.

The printer came with a belt tensioner, however even with the knob at the tightest, there is still a lot of slack and the belt skips steps. When printing PLA, the bed (60) won't melt the rubber band, right? hanks for your suggestion.

Did you crimp on one of the brass end clamps yourself or was the belt completely assembled. I think the belt is just a tad too long. Rubber bands have a short (or at least a way shorter) life expectancy than the belt.

All the belt tensioners were already pre-assembled. Maybe Anycubic Support accidentally sent me a slightly longer belt, as if was fine before the belt snapped.

Okay, clear! If I were you I'd shorten the belt using a new brass clamp or repurpose the existing one. But, what works for you you should use! Happy printing!


text:
Printer ignores G29 command
I have a 3D printer Ender 3 V2. I bought a BLTouch sensor for it and compiled my own Marlin firmware.
Now, my print run of the part is like this:

I heat up the table
Starting table calibration
After the calibration is completed, I click save to the EEPROM.
I start printing by selecting a file.

At this point, all printing is fine, but I would like to reduce the number of steps. Selected the print file and left. The printer heats itself, calibrates itself and then starts printing.
I tried turning on RESTORE_LEVELING_AFTER_G28 and ENABLE_LEVELING_AFTER_G28 separately in the firmware. The compiler won't let me turn them on together.
And to use such a G-code:
G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Bed Leveling
G28 ; Home all axes
M420 S1 : Load Saved Mesh
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

The printer simply ignores the G29 command and starts printing without calibration. What can be the problem?

@0scar I still do not understand the difference between RESTORE_LEVELING_AFTER_G28 and ENABLE_LEVELING_AFTER_G28. I have read many websites, but I don't get it. Can you explain it briefly? Thank you!

RESTORE_... restores the prior state before G28 (this can be enabled or disabled!), ENABLE_... will enable the leveling no matter what the previous state before G28 was. Personally I use ENABLE_.... You need to fix your start G-code and use it accordingly to the firmware settings. E.g. is ENABLE_... is set, you don't need M420...

@0scar it didn't work

If you "print" a file only containing G29 does that work?

@0scar I tried it, it doesn't work

Then you have a configuration error and as such not using leveling.


text:
Printer hotend heating slowly and faulting
I have a CR-10max that is about 3 years old and can no longer print due to hot end faults.  The hot end starts ramping up temperature but is unable to get past 150 °C, unless I turn off the hotend fan then it gets to 250 °C SP, but it is still very slow.
The printer has two PSUs, one that serves the heated bed and the other that serves the mainboard, steppers, and hotend. The hotend PSU is rated for 3.2 A and outputs 24 V. When the hotend is trying to heat it still maintains 24 V, and I have even disconnected this power supply and connected a variable power supply set to 24 V and noted the problem still existed and printer was only pulling 1.5 A while printing. So, the PSU is not the problem.
I did not do any heater tuning prior to these failures. But I did change the tuning parameters to be very aggressive and no change in behavior.
I am beginning to suspect there is a compromised relay or the wiring harness from the mainboard to the point where the heater cartridge is plugged in is compromised. Not sure what to try at this point...

Are the connectors on the back of the box warm? I had a bad XLR-style jack on my CR10.

Have you tried replacing the heating cartridge? These things are built very cheap on the Creality Ender printers and will break down often.


text:
raft balling up
Suddenly, I can't seem to print anything on my Flashforge Adventurer 4. No matter what I try, the raft looks like this. I'm re-calibrated and tried all kinds of different heat/speed settings. What am I doing wrong?

Hi Shawn, welcome to 3DPrinting.SE! You don't give us much to work with, please [edit] the material you use, temperatures and speeds. Also state whether it used to work or never worked at all (suddenly hints that it used to work before). Did something change if it worked before? Also note that rafts are seldom needed, it is a relic from the past (only use it when you are printing materials that shrink a lot). If you need a raft for PLA, this indicates that there may be different issues at play, e.g. bed levelling and initial distance.

Thank you for all the suggestions.
My problem ended up being that the filament tube was loose (not screwed in all the way) into the extruder head. Eventually, the printer started giving me errors about irregular printhead readings and to check it. The print head was loose so I took the whole thing apart and put it back together tightly. My next print was perfect.

Glad you solved it and took the time to post an answer, this may help others in the future too! Happy printing!


text:
Why does Prusaslicer set the final temperature in two steps?
I'm using PrusaSlicer 2.5.0 and printing the sliced G-code on a Creality CR-6 SE via a USB-connected OctoPrint/OctoPi. As you can see, the slicer sets the temperature by G-code commands in two steps (final temperature is 205 °C). This seems strange to me, as the printer can go directly to the final temperature. Also, this screenshot shows the case where I'm switching filament, therefore I have to heat up the extruder and when I start printing, the hotend cools for some time, because the target temperature is way lower set by PrusaSlicer.
Is there a setting for configuring this in PrusaSlicer?
These are the first few lines in the G-code file:
; generated by PrusaSlicer 2.5.0+win64 on 2023-01-18 at 12:15:56 UTC

;

; external perimeters extrusion width = 0.42mm
; perimeters extrusion width = 0.44mm
; infill extrusion width = 0.44mm
; solid infill extrusion width = 0.44mm
; top infill extrusion width = 0.40mm
; support material extrusion width = 0.36mm
; first layer extrusion width = 0.42mm

M201 X500 Y500 Z100 E5000 ; sets maximum accelerations, mm/sec^2
M203 X500 Y500 Z10 E60 ; sets maximum feedrates, mm / sec
M204 P500 R1000 T500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X8.00 Y8.00 Z0.40 E5.00 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec
M107
;TYPE:Custom
G90 ; use absolute coordinates
M83 ; extruder relative mode
M109 S180 ; set temporary nozzle temp to prevent oozing during homing
M190 S70 ; wait for bed temp to stabilize
M140 S70 ; set final bed temp
G28 ; home all axis
G1 Z50 F240
G1 X2.0 Y10 F3000
M104 S230 ; set final nozzle temp
M109 S230 ; wait for nozzle temp to stabilize
G1 Z0.28 F240
G92 E0
G1 X2.0 Y140 E10 F1500 ; prime the nozzle
G1 X2.3 Y140 F5000
G92 E0
G1 X2.3 Y10 E10 F1200 ; prime the nozzle
G92 E0
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
; Filament gcode

Hi, welcome to 3DPrinting.SE! Can you share the first 30 lines or so from the G-code file? The image doesn't really help that much. We have to discard the first 2/3 of the image (unrelated to the problem) and do not see the final temperature being reached, in fact it settles at the 165 °C mark. Please update your question by [edit]. Also look into you start G-code scripts in PrusaSlicer, maybe post them as well.

I have replaced the initial gcode in prusaslicer.  I've found those defaults degrade print quality on my E3.  I typically preheat the nozzle so the temp is stable, and then the default code drops the temp and then raises it, guaranteeing that the temp will be unstable.  The rest of the surrounding code causes other issues.

Since the bed usually takes longer to heat than the nozzle, the nozzle is in a pre-warmup stage so that it doesn't ooze filament waiting for the bed while homing and/or finding the Z limit.
Once the bed is warmed up and the Z limit is reached the nozzle heats up to the final temperature and the print starts.
If you go to the Printer Settings tab of Prusaslicer and click on Custom G-Code, you'll see the initial temp in the Start G-Code section. Mine even says:
M104 S150 ; set temporary nozzle temp to prevent oozing during homing

A temperature of 150 °C is low enough that the filament doesn't melt but close enough to the final temperature so that you're not waiting for a full heat cycle.

Good answer, and most probably the answer, but I still hope the OP adds the first lines of G-code, then we will know for sure!

FWIW I think it's worth fixing this to just heat directly. At least on my machine, with temperatures I use, bed heating and hotend heating take comparable time, and the nozzle will not significantly ooze at print temperature if your end gcode properly retracts the filament all the way out of the melt zone for the start gcode to reverse.

You can't retract the filament at the start of the print, however, since the nozzle is cold. You'd have to make sure your g-code retracts at the end of the previous print, which is no guarantee. The temp setting is a workaround for either case.

R was hinting to retract in the end G-code, the start code needs to reverse it.

Accepted as answer as this sounds reasonable to me.

Yes, what @0scar said: retract the whole melt zone length at the end of the print, and unretract the same amount in the start gcode, after heating but before priming.

I'm going to have to play around with that idea. Have you tried it? Seems like there would still be material in the hotend that would ooze.

@R..GitHubSTOPHELPINGICE that only works if every one of your prints is perfect and you never abort a spaghetti print, have broken filament, or anything else that ends up not executing the retraction code.

@simpleuser: My abort-print gcode also performs the retraction.

@R..GitHubSTOPHELPINGICE What about if a power loss occurs?

@LarryBud: Then you potentially have various things to get in proper order before printing again - for example, possible clogs from heat creep with no cooling on the hotend. But the worst that happens from the missing retract is pooping out a bunch of extra filament on the unretract.

@R..GitHubSTOPHELPINGICE I'm just trying to figure out the benefits of doing it the way you do, when you have to account for additional scenarios.

@LarryBud: That you don't have unpredictable oozing, and don't waste time heating and cooling the nozzle trying to use temperature to control oozing. It's necessary for working pause and resume anyway, and once you have that, it makes sense to do the same for stop/start print. It also lets you leave the nozzle at temp between prints for instant start of the next job.

I almost always have my nozzle and bed preheated either manually or because I just finished a previous print. This cooling to 150 while moving the print head around then waiting to heat up again is getting to be quite tedious with repeated prints! I would put up with oozing in return for getting prints going quicker.


text:
Residue inside of heatsink
I recently had some filament get stuck in the Bowden tube so much so that I had to remove it from the stock Creality heatsink on my Ender 3 v2. As I was taking the tube out of the heatsink I noticed some residue inside:

Do I have to replace my heatsink or can it be cleaned out? What is this residue? Will this cause problems in the future?

I'm not sure what this gunk is, but it seems to be standard in Creality hotends and is presumably something they used to hold the threads or improve thermal properties or something. In any case it does not seem important. You do not need to replace your heat sink.
If the gunk is making it hard to re-insert the bowden tube and threaded coupler, or if it looks like you're going to push it down where it would get in the interface between the tube and the nozzle and cause a clog (this seems likely from your pic), you can clean it out with a Q-tip and some IPA. Otherwise, in my experience it's fine to ignore it.

That looks burned and rough.  It is likely to prevent the bowden tube from properly seating, and if that falls into the nozzle, it could clog it.
That may be plastic that leaked between the hot end and the bowden tube and degraded under heat over time.  When my printer was new, I took apart the hot end and didn't find any residue like this, but when I changed my nozzle recently, I did.  I think this is buildup over time of either degraded plastic or residue that was on the plastic.
I would recommend removing the nozzle and using a q-tip or a skewer to scrape that out and push it out of the hot end.
Also check the end of your bowden tube and make sure it isn't also charred or contaminated with residue.  Clean it and make sure that the end is flat so that it can seat fully into the hot end with no gaps.  If the tip looks damaged, you can insert it into a loose coupler and use a sharp blade to cut the tip even with the end of the coupler.


text:
Targetting low thermal conducitivity with PLA
I'm working on a (currently only conceptual) design for a Peltier-cooled sample holder, and the cold side will need some insulation.  It's likely to be a rather complex shape, so 3D printing it looks like a good plan.  I can get parts made on a Ultimaker (not sure which model at the moment), normally in PLA.
I can look up the bulk thermal conductivity of PLA (it seems to be the best of the typical filaments already.  I can find high-TC filaments.  What I can't find is how to design an insulating part.  In particular, while a reduced fill will reduce the TC, and the actual percentage might allow a decent approximation to the thermal conductivity in an isotropic structure, it's highly unlikely I'll have an isotropic structure.  This means I don't know how well I can approximate the final TC as a percentage of the bulk  The fill patterns I've seen (as a part designer, not a printer operator) would likely end up like cells running in the direction I want to avoid heat flow (perpendicular to the Peltier's heat-spreader plates).  Knowing the TC, I could calculate the heat flow -
I have some  background in thermal physics.
Is there any kind of established best practice for designing thermally insulating parts? Any way to approximate the thermal conductivity?

Be sure to include in your research the foamy PLA that one can use for models. The increase in volume is determined by the nozzle temperature and results in varying densities of extruded plastic. If you don't require extreme mechanical strength, it may provide the best insulation. https://www.matterhackers.com/store/l/colorfabb-lw-pla-filament-075kg/sk/MSC8ZXG5

@fred_dot_u that's certainly interesting, though I'd have to consider whether we can get sufficient attachment points with it. The main mechanical mounting would probably have to come from the copper sample mount anyway, for reasons of temperature stability, so this part wouldn't have to be very strong.

If you have a dual extruder printer add heatsink fins out of TPU. Just an idea.

@AzulShiva I'm trying to block heat (and hot air) flow from the hot side of the peltier stack to the cold side. The cold side has to be on top. Under the hot side the plan is to have a large metal heatsink, or maybe water cooling

Coincidently, I am considering the same issue; I'm trying to design a 3D-printed Peltier refrigerator to maintain the "cold-chain" for drug distribution in low-resource settings.
I don't have the answers, but I did just come across this useful poster presentation on the same topic: Influence of 3D infill pattern on thermal transport, by Yu Han

It may provide some help.

Hi and welcome to SE.3DP. I have added a reduced quality (but still readable) JPEG of the useful PDF to your answer, as otherwise your answer would have been just a link-only answer, which fall foul of SE rules, and so it would have been deleted. This is because of link rot. Please take note of that fact in future answers. Also, please don't forget to take the [tour]. If you can update your answer with some concrete solution(s) to the OP's issue at a later time, please [edit] and do so. Thanks.


text:
Controlling MOSFET with 12 V from board to heat bed with 24 V PSU
I'm thinking about trying to use a 12 V power supply for the board and 24 V for the hotend and heatbed triggered by some MOSFETs modules like this Power Expansion Board Heating Controller MOSFET High Current Load Module 25A 12V or 24V for 3D Printer Parts.
Has something like this worked for anyone? I'm wondering if for triggering 24 V voltage the module needs also 24 V input or 12 V will do.
Maybe I'll start from RAMPS just to kick off, in the long run I thought about Monster8 (I wanted to check out 3-4 motors autolevelling someday) on 12 V but I have also a spare 24 V PSU but just 300W, so I wanted to try a double PSU build and 24 V only for 310x310 240-260W heated bed.
Note: I intend using a heated bed designed for 24 V.

RAMPS is a good board to start off with as it has a proven track record, and many modifications are possible.

Many N-channel MOSFETs will fry or die early if you feed 24v to the gate; VGS(max) is often 20v.

You can certainly use a 24 V PSU for the heatbed, controlled from a 12 V board (i.e. RAMPS) - assuming that the heatbed is either designed for 24 V or is of a type that accepts dual supply voltage (be sure to use the correct input).
You have three choices:

Modify the RAMPS board, using the built in MOSFET
Use an external relay
Use an external MOSFET (as you suggest)

Modifying the RAMPS
Assuming that you are actually using a RAMPS board:
From RepRapWiki - RAMPS 24V:

Modifying for 24v heated bed
You have to replace the 11 amp polyfuse, MF-R1100, with something else. This device is only rated for 16v. It will burn out and catch fire on 24volts. Most simply replace the polyfuse with a thick wire. Then wire in a 24v fuse with a inline fuse holder on the heated bed cables. Wire up 24 volt supply to the top two 11amp power sockets and its completed.
You can also use an external MOSFET with a separate 24v supply without any changes.

Thus, you can use 24 V, for just the heatbed, on a standard RAMPS board directly. However to do so, you need to modify the board and replace the fuse, as the standard fuse is only rated for 16 V and the current rating would be too high for a 24 V supply.
Just swap out the 11 amp polyfuse, MF-R1100, and replace it with a more suitably rated fuse. Alternatively, just replace the MF-R1100 with a thick wire and use an additional inline fuse holder with a 12/24 V fuse, and reduce the current rating of the fuse by half, i.e. 5 A.
As a 24 V heatbed will actually use less current than a 12 V heatbed, this is perfectly safe. In addition, the heatbed circuit on the RAMPS is isolated from the rest of the RAMPS control circuit, so there is no need to worry about using the two different voltages on the same board.
SSR
However, instead of a MOSFET, you might be better off using a relay, such as a FOTEK SSR-100 DD (which is a solid state relay module). Using a relay will isolate the two circuits. Nevertheless, you need to be aware that some (a lot?) of these Fostek SSRs are relabelled - that is to say that a 5 A SSR has the label replaced with one that says 10 A of 15 A, and the unscrupulous reseller bumps up the price accordingly. So, maybe choose a different brand of relay.
MOSFET
Assuming that you do not have a RAMPS board:
Wire up an external PCB with an appropriate MOSFET. For instance, you could just use the same MOSFET as the RAMPS board uses, which is one of these three (from RepRapWiki - RAMPS 1.4 - BOM):

STP55NF06L (MOSFET N-CH 60V 55A 18mΩ TO-220 @11A=+135*C )

IRLB8743PBF (MOSFET N-CH 30V 78A 3.2mΩ TO-220 @11A=+24*C)

IRLB3034PBF (MOSFET N-CH 40V 195A 1.7mΩ TO-220 @11A=+13*C)

From Re: best ramps 1.4 headbed mosfet upgrade:

IRLB8743pbf and IRLB3034pbf are good choices. IRF3205 and P55NF06 are bad choices, because they don't have guaranteed performance at 4.5V gate drive.

See also RAMPS 1.4 and external mosfets.

How about a module built on https://www.npntransistors.com/ha210n06-mosfet with opto-isolator?

Maybe, as the gate source voltage is quoted to be 2-4 V. However, personally, I would just stick with those recommended above, as they are known to work.

Fuses don't care about voltage, they care about current; anything that won't arc over a fuse at 16v won't arc over at 24 either. If a bed is expecting 12v, it will actually pull a LOT more current at 24v (ohms law, the bed is an R). A bed that pulled 10W at 10V would pull 40W at 20v! The actual average current should be lower, but that will come from 0v blanks and 24v high-current PWM pulses, which could be worse on connectors and fuses than the RMS avg suggests.

@dandavis - Whilst for a common or garden fuse, the voltage rating isn't important as the current rating, for a PTC, i.e. polyfuse, it is... please see this answer to Specifications to consider when selecting a polyfuse. When exceeding the voltage rating by 10 % , the PTC might be forgiving, however, exceeding it by 50 %, then probably not so forgiving.


text:
Inserting steel dowel pin into hole with interference fit
I'm building a product which requires a dowel pin inserted into a plastic piece. I'm planning to 3D print the plastic piece with nylon (must be nylon for biocompatibility), but the tolerances won't be sufficient to ensure a consistent press-fit for the pin. To get around this, I plan to undersize the hole, and then ream it out with a reamer on the drill press. There will be 1000 pieces on this run. Any flaws you can see with this design?

Give us more details. What are you building? What is it for? Dowel pin out of wood or metal?

It is not possible to insert a steel dowel into a hole of a plastic workpiece with a press fit: at least not for long. Tremendous force is exerted on the plastic by the steel, and the plastic will soon begin to deform in a process called cold flow or creep.

Thanks for posting your own answer. I've done this multiple times, I guess is depends on the application. The HyperCube Evolution CoreXY printer uses such pins to mount the nozzle assembly to the XY carriage (I've used Nylon for that), and the SMuFF multi color extruder uses the same principle to connect all the extruder bodies. Never seen any problems with this.

Maybe you have a magic plastic. Or maybe the interference fit exerts little force, or maybe not enough time has passed for effects of creep to appear. I don't know. The fact of the matter is that plastic deforms over time under constant load.

The question doesn't explain that the pin is loaded or how for that matter. Maybe you should add that in the question.

Whether creep happens, and the extent to which it happens, varies by material. Nylon is particularly bad for creep. So is PLA. ASA and PET (and possibly PC?) however seem to have minimal or no creep.


text:
Adding a TMC2209 driver to BIGTREETECH SKR mini E3 V3.0 control board using Marlin
I haven't started on the hardware for this project yet as I'm still waiting for delivery, but I would just like to sense-check my current software mods and hardware plans to see if I'm along the right lines. I am going to take the BIGTREETECH SKR mini E3 V3.0 board and add a 5th stepper driver to get independent control of the Z axes on my printer. Having studied the pins on the board and the schematics of the various ICs, my plan is to connect the TMC2209 to some spare pins on the board.
Using the BIGTREETECH PCB version of the driver:

I plan to attach the enable pin to PD0 on the SKR, MS1, and MS2 to ground, UART Tx/Rx to the first PDN as detailed in the manual, VM to the power supply, GND to the power supply, A2/A1/B1/B2 to the motor, VDD to a 3.3V pin from the SPI 1 block of pins on the SKR, and GND to ground.
I think this makes sense as the driver runs in UART mode - it is set to 0x0 by tying MS1 and MS2 to ground - and my present understanding is that in UART mode the CLK, STP, and DIR pins are not needed. I am not 100% on that point so I could be wrong there. If I do need to add it then STP and DIR are easy, CLK would be a bit more challenging but I believe UART does not require a clock signal.
As far as software changes are concerned, the main additions are in pins.h of Marlin 2.1.x where I have added:
#define Z2_ENABLE_PIN                       PD0
#define Z2_STEP_PIN                         PD2 // not needed in uart mode?
#define Z2_DIR_PIN                          PD3 // not needed in uart mode?

And then to hijack some hardware serial pins:
#define X_HARDWARE_SERIAL  MSerial4 // original code
#define Y_HARDWARE_SERIAL  MSerial4 // original code
#define Z_HARDWARE_SERIAL  MSerial4 // original code
#define Z2_HARDWARE_SERIAL MSerial1 // my addition
#define E0_HARDWARE_SERIAL MSerial4 // original code

Here is where I have the most doubt, I'm assuming that MSerial1 corresponds to the Rx1 and Tx1 pins in the EXP1 block on the board.
In summary, my main questions are: do I need the CLK, STP, and DIR pins (maybe just STP and DIR?), and does using MSerial1 correspond to the Rx1 and Tx1 pins?

I have the same idea on the same board, but I think to stay with the DIR/STEP mode first.
The CLK is useless for the DIR/STEP mode, then I suppose that it is useful for UART mode.
But this datasheet is very strange, often there is Rx and Tx UART close to STEP pin

When I read the Bigtreetech documentation from your link, only one wire is used for the UART (Rx/Tx). This is strange, or it is to be compatible with other driver and the CLK is useless.
I never used the TMC2209 with the uart, only in STEP/DIR mode and directly drove with a Raspberry Pico.

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.