text:
How to fix WoW models in photon workshop
I am using an AnyCubic Photon Resin Printer. I have used the (WoW model viewer to export a miniture that I am hoping to 3D print.
However, when I look at the model in photon workshop, certain parts appear in a different colour, and those parts are printing incorrectly on the final version. For example, if you look at the model below the headpiece feathers printed as a solid block all the way to the base of the model.

Looking at the slicing file, this is what photon workshop exported. I believe the issue may be that, because these are models deisigned for games and not 3d printing, they have only one surface and what I am looking at in Blue is what the photon workshop considers to be the inside of the model. Would ye be able to recommend any steps that I could do to adjust the models to allow them be 3D printed?
https://mega.nz/file/p6I00JZK#qhQplzOTh6w7yZxbGw2vtRRKc-iVDp_QHOvaWfPtULs
The above link is the object as exported from WoW Model viewer.

Can you link a model or part of it so I can test it a little in different program?

Hi Trish,
I've a mega.nz link included on the ticket, but if that doesn't work for you let me know. Many thanks for taking the time to look at my question, I appreciate it.

Likely some of the surfaces are inside-out and the game doesn't care but the slicer does.

First of all, Fred's answer is very well but some more items to note, and a different way to fix them using blender.
After opening blender, deleting the box with entf and importing the Wavefront .obj, I changed to edit mode and started inspecting the colored areas for artifacts and what they were.
Layered surface only areas
The top feathers are made up from 3 layers of surfaces:

This could be easily fixed by removing the middle layer, then connecting the front and back with new faces. In investigating this I also noted, that many of the faces actually are unconnected, so we fix that first, running a Merge intersecting vertices: rightclick -> Merge Vertices -> By Distance. Then, all the lines are blue - this means, that the lines are determined as "sharp edges" so we change to edge select, A, then rightclick -> clear sharp. Much better. Now, select the vertices in between the front and back, and delete them via entf.
After that work-over, the area looks like this:

So, next is re-skinning those edges. Select the remaining edges on the outside in pairs, then F to create a face between them, rinse, and repeat. But that does not yet solve the facing issue, because the faces are an odd gradient, not pure color, and as is evident, all the normals (activate them via a menu):

All normals are messed up! so we need to recalculate them. Recalculating them is A till everything is selected, then Ctrl+Shift+N, and voila, that area is reworked to a good part:

Now, we are going to export the file as .stl: even though Cura can take .obj, it has trouble to analyze those for facing properly at times. So let's look if we fixed that area alright... and in Cura now looks like this (OBJ left, STL right):

However, as I will show later, this is the work-intensive way, so don't really bother with those areas, we'll fix them all at once later.
Single surface only areas
Next, the shoulder details. Those are also one surface only, so we need to give them some heft. I am talking these (grey) ones:

I hid the bulk of the model (the selected, orange parts) first using H so it is more visible. Then I selected the upper 'wing', then pressed E for extrude. Type in .01 to define that thickness as how much it should extrude it out. Repeat for the other part. ALT+H to unhide the parts we had hidden before and Voila:

However, the newly thickened parts did not intersect the body properly yet, so we need to fix that a little, as seen here:

So, select the area we need to fix and E for Extrude. Slowly pull till the two parts intersect neatly:

floating details
Next step: the floating gem in front of the head!

Here fixing gets tricky. We might either just delete the crystal and print it separately and fix it with a little piece of wire later, or we need to create a strut. So, let's do the latter! We select the edges on the backside of the crystal like so...

rightclick -> Subdivide and then in the lower left corner set it to 2:

Select the center and Extrude

Keep the area selected and G for moving it down into the head, till we are happy with the look:

superfluous surfaces
Then there are some areas that contain "extra" surfaces, those can be deleted, such as this rectangular one and this feather inside the arm:

Fixng most surface only areas
Another problematic area is the facemask, which is only a single layer, but wrapped around the face it is a little more tricky to extrude:

This area can be fixed by running a solidify operation, which also makes fixing the feathers individually obsolete! So, how to run solidify?

On the right bar, click the wrench, in the dropdown choose solidify, set the thickness to 0.01 and... voila! Mostly fixed... well, we need to fix a few normals, as you'll see here:

so, let's select everything with A, then recalculate normals with CTRL+SHIFT+N, make sure that inside is not checked in the lower right corner, so the modeled surface is on the outside shell... and we are DONE! Export as STL or OBJ and go to test it!

Check in Cura
Now, to check if we still have reversed surfaces, I imported into Acura and... all the red areas (overhangs) are where they belong: on the underside! So... yep, we are done. Make sure to have the unify intersecting shells option on. You also might want to add some more struts for floating shoulder armor and such... It's a labor intensive work, but in the end you'll have a printable object.

I've upvoted this answer, for the level of completeness it represents. I'd love to have half the understanding of Blender that Trish provides in these answers.

Many thanks for your answer Trish. I've made some progress fixing the model, though still having some issues. Blender seems to be the way to go though, so I am going to learn how that works before proceeding with more fixes. Thanks for your help!

@Devasta Blender is a very powerful software, but it's UI is not the most intuitive. It has gotten VERY much better since I started dabbling with it some 5 years ago.

Too right about that. I'm going looking at nightcourses and/or Udemy. Have some holidays to take... :)

@Devasta Youtube and various learning platforms have tutorials, some streamers even do Q&A on blender.

I believe you've identified the primary problem with this model. The single surface features are going to interfere with printing this object.

The image above is the result of loading the model into Autodesk Netfabb. The red segments are reversed normals, but also single surface components. There are others, visible when rotating the model.
One portion is uncertain, above the flap on the back. It could be a component of the flap or a reversed normal of the body's back.
To resolve this problem, it would be necessary to add thickness to those features.
I loaded the model into Meshmixer and identified one feature, the rear flap. It's loaded with reversed normals when viewed from the "outside" or rear of the model.
Using the select tool, it was easy enough to highlight those triangles and proceed to Edit, flip normals. That was followed by Edit, Extrude, to a thickness of -0.02 mm which presented this result:

There are a few "floating" features in the model. One which pops out is over the protective garb over the shoulder. Those would have to be anchored by adding features or moving that specific feature to properly intersect the body.
There are a few others, zero thickness portions that resemble solar panels. I suspect they are artifacts rather than intentional model features. Those can be removed in Meshmixer using a similar method, Select, Edit, Delete
The hanging hook is a collection of intersecting faces and present a challenge. It's not my model, but I'd be inclined to completely remove that feature, or remove most of it and add a simple cylinder to attach it to the model.
There are programs other than Meshmixer which will allow one to perform such manual repairs/modifications, but my skill set does not include presenting the answer for those packages.

Good answer, I'll provide one how to do it in Blender later the evening


text:
Can PLA carry sound coming from a loud speaker?
My goal is to have a speaker inside a PLA casing to produce a nice hearable sound from a submersible item.
I intended to produce that sound from a Piezo buzzer stuck on a membrane held tight in hollow place between two pieces, but the result is unsatisfactory as the sound gets muffled to inaudible levels.
Is there any known 3D printable methods to permit for a sound to be heard from PLA?

Welcome to 3DPrinting.SE!

Thank you! I love Stack Exchange it's really helped me over the course of the years.

This will be a problem, but it's not the material. I've seen recorders, trumpets, and even trombones made from pla. The problem is the shape.

In space, no one can hear you scream. That's because there's no air to be vibrated, which is part of the definition of sound.
In the case of your model, the described diaphragm will generate sound because it is surrounded by air. The vibrations in the air will transfer (and reflect) from the PLA shell you've created.
In order to hear as much sound as possible, you have to have as thin a shell as possible and only one of them. It would be more effective if you could incorporate the membrane into the shell, which eliminates the sound damping effect of the plastic sphere.
Barring that option, one layer (vase mode, but probably not) would present the created sound with a much less massive amount of plastic to vibrate.
Additionally, PLA is not known for being water tight. One can apply epoxy or other sealants to make it so, but that will add mass to the overall equation.

And in space if you try to scream you're out of air very quickly ^^" Thanks that's pretty much what I thought. What about using the shell as the vibrating membrane?

Yes, if you can thin the shell sufficiently, attaching the transducer directly will give you quite a good start. Additionally, consider that you don't have to thin the entire shell, only the portion at which the buzzer attaches. Realistically, you can then reduce most of the assembly.

You are asking about acoustics (see Sound, Acoustics). The main parameters you are dealing with can be seen in the simple harmonic model: flexibility (spring) and mass. Thinner walls give you more spring and less mass. Different filament materials will also change these parameters. One thing to consider is PLA becomes more brittle as it absorbs moisture.  Someone who designs acoustical musical instruments could probably help you.
However, note that the ideal acoustics is different for a person speaking versus music, such as orchestra or band. Thus, application is essential. For example, if you are building earphones, you want to dampen external sound.

Very useful link I'm reading through and will see what can be done. Actually this is for an electronic instrument that has a fast decay and I am starting to think that a piezo buzzer may or may not be the best choice.

The acoustics of you sound box will greatly affect the sound of your instrument.

I did a lot of experimentation in this a couple years ago.  The limitation on the sound is the amount of energy you can apply to the plastic, and the ability of the plastic to respond (move to) that energy.  I ended up using epoxy to fasten a transducer directly to the plastic wall, and while the sound quality was not great (I could not have used it for speech or music) it was adequate to make the alarm sound, 50% PWM @ 3.3V and I controlled the frequency using the Arduino 'tone' library to control the frequency. I printed that side solid (no infill) and a bit thinner than the other sides (2mm instead of 4mm), printed it separately and then used epoxy to glue in (and its attached transducer) to the cube I was using for the rest of the circuitry.

Hi Joseph! Thanks that does make quite a lot of sense. And I guess the separate print and glue helped separate the amplifying surface from its sound box, like a diaphragm.

No.  The extra print and gluing the piece to the box compensated for the inability to say to the 3D slicing software, "Use 100% infill on this wall, and this wall only".  It would not have changed the sound quality at all had I been able to do selective infill instead.  I just needed a thin, flexible surface.  The honeycomb infill made a more rigid surface which transmitted the sound less efficiently.

I see! This makes a lot of sense. Thank you! Will check if it's possible to play on different infilling. Where was the honeycomb filling I'm not sure I follow you on that one though?

source: Stack Exchange

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

sort: votes


text:
Issue with rim of first 5-8 layers of my Prints
I have this issue with my 3D prints on my Ender 3 printer bed. The first 5-8 layers are wider than the rest (exaggerated illustration shown in the 3D rendering below), I think this is because the 3D nozzle is so close to the bed during the first few layers of the print, thus creating a rim/bulge out at the bottom. However, I can't lower the bed any further, else the model will not stick to the bed like it is supposed to.
How do I fix this issue and still allow the nozzle to stay close enough to the bed to make the model stick properly?

Additional information:

I am using a glass bed
printing with PLA,

that I print at around 185-200 °C
and for the bed, I heat it at about 50C °C.

I Tried:

I have tried lowering the bed. Outcome: the print doesn't stick to the bed as it should and just falls off.
Lowering the heat of the bed. Outcome: The same thing.
Increasing the initial layer height. Outcome: The same plus the additional layers on top all go out of wack.

This is sometimes called "elephant foot", and the corrections vary. What kind of printer, what filament, what print temp, and what bed temp are you using?

This defect is called "Elephant foot", it is caused by temperature imbalance, insufficient cooling or a nozzle too close to the bed, a more descriptive answer is found here.

OK. I have tried all of the things suggested in the other Stack Exchange post, and none seem to be working. see edited question above. @0scar

Elephant foot, classic. What temperatures you tried? "lowering" can be a lot...

You should increase the nozzle to glass distance and use an adhesion layer like glue stick or dedicated 3D printing spray. Then you will be able to increase the distance while maintaining adhesion.

What pre-print nozzle priming are you using? A priming line in the slicer's start gcode? Skirt? Without good priming, first few cm of extrusion won't stick and will get dragged around, ruining the rest of your first layer.

Note: I'm talking about the adhesion problem after you fix your bed height, which is the cause of your elephant's foot.

The bed and filament temperatures you are using are the usual ones for PLA, so it probably is not the case that the filament is flowing too much and oozing out of place (*).
So most likely the problem is with the slicer. Things to look for:

Most slicers print the first layer in a slightly different way than all other layers (to improve adherence to the bed) and some parameters may be off:

Easiest check: repeat the print with a different slicer; if it goes better it was a slicer setting that needs finetuning.
More involved check:

For Cura make sure "initial layer height", "initial layer line width", "initial layer horizontal expansion" and "initial layer flow" have the default values.
For Prusa Slicer reset "first layer height", "first layer extrusion width" and "elephant foot compensation" to their default values.

Additionally, most slicers will disable the fan for the first few layers. Change the setting so that the fan is only disabled for the first layer.

(*) That is of course unless you got a bad batch of filament. Less probable than the slicer settings being off, but check with a completely different PLA filament to verify.

Ok. I don’t think i have bad filament, i bought mine from hatchbox...

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


text:
Short-circuited heatbed
After some months of good quality prints, since yesterday my heatbed does not heat anymore.
I've a BQ Prusa i3 Hephestos with this heatbed, controlled by this mechanical relay and powered by this power source. I know that a mechanical relay is not the best choice for a 3D printer, but I only had one of those when I've built the bed and setting bang bang control for the plate gave me some satisfactory prints.
Since if I connect directly the heatbed to the power source, the latter stops working (I think because of its shortage protection), I'm almost sure that in some way I've managed to fry my heatbed.
Before buying a new one, though, I'd like to understand how I've broken the current heatbed without doing anything but printing, to avoid similar situations in the future.
I'm afraid I've forgotten some component whose functionality is to protect the heatbed (maybe a diode or something similar, I'm sorry but I have never studied electronics).
I've attached a very simple wiring diagram showing the current configuration.

If you fried the bed, the resistance would be infinite (no continuity), else it would read 1 to 3 Ohms depending on the option (24 V/12 V).

@0scar a short is either NC or 0

@Trish Technically, the resistivity of air is 1.310^16 to 3.3 10^16 Ohm, of circuit board 10^17 Ohm, so that counts for nearly infinite to me. :-) Hence the "no continuity" in brackets.

but there's also the short of no resistance ;)

I see four points of error:

The heatbed could be faulty.
The lines could be faulty.
The trigger signal could be faulty.
The power supply could be faulty.

So, how to check what it might be? We need to measure, but we need to measure in a setup of 12/24 V circuits while they are live. While not necessarily considered "dangerous", take extra precautions! Remove the parts you will need to access from the machine, ground the power supply, and use your utmost care! Make sure the heatbed is not connected to the Power supply, so we can measure it in the safest way.
Ruling out the Heatbed
The first step can be done without power: the resistance of the heatbed should be non-0, non-open line. It's best to measure directly at the input pins to the bed. If it shows close to 0 (some milli-Ohms), open line (OL), or no continuity (NC), it has a short or is burned out and needs to be replaced.
Ruling out the Power Supply
Once we have reached a safe setup, take a voltmeter and measure the voltage (potential difference) on the pins you reserve for the heatbed. If it is 12 V with some tolerance, it's good, otherwise you might need to get a new power supply or have a professional fix yours.
Ruling out the trigger signal
Next, move your measuring to the output of the board. Now order your board to heat up the bed. Make no illusions, we will trigger TRP, as the bed is disconnected. This will need us to reset the board between tests. You should see a 5 V trigger signal. If not, your board or firmware might be faulty and require different investigations.
Ruing out the lines and switch
Next step is to swap to Resistance mode on the multimeter and measure the resistance of the switch, best with the whole power line. Under "heating", the setup should show a close to 0 Ohm resistance, if not it should show an infinite or open line.
What now?!
If it is neither of the 4, reassemble on the test stand, reconnect the bed to the power supply and investigate all connections between the elements we just checked. Now order a heating procedure - as all components should be ok, it has to be one of the interfaces between the parts.

Thanks a lor for the very precise answer. During the week a friend of mine will lend me a better multimeter than I have in order to make all the necessary mesures. Thanks again and I'll let you know what I understand from the measurements.

Thanks a lot! It turned out to be a broken cable. After I saw all the measurements were good, I've noticed with the continuity tool that wether it sounded or not depended on how I kept the cable in my hands. I've changed the cable and now it seems to work. Thanks again

Assuming you are using the correct voltage hot bed, what you have set up should be just fine.
On the other hand, if it’s a 12 volt bed with a 24 volt power supply, you could have easily burned it out.
If the voltages were matched properly, you may have just gotten unlucky.

Tomorrow morning I'll double check, but the power supply has 12V in output (from specs and the sticker attached to it) and I've soldiered together pins 2 and 3 as printed on the heatbed. Moreover if the voltage were wrong, shouldn't it have been fried some months ago? I've used it without any problem for nearly an year. Thanks a lot for the quick reply


text:
Top-Down SLA Printer Bulging Issue
I have designed and built a top-down SLA 3D printer that uses a 405 nm 500 mW laser along with some galvanometers. I filled the vat with glycerin and then topped it off with about 2.5 cm of resin. I designed a wiper system for creating an even layer of resin quickly even on layers with large surface area. In my tests I have been dunking the build plate into the resin and then raising it to wipe the excess off to get a quick even layer (I raise it slightly above the level of the resin to be safe).
The problem I am having is that after the wiper wipes and the laser cures the layer, after a couple of layers the wiper will begin physically hitting the top of the part. The part continues to get higher and higher than the wiper level, which doesn't make sense because the wiper wipes all the excess off, and I am printing above the level of the resin so no extra resin is flowing onto the layer from the sides. This eventually stalls the wiper motor and the print fails.
I have a theory that the resin's surface tension might be pulling the layer of resin to the edges of the layer, causing the layer of resin to "bulge" up a little which would explain why the layer is curing higher than the wiper level. If this is the case does anyone know of any remedies to this? Do I have to heat the resin to lower its surface tension maybe?
Have any of you guys ever had this issue? Does anyone have any other theories? I am really stumped here and can't wait to start printing some cool models but I cannot continue experimentation until this is solved.
Thanks so much in advance for any help!
(I should mention I am using Anycubic Plant-Based Eco UV Resin in translucent green)

Welcome, and before theorizing about resin properties, it's better to rule out mechanical or programmatic error. can you post a setup or photo? Is the wiper a hard or a soft part, like a rubber lip (which can give the machine a safety margin in movement)? Did you check your move commands and firmware, as in, might your Z-motor be ordered to move into the wrong direction or have its movement inverted?

Here is an image of the printer: https://drive.google.com/file/d/11b63leqxwlFiEx8XvBRE04Hknt8rmKo1/view?usp=sharing

The wiper is a hard wiper. The build plate goes down 4 mm, then up 3.92 mm in order to create a 60 micron layer height. I have watched the printer do this for many layers without the laser on and I can verify that this works mechanically and programmatically.

Was this ever solved? I am doing something very similar and getting a rounded top, plus eventually "blade strike".

Let's look at the problem mathematically:

The bed has a 0 that puts the surface some distance $d_0$ above the surface of the resin, the wiper does put the first layer on that height.
after curing, the printer moves down distance $d_d$ to coat the top surface.
afterwards, the bed lowers back up to $d_0+d_l$ - a thickness of 1 layer lower, or in other terms, it moves $-(d_d-d_l)$

Now, how is it implemented in your G-code? check that!

This is precisely the algorithm I used. To be specific, the build plate goes down 4 mm, then up 3.92 mm in order to create a 60 micron layer height. I have watched the printer do this for a bunch of layers without the laser on and I can verify that it does this properly, mechanically and programmatically.

then, we need a video of dry operation

Wouldn't down 4, then up 3.92 leave an 80 micron layer instead of 60?

@PorterMorgan right, is there a calculation error?


text:
Custom Infill Pattern Based on Self-Generated Geometry
I am trying to look for my options for generating a custom infill pattern which complies to a geometry that I want to repeat. I can get the geometrical coordinates too in order to make the final shape. Has anyone done so previously?

Have you done a web search such as "characteristics of 3D-print infill patterns" to see the results of existing patterns in slice programs?

Is there a way to use my geometry as an infill pattern for say a cube.?

From my experience, this is hard, particularly because slicers are not made to handle it well. They generally do their infill generation efficiently in terms of 2D geometry, built as a function of the layer height and the outline(s) in the layer. Of course you can actually make the infill pattern part of your model geometry, or use a separate model intersected with the interior of your model as the infill, but having the infill structure be 3D geometry means that the slicer will be quantizing it to layers, and will have a hard time generating exactly-one-line-thickness extrusions that print will for the infill cross sections.
If you do want to do this anyway, OpenSCAD provides the tools to do the necessary intersection of your generated geometry pattern with the model interior.

I'll have a look at this. I want to use my geometry as an infill pattern for another solid.


text:
Ender 3 V2 USB connection powers screen, but isn't detected by PC or Pi
I am trying to add an Octopi to my Ender 3 V2 but the Pi cannot detect the printer at all. So I try to connect to Windows and same result. The display turns on and is functional, but when checking device manager there is nothing to be found. I am using the 2.0.7 Marlin firmware on the machine and have tried about 6 different USB cables/other ports.

Did you install the CH340/1 device drivers on Windows? Note that not all ports may work, my previous computer only allowed connection over the usb ports at the back.

I just tried all the ports on the back one by one with device manager open and there was no change. I have the CH340 drivers installed, but not the FTDI drivers since device manager doesn't pick it up in the first place.

What board is it exactly? Uploading the firmware worked fine?

Is the printer switched on?

I have the 4.2.2 board, no issues with changing firmwares. I've tried with the power supply on and off, neither make a difference.

Additionally, running dmesg on the Pi doesn't show anything nor does lsusb

Are you sure that when you say "powers screen" you are doing this right? The PI will supply power through a typical USB cable. When the Ender 3 is turned off, the power from the PI will power up the printer's control board even if the printer is turned off. If it is turned off, all bets are off as to what will and won't work. Certainly it won't print, but even the main board may be underpowered if only being supplied by the PI.

After trying about 10 USB cables I finally found one that would work with the Ender and Pi. Specifically, it was my Logitech MX Ergo USB cable.


text:
Beginner FreeCAD question on axes when sketching
I am a raw beginner at FreeCAD and 3D draughting. Watched some tutorials and designed 2-3 simple items. Aiming to use it for 3D printing.
My question relates to 2D sketching. As I understand the workflow, one draws 2D items that one can then extrude, cut etc. So one picks the drawing axes (eg X and Y), and the sketch is then at Z axis zero. After extruding, one can place another sketch on a face for further extruding etc.
But the sketch is always at relative Z/3rd axis zero.
Consider a fairly large block extruded 10 mm thick. Say I want (example only, never mind  why) to cut a 20 mm disk from the interior, 3 mm deep, 5 mm from the bottom surface therefore 2 mm from the top.
If I place a sketch on the top surface, make a 20 mm circle and use that to cut a hole, the cut will always start at the top surface - but I want it to start 2 mm down. I.e. it seems to me I need to be able to offset the sketch from local Z/3rd axis zero, in this case to -2 mm.
Can one do that, or have I missed the point somewhere?

so you want to set an offset of -2... Do you use StekchUp or FreeCAD?

FreeCAD, but maybe the answer below is what I need, thanks.

This answer assumes you're working in the Part Design workbench.
So you want to adjust the starting height of a pad or pocket. There are two ways I can think of to do this easily.

Adjust the Z attachment value of the sketch to lower the sketch below the surface.
Use the "two dimensions" option in the pad/pocket operation and set the second value negative.

By the way, it is highly suggested not to attach a sketch to a surface. The current development version (0.19) and previous versions have an issue ("topographical naming") where editing a previous feature can change the internal name of a face causing the attachment to break. There is a solution under development but it doesn't loom like it will get in earlier than 0.20. You should instead simply adjust the Z attachment value to match the face you want.
Also, there is a very active (and very helpful) forum here. I'd suggest asking further FreeCAD questions there.

Thanks, really helpful. Very much a beginner, didn't realise one can jus create a new sketch without attaching it to s face. I have noticed strange happenings when I've gone back to make changes, so maybe I have seen this issue. I'll try the forum.

This actually answers some questions I was having too. Especially that topographical naming issue. Now I can fix my broken models without having to start over.


text:
Why does my Anycubic Predator print backwards?
My Anycubic Predator prints really well except for everything being backwards. Text and anything that is right or left handed comes out mirrored. The same files print correctly on other printers.
Is this a software issue or hardware?

@Mick, you should undelete your answer. It applies just fine to delta. Swapping any two motors will give the effect OP is seeing.

Thanks! I opened it up and and swapped the X and Y motor and limit harnesses and BOOM it works like it should.

@JohnCarro I have added an answer describing why you should swap steppers in relation to the used coordinate system.

The right-hand coordinate system is the most used system on printers. So, when facing the front of the printer, the most common arrangement using a  is:

X+ will move the print head to the right
Y+ will move the print head away from you (towards the back of the printer)

For a Delta printer, when facing the printer, the Z pillar/tower should be at the back, the X tower on the left and the Y tower on the right. Do note that these tower are not corresponding to the axes movement, but are simply named as such so that you can use the designated stepper axes as indicated on your controller board. If you position the printer this way you have access between the X and Y pillars.
If the prints are mirrored in X direction, you need to swap X and Y steppers. X is the left column, Y the right.

A delta does not have X and Y steppers. It has 3 "Z" steppers spaced 120 degrees apart with arbitrary naming (I prefer A, B, and C) and by obvious symmetry swapping any two will give the effect OP described. There is not any one of the three that is "special".

I know, but the nomenclature is frequently XYZ because controller boards use XYZ (silk screen on PCB), not ABC. Not that it has anything to do with these axes. But, under the assumption I sketched placing the machine it is perfectly okay to name it as such and swapping "X" and "Y" will give the coordinate system I described. It is nice to see the product being printed is how you sliced it, not 120° either way. However, you are right, but you need to rotate the machine if you swap steppers randomly.

Ah, I understand - you mean the third axis is special by virtue of the way the printer is intended to be sitting relative to how it faces the user, and that since OP is reporting the print just as mirrored but not rotated from how they expect it to come out, it must be the first two axes that are switched.


text:
G-code for activating material preset in Marlin
Is there a G-code command for calling up the material preset?
I know PLA is set with M145 S0 H190 B40 F255: how do I activate S0, but not from the LCD menu?

The M145 G-code command sets the values for the materials for use by the LCD menu solely to preheat the bed and/or hotend and part fan cooling percentage. There is no code to lookup the values and execute to heat up material 1 (S0).


text:
Clicking noise from the extruder and no filament coming out
When trying to print (using 215 °C for the hotend and 65 °C for the bed) there seems to be a clicking and filament stops extruding.
After much work I have cleaned the nozzle and made sure there are no clogs in the machine. However the filament seems to not extrude. When I get the filament out, there are small cuts/marks on the filament. Please see the attached picture for a better view.
I'm not sure if the marks are causing the issue or if there could be something else going on. Any suggestions on how to fix the extruder to push out filament? Everything was working normally until yesterday after I leveled the print bed.

Which Monoprice do you have, the Select has a whole family of printers (Bowden or direct extruders), also what material are you printing; please [edit]. When you heated up the hotend, you should be able to push filament through by hand when you relieve the force that the extruder exerts on the filament (usually there is a lever). Try to find where the filament gets to and solve it from those observations. Try cutting the filament under a sharp angle when you insert a fresh piece. From the question it is not clear whether the nozzle extrudes filament at all.

I have the maker select v2

There are a number of points missing, but I can offer a few suggestions. The re-leveling of the bed could have resulted in the bed now being in a position to block the nozzle. I have done exactly that in the past. A clean glass bed makes for a perfect clog.
The marks on the filament fit the description of a hobbed gear (extruder drive bolt) chewing into the filament, which would move only slightly from being blocked at the nozzle.
Additionally, filament temperature may be a factor, although it's difficult to determine with the information provided.
For a test, consider to use the controls available to you to raise the nozzle/lower the bed. Bring the nozzle up to your normal filament temperature. Execute an extrusion of sufficient length to ensure that the filament will reach and exit the nozzle.
If this does not provide extrusion, raise the temperature five degrees C and make another attempt. It may be necessary to raise the temperature in steps more than one time.
Use undamaged filament in these tests to ensure that the damage does not factor into the problem.

Thank you for that. I have been printing pla at 215c and the bed temp at 65c. If there is anything else I could provide please let me know.

The results of my suggested test (paragraph 4) would be useful to better determine a more precise answer.

@moulson13 Note that 215 °C is pretty high if this is PLA, or low if this is e.g. PETG. Try to find out if it catches a ridge or something that prevents it to go to the nozzle. Can you find out where it stops? E.g. at the heat break, before the cold end, etc. E.g. does or doesn't it reach the nozzle?

The bed was indeed too high and clogged the nozzle. Thank you.


text:
Problem printing bigger models in the Ender 5
In all the bigger prints I print on my Ender 5 with PETG I have problems with warping and raft detachment during printing. I have a glass bed and I'm using Ultimaker Cura 4.6.1 standard printing settings for PETG (Recently I had some success using 245 °C nozzle temperature and 80 °C build plate).
Any ideas how to reduce those problems?

Large prints with PETG really benefit from a heated chamber, to keep the entire build close to the glass transition temperature until it's all done, then let it all cool at once.

They also benefit from a bed that has an even heat distribution.

If you can get your bed level so you do not need to use raft, you can then apply glue stick to the glass bed. Works for me everytime as I use auto bed leveling and do not use raft. If you need to use raft, I would suggest pumping up the temps a bit higher in order to make the layers bond together better (255°C on nozzle, 85-90°C on the bed). I am not sure about Cura, but there should be a setting to set the distance between the first layer of the print and the raft. If you decrease the distance, the print will stick to the raft better, which will also result in the raft being harder to remove.

@Davo Please convert the comment into an answer! It has my vote and apparently 2 other's!

Every print is somewhat affected by chamber temperature. On small prints, or prints with lower-temperature materials, the improvement is minor.
However, large prints with higher-temperature materials (like PETG) really benefit from a heated chamber. This helps by keeping the entire build close to the glass transition temperature until it's all done, and then letting it all cool together, more uniformly. Uniform cooling reduces the stresses of having different layers cool at different times and rates.

This sounds like a bed leveling issue.  As reported by others, I get much less warping with PETG than with ABS or even PLA, and deal with too much adhesion with PETG rather than too little.  With a Reprap x400, I printed a faceplate for the extruder to hold a electronic drop indicator.  This gives me much higher precision leveling. Of course, I remove the drop indicator after leveling.
If leveling isn't the issue, then you may be printing too fast.  The recommendations I've seen are to print PETG at 50 mm/s or less.  I print a a lower speed than that.


text:
Calibrating a resin printer
I have purchased a Creality LD-002R resin printer. It is solid hardware, with a good experience and great value for the price, but it comes with very little documentation.
I am looking at calibration procedure of the print surface. I have read in reference to other printers that it is customary to interpose a sheet of paper when leveling the print surface against the pane of glass. Is this applicable? Are there any other setup recommendations?

Paper is for FDM printers, not SLA or DLP printers. DON'T use paper in a resin printer!

The Creality LD-002R does not specify sheet of paper, but interestngly, the SainSmart Kumitsu KL9 does — same setup procedure otherwise.

First of all a caveat:
Leveling an FDM printer
...is done differently than an SLA/DLP printer
When calibrating an FDM printer, you align the bed with the X and Y axis, using a paper, metal shim or another tool (such as a feeler gauge) to make sure the plane that the nozzle moves in is parallel to the bed as much as possible. The paper, shim and gauge all serve in making sure that the nozzle does not push into the bed on the move and to be an easily measurable system. You need to do several measurements and repeat the process till the bed is level. This can take quite some time with paper or shims, which is why I use a feeler gauge in the micrometer area.
Leveling an SLA/DLP printer
when leveling an SLA/DLP (aka Resin) printer, you also want to align the bed, but you want to align it parallel to the screen. The process is rather simple: mount the bed and loosen the retention mechanism, have the printer move down and press the bed against the screen surface. Some printers need to have the (preferably empty and clean) vat installed, others need you to remove it. Tighten the retention mechanism. Move the bed up, you are leveled. Only now comes the resin (and vat!) back. Some printers have their leveling mechanism separated from the mounting screw - that allows removing the bed for taking off the part and keep the leveling intact.
In the case of the Creality ld-002r there's a video Tutorial, the alignment screws are on the side of the carriage. Remove your resin vat before leveling. Loosen only those side screw, keep the top one fast!
The reason why I suggest to level against an empty vat is to make sure that on the one hand the resin doesn't go bad (it should be exposed to as little light as possible), you are exposed to the least resin fumes as possible and to make sure that no pieces are inside the vat when your printer firmly presses the bed against the screen - it could damage the screen or surface would there be chunks of former prints left in the vat! Also, you don't want to contaminate your tools with resin, which means you want to work on the fasteners with no resin in the vat.


text:
Design connection to motor shaft for printed gear
I am currently trying to print a gear with the possibility to connect it to the shaft of a DC motor. The following picture best describes what the shaft of the motor looks like by showing the hole printed in the gear:

So far this works well for a short amount of time, however since the gear is connected to another gear that is from time to time exerting quite some resistance already after a few revolutions the shaft starts to wear out the material that is holding it and it turns without powering the gear, i.e. the printed part is not strong enough to withstand the torque of the motor.
I am wondering what the best way forward would be here. I see multiple options:

Design a different connection to the shaft, however I don't know of any
Switch to a different material, I am currently using PLA, but I could also go for ABS or PETG if any of them would provide advantages. For PLA vs ABS I found some conflicting information which one is "harder"
Play with the parameters of the print. At the moment I am only using 3 wall layers, I wonder if increasing the number of wall layers would improve rigidity.

Are there other ideas? What could you recommend me to improve this connection?

Just a small comment: Increasing the wall layers to 10 layers instead of 3 layers means I could use this connection for almost an hour before it broke instead of a few minutes ;)

Design a different connection to the shaft, however I don't know of any

Use a shaft/flange coupler to be fastened to your shaft and to your printed part.

Without knowing the length of the shaft, you could connect a flange/coupler to design this into your gear. This is a good solution if you have to transmit larger torques. See e.g. this pulley that incorporates that concept.
Shaft flange couplers can be connected to your printed part and to the flat part of the shaft.
Metal flange couplers are available in many sizes:

A recess in the printed part houses the flange:

When assembled you can mount the pulley/gear onto the shaft, provided you have enough length on the shaft.

If clearance or shaft length is a problem, you could get a metal gear/pulley of fixed smaller size and press it into a matching toothed hole in your plastic gear.

Oh, that also looks like a very interesting approach, I also have a hexagonal one way bearing already lying around, that I could in theory abuse for something similar :)

A good option would be to use a (set-)screw to press against the flat of the motor shaft, similar to how pulleys are mounted on stepper motors.

I will give this a try!

If you're thinking of changing materials, you're looking at the wrong parameters.  PLA has a higher hardness than either PETG or ABS, but hardness isn't what you want.
The problem you're experiencing is creep, where a material flows in response to pressure.  Of the common printing plastics, PLA is by far the most susceptible to creep.  Either ABS or PETG will be better in this regard, though unless you need ABS's strength, I'd recommend using PETG because it's easier to get dimensionally-correct prints.
That said, the contact area shown in your drawing is rather small.  You'd be much better off using a metal flange to spread the contact out over a larger area.


text:
E3D High Precision Heater difference
Does anybody know an exact difference between E3D High Precision Heater vs a standard one? I mean technical characteristics not only about its naming.
Or maybe somebody has both of them and did some comparison?

Hi, welcome to 3DPrinting.SE! Wouldn't this be a marketing trick, I mean, an accurate thermistor or thermocouple would be much more important than an accurate heating element, it just needs to provide heat based on the temperature reading.

That's why I'm wondering, considering that its current price 3 times more expensive than a standard heater!

E3D themselves specify this on the product page:

Our high precision heater cartridges feature a rounder cartridge with more consistent diameter and surface quality, ensuring greater surface area contact with the heater block for more reliable heat transfer. With the quick change principle in mind, the high precision heater cartridge uses a Molex Microfit 3.0 connector enabling quick HotEnd changes.

E3D also provide a datasheet on the precision heater cartridge which can be compared to that of the regular heater cartridges.
From an electrical perspective, the are identical. They will put out the exact same amount of heat. The main difference is in the dimensional specifications, which for the precision cartridge is guaranteed to be a diameter of 6.0 mm +/- 0.2 mm and a length of 20.0 mm +/- 0.5 mm, while for the regular cartridge no tolerances are specified though they have the same nominal dimensions.
Apart from this, as we can discern from the product description, the precision cartridge comes with a connector to enable swapping and a better surface finish.


text:
Use inkjet cartridge to color filiment?
Is it possible to use a standard color inkjet cartridge to color filament for full color 3D printing?
It seems like a natural next step to me, but I haven't seen much of anything on this. (Just a few ancient experiments on reprap wiki.)
I've learned that some inkjet printers have the heads built into the cartridge whereas others it's part of the printer.  I think the former would be more appropriate.
Unfortunately I haven't seen anything on actually how to drive the cartridges.  I'm guessing the mfgr's treat this as a trade secret (?)  Still, there's got to be some overseas reverse-engineer... something... on this, right?
Anybody have resources/notes they'd like to share?

I don't think it makes a lot of sense - you don't need that kind of resolution, and getting a sufficient amount of ink that way to coat the filament would be hard. If you're going to be switching colors rapidly, you'd need a long purge between colors anyway. I also doubt the type of ink is suitable for sticking to filament materials.
If you really want an automated filament coloring system, I would do it with Sharpies and actuators to move individual ones on/off of the filament as it passes through. Coloring PLA with Sharpies prior to printing is a known-working technique, and there are even models available on Thingiverse for holders to keep them in place while the filament runs through. Designing the actuators to switch individual ones on/off, and the firmware controls for them, would be the natural next step.
Here are some examples I did with manual coloring of natural translucent PLA (from left to right: uncolored, silver Sharpie, and red Sharpie):

I didn't color a long enough segment of filament or properly purge for any of them, which is why the coloring is inconsistent/incomplete. But the technique definitely works.

AS an FYI, this is becoming available commercially:
https://www.xyzprinting.com/en-US/product-level/PROFESSIONAL/color-series

Thanks for your answer but we are looking for comprehensive answers that provide some explanation and context. Very short answers cannot do this, so please [edit] your answer to explain why it is right. Additionally, we prefer answers to be self contained where possible. link only answers are frowned upon (as links tend to rot) & will be rendered useless if the linked-to content disappears. If you add more context and detail from the link, it is more likely that people will find your answer useful.

I'd be skeptical of anything from this company. Speaking of inkjet they're the inkjet printer loss-leader scam of 3D printing. Printers that refuse to use filament other than their own overpriced ones, software lock-in, ... Also using illegitimate IP claims to takedown competitors' products from Amazon.

This is a thing since I think 2-3 years. There's such a printer from XYZ printing. It's not cheap but worth it. https://www.xyzprinting.com/en-US/product/da-vinci-color
The other thing thats available right now is a new print technology named Multy Jet Fusion, where drops of resin being colored and droped to a 3D Print:


text:
Removed Nozzle, Plastic Still Backed Up after Cold Pull on Ender 3
I am still very much a novice and learning so here is the situation:

Filament was not extruding from nozzle. Checked the filament feeder (worked fine, filament was being squeezed through) and tried to push filament through hot nozzle to see if anything came out. Nothing did.
Did a cold pull, got a little bit of gunk out. Second cold pull didn't work out like the first one, and the glob of PLA that I fed into the nozzle remained stuck there.
I heated and removed the nozzle properly. I am going to soak it in acetone to get rid of the gunk inside. However, when I tried to install my other nozzle, it would take in the threads, and I see now that a little bit of the plastic from the last cold pull melted and trickled down.

What can I do to clean this out and install the nozzle? It is on an Ender 3 Pro.

Acetone doesn't dissolve PLA.

I have encountered this many times. This is how I solved it:
Sadly you have to disassemble the entire hotend. Remove the nozzle, remove the heatbreak and heatsink leaving the heater block in place, it does not need to be cleaned (unless I am mistaken). If there are any plastic pieces in those parts, remove them as well.
Now for the cleaning. Use hot air gun to heat the nozzle/heatbreak/heatsink hot enough so the filament starts to melt. Then you can use a thin screwdriver (or metal wire) to push the stuck filament out.
Alternatively, you can use blow torch (or gas soldering iron with the soldering tip removed) to melt and burn away the stuck plastic. However, when the plastic burns it transforms into a solid dirt which you have to manually remove. But it does not stick as well as the original filament.
I advise against using q-tips because they are made out of plastic which can stick to the surface as well. Instead, use a piece of old cotton cloth (old sock or t-shirt will do) to wipe the surface or threads after heating the part.
When doing so, use needle nose pliers to hold the part in one hand, with the other hand use hot air gun or blow torch to head it up. Then remove the source of heat and with the same hand use screw driver or piece of cloth to clean the part to your liking.
It is ugly and messy and you will most likely burn yourself several times. But it solves the problem quite reliably, unlike cold-pulls and other methods (at least in my experience).
Bathing the parts in acetone will most likely do nothing (unless the stuck filament is ABS) because most filaments in use are resistant against dissolving in acetone. If you need to remove filament from anywhere, use heat not chemicals. It is easier and works almost 100% time.
Good luck.
Note: The solution above for heatbreaks and heatsinks concerns only full metal hotends. Hotends with PTFE lining (such as on Ender 3 Pro - I do not own one, cannot confirm) need to wory about filament being stuck in the nozzle and/or in the PTFE tube, not in the heatbreak and/or heatsink.

Real q-tips are made out of paper and cotton. Only poor-quality generic ones use plastic.

I would not use them anyway - I do not trust them in this matter.

That is a lot of work! For that reason I keep spare parts of all components!

I do so for most parts, but not all. Nozzles are the most frequent replacement, but not so much stepper motors.

I fixed this by using a q-tip to wipe out the threads!


text:
Can Polycarbonate be used as heated bed
This is more about using polycarbonate with silicon heated pad as the bed itself, and not as a material that goes onto an existing aluminium bed; i.e. I am not intending to use it as a flexible build surface (although that could be an option as well).

Since Polycarbonate (PC) has glass transition point of 147°C (according to wikipedia) where it starts to melt, you could in theory use it as a heated bed for PLA or even PETG. BUT, there are other characteristics:
PC is quite good heat insulator, which would result in uneven heat distribution in the heated bed.
Also it expands quite a lot with rising temperature, which could result in warped bed.
And as per usual with thermoplastic polymers such as PC, heating them and cooling them repeatedly can cause material degradation. That would result in the material becoming brittle, deforming, or changes of other properties....
Next problem would be that it is not stiff enough. Depending on the size of the heated bed you would have to support it on multiple points (I would say at least 5x5 grid for 300x300mm bed) and even then it would be unpredictable.
To sum it up: yes, you probably could use PC as heated bed, but it is much better to stick to traditional materials like aluminium or glass fibre sheets (PCB material), because PC would be very inconsistent and therefore hard to level.
I hope this helps.
Note: I am basing this on my theoretical knowledge, I have not tested it and thus do not know if my assumptions are correct or not.

It's a poorer conductor of heat, that's the key one. Kewl

Wouldn't the nozzle 0.1 mm away from it at over 210°C be a problem, too? Or is that just considered acceptable wear?

Of course it would be a promblem and would cause degradation of the material. But I did not consider it because I was focused on the role of heated bed, not printing surface. My bad.


text:
Marlin - G92 after bed levelling?
In some of my G-code files the job X and Y start from 0, 0. I move the nozzle to where I want the print to start and then send G92 X0 Y0 Z0 to the printer and only then start the job. This has worked really well for me so far.
I want to try and use the bilinear bed leveling feature in Marlin but on a specific area of the bed. Something like that:
G29 L47 R112 F14 B64

My question is - if after the G29 command is finished and the probing is done, I then position the nozzle at X47 and Y14, and then send the command G92 X0 Y0 (without Z), would that interfere with the bed leveling or would it work ok?


text:
Mixing nozzle vs dual nozzle vs IDEX vs tool changer for pva and pla
I am planning to build a 3D printer with dual extrusion. I want to use PVA with one of the extruders and the main material with the other one so color printing isn't important for me and I just want to use dual-material (mostly PLA and PVA). I want to know which of the types below should I use and also the pros and cons of each one, especially oozing and final print quality.

Dual extruder and dual nozzle (eg. E3D Chimera+)

Dual extruder and one mixing nozzle (eg. E3D Cyclops)

Dual extruder with 2 independent nozzles (2 stepper motors on the X-axis each one moving 1 E3D v6 individually)

Dual extruder and dual nozzle using a tool changer and a CoreXY setup (using a servo motor to lock the tool to carriage similar to the E3D tool changer)

You forgot the option: toolchanger. Which is in general the best one, if you can build it reasonably accurate

I would advise against mixing nozzle - you would have many jams and clogs and you would have to use purge tower which in my opinion is not worth it. Thats scratching point 2.
Point 1. and 3. are similar to some extent. With both types you have to align the nozzles in all three axes. Crude aligning should be done by hardware and fine tuning done in software (too much difference in Z alignment could cause one nozzle hitting the printed part). Anyway, the aligning is pain and you will have to do many test prints to achieve sufficient results.
In my opinion, point 3. (also called Idex - independent dual extrusion, I believe) will give you best results, because while one nozzle is printing, the other one is parked on the side where it can ooze as along as you manage to wipe it when it is getting ready to print. You can use purge buckets. Also you have to home the extruders indepentently as well (one to right and one to left).
Point 1. will introduce a lot off oozing issues. You would have to use ooze shield, or other methods of wiping the other hotend, if you are comfortable with that.
As for connecting another axis to Ramps 1.4, the board has 5 stepper motor outputs (X, Y, Z, E0 and E1). Therefore there is no output for another X axis, since both E0 and E1 will be used. You have two options I can think of:
Creating your own stepper output and connecting it to auxiliary pins on the board (if you are using legacy stepper drivers, you need 2-3 pins - direction, step, (and motor enable)). That requires some basic knowledge of electrical devices and firmware. However, it is doable. Not easy for someone without sufficient knowledge, but not impossible either.
Or the other option is to buy an existing boar with 6 stepper motor outputs such as Bigtreetech SKR PRO. You still have to configure the firmware but it is much easier this time (it has been made/pre-made several times with tutorials).
I would suggest using Marlin firmware as it supports many configuration types and has very strong community - someone has likely solved your solution or can help you solve yours.
I would also suggest not using Ramps board with Arduino Mega2560. That board configuration is so old. 3D printers have moved on, whereas that board has stayed the same for 5 or so years. It is OK, perhaps good for tinkering, but there are far better options (such as the mentioned BTT SKR series boards).
Good luck with your design.
Note: I do not own a dual extrusion printer of any of the mentioned types. This is just my understanding of the theory and how I would do it, if I were to build a dual extrusion 3D printer.

So if I use idex with a compatible board and marlin, do slicers eg. cura support it and what should I change in them? This is a rare setup and I think it wouldn't be easy to setup slicers for it. Can you please give some explanations in slicing software configurations?

As far as I know, all major slicers support multicolor/material printing. For them it is pretty much irrelevant which implementation you use. They just copy and paste the "tool change" gcode snippet you give them. The snippet does depend on the type of multimaterial printing as it tells the printer when to change and how to change the tools. Idex is not at all rare and should be supported by all the tools you will need (at least most of them). I think there should be many tutorials on the internet on how to setup multimaterial printing or even Idex in particular.

A quick google search found a Reddit post link. Maybe you will find some useful information there. As a side note I recommend using a board with removable stepper drivers, not integrated, as it makes replacement much easier and is more flexible in which drivers you want to use. Also you might consider using a regular board (4-5 stepper drivers) and adding a premade extension which would add the required stepper driver slots. I am not aware of any particular ones. Just search the internet and you will find something.

And if you find something, do not just jump straight to it. Read articles, watch reviews of various products, watch tutorials,... because if you chose wrong, it might make your construction a lot harder, but does not have to. Or if you find someone has solved at least partially your problem, contact them and ask them for help. They might at the very least point you in the right direction, or even modify their solution to your needs.

Beware, PVA printing is not the Holy Grail! It is expensive, very hygroscopic and easily cloggs the nozzle. I've been using it for some years with mixed feelings. Do you really want/need to print with PVA? I would like to remind you that there are brands out there that sell you a printer that are capable of doing what you want.

@0scar I know how PVA is and it's problems but I need it.

@MStarha Thanks for your note about slicer configuration. Also, the only available boards in my country are Ramps 1.4/1.6/1.7, rumba, and some mks boards. The best board for me is skr pro but skr boards are completely unavailable and unfortunately, I can't order from any international shop eg. amazon or banggood. So I don't have many options to compare and read their reviews.

Out of those boards, Rumba seems to have 6 stepper driver slots. Otherwise you will have to add your own slot. And as @0scar mentioned, you can buy different idex printers pretty much ready to go.


text:
Can't level CR10 as nozzle is touching the glass
I have a brand new Creality CR-10 S5. I'm new to printing.
I'm trying to level the print bed, but after using the Auto-Home function the nozzle is left touching the glass. I understand that to do the leveling, I must move the head manually to the four positions for adjusting. But I really don't want to do that because I don't want to damage the glass, nozzle, or both. From the explanations of leveling I've found, I think I should expect the nozzle to be too high if anything.
Am I conceptually wrong, or have I made some rookie mistake?

If the nozzle is touching the bed, you need to further screw down the bed. If the springs under the screws are already fully compressed, you cannot lower the bed further and you will need to move the Z-endstop up. Note that there are handy fine tuning aids you can print to help you with this, see e.g. this fine tune part for your printer. Note that this issue is not uncommon, I've read that more people encountered this.

Thanks! If I just raise the nozzle manually and then balance it at that height, can I tell the printer that position is "home", or as far down as the nozzle should go?.

@Christian That will not work, when you home it will go down to the endstop, so move up the endstop. Else you risk damaging the bed.

@Oscar How do I raise the endstop? It's very tightly screwed in, and fiddly to get to. I don't want to (klutz here) break it. Thanks.

I would print the mount so that you can adjust the height, to get a print from your current setup is that you can put something in between the endstop end the counter touching part.


text:
How does G-code for belt bed printers work?
Are there any good resources on understanding how G-code/slicing for belt bed printers works? I'm told the upcoming Creality 3DPrintMill is being used with Blackbelt Cura, which seems to be a fork of a really old Cura modified in some way for belt bed printers, but I didn't find much information on how it actually works.
In particular, do these printers use normal gcode? What is the coordinate system like? Conceptually the axes are not orthogonal but skew (e.g. 45°) to the belt axis, and part of my question is whether the coordinate system is in this skew basis, or somehow transformed in firmware to an orthogonal basis.
In asking this, I'm partly aiming to determine how hard it would be to use existing/unmodified software (e.g. upstream Cura) to slice for such a machine, possibly with postprocessing of the gcode.

I don't see why a flat (horizontal) belt-bed printer would need special gcode, but I haven't seen how angled versions print.

@Davo: Unlike normal printers, you don't have 3 perpendicular axes; the "XY-like plane" is at a typically 45° angle to the (infinite) third axis. If you just transformed the coordinates to a normal orthogonal space and printed layers starting with the bed and working up, you'd lose half the advantage of the infinite axis (being able to print things larger than the printer). As I understand the infinite axis is normally moved like a Z, and the layers are printed in the skew XY-like plane...

Belt printers use existing 3d printer hardware, including controllers and steppers. The Z axis is tilted at 45 degrees (usually). So to answer the first part of your question: yes, you can use G-Code to control the printer, just as you would with an upright printer.
I don't know a good resource that describes everything, but I will try my best here: it's not enough to just skew everything. Basically, you need to rotate all you models at 45 degrees along the x axis, using an imaginary 45 degree plane as the "build plate". Then, the model needs to be skewed, so that everything that would otherwise be on the build plate is now at y=0. Z needs to be scaled by sqrt(2) to make up for the diagonal belt. The result should be a working G-Code.
But if that's not enough, the issues are in the details. Supports will not work as expected at all. Supports in positive y need to start at 0 degrees, whereas in negative y, you need no support at all. Rafts need to be placed quite counterintuitively on zero y instead of zero x. And giving the build plate/belt a different extrusion temperature is also difficult, because every build plane touches the belt at some point unless it is a bridge. Oh, yeah, and bridges work perpendicular to the build plate instead of parallel to it.
So, yeah, it's not easy at all to generate good G-Code for a belt printer.


text:
Configure Marlin for tool changing system
I am planning to build a CoreXY machine with a tool changing system. I am using Marlin firmware and BigTreeTech SKR PRO as the controller board. There are 3 options in Marlin for tool changing systems:

Switching tool head
Magnetic switching tool head
Electromagnetic switching tool head

I want to use the switching tool head in my project using a servo/stepper motor. So I have 2 questions:

Should I use a servo or stepper motor? Which one does the board and firmware support?
Where should I connect the servo/stepper on the SKR PRO and what should the value of SWITCHING_TOOLHEAD_SERVO_NR be?

Note: I am also using a BLTouch leveling sensor So I can't connect the servo to the BLTouch servo port.
Edit: After so much research, finally, I found the way to do this. For the first question, Servo is the best choice.
First, we need to configure tool change x and y position and servo rotation angle in configuration.h file and leave SWITCHING_TOOLHEAD_SERVO_NR as it is. Also, uncomment #define NUM_SERVOS and set it to 2.Then we need to open Marlin\src\pins\stm32f4\pins_BTT_SKR_PRO_common.h file and in the Servos section, add the following line:
#define SERVO1_PIN                          PC9

In the end, connect the servo signal pin to the PC9 pin on extension 1 and the VCC and GND pin to the pins next to the PC9 pin that are GND and 5V.
Note: I haven't tested this because I don't have this board. If this way doesn't work, please tell me in comments.

To my knowledge a single PWM pin in exposed on extension port 1, but  recalling Arduino tinkering you can use any digital or analog pin for a servo. For a stepper you require more pins to control the movement, how many tools are you focussing on? Each tool requires a feeder stepper... E3D uses Duet boards, they have many options for additional steppers (either through extension boards).

@0scar SKR PRO has 3 extruder outputs and because I use 2 of them, 1 of them (e2) will be unused. Also, my preference is to use a servo motor. But I don't know how to connect it to the board and configure marlin for it (pins.h, configuration.h,configuration_adv.h)

Use a servo. This way you can use the digital pins to control it; or in your specific case PWM_PC9
Connect it to the expansion port and configure one of the digital pins in the marlin configuration file. A servo will go to the minimum position when the pin goes low, and the max position when the pin goes high. I take it you don't need any stops in between since you're doing a tool changer.

If you figure out how to modify the code to support tool changing, I'd be interested to know as well.

Thanks for your answer. Can you please tell me what SWITCHING_TOOLHEAD_SERVO_NR is and how can I use it, if you know?

PWM_PC9 (pin 4 on extension 1) seems to be the only pwm pin available for use. I believe SERVR_NR is the index of the servo for the M280 command. I don't know enough about this part of marlin to be of much use.

After so much research, finally, I found the way to do this. For the first question, Servo is the best choice.

First, we need to configure tool change x and y position and servo rotation angle in configuration.h file and leave SWITCHING_TOOLHEAD_SERVO_NR as it is. Also, uncomment #define NUM_SERVOS and set it to 2.Then we need to open Marlin\src\pins\stm32f4\pins_BTT_SKR_PRO_common.h file and in the Servos section, add the following line:
#define SERVO1_PIN                          PC9
In the end, connect the servo signal pin to the PC9 pin on extension 1 and the VCC and GND pin to the pins next to the PC9 pin that are GND and 5V.

I haven't tested this because I don't have this board. If this way doesn't work, please tell me.

@MahanLameie, you don't have the SKR_PRO board? So you want me to see if this works? Just that a servo will rotate if the firmware is modified thusly?
Since this is becoming a chat: https://chat.stackexchange.com/rooms/112575/marlin-servo-control

No, I haven't bought it yet. Just I want to know if I can do it so when I was sure what I should do, I will buy it. This is not a cheap board, so buying it without knowing if it works or not is not true.

Also, I am comparing other boards to this to see which of them is better but because they are all similar, there is no difference for me to mention which of them, and since SKR PRO is the most popular, I mentioned this in my question. I just want to know the instructions and when I knew that, I can do it with any board. The only thing that I should do is find a PWM pin in the boards' datasheet and configure the pin number in Marlin.

Let's continue it in the chat room.


text:
How can I tell if BLTouch is triggering?
MY new BLTouch doesn't seem to be actually sensing anything, and I'm not sure how to test it.
Quick background: I have a bit under a decade of experience with printing generally, but essentially none with firmware or any of the specific hardware. I recently got a new Ender 3 Pro, and successfully printed with it for a month.
I recently decided to upgrade my Ender 3 pro motherboard and add a BLTouch. I installed an SKR Mini E3 v2.0, tested briefly (long enough to satisfy myself that it worked as expected, but nothing extensive). I bolted on a BLTouch (not sure if 3.0 or 3.1), built and installed a cable to the dedicated "Z-Probe" port (same pinout as the BLTouch: brown, red, yellow, black, white), and updated the firmware with the binary firmware file from the controller board manufacturer. I have no other mods to electronics.
Right now, I have the following behavior:

During startup: BLTouch extends and retracts several times
In the LCD menu for BLTouch; select CMD:Self Test: BLTouch turns red, extends and retracts several times.
In the LCD menu for BLTouch; select CMD:Extend: BLTouch extends.
In the LCD menu for BLTouch; select CMD:Retract: BLTouch retracts.
In the LCD menu, select Auto Home: behaves as expected (moves the axes until they hit endstops).

So far so good, but then this:

In the LCD menu, select Bed Level: performs Auto Home procedure (as above), moves the BLTouch over the corner of the bed, extends the probe, lowers the Z axis until it hits the endstop. BLTouch probe moves back in. On the way down it turns solid red, then flashing red, then eventually retracts, then the carriage hits the endstop. Process ends.

So, What next? I'd like to check that the BLTouch is actually sending a signal to the board, but I'm not sure how. I've reviewed a bunch of online tutorials and the documentation for the mainboard and the BLTouch, without finding an answer.
Available tools: I have a multimeter and a very cheap oscilloscope. I haven't gotten the maple console installed, but do have a (probably?) functional alternative through the Pango slicer.

Problem is solved, though I still don't know how to test the BLTouch.
I had reversed the power connection (black and white wires) at the connection to the extension cable. Swapping that connector back around restored expected behavior.


text:
Ender 3 V2 upgrades and addons
I am very new to 3D printing. I am looking to purchase the Ender 3 V2 but before I do I would appreciate some advice on what I should purchase as the upgrades/addons for it. I'm not sure as to what I would need for the V2 since most websites are for the original Ender 3 so I don't know if the V2 already has that upgrade/addons or not when compared to the original. I would rather get all the upgrades/addons and the Ender 3 V2 at the same to save on shipping and all.
Pretty much the only upgrade/addons I have constantly seen is the auto bed level.
So if anyone can help out a first time 3D printer noob then that would be great!

Automatic bed leveling (ABL) is not necessary as in "a must", for many it is considered to be the Holy Grail, but a flat bed and manual leveling will work fine. Note that for ABL you need to provide a bed as level as possible, the ABL will take care of large deflections that cannot be leveled out e.g.a large concave or convex area. Good luck printing!

I have also been looking at getting into 3D printing and purchasing the Ender-3 V2.
In my research, the biggest differences between the original and V2 are the following:

Tempered carborundum glass bed
HD color screen instead of the old LCD character display
Upgraded, 32-bit, self-developed, “silent” motherboard
Capability to resume a print after a power outage
XY-axis tensioner
Manual filament feeding
Toolbox embedded in the base of the printer

For more info, you can see more at all3dp and Creality's sites.
Next, there are several YouTube vids on upgrades/add-ons that you can do:

Firmware upgrade
Dual Gear Extruder
Bed Springs
Another Bed Glass upgrade
Octoprint

There are several add-ons you can print yourself once you get your printer (some are not specific to the Ender 3 V2). Of course, you will have to decide which of these you are looking to add. Here are just a few:

First 24 Upgrades on my Ender 3 Pro
Ender 3 Pro Upgrades
Ender 3 Upgrades

I would suggest, as others have, get the printer first and take it for a "test drive" first. Once you have seen its capabilities and if, again IF, anything needs to be fixed/upgraded/updated, then do what your budget allows. And by all means, do extensive research, ask questions on forums and here, and most of all have fun!
(Sorry, I don't have enough reputation to create more links.)

IMHO, it's probably better to get the printer as-is first. This way you can get familiar with the printer and 3D printing in general before you get overwhelmed with all the extra introduced variables from your upgrades.
The new model already has loads of features that were considered upgrades on the older model and you can already get very nice results.
Upgrading your printer is a part of the 3D printing hobby, and you'll probably never be done with it :)

The first things I purchased for my V2 within the first week of having it were the magnetic flexible print bed as the prints were a pain in the butt to remove from the glass, and the aluminum extruder upgrade. I didn't do the dual gear drive because honestly I didn't pay attention at the time. however, the aluminum  set is more positive in feel when feeding compared to the plastic that comes stock. I just felt like I'd break the arm if I tried harder than I should whereas having the aluminum arm feels better to me. Beyond that, maybe the BLTouch leveling sensor so you can set everything right more easily than using a piece of paper, but that's really all I can suggest for now. I've been using mine quite a bit lately and have enjoyed it as is. I realize this post is over a couple months old, but I just saw it and thought I'd contribute if you haven't already made your purchase(s).

My guy downgraded from the tempered glass to that awful magnetic bed lmao should have just bought and ender 3 or ender 3 pro...tempered glass bed is one of the best upgrades on the v2

I have an Ender 3 v2 and I haven't upgraded anything except updating the firmware. The first thing I suggest is updating the firmware and changing the hotend to an all-metal one. This will allow you to print in higher temperatures and adding a BLTouch for automatic bed leveling will make your life a bit easier.

An all-metal hotend is not an upgrade if you're using ABS, PETG or PLA (basically printing under 250 °C), it is a wide accepted mistake that gives many people headaches as such hotends are much more susceptible to clog due to heat creep issues.

Agree with the approach of using the V2 as is. Review some of the YouTube videos on initial setup and calibration.  Identify the type of printing you'll doing and identify where it's coming up short of expectations. That will be the driver of what upgrades you'll want to start with.
Upgrades I've done to date:
BLTouch
Bed Springs (should have gone with spacers with the BLTouch)
Borosilicate glass print bed (OEM tempered glass bed was cupped in the middle)
Bowden tube (Lower friction)
X-axis belt (original shredded)
All fans for added reliability
Filament guide
Between the calibration and the above updates, I'm consistently printing dimensionally accurate parts.  But your situation may vary as quality and tolerances in economy parts varies.  Highly recommend the V2 though as the out of the box prints were far better than draft quality.

As per my information, you don't need to upgrade your 3D printer but some of the following steps keep in mind to have your Ender 3 print better:

Level the bed.
Set the nozzle height.
Try different Build Plates for different effects.
Keep it on the sweet spot for your bed temperature.
Printer adjustment and maintenance are kept on priority.


text:
New RAMPS 1.6 not working
I just bought a new RAMPS 1.6 shield to replace my old RAMPS 1.4 shield. The problem is that it's just not working, the motors don't move, heatbed/nozzle don't get heated. It was all working with the RAMPS 1.4 shield.
I checked the RAMPS 1.6 and there's no bridging in the solder joints.
The DRV8255 is drawing current also but the motor doesn't move.
I am using Repetier Firmware. I tried Marlin (default) and even it's not working.

So In my case, the RAMPS were defective, I returned them and got a new replacement from Amazon. The new one worked just fine.

Pins are sometimes different between the two shields.  I ran into one a while back... Go over the pin specs for the 1.6 one at a time.
Correction: pins are SUPPOSED to be the same.  I've however experienced them not being the same.  I don't know if my 1.3s were the oddballs or if the 1.6 was.

My RAMPS 1.6 is exactly the same to a RAMPS 1.4, I used the 1.4 pin layout without a problem. The 1.6 is only a hardware upgrade with respect to connectors, fuses and MOSFETs and heatsink. I looked up the original source from the manufacturer, it also refers to RAMPS 1.3/1.4, so, there should be no pin changes. If there were such changes, there should be a separate pins header file for the 1.6, but I cannot find such a file. Please do explain the differences you found, the answer could use some more in depth information.

As well as the differences, please state the brand/model of the boards, plus a photo if possible. There may be a particular manufacturer who is not adhering to the standard.

If I still had the board, I might be able to share.  I believe it was around the end of 2018? after running out of 1.3s and still needing one more in a hurry.  I just remember not finding a quick pin list and thinking I could have saved myself some trouble of tracing if I had paid attention to the labels on the board.


text:
What type of plug is this?
I'm not really sure what the type of plug on the heater cable is. Is it a Molex KK or maybe a JST PH?
The printer is a Prusa I3 Hephestos (aka BQ Hephestos). It came with this "BQ HOT-END HEATCORE CLASSIC" hotend from the "BQ Witbox 1" extruder.

Done. But why should this help identifying the plug? If someone knows the molex or JST plug the image should be enough I think.

It might help someone with access to documentation for that printer look up the answer for you. Then again, it might not - but additional, relevant information is usually helpful. Welcome to the site, and please take the tour.

The cable of the heater element uses a "JST male connector 2.5 mm pitch". According to the seller of the heater element.

As 0scar noted, this looks suspiciously like a JST connector, but the left one is not a JST RCY connector and it is neither one of the common JST PH nor JST XH, JST manufacturer pages show. In fact, it's not a wire-to-wire JST connector. The BQ-store claims it is a 2.5 mm JST connector, but JST has some 10 dozen different types of connectors, some three dozen of them with a 2.5 mm pitch.
"JST Quick" / JST RCY

This one is rated 3A, and looks like the connector on the right, the thermistor one. So if you need to fix that, you know what to get for that.
So what it is?
The connector however looks at first glance suspiciously like this one:

I found this product on several warehouses, listed as 2-PIN CONNECTOR W/HEADER, .10", and even found a specsheet. Those products appear, in design, to be based on the Molex KK 254 from the 2659 series. A genuine Molex 2659-series connector is rated for up to 2.5 Ampere, and looks somewhat similar.
However, the shop did claim it is a JST 2.5 mm pin, and they give a side view:

That is not a Molex KK. It appears more similar to a JST NV, which however has a 5 mm distance between the peg centers (= pitch) and it's rated for 10 A (or 120 W at 12V!). While matching in style it does not match in measurements - as OP confirmed, there's a very close to a 4 mm pitch (+- measurement tollerance) on the connector. So it's not an NV, but something os similar style.

But then it has to be the VH! The VH series has a 3.98 mm pitch, it has that latch and it is rated 10 A, for 120 W at 12 V. In fact, the pins on the Hotend seem to be B2P-VH, matching VHR-2N or VHR-2M "female" adapters.

Safety?
I would not trust a Molex KK 2659-series connector with a heater cartridge on a 12 V Machine! With a 12 V, 30 W Heater cartridge draws exactly 2.5 Ampere, so you'd have a safety margin of 0! That's bad design. A 40 W heater cartridge would draw 3.3 A - that's 132 % of the rating! That'd be a fire waiting to happen!
Only a 24 V machine could be built with a Molek KK 2659 connector and stay within the 2.5 A rating (40 W & 24 V -> 1.67 A, 30 W & 24 W -> 1.25 A) with a safety factor of about 1.5 to 2 to the rating (depending on heater cartridge).
However, this is a JST VH with a rating of 10 A. That means, at 12 V, it's safe for 120 W load, so plenty safe: That's a safety facor of 3, and on a 24 V machine it'd be 6. That's Perfectly safe and sane! After all we look for at least a 5 A rated connector in conjunction with a 12 V/40 W heater.
The more tedious variant to connect safely is to use either an even higher rated connector (requiring replacement) or a continuous wire to the board.


text:
Marlin Firmware - Autostart only runs `auto1.g` but not `auto0.g`
Marlin has a feature that can execute a G-code file from an SD card when printer is turned on; this is called Autostart.

Autostart is available on printers with an SD card reader. If auto0.g exists on the card, the printer will recognize and execute it on bootup. Thereafter, if there are files with incrementing numbers, e.g. auto1.g, they will be done in incrementing order.

Name your file auto0.g and it runs when the printer is powered up.  auto0.g should execute first then auto1.g then auto2.g etc.  Mine will only execute auto1.g and not the others. Any thoughts what happens here?

Hi Sea Wa, welcome to 3DPrinting.SE! Do the skipped files contain valid G-code? Are the files properly ended Unix/Windows line breaking? Files or SD-card corrupt?

Thank you for you response. Could you please explain what the proper ending Unix/Window line breaking is.

would it be practical to test each auto file individually prior to creating the cascade?

I tried auto0.g alone and it executed. I am using Marlin 2.0.6 0n a BTT SKR 1.4 Turbo with TMC 2209 drivers. One my Ender 3 Pro with auto0.g, auto1.g and auto2.g on SD card, it will execute auto0.g but not the others.

what if you rename auto1.g to auto0.g and run it alone? If there's a problem with the code, it would appear. Each successive auto file could be tested this way.

Thanks, tried that. Each file runs when named auto0.g and is the only file on the SD card. I tried a number of combinations all with the same results.

Thanks, tried that already.  Each independent file will execute when named to auto0.g.


text:
BLTouch not leveling
I installed a BLTouch V3.1 on my Ender 3 which is using Marlin (bugfix 2.0.x) off a Skr mini e3 v2.0. I updated the firmware using a teaching tech video.
I'm having trouble when using bed leveling. It homes everything correctly, and then moves outside the bed before the probe repeatedly deploys and retracts, without the head moving at all. I attached a link to a video here: Bed Leveling Problem
I have a feeling it  must be something in my config files from looking at other answers here but I really don't know. I attached my config files as well. Configuration.h , Configuration_adv.h
I have the BLTouch plugged into the z-stop for the black and white cords. I didn't need to cut any wires or anything since mine came with the endstop connector piece attached, and the other wires in the Zprobe section (Blue, Red, Yellow) to (GND, +5V, PA1) respectively. As for the firmware, I got it directly off the Marlin site: marlinfw.org/meta/download.
Any assistance would be greatly appreciated.

Additional information:
I have connected my printer to PronterFace and recieve the following error when sending a G29
    Reset.
>>> G28
SENDING:G28
>>> G29
SENDING:G29
Error:!! STOP called because of BLTouch error - restart with M999
[ERROR] Error:!! STOP called because of BLTouch error - restart with M999

Error:Probing Failed
[ERROR] Error:Probing Failed

You are mixing and matching a few older techniques. That's understandable, because "older" means "as of three months ago." But there is a better way now: as of version 2.0, the SKR mini has a full, working port for the BLTouch. You do not need to plug it into the z-stop, and you can and should retain your existing z-stop switch.
So:

Power down your printer and get access to your board.
Roll back your hardware changes by unplugging the BLTouch and reattaching the z-stop switch.
Plug the bltouch into the port labelled "z-probe", which is next to the display port. Starting from the pin nearest to the stop switches, the pin order should be Brown, Red, Yellow, Black White.
Optional: instead of the step above, cut the DuPont connectors off the BLTouch cables and crimp a single XH-5Y connector in their place, then plug that into the board.
Download the official BLTouch firmware from SKR mini: https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/firmware/V2.0/firmware-bltouch.bin
Install that firmware: Rename the file to "firmware.bin", unplug any USB cables from your printer, copy the file to a MicroSD, insert the MicroSD into your printer and power it on.

...and then it should work.

Thank you! I followed your instructions and it seems I'm almost good to go. I'm able to run everything for the bltouch ( reset, self-test, deploy, and stow,) and they appear to be working correctly. However, while the probe moves to correct spot now, It still deploys and stows the probe several times while not moving at all.

I test some stuff out a little more and when it sits in place, I do see that its trying to run the leveling, I see a points 1/25 on the lcd but it never goes past that before stopping as if it aborts the leveling

Hmm. Mine homes first, then goes to the first spot for leveling. When you run the BLTouch self test, does it click in and out about ten times? If so, are you confident you got the black and white wires in the right order?

@AbberantAeons I am having this exact same issue. Have you found a resolution??

Thanks a lot fectin!! Your solution works!
In addition, make sure to download the regular BL Touch firmware from BTT, not the one for Z probing as I had done at the begining!
:)


text:
When 3D printing a hollow box, what is the best course of action?
If I need to 3D print a hollow box that can not have any light permeating into the box, what would be the best course of action? Should I 3D print the hollow box as a whole or print out the 6 sides individually and put them together at the end? And if I do the second option, what would be the best way to put the pieces together (design/connect grooves or use glue)?
I am very new to 3D printing so any feedback would be very much appreciated!

If you print it hollow and as a single object, how do you plan to put things inside? which I assume you want to do, since you say no light inside is allowed. Print it as box and lid separately.

3D printing relies on printing solids, it is generally a bad idea to hollow objects yourself, slicers have difficulties when a solid contains internal cavities. You should explain why it needs to be hollow and if you need access to the cavity. Pleas update by [edit] and welcome to 3DPrinting.SE! :-)

That depends very much on what your goal is with the box. If it needs to be hollow and you don't need any access to the inside (and also prefer it to be printed in one piece) than the answer provided by user77232 would probably be the best.
Alternatively, if you need access to the inside of the box you would probably be best off printing the box in two pieces. A box and a lid. This way you can print the box without support and also save on material that would otherwise be used as infill.
The amount of light coming into your box also depends on the translucency of your material and brightness of the light source. To find the required wall thickness would be a matter of testing with the desired material.

Print it as a whole object
Use 20% infill.
Profit!

How is a hollow box hollow if you use 20% infill?

@FarO Indeed, but sometimes people imply "not solid" with hollow, I've left a comment for the OP to explain what is exactly meant. But technically you are right, 20 % infill is not hollow!


text:
Ender 3 with direct drive has severe stringing printing TPU
I recently upgraded my Ender 3 Pro with a direct drive kit, primarily so I can print soft materials like TPU. I bought a spool of Overture TPU to try it out.
I'm getting really bad stringing on every print, to the point where it's pretty much unusable. This is my first time printing with TPU, so I'm at a loss for what to do.
Direct Drive mod -
After modding the printer I did a few prints with PLA, and it works great with very little stringing. So I assume I assembled the mod correctly and that's not the issue.
Material -
Reviews of the Overture TPU on Amazon mostly say it has low stringing and are generally positive, so I'm assuming it's not just bad filament.
Temperature - The consensus in the Amazon reviews seems to be that 230°C is the sweet spot. I did a temperature tower from 205 °C to 230 °C by 5 °C, and the print quality and stringing was pretty much uniform throughout.
Retraction - I tried with retraction off, then with 1 mm, 2 mm, and 6.5 mm, in various combinations with temperature and speed. Results varied in details, but all were pretty bad.
Speed - I tried slowing down to 15 mm/s (from Cura's default of 50). Results got even worse.
Following are photos of a stringing test with various combinations of settings.

PLA for reference - 205 °C - Layer thickness 0.2 mm - Retraction 1 mm

TPU - 205 °C - Layer thickness 0.2 mm - Retraction 2 mm - Print speed 15 mm/s

TPU - 230 °C - Layer thickness 0.2 mm - Retraction 1 mm - Print speed 15 mm/s

TPU - 230 °C - Layer thickness 0.2 mm - Retraction 1 mm

TPU - 230 °C - Layer thickness 0.2 mm - Retraction 2 mm

TPU - 230 °C - Layer thickness 0.2 mm - Retraction 6.5 mm

TPU - 230 °C - Layer thickness 0.12 mm - No retraction

TPU - 240 °C - Layer thickness 0.2 mm - No retraction
Is there something else I should try to reduce stringing? Is it possible that I just got a bad spool of TPU? Or is it more likely something's wrong with my printer?

Due to the flexible characteristics of TPU, stringing is a known "complication" with this material.

 is a video from Matterhackers:

no retraction - stringing is expected
dry filament - ensure the filament hasn't been exposed to the air for extended periods - use an oven or dehydrator if needed

There are many other tutorials and videos covering the process.
Tom Sanladerer has also a video covering the use of flexible filament.

ensure correct alignment of hobbed bolt and feed hole
consider to use a piece of PTFE tubing downstream of drive mechanism
use 3 mm (usually 2.85 mm nowadays) filament for better results (if possible)
bed temp - 40 °C with glue stick on bed
print slower
adjust extrusion multiplier by testing various settings

Obviously some of the above references don't apply or are being observed.

I've deleted my previous comment because it was unnecessarily hostile and not particularly helpful, but I still don't think this is a good answer. The internet, including youtube, reviews of filament, SEO-optimized sites full of fluff articles about 3D printing, and apparently even content from filament manufacturers, is full of unjustified, often contradictory, and outright wrong information about slicing/print settings, and the first video cited by this answer is one of those. It's really disappointing that the vendors selling flex materials don't even know how to use it...

Tom Sanladerer is a much better source for accurate information, but much of the advice you cited is not particular to OP's problem. Bed temperature and extrusion multiplier (assuming the latter hasn't already been cranked up too far) are not going to be the cause of stringing, and filament diameter is outside the scope of what OP can reasonably change. About the only things in this answer that might be relevant to solving OP's problem are points 1, 2, and 5 on the Tom Sanladerer video. I've elaborated in my answer on how they might be involved.

Your printer is capable of printing TPU out of the box, and very well if you upgrade the firmware to Marlin 2.0. That you're having problems like this suggests that you messed something up with the direct drive kit. TPU, being so flexible, is very sensitive to having any excess play in the path between the extruder gear and the hotend. I'm not familar with this particular direct drive kit, but knowing how the Ender 3's bowden tube works, with the PTFE extending all the way to where the nozzle seats, it seems likely that it was removed and replaced as part of the conversion, and if this was not done right, there are all sorts of ways the TPU could kink between the extruder gear and the nozzle, messing up the relationship of extruder moves to actual extrusion, and in particular messing up retraction completely.
Speaking of retraction, it must be on, and properly configured to print anything accurately. When you don't retract, or don't retract sufficiently, there is still high pressure at the nozzle even when you're not trying to extrude anything (during travel moves), and material will exit the nozzle, then will be unavailable to extrude in sufficient quantity where it belongs later. Advice to turn retraction off is just wrong, always.
If you use Marlin 2.0 with Linear Advance and calibrate the spring constant right for TPU, you can use the same retraction distance that works for PLA. If you're stuck with the original firmware that doesn't have it, you need to add to the retraction the length that the TPU will compress when printing at the speed you want to print at (and you will get inaccuracies when speed varies from that). I had to use 12 mm retraction with flexible filaments when using the original Ender 3 firmware and printing around 30 mm/s. This was with the bowden, so the distance needed may vary with your modified setup. (And again, check that nothing is wrong with it! Installation errors or product design flaws seem like the most likely cause here.)
Also, see this self-answer from when I first started printing with flexible filaments on an Ender 3. The biggest problem was the severe over-priming in Cura's default start gcode for the printer, which left so much excess pressure (filament compression) after priming that no amount of retraction would stop the stringing. Fixing that was the single biggest ingredient in getting rid of my stringing problems.

I just installed a direct drive myself and noticed it was stringing.
What fixed it for me was lowering the flow rate. Ultimately the E-steps most likely need to be recalibrated but just turning my flow rate down to 85 % got rid of all the stringing. Basically, I'm over extruding, since my slicer and Octoprint both have options for flow rate modifier I might not even touch the E-steps, and swap between Bowden and direct drive depending on the job.

Something similar happened to me and it was a combination of E steps calibration and a gap between the hot end and the PTFE tube. fixed both and ran a few temperature and retraction towers to set the values that worked for my TPU (sainsmart)
You are charging a lot on how the material is delivered and manipulated by the printer when migrating to a direct drive

This video made it easier for me :)
Hope this helps.


text:
What causes this characteristic pattern and what is it called?
I am using a Qidi Tech 1 (Flashforge Creator Pro). There is no auto bed leveling and I have done my best to tweak it by hand using the screws underneath the heated bed plate.
What is causing this characteristic pattern? This while printing the first layer of some test pattern. I don't know what the end result is supposed to look like.

These "stretch marks" are typically the result of a nozzle that is a little too close to the build surface. Next time levelling be sure to use a thicker piece of paper or allow for less drag when moving the the paper between nozzle and bed.