text:
Layer Shift with a new CoreXY printer
I've started assembling a Sapphire Plus CoreXY printer and produced a nice calibration cube (no layer shift, although a bit of over extrusion in the corner). Then, I started printing a 3D benchy, and got this:

I've checked belt tension and it seems correct (I've printed this belt gauge with another printer and checked that both belts are tensionned the same), with a bass sound when pluked.
I've checked both Z-axis lead screw and it's not 100% perfect (one lead screw has a 1mm deviation on one side when rolled over my desk). When the bed goes down, the effect of the lead screw is only visible when the bed is half the height or more, so it shouldn't matter here.
Also, I had multiple filament breaking before entering the extruder in other prints, so I'm not 100% confident with the extruder.
The machine is a Core XY printer with a Bowden extruder, with linear rails for all axis, and 2 lead screws for Z axis (and 2 stepper motors attached by the same belt). It's level, on a concrete base.

It looks like one XY motor is skipping steps. Check that the current is set to the same value and that both motors turn with the same effort. If the belt skips a tooth you would hear the issue very well, first of all, so that's not a problem to begin with.

I've checked the current and increased it to the max supported by the motors. I've also reduced the jerk setting, and acceleration a bit. It's much better indeed. Feel free to write an answer so I can accept it. Thanks!

Done and added much more

Also remember that the two belts don't need to be tensioned the same... by adjusting tension you can tilt slightly the X axis, in case it's not perfectly perpendicular to the Y axis. You can easily check this by moving (slowly) the printing head from the origin along X, then back, then Y and by marking the points to theck

Shifts in a diagonal direction in CoreXY indicate loss of synch between the two belts.
If it's the belt very loose skipping, you may not hear much but such a loose belt is easy to notice.
If it's the belt a bit loose skipping, you would hear relatively loud noises which make very clear what's happening.
If there are no particular noises, it's the motor skipping steps. One motor move along the X+Y diagonal, one along the X-Y diagonal, so you know which one it is.
If you have missed steps it could be because of excessive friction (maybe one motor is mounted tilted, or it is damaged), or because of excessive acceleration setting, which the motor cannot handle, or because of too low current.
If you decide to increase the current be aware that it may work on simple tests, but during longer prints the stepper driver may overheat and lose steps for self protection.
To check what acceleration and/or current you actually need per each motor and to compare whether motors are significantly different from each other, try this.
Without printing, you set the maximum acceleration relatively high (5000 mm/s^2).
Place a paper square (relatively big) on the printing area, parallel to the axes and tape it.
Align the printing head to one corner of the paper square.
Give a G0 command to move the printing head to the opposite corner of the square (G0 F600 X... Y...) and check that the alignment is correct. Also, only one motor should be moving.
Bring back the head to the opposite corner.
Set the feed rate to high values, like F9000 (150 mm/s) and move the head again. If it reaches the correct spot, the current of the motor is sufficient for that acceleration.
Try for the other diagonal of the square you taped to test the other motor.
You can now reduce the current of the motors which successfully passed the test. If you have Klipper it's super easy and requires only the command "SET_TMC_CURRENT STEPPER=name CURRENT=amps", with Marlin I don't know.
See at what current each stepper fails the test, then decide whether to reduce the acceleration (5000 mm/s^2 is anyway probably too high for your printer frame, you would get artifacts like ringing) or to dial back up the current. I would say that 20% above the current required to pass the test is enough. More than that and you are just overheating the TMC2008.

Unfortunately, the manufacturer does not provide datasheets of the motors used and the product number refers to some obscure chinese manufacturer which does not have one online. I've asked them, and they don't answer cleanly.

I've tried to do that before you answered, and for simple move, no skip is registered. I think it happens with multiple small movement with full speed in-between (with high jerk), so I guess a more complex test case would be required. I wonder if such test case already exist, I haven't found any yet.

@xryl669 You can still perform the test after reducing the current, until it skips. As you say, you cannot use that value to get the optimal acceleration, but you can still use it to compare the two motors and see if one has unusually higher friction.

On this printer, it's a MKS Nano board, and current is set by rotating a potentiometer on the TMC2208 board and it's very painful to do (you have to shut off the machine, tilt it 90°, set the current, tilt it back -90° and test again).

@xryl669 Maybe you could put Klipper on it and be done with the trimmer (Klipper will set parameters via serial), but check well in advance whether the UART pin of the TMC modules is connected to a pin of the CPU. Then you would also gain resonance compensation, which is neat...

Didn't know about Klipper before. Thanks! Indeed, it seems it's possible to install on my printer and a small HW modification should be feasible to have this parameter set by UART

@xryl669 of course you become dependent on a Raspberry Pi 3 or later and Octoprint... but I'm happy with it.


text:
Wave shift pattern on the Z axis
I have a Creality CR-10S Pro V2, I've been printing regularly for one month and then, suddenly, I started to notice waves on the Z axis. They're already noticeable with the test cube but deviation increases with the height and objects are ruined (eSUN Gray PETG 20 mm test cube, printed at VERY low speed):

It was my first attempt to print with PETG then I thought that could be the problem, I cleaned the nozzle (also using eSUN cleaning filament) and switched back to PLA+. The problem is even more evident (eSUN cold white PLA+):

Note how the "wave" pattern matches between the two test cubes. Even if I was printing from less than a month (and "just" 5/6 hours per day, not every day) I thought it might be time for some maintenance:

I fully cleaned the printer.
I checked all the belts.
I checked all the nuts & bolts. A few were loose, including those 4 that "attaches" the horizontal rail (the one that holds the extruder) to the Z axis threaded rods. Loose enough I could screw them with my bare hands (including those two at the left side which are hidden deep inside and they're a pain to reach with tools even removing a the cover).
I fully cleaned the rods and applied lubricant again.

I've got this:

I then moved the printer to the ground and tried again, it helped (possibly a lot) and printing PLA I get a cube almost like the PETG one in the first picture.
I noticed the both threaded rods have some freedom of movement in the Y direction (not the rod itself but the bearing ball they go through at the very top of the printer can move within its plastic enclosure); 0.5/1 mm for the left rod and 1.5/2 mm for the right rod. I don't know if it's an allowed tolerance or the sign that something is wrong (and what).
Searching on-line I read as many opinions as many posts I can find; I wouldn't go and buy replacement parts until I randomly solve the problem. It's frustrating enough to have to deal with it (and a huge amount of material wasted in failed prints and tests) after less than one month of activity...
Update: I secured the two rods using two 0.2 metallic feelers and nothing changed. I still have this shift within the first centimetre (it changes position but it does not go away).
Update 2: everything seems perfectly square (I can't swear this for the rods), cleaned and tight. Everything moves smoothly, and both bed and horizontal bar are fairly leveled. Effect is slightly less noticeable but obviously present.
One concerning point: travel speed was 150 mm/s, if I slow down to 130 mm/s then I can see a slightly less sloped shift; that makes me think that something could be vibrating when moving: top and bottom seem straight and they're printed at a much lower speed (20 mm/s vs 50 mm/s for PLA+, 20 mm/s - 15 mm/s for first layer - vs 30 mm/s for the test cube in PETG; travel speed was 150 mm/s for all of them). I guess that to reduce the printing speed to 10 mm/s for the entire object might help but I wouldn't call it a solution...

No amount of lubrication or flow tuning will improve this. You have a serious mechanical problem, probably with the Z axis roller wheels being unevenly worn/tightened and/or the frame being severely non-square.

@R..GitHubSTOPHELPINGICE you may have a VERY good point here! Roller wheels on the external right side can be moved by hand (and they they won't move the horizontal support - nor they move when the support goes up) while the others are tighter. I'm not sure what to do with them, it's just a screw and tightening it doesn't move it nearer to the vertical bar they should run in

On each side, one of the three wheels is mounted on an eccentric nut which can be turned with a wrench to move it closer to or farther away from the V slot. It needs to be tight enough that there's no play, and generally tighter is better except that it will wear more quickly when overtightened.

@R..GitHubSTOPHELPINGICE spot on!!! I can make it slightly better tightening that eccentric nut but not much, I removed the vertical frame once again and checked if it's in square and...no, absolutely not. The right side (the one on the side of the LCD) gains a couple of mm over 15 cm...
Man, you were completely right! Do you know if it's something that I could fix? There are two small bolts to fix the vertical bar (x axis) to the horizontal one (x axis) but they're in-line and REALLY tight.

Classical layer shift. Your bed is slipping.That means that its belt is loose or much too stiff, or there's friction.

@Trish is right. Since you described it as "wavy" I failed to notice it never actually moves except in one direction. This is almost surely just ordinary layer shift.

@Trish belt seems tight but I am not sure when tight is too much, I can "pinch" it and it resonates. The friction problem could easily be the one, it seems harder to move than it was. Do you have any suggestion for that? If I untight its wheels they won't touch the rail. I guess that to add oil there isn't a great idea...

Awesome!!! That was it!!! It still not perfect but the defect is almost gone, just need to understand how to set it up! Thank you very very much! Would you mind to post it as answer?

This is classic Layer Shift in the Y plane. This happens in one of three cases:

Belt too loose
Belt too tight
Bed movement hindered

The belt should ring and resonate when tapped, giving a nice tune. I haven't really tuned mines, but my ender3 (250 mm bed movement in total) has about a G major.
The bed movement should be, with motors off, easy and smooth. If there are spots where it hangs, you might need to rearrange cabling or check if there is a bad spot on the linear motion system. If the movement is hard, you might need to lessen the pressure. Since the CR10 is pretty much the same as the ender3, the eccentric nuts should be turned so the bed does not wobble or move side to side but not to a degree the friction slows the movement. Carefully tweak here, use increments of about 10° till the layer shift vanishes.
Be careful where you place your printer: cabling can snag on other items or things can brush onto the bed. That should not happen. On the Z-axis it can unplug the X-axis motors and extruder, or in worst case, yank at the heater cartridge and damage it.

source: Stack Exchange

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

sort: votes


text:
"Err: MAXTEMP: E1" when THERMAL_PROTECTION_HOTENDS is disabled
I am trying to port Marlin to my Qidi Tech 1 printer which previously ran Sailfish 7.8. Everything worked fine on the old board, including the temperature sensors.
All cables except for power, LCD, and USB (for flashing) are disconnected. I am still very early on in testing and have yet to plug anything else in.
When uploading Marlin to the board, at first startup I received the following error:
Err: MAXTEMP: E1

PRINTER HALTED
Please Reset

There may be a problem with my configuration. So I commented out all of the thermal runaway protection options since the bed and extruders aren't yet connected:
//#define THERMAL_PROTECTION_HOTENDS
//#define THERMAL_PROTECTION_BED
//#define THERMAL_PROTECTION_CHAMBER

I rebuilt, flashed, reset, and the printer is still telling me that E1 is at MAXTEMP.
Why am I still getting this thermal protection message?
I cleared the EEPROM from the LCD menu in Sailfish before flashing.
This board uses an ATmega2560 and I'm using the default fuses (E:FD, H:D8, L:FF, LOCK:CF).

#define THERMAL_PROTECTION_HOTENDS is for thermal runaway. When the temperature "should" be climbing or falling at a predicable rate, or holding steady once at running temp.
#define HEATER_0_MAXTEMP defines the maximum temperature Marlin will allow the extruder to get to before initiating a shutdown. This is ALWAYS active for an active extruder (E0) This setting is what will throw MAXTEMP if it is exceeded.
MAXTEMP error when there is no heat on is usually from a short in the thermistor cable.

MAXTEMP and MINTEMP are not part of the Thermal Runaway Protection, but separate, equally needed safety nets: Mintemp is meant to make sure that the printer does not try to run cold, Maxtemp is the operational limit of your printer - if the machine tries to go hotter, the firmware denies and shuts down. Maxtemp is usually set to about 235 °C for a lined hotend.
A defective thermosensor can trigger Mintemp and Maxtemp errors by virtue of either shorting or by having no connectivity. The same behavior is exploited in a simple test if the triggers are set: disconnect the leads for unlimited resistance that the board interprets as an absurd high temperature, then short the leads, as 0 Ohm registers as an insanely low temperature.

If this error keeps showing up at operating temps (e.g. 210C) would that imply that the thermistor is bad? (I'm having a similar problem with one of my printers right now).

@user77232 it can point that out, yes. Mintemp and Maxtemp can be triggered manually by disconnecting and shorting the leads of a thermosensor

When I restart my printer it reads 300c. What does shorting the thermistor leads actually cause the temp to read? Would it just read MAX?

@user77232 300°C sounds abotu what a short or near short will read. It should trigger maxtemp a few seconds later.

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


text:
Which digipot is this with the markings "AAJU"
I'm porting Marlin to my Qidi Tech 1 and I'm trying to figure out what part this is. The markings on it read "AAJU". I'm pretty sure its the digital pot to adjust the stepper drivers as there isn't a small adjustable pot on them.

please provide a photo.

I've added one but the chip is too small to properly photograph.

The photo helps a lot (the marking next to it, the position of the chip in general, other chips close to it, the chip itself), but it might help to see also the version number of the board and the complete one, to possibly identify from which board this design derived.

The picture shows, that the marked chip is next to the letters U8 to U12. U is commonly used for Ineparable Assembies, but there are several meanings possible according to the ANSI/IEEE Std 315 (1975). So, let's assume for the moment that this is Assembly 8 to 12.
Note that the X-pot is marked to be down on the right side of each section, right under the sockets, and next to R103 to R107.
The Marking AAJU might belong, according to this reference, to two chips. Both are Voltage uP Supervisory Circuit
AAJU  MAX6339AUT    MAX6339  SOT23-6  Quad Voltage uP Supervisory Circuit
AAJU  MAX6726KASYD3 MAX6726  SOT23-8  Triple Ultra-Low-Voltage uP Supervisory Circuit

The pinout and look of the first chip is very much in line with what I see from the photo:

Sadly, neither a user manual for the board nor the pinout of it seems to be available at the time. My best guess based on these facts is, that it is the Quad Voltage supervisory chip, as the MAX6726 has 8 legs, as the -8 in the entry SOT23-8 indicates.


text:
Sizing belts and rods for a Cartesian printer
Assuming a Cartesian printer with a belt and smooth rod design in which one axis moves another (i.e. the X-axis rails 'sit' on the Y-axis rails), what are the main considerations in sizing the rods and belts?  For example, given a base design using 8 mm diameter rods and 6 mm belts (assume these are the limiting factors of the printer and that the frame, etc. can handle whatever you throw at it), what is roughly the maximum load, print speed and build size that this should be expected to support?  If you were to increase the rod diameters to 10 mm or even 12 mm on one or both axes (assume the steppers could handle the increased load), what would the increased rigidity buy you in terms of maximum speed and/or build size and would 6 mm belts still be appropriate?  Ballpark calculations or rules of thumb are fine as I understand the variables are likely not trivial and am looking more for a rough range of guidance to understand the trade-offs involved.

8 mm rods and 6 mm GT2 belts are generally accepted as a good tradeoff between price and performance, an exact calculation is possible but might not be very relevant if another part is flexing. Also, generally speaking, the smaller the part the sooner it will wear out of specification. Thus your service interval might be higher compared to an over-engineered printer.
In short, it depends on what your goal is, if you desire low maintenance and accurate machine, you might be better off with heavier gauge parts. Obviously, this will also affect the speed of printing.
A 6 mm GT2 belt might have a higher stretch factor compared to a 10 mm belt, but can be mitigated by adjusting the acceleration. In addition, a 10 mm belt has a larger pulley reducing the number of steps per mm, lowering precision. As such you might be better of using two 6 mm belts.
Increased rod size for the print bed will not affect printing speed much but might help with accuracy since the bending modulus is lower. Play around with the calculators below to get an idea of the force your beam will have to withstand. That said, there are a lot of other factors that will flex under load, for example, the bed leveling springs. You can replace them with solid spacers, but that might warp the bed when it heats up.
https://www.engineering.com/calculators/beams.htm
https://www.omnicalculator.com/physics/acceleration
To conclude, I would use the calculators to figure out if the 8 mm rods are within tolerance for the intended speeds and load, but don't forget to look at the overall picture. The quality of parts you choose is one such thing.

The 3D printing revolution started out with the idea/community project to build self-replicating machines:

RepRap was the first of the low-cost 3D printers, and the RepRap Project started the open-source 3D printer revolution. It has become the most widely-used 3D printer among the global members of the Maker Community.
(From RepRap.org)

The main aspects for this project was to build self-replicating machines from cheap and "simple" available materials and making them freely available for the benefit of everyone. The rod solution is a simple and affordable solution for linear motion with fair tolerances.
As far as the rigidity of the X carriage, rods aren't the best solution, increasing rod diameter will surely increase the stiffness, but it will be smaller than a design that uses a (quality) linear rail, these are much stiffer. Note that instead of steel, carbon rods can be used, these are stiff and light and reduce the weight of the carriage, allowing for higher acceleration and speed. The solution of using rods is mainly based on availability and being a cheap solution.
Do note that rods flex much more than linear rails, even when you increase the diameter, this will limit the length of the X-axis.
From all3Dp:

Any decent rail will have far less give. In terms of 3D printing, this leads to greatly reduced backlash and ringing artifacts, yielding cleaner print surfaces and edges.

Belts allow the rotational motion to be transferred into a linear motion. Belt width depends on the force (carriage weight) you need to move. Same as for rods, an increased height will allow for a larger load to be driven/moved, but for a fixed load, the increasing height allows for less stretch and thus less printing defects. Note the different types of belts are available, all having their own stiffness and load bearing capacity.


text:
X axis doesn't lift after levelling
So, I recently installed an inductive sensor to my 3D printer for auto bed levelling and now I'm stuck on Z probe offset as it doesn't seem to do much apart from changing number is given on display for the Z-axis. On tutorials that I watched, after Z homing, the print head lifted and allowed to set Z offset but my 3D printer doesn't do the same thing as in the tutorial. I'm not sure if its a problem in Marlin or a physical issue with my 3D printer. If anyone can help me I will be thankful as I'm stuck on this issue for a few days now. Also how far above the nozzle should the sensor be for it to work and not wipe off the 3D prints.
My 3D printer is a Creality Ender 3, glass bed, SKR 1.4 with Marlin 2.0.x firmware and an inductive sensor (LJ18A3-8-Z/BX-5V).

If it is after leveling/probing, it will never wipe prints off, it will pose a problem with priming though. Note this isn't a Z probe offset problem, instead, this is a Z position problem. Please look into this answer, which describes the Z offset. Note that setting the correct value for this offset is essential for your prints to succeed.

I discovered something which could be the answer to the problem, in Marlin compiling there is:
//#define Z_AFTER_PROBING           2 // Z position after probing is done
You have to uncomment it and change number 2 to how many millimeters you want it to be above the 3D printer bed.


text:
Jagged circles while slicing in Cura
I am having some issues where I am seeing small jagged lines on the final inner walls of G-code generated by Cura, is there anything I can do to try and reduce this.
I am seeing both jagged circles as well as stitching? between some perimeters.
I think this is caused by some interaction between trying to print the top surface of the model and the walls.

Below the red line roughly shows where these are occurring in my model.

I have tried both Cura 4.7 & 4.8 does anyone have suggestions on what I can do to help get rid of these artifacts, or should I not worry about them, I am just concerned about them affecting the strength of my print as this is an engineering component.

possibly an artifact created by the number of walls... have you the same issue if you try less walls?

I require the number of walls to make some of the thin sections of my part solid.

I don't dspute that, but there is something in the geometry that creates an infill movement in between the inner layers and the 3 towards the infill - that's ODD...

I will try when I get home, I was suspicious of interaction with the top layer, I have perimeters set to 5, with alternate extra turned on. The issue appears to happen from the 9th outline which I can only assume is coming from the top surface.

I get this sometimes. Adjust the layer width up or down a bit in order to kill the aliasing. It's also not a huge deal in terms of finished strength; I just hate the way it sounds when laying down "jaggies".

Alternatively, use a good slicer instead.

@towe, what a useful comment, if you are going to be condescending at least make an actual suggestion.

My suggestion: Use a slicer that isn't known to produce erratic g-code on round objects. That the most useful it's going to get if you insist on using obsolete software.


text:
Y-axis layer shifting on my Ender 3
My 3D prints shift along the Y-axis on my Ender 3 3D printer. I don't know what to do. My Y-axis belt is tight, So I don't think that is the problem...

Check for wobble in the X gantry and Y gantry also your Y-axis belt should vibrate like a snare when you pull it and let go. Same goes for your X-axis belt. If that doesn't work see if going back to Cura 4.6 helps (it did for me) and lower your acceleration in Cura (advanced settings movement).

By definition, what are the gantrys?

I'm sorry I mean the hotend plate and the heated bed plate should not wobble so the concentric nuts should be tight but not to tight there are various video's on this. Too tight and the v-wheels will wear down and have to be replaced after a shorter period than normal. Next to that make sure all the screws that hold the frame together are tight if they aren't, it could cause resonance or unnecessary vibration.

Another issue might be layer height and extrusion i ran into minor layershifting today but after tuning my Z-offset i now have perfectly straight layers, try calibrating z-steps and e-steps there are plenty off videos on that. It does look like your layer height is pretty high, and lowering the speed (and or accelaration) with which you print can drastically improve your print quality at the cost of time. Please let me know if this worked.

You have a significant hardware problem.
It might be that your belt is slipping, or your motor is skipping, or your rollers need to be adjusted, cleaned, or replaced.
Quality is a bit potato, so it's hard to say exactly what's going on, but it looks like you are also printing way too hot. That may be compensating for wet filament or poor levelling/zeroing, either of which could lead to the nozzle dragging, possibly leading to skipping. I would expect at least the towers and maybe the print to break free if that were the case though, so I suspect it's a separate issue.


text:
Ender 3 PRO BLTouch V2 perfect on center with small prints but fails on corners or big prints
For my Ender 3 Pro I bought this touch sensor set Chinese clone BLTouch set and changed the printer's firmware to the latest TH3D firmware (first I tried with Creality's original BLTouch firmware but after 4 hours, I never managed to set a correct Z offset, I believe there is a bug or this BLTouch clone isn't compatible with Creality firmware).
After installing TH3D, found the right Z offset, when I print items like this one which stays at the center everything just perfect it sticks well, no strings, strong lines.
But if I try to print something like this which is using almost all the printing table from corner to corner (I need to rotate the print  45° to fit onto the build platform), it's good on center or near to center but not sticking on the corners and first lines are sticking to nozzle (because at the far corners, the nozzle is too far or too close) and makes a mess.
I powered off the printer and adjusted the good old way (with a paper) and re-setted the Z offset accordingly but the result is the same.
According to my research some peoples advised you need to add G29 after G28 to your G-code to get proper solution, I added the code in Cura. When I try adding G29, the printer starts leveling after starting printing, but the "not sticking problem at the corners" still continues.
I tried with both magnetic bed & glass bed, but nothing helped. I was using 200 °C for the nozzle and 60nbsp;°C for the bed, printing speed is 50nbsp;mm/s with Standart quality 0.2nbsp;mm, retraction enabled, mostly using 10nbsp;% infill on my models.
I thougt maybe filament causes this problem, changed filament to another roll but not helped, I also have an Ender 3 V2 (no BLTouch) and tried same model, same filament, same settings on V2 printed perfectly.
This is how my bed looks like according to OctoPrint bed visualizer plugin;

I've watched many tutorial videos and some said you need to adjust your bed with spirit level to make sure it's flat, I even did that and it is just perfectly flat.
I've installed the BLTouch clone 1 week ago and I'm struggling with this problem since then, I believe I'm missing something very obvious or making a realy simple mistake because many people use touch sensors and they are all happy with auto bed leveling.

Following Nathan's answer, I've solved my problem with Nathan's suggestions and the method in  this video.
What I did?

Flashed Creality's original BLTouch firmware to printer
Heated up bed to 60 °C
Leveled bed the old fashion way first, but with slight resistance (you don't have to level perfectly)
Followed the youtube method to find proper Z offset
Opened Cura, Settings->Printer->Manage Printers: and added G29; ABL after G28

Voilâ, now your printer prints perfectly! Enjoying the relieving after 1 week of struggling.

I would suggest you read this, even tho it's a different mainboard it may help.
Next to that you should level the bed the old fashion way first with a paper on the 4 outer corners, it is essential that you do this because ABL can only compensate so much when printing. After that set the Z-offset using a paper and run some bed adhesion test prints and use babysteps.
Level and probe your bed with it being heated up to 60 °C for PLA and 80 °C for PETG, the thermal expansion of the bed can easily mess up the probe data you already have!
Also make sure your ABL functions as Z-endstop; it solved all the issues for me.

If you ever want to upgrade your mainboard for some reason I can highly recommend the SKR mini E3 V2 it has great support for additional sensors.


text:
How to print "readily movable" articulated elephant using Creator Pro 2?
I watched many clips showing printing of an articulated elephant model (e.g. this and this). It seems that those printed elephants can move their legs straight out of the printer without any effort to force the leg to move.
I try printing the exact same elephant model using Creator Pro 2 in the default setting. After finished, the legs of the resulting elephant model stick with its trunk. I have to apply a very strong force to initially move its legs (which almost breaks the bridge between its legs).
So, I wondered if my Creator Pro 2 can print perfectly and readily movable elephant. What setting should I apply to achieve this result?

Can you tell whether it was stuck on on the first layer - or on all layers?
Sounds like it may mostly be slicer issues, e.g. "elephant's foot" (pun not intended) preventing movement.

It seems that the bottommost layer of elephant's trunk was molten onto the topmost layer of the elephant's legs, which blocks the movement of both legs. There is a gap between each leg and the trunk without support. Chances are these unsupport portion of the bottommost layer of trunk will place onto the leg.

can you show a photo?


text:
Measuring Z positioning accuracy
I'm looking for a methodology to easily measure/evaluate Z positioning accuracy, using equipment on hand or easily obtainable such as a high-precision digital caliper. In particular I want to be able to evaluate whether steps (actual motor steps, or some other chosen unit of increment) are uniformly the nominal step height, or whether some are larger than others, and if so whether the irregularity is reproducible. Has anyone worked out a way to attach a caliper or equivalent measurement device sufficiently rigidly to both a fixed point and a moving-in-Z point (e.g. the bed and the gantry on a typical cartesian machine) that the magnitude of individual steps can be read off? Or maybe a high precision laser range finder/interferometer solution is more appropriate, but I'm not sure about cost/availability.
I ask this in the context of recurring concerns about a common overconstained Z axis design (Ender 3 and nearly everything else with V rollers), but this question is intended to be about measuring not mitigations/fixes.
I'd also be interested in opinions on the necessary measurement precision for this measurement to be meaningful. Almost surely errors as small as 5% of the layer height will lead to some visual surface inconsistency, XY dimensional accuracy problems, and weak points for part to break at, which you'd need 10 micro resolution for 0.2 mm layers to see, but I suspect the reality is much worse for lots of printers and even 20 micron resolution or worse might aid in making serious improvements.

Thomas Sanladerer did a test on sensors some years past...

@Trish measuring Z stepper accuracy by moving a sensor using another stepper may not lead to accurate results...

In the world of hobbyist milling machines, a DRO accessory is extremely valuable for improving work flow and accuracy of project builds. The Digital Read Out devices run the gamut from affordable to astonishingly expensive and cover one, two and three axis readouts.
For single axis purposes, some hobbyists will simply find a means to attach a digital caliper, as you've suggested, to the machine with appropriately fabricated brackets. That's one option. For a few dollars more, there are off-the-shelf digital read-outs, such as this one from Amazon:

Six, twelve and twenty-four inch travel options are available with the pictured six inch unit priced at US$39.95, a reasonable figure for 0.01 mm accuracy.
One can purchase pricier models with higher resolution if required.
Brackets included with the device may not fit well to your application and may require modification.
Some DRO devices, such as the one installed on my mini-mill, use physical contact (gears) to read the position information, which means friction and loading of your printer. Other models use micro-engraved glass scales and have minimal friction, but will likely be a bit more expensive.

What you ask is probably not easily doable: you want to measure distances with no more than 1 micron error!
1 micron because assuming 2 mm leadscrew pitch and full steps only, you have 100 full steps per mm (10 microns per step). With 10% error at most you need to measure 1 micron.
What you can do is avoiding measuring distances and rather measure angles to verify that angles are at least equally spaced.
Place a mirror on the shaft of the stepper motor and align a laser and a paper sheet so that the laser reflects on the mirror and reaches a known position on the paper.
Then mark the position of the spot after each step and, with trigonometry, you can calculate the real angle movement per step.
You will need to repeat the alignment every time the laser gets outside the surface of the paper, but you can also use a wall if you prefer. In any case, to cover 360° you need at least 200 measurements...
And obviously take into account measurement errors.

I'm confused what you have in mind regarding "to cover 360°". I don't suspect the motors are a source of inaccuracy; rather that one or more parts of the (overconstrained) linear motion system bind, deflect, compress, etc. in ways that make the overall motion non-uniform. Likewise (as noted in the question) I don't think the necessary accuracy is relative to motor steps unless you're trying to print with layers that fine; it just needs to be relative to desired layer height.

So the mirror ideas as-written in your answer (on motor shaft) doesn't solve the problem I'm asking about, but I suspect it can be adapted somehow using a mirror mounted on the gantry...

Oh I didn't get the goal then... I'll leave the answer but I'm not sure how it could be adapted. Reflection from a mirror on the printing bed to a surface far away may work but I should do the calculations


text:
How is the extrusion rate matched to the movement speed?
A typical line of (depositing) G-code seems to set a maximum speed (F), a new position to move to (X, Y, Z) and a new extrusion distance (giving a filament distance for the move). The F is common for the line of code, and I understand gives a maximum for the XYZE combined speed.
My question is: "How is the extrusion rate synchronised to the movement distance and speed?"
The G-code doesn't seem to have enough information to deal with this, but I've tried looking at a Marlin configuration file and don't see anything obvious there.
To take a really basic example: A 30 mm long single filament, layer height 0.2 mm and width 0.4 mm. A basic slicer will assume 0.2x0.4x30 mm³ total volume, but for each mm of travel you want 0.2x0.4x1 mm³ to be extruded. How is it ensured that this happens regardless of travel speed, without say more being extruded in the first half of travel than the second or vice versa?
It feels like this is dealt with somewhere in the firmware but I don't know where to look. A 'worked' example for a desktop printer or as much detail as you dare would be absolutely perfect. If it helps, I am generally using either an ANet A8 or Ultimaker 3 with the CURA slicer using Marlin-based firmware.

I'm not sure what you mean by "XYZE combined speed", but I wonder if it's the same misconception as in Details of Marlin's feedrate calculation. The feedrate is a regular 3-dimensional velocity in XYZ space which is the maximum rate the printer will attempt to achieve, subject to individual axis feedrate limits (including E) and acceleration profiles.
In any case, the simple answer your question of how the E-axis motion is synchronized with motion in space is no different from how motion along the X-axis is synchronized with motion along the Y-axis. If X and Y motion were just allowed to take place independently up to the desired speed, with no constraint that they happen in step with one another, then the path the print head traveled would not be a straight line but (ideally) the junction of one horizontal or vertical line with one diagonal one or (with acceleration profiles applied) some approximation of that by curves. But of course the X and Y motions do take place in sync with one another. Each spatial coordinate during the move is a function of time computed by the "planner" logic in the printer firmware based (essentially) on the ratio of the magnitude of individual components of the move to the overall length of the move and speed.
In traditional firmware prior to Linear Advance, the E axis is synchronized exactly the same, according to the ratio of the move completed to the whole and the total amount to be extruded. With Linear Advance, that's adjusted by an offset proportional to the current baseline (before applying LA) extrusion speed, to compensate for the filament being compressible and/or its travel path (e.g. a bowden tube) being elastic.

Thank you, this is a really helpful answer. To your first point; Yes, I was indeed making the same mistake with the feedrate calculation, so that is very helpful to have corrected. Regarding the remainder, that all makes good sense. Can I physically see the code of the 'planner' logic in the firmware? I've had a look through but can't see anything that really does what you have described above. Am I also right in thinking that the G-code only overwrites the firmware values if a value is declared? eg. if the LA value (k?) is 0.22 in the firmware, but not defined in the G-code, it's 0.22?


text:
Unable to upload firmware to a new motherboard
I bricked my Tevo Tarantula's controller board, and I've decided to just replace it rather than unbrick it because they are relatively cheap. I recently bought a new MKS GEN L v1.0 board, but I've been unable to flash new firmware onto it. Every time I go to upload the firmware, I get an error just as it begins to upload, saying:
"failed to send command to serial port does not exist or is not connected"

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: ser_send(): write error: sorry no info avail

avrdude: stk500_send(): failed to send command to serial port

avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Any ideas of what the issue could be? I've tried both the USB ports on my computer and using a USB 2.0 hub (I believe my computer ports are both USB 3.0). I've also made sure that I had the correct port selected in Marlin (1.1.8.13).
I also think that its worth mentioning that my bricked board and new board seem to appear differently in the device manager
Bricked:

While my new board appears as this:

The new board also seems to "cut-out" when I first connect it to my computer as well. In the device manager, my computer will indicate that an unknown device is connected, then it will quickly disconnect and disappear, only to reconnect and reappear as pictured above.
Do you guys think there is a hardware issue with the motherboard? Thanks for your help, this is giving me quite the headache!

what is the new Motherboard's type?

Its a Kookye mks gen l v 1.0 from Amazon. It has an lpc1768

https://www.amazon.com/gp/product/B07Y1PPWVC/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

What drivers is Windows using for the new USB connection?

Its using a microsoft driver 10.0.19041.1

Your motherboard is not an MKS GEN L v1.0, it's a MKS SGEN L - unfortunately, a very very naming scheme.
Your board is actually a 32-bit board, and must therefore be flashed with Marlin 2.0, built for the 32-bit board.
The firmware is then updated by placing it on the SD card and restarting the board, as explained in the documentation for Marlin here

Your new board may have a counterfeit FT232R USB-to-serial interface chip, and the Windows update channel has installed hobbled FTDI drivers that won't work with counterfeit chips. The use of counterfeit FT232R chips is very common with budget 3D printer controllers, and FTDI are trying to discourage their use. Because of this, a lot of manufacturers have switched to using the CH340 chip, which does not suffer from this problem, and it looks like your old board used a CH340 chip. Try deleting the device and its drivers, and then installing the Windows setup executable from the following website:
https://www.ftdichip.com/Drivers/VCP.htm
The 2.12.28 drivers will work with counterfeit chips.

Thanks Mick! I will try that tomorrow. Should I install the VCP, D2xx, or the D3xx?

Try the D3xx drivers. The device needs to be presented as a virtual COM port.


text:
Different exposure time for black resin?
I am running test prints on a new Sainsmart Kumitsu KL-9, a large hobby-market resin printer with a price/volume hard to beat.
I had two of the test prints detach from the printing plate and fall into the vat. Standard settings are in place:

I am using a pitch black Elegoo resin. Does black resin generally require thinner slicing, or longer exposure times? The bottle recommends 60s and 8s, matching the default settings for the printer...
Suggestions appreciated!

Transmission in the visible light and UV can be different. If they recommend the same exposure, why doubting it? or did you test and find issues?

Indeed. A few layers attach to the printing plate, and a few layers attach to the transparent bottom of the resin vat. occasionally, there is evidence of the print splitting at a layer (print "slipped" on the XY plane).

Elegoo updated the specs on the Amazon listing to 13-15Seconds and 70 seconds (different from what is listed on the bottle itself), but that still does not work right on a Kumitsu KL9. The mystery continues.


text:
What is the purpose of partial (<100%) backlash correction?
Marlin has an option to fade out the amount of backlash correction, given as BACKLASH_CORRECTION. It is also available in GCode as M425 [F<value>], where 0.0 = none and 1.0 = 100%.
Assuming backlash correction is otherwise well tuned at 100%, when is useful to reduce its effect? Why not always keep it at 100%?

Because tuning 100% correct is unlikely and undercompensating is likely preferable to overcompensating, I guess

That would mean backlash correction is not otherwise well tuned at 100%. In this case, why not reduce the root cause of overcompensation, BACKLASH_DISTANCE_MM?

Wouldn't the same apply to flow rate? The setting is done in the steps/mm, different for each material, but you still have flown rate compensation.

I can think of a use case for a percentage based flow adjustment: it allows hardware independent filament profiles. Different filaments extrude at different rates due to differences in how deep the feeder teeth bite and other factors, but the percentage change per filament may be similar across various machines. Is there a comparable scenario for backlash correction?

Good point. Open a ticket in GitHub marlin repo so that they can let us know, then post here an answer!

The developers explained the use of the M425 code themselves.

We devised a routine for measuring Z backlash automatically during G29
and found that software backlash compensation does wonders for the
first layer. However, this comes at the expense of artifacts on the
rest of the print. In particular, any rapid motions of the motor to
try to take up any backlash will inevitably create a small pause and
vibration, leading to a seam in the print. We devised a smoothing
algorithm that allowed backlash correction to be gradually applied
over a distance, this eliminated any harsh transitions, which again
lead to a huge improvement. Alas, we learned that the feature was very
sensitive to the variances in the printer build, working amazingly
well in some cases, but leading to a degraded quality other printers.
This perhaps is a feature that could be used by someone who wished to
hand tune the algorithm, but not something we could use in a mass
produced printer.
...
"M425 F" sets a value from 0 to 1 which is multiplied by the backlash
distance. This command is meant for use by the slicer, and allows it
to "fade" away the backlash compensation gradually over several
layers, or to turn it off completely after the first layer (with a
"M425 F0").

Interesting. This answers my question, but makes me wonder how correction moves are treated by the planner. Since they're not intended to actually move the mass of the carriage, it seems to me they could be performed nearly instantaneously and ignored by the planner so the surrounding path gets treated as the smooth curve it is rather than a zig zag.

It looks like it actually only adjusts existing segments, which is certainly better than a zig zag going through the planner, but even if BACKLASH_SMOOTHING_MM is undefined, it still takes the length of the first segment.


text:
What is the best technique to improve removing PETG from the print bed?
What is the best technique to improve removing PETG from the print bed?
PETG is known for sticking well to the bed; so well that it does not need a heated bed.  If it weren’t for printing other materials, I would try printing directly on the glass bed instead of a build surface. However, the build surface may help protect the glass from excessive force.
To reduce how strong the PETG sticks to the build surface I’ve reduced the bed temperature to 35 °C. It is easier to remove the skirt and brim by heating the bed up to 90 °C, so that the PETG is soft. However, if one tries to remove the printed object at 90 °C, the printed object is like to distort and ruin.
I did sharpen the putty knife on the top side only. This helps, but it still takes excessive time to remove the print job and clear the bed. The excessive force on the bed from the putty knife seems to increase the need to level the bed. It also seems to affect the flatness of the build surface.
I’m looking for techniques to make it easier and less time consuming to remove the PETG print from the bed.
P.S. Additions after input from answers.

Added keeping the initial Z-height high enough to keep adhesion to the bed from being too high.  This resolved the adhesion to the bed issue, but seemed to make adhesion between layers worse.
Set hot end to 230°C for first layer, then increased hot end temperature to 250°C for better adhesion between layers.

You might want to try a flexible bed liner, spring steel ones can take the temp. I've also used two layers of masking tape, which works quite well, but takes more effort.

What is your build surface exactly if I may ask?

I now use glass with glue stick.

Playing around with the nozzle height will help: back it off until just before you have first layer adhesion issues.  Don't jam the filament into the bed as you might for ABS.  This helps with small prints.  However, my experience has been that if you have a large enough continuous contact area (i.e. more than a few square inches) with the print bed, there will be problems getting the print off.  So I still use painter's tape (in case I have to rip the print off with force) and glue sticks (so that I don't often need to) on my aluminum print bed as I've found that makes it much easier to deal with without damaging either the bed or the print.
You can also try dialing back the heated bed temperature a bit (I think I've got mine set to 70-75 °C for PETG) but that also doesn't eliminate the issue with larger prints.  Also, if I lowered it too much I had problems with first layer adhesion on any size print.
I also have a glass plate that I use for ABS, which I don't use with PETG.  I've read too many accounts of it sticking too well to glass as well (to the point of the plate being destroyed) and didn't want to try using the amount of force on it that I sometimes have to when removing a PETG print.  I also considered trying BuildTak but read accounts of similar issues with it and PETG.  So I stayed with what's been working for me: tape and glue sticks.

Correctly level your bed. Seriously, that's the answer. PETG does stick well, but it only gets difficult to remove if you're smashing the first layer against the bed with a nozzle that's way too close. With the bed leveled properly - using feeler gauges or test prints and a sub-0.1-mm-precision caliper - I have no trouble taking PETG prints off a buildtak-clone bed. Glass should be easier.
If you already have PETG stuck to a build surface you care about and don't want to risk destroying it, try heat, or alternating heat and cold.

Z offset may be an issue.  Already use heat for residue.  Leveling method:see https://3dprinting.stackexchange.com/questions/470/bed-leveling-method/14526#14526

@PerryWebb: I don't see how that helps with the important part of leveling, which is about getting accurate distance between nozzle tip and bed, not just consistent distance between bed and gantry. Technically "leveling" is the latter, but in the context of 3d printing and especially here I mean the former. It's possible for the bed to be level but at the wrong height relative to the nozzle.

I use a feeler gauge to set the Z-height at the origin, then set the dial gauge to zero for that height.  Next is setting the rest of the bed to zero.  I can get it under +/- 0.02mm,  which is about as accurate as the adjustments can do. Of course, changing the Z-height means leveling again.

Assuming you start with the bed level, you should be able to adjust the height just by turning all the adjustment screws by the same amount (you can even compute that amount knowing the pitch). Did you try measuring single-layer tests prints' thicknesses?

Try to lift the nozzle more than you'd do even for PLA. PETG sticks really well to the heated bed. If your bed is already well leveled you can adjust the nozzle position in Z by using Z offsets directly in your slicing software (AFAIK, Cura needs an extra plugin for it, Prusa Slicer has it built-in).
If you have done everything correctly, the PETG model should come out almost by itself just by letting the bed to cool down naturally to 40ºC approx. Be patient.

Raising initial Z-height was the solution from the previous answers.  I printed with the bed temperature at 30°C because, with a build surface on the glass, higher temperature promoted adhesion to the surface.

Spraying Windex (the original formula blue w/ammonia -  not the multisurface, and not the vinegar based) on the build plate and allowing it to dry. I still print PETG on a heated bed, and prints come right off (textured) PEI plate when cooled. Even the skirt lifts right off.

Make sure to use a flexable print bed - when printing is finished wait a few minutes so it can cool down, take the print bed off of the build plate and flex it so the print just pops off for the most part. I also use a laminated PEI sheet over the bed plate


text:
CR-10 S Pro bed heating problems
I've had my bed continually heat up and not stop. I have replaced the SSR and replaced it with an identical-looking one and also replaced it with a MOSFET.

Hi, and welcome to 3DP. Please take the tour and consider how you might improve your question. Please list details about your make and model of printer this is, what flavor and version of firmware you're using, and any other information that can help us give you a helpful answer.

Does it report accurate temps? Sounds like the temp sensor is out.

In that case TRP is not active, else it wouldn't keep heating, and firmware should be updated before even continuing.


text:
Long Print with Lotmaxx SC-10
I am trying to print something that might take 15 hours. I don't want to risk my printer so if I print for 15 hours, what is the worst that can happen? So far, I haven't printed anything for more than 5 hours.

Hi, and welcome to 3DP. Please take the tour and consider how you might improve your question. This might be a better fit if you change it to ask "What's the worst thing you've seen happen during an unattended print?" instead, so that answers will be less conjecture and more fact-based.

As long as your printer is well designed as far as safety and you didn't get one without thermal runaway protection you should be fine. Worse case scenario: you have a big mess to clean up and a lot of wasted filament.

I've printed jobs taking as long as 50 hours over a weekend using a German Reprap x400.

Used a large enough UPS to support the printer and the computer.
Printed the gcode file from a USB card instead of the computer, so that a computer update or reboot doesn't interfere with the print. [If you can't print from media independent of the computer, you can disconnect your computer from the network and/or internet.]

Overnight prints still fail sometimes, probably from power issues the UPS doesn't filter out.  Often this means the filament material melts all over the hot end instead of sticking to the print on the bed and leaves a mess to clean up.
Other than that, I'm not sure of the risk for your particular printer model.


text:
Output of G29 bed leveling, Marlin 2.0
I want to check how stable the output of the bedleveling protocol G29 was by running it multiple times. When running it four times, I got this as subsequent output
Recv: Bilinear Leveling Grid:
Recv:       0      1      2
Recv:  0 -0.056 -0.475 -0.605
Recv:  1 +0.124 -0.349 -0.595
Recv:  2 -0.023 -0.344 -0.673
Recv:

Recv:       0      1      2
Recv:  0 +0.218 -0.183 -0.325
Recv:  1 +0.399 -0.073 -0.328
Recv:  2 +0.251 -0.072 -0.399
Recv:

Recv:       0      1      2
Recv:  0 +0.498 +0.090 -0.049
Recv:  1 +0.677 +0.211 -0.038
Recv:  2 +0.531 +0.217 -0.117

Recv: Bilinear Leveling Grid:
Recv:       0      1      2
Recv:  0 +0.772 +0.368 +0.222
Recv:  1 +0.949 +0.482 +0.231
Recv:  2 +0.806 +0.495 +0.154

Which are quite unstable, and strange results. It seems as if there is an increment of around +0.27/0.28 for each probe point in the next iteration. How can this happen? What are the right bed level settings right now?

Printer: Anet A6
Probe: BLTouch
Software: Marlin 2.0
Bed level mode: Bilinear
Amount of probe points: 3x3
Probe surface: glass bed

For reference, here are the Configuration.h and the Configuration_adv.h.

Actually the sensor reads the bed correctly in terms of shape, not in actual reproducible distance.
Plotting the grids:

Results in pretty much the same shapes, so, when correcting for the maximum displacement and plotting all results in a single graph gives:

So the sensor does seem to produce reproducible bed geometry, but not the actual values.
Misinterpreting your initial question I assumed a default Anet sensor, this  official ROKO SN04-N sensor is reported to not be very accurate and has a maximum hysteresis of 10 % error of the detecting distance, which is 10 % of 5 mm (so ± 0.5 mm). The overall maximum measurement is in grid 4 with a value of 0.949 mm and in grid 1 with a value of 0.124 mm;  0.949 mm - 0.124 mm = 0.825 mm is well within the ± 0.5 mm. This seems odd as the hysteresis should be in play on all measurements as the probe goes up and down. I've used this sensor myself, but replaced it for a more reliable sensor like the LJ18A3-8-Z/BX.
Now that it is clear that an accurate sensor is being used, there might be some play/backlash present in your printer. You should check the probe mount and the Z-axis.

Oh wow @0scar, how sweet of you to take this effort in the plotting! I agree with you that it seems to get the overal 'shape' of the bed. Note however that I am using the BLTouch, which seems pretty accurate seen from the M48 results (I believe 0.0009 standard deviation).
I will see if I can do this test again, but then add a G28 in between the results.. or maybe an M500 command. I can imagine that the routine somehow accumulates all the measurements

@zwep I read Anet A6 probe, now I understand that you mean printer Anet A6 and a BLTouch probe and BLTouch software! Sorry for the miscommunication, I'll alter the answer, but the main message will be the same, you need to check the bracket and the Z-axis for play or hysteresis/backlash.

Hi, just did an additional test with MULTIPLE_PROBING set to 3 and this gave consistent results!


text:
preventing my printer nozzle from getting too dull, from nothing but PLA filament
I had a new Extruder tip on my Ender 3 3D printer. the tip looked like the left tip in the below image. After I have been using it for about 5 months, the tip got dull/flat, like the tip on the right in the below image.
The only filament I have used is a spool of  PLA (from hatchbox) and a spool of PETG (from sain-smart)
About the Filament
From the time that I replaced the tip, to now, i have only used my 1 spool of PLA filament.
I don't believe it has any carbon-fiber in it, the only other things I can think of, are that the filament has a tough time sticking to the bed, so I have to print pretty close to the bed.
3D prints using my PLA filament

my PLA filament

I don't 3D print a terribly large amount, Is it normal to have to be replacing the pen this often?
How do I prevent my extruder tip from getting dull so soon? Is there a way to prevent the pen tip from getting dull at all?
Images:

I realize the pictures are only illustrations emphasizing the kind of change you see, but since a change that severe isn't plausible, it would be helpful to see photos or some sort of measurement of the actual change you're experiencing. How many nozzles has this happened to? Are you sure you didn't just get differently shaped ones to begin with (there are at least 2 common versions with same orifice diameter but different tip shape).

@R..GitHubSTOPHELPINGICE it's feasible: that's about 1 mm, and 0.6 kg of Carbonfiber filled filament do about that to a printer nozzle.

@Trish: wow, is that from combing over the already printed material?

@R..GitHubSTOPHELPINGICE it's from printing carbonfiber filled PLA (worst offender in being abrasive) alone. They used a circle or cylinder as a test shape, so the ground is somewhat even.

are you sure that you have gotten the right stuff? Hatchbox PLA should not be that abrasive, and that nozzle really has seen a super abrasive filament.

Im sure. @Trish

Black? Or what color?

Yes. Black PLA. @Trish

That's extremely atypical. I printed about 10 spools or such on my current nozzle and lost not any brass. Could you show a picture of a print and/or a piece of filament?

Ok, the new pictures stun me... that is the result of that very sort of filament only? No woodfill or other filled filament, no glow in the dark, nothing ever?

Nope. Just plain ordinary PLA. @Trish

I bet you have way too smooshed 1st layers. That brass looks cheap too, better nozzles last longer. for PLA, get one of those magnetically removable flexible build plates. I haven't touched gluesticks or hairspray since I invested in one; love it for PLA. Only downside is that you can't heat the bed past 70C.

Your extruder nozzle will wear from the inside out if you are using abrasive filaments, which include carbon fiber, wood type filaments, glow-in-the-dark and many other types.
Because they are abrasive, removing material from the inside also thins the cone shape of the outside (point) of the nozzle.
The solution is to not use abrasive filaments, or to use a hardened nozzle specifically manufactured for abrasive filaments, or to change the nozzle frequently.
If this is a 3D printing pen as your post suggests, please clarify, as the answer is likely to change but only slightly. If this is a nozzle for a 3D printer, consider to edit your question to reflect thusly.

OP claims to use an ender3. possibly an exotic filled pla or glow in the dark...

in a printer
abrasive filament
You probably are using an abrasive filament. The most loss on abrasive filament happens when the nozzle runs over the printed material as it extrudes and less from the bore itself. As a result, the nozzles get ground up from the tip. How carbon-fiber filled PLA grinds away nozzles can be seen on this page of the Olsson Ruby webpage (no affiliation), where they printed circles till the nozzles were ground away half a millimeter: it took just 300 grams for brass, a kilo for stainless steel and 4 kg for hardened steel.

To reduce the wear of the nozzle, one can swap to such from harder material (as seen above), for example, stainless steel or hardened steel, which then needs to get replaced less often. On the flipside, the machining of these materials is harder and thus the nozzle costs more.
The only way to get virtually no nozzle grind-up from printing abrasive material - especially PC filled - would be to go for a ruby nozzle.
mechanical damage
In case you have misleveled your bed and print too close, you might also ram your nozzle into the bed to a point that the mechanical impact dulls your nozzle. Make sure your bed is leveled properly.
in a 3D-pen
3D pens often come with really soft nozzles and mishandling - as in pushing against a surface - can grind their tips faster than a normal printer would. The other things still apply.

@XBuilder that would mean you have set our printer up in a way that literally rams it into the build platform again and again

Well, honestly, either my PLA has something in it (which from where i bought it from) is unlikely, or some sort of mechanical damage. I don't know what else would have caused it to wear down like that so fast. @Trish

@XBuilder which is exactly what baffles me so much. Either the PLA is filled with something as abrasive as fiberglass or the nozzle gets damaged... which would happen at the start of the print usually... Would you do me a favor and possibly swap the nozzle, measure its stick out, level, repeat the measurement and then do a test cube, then measure again?


text:
Parts of print sticking to FEP bottom of resin tray instead of print plate
In a print composed of three rows of parts, the center row is sticking to the bottom of the resin tray instead of the the print plate. I have tried the print five times with similar results.
These pictures include the best and worst results:

Any ideas as to cause? Should I clean the transparent sheet at the bottom of the resin tray in any special way?
I found a great video providing solutions, and I am trying them one by one, UN-STUCK your 3D Prints, and keep prints from sticking. (REAL QUICK).
I am narrowing it down to the resin, or the printer/resin combination. The printer is a Sain Smart Kumitsu KL9, the resin is the Elegoo 3D Rapid Resin, notably in Black

Please post your printer's settings in order to better understand what's happening.

Have you tried printing diagonally using supports to minimise the area on contact with the FEP?

Please: (1) [edit] your question and put additional info there and not in the comments (that is not what the comments are for); (2) If you have found a solution in the links that you added, please post it as an answer, and (3) Which image is the best and which image is the worst results? Is the image on the left the worst results - it is pretty hard to tell. To clarify, [edit] the question and add image descriptions.  Many thanks.

Left is a plate (best), right is the worst (FEP sheet). It is pretty clear when you think about it. And the additional info was in comments as the intent was making it part of the answer, not of the question.

In my experience, when I had the same issue happening it was because my first layers exposure time what too short.
I was experimenting with bottom exposure time (in order to reduce the elephant foot) and sometimes, with very low exposure's time, I had failed prints that didn't even adhere to the print plate and remained stuck to the FEP (exactly as it happened to you).
Try increasing the bottom exposure time and check the exposure times your resin's manufacturer is providing.

Posting requests for information for the OP should be done in the comment section of the question. When you reach 50 reputation you'll be able to do yourself, I've put it in comments for you.

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


text:
Under extrusion on one side, but only while printing support material
Trying to print a bracket for pliers, however the support material on the left side always fails by under extruding. The model is left-right symetrical, so the support is the same for both sides. However, only the right side prints flawlessly, while the left side barely extrudes any material at all. So far, I have tried increasing the extrusion multiplier to 125% (from default 109% - actually resulted in less support printed on left side), increasing the density of the support material and reducing retraction distance while increasing the retraction speed. I cannot get the left side support to print properly. The actual model prints without any issue, only the support material is failing to print.
I am using a Flashforge Creator Pro and Flashprint slicer software.
I allowed one of the prints to finish, pausing numerous times to add/adjust some tape to the almost non-existent left support structure to help hold it together. Once it reached the top part of the model where it printed the overhanging portion, it printed near-perfect, with some minor under-extrusion along the way (as seen in the first image)

I can't remember the exact settings used for each attempt, but I can recall (mostly) the settings I adjusted

^^ Default extrusion multiplier (109%)

^^ 116% extrusion multiplier (little perceivable difference to default)

^^ 125% extrusion multiplier (less extruded support material)

^^ Left side support failing to print, right side perfect

I have noticed there is a delay between when the extruder "starts" extruding and filament actually coming out. The print head moves during this time as though expecting filament to be extruding resulting in the first few cm being under-extruded, or not extruded at all.

Almost surely the slicer is skipping retraction in support, thereby oozing out all the material that's needed somewhere else. Classic bad Cura behavior. Wouldn't be surprised if Flashprint does it too.

Thanks. I have since noticed there is a delay between when the extruder "starts" extruding and filament actually coming out. The print head still moves during this time resulting in the first few cm being under extruded, or not extruded at all

Another supposed cause for this type of problem is moisture in your filament. My guess at the mechanism would be water absorbing lots of the energy intended to heat and melt the filament after unretract due to its high specific heat and phase transition energy, only allowing the filament to start flowing once it's all boiled off.


text:
Specifications of Prusa Mini X-Axis Belt
My Prusa Mini arrived with a defective X axis belt. I can order a replacement and it is covered by warranty. But I would also like to know its specifications. This information is available on the store page for the MK3 but not the Mini.

You might just ask them... They are pretty responsive to email or questions on their web site.

To be sure you could measure the width and the tooth spacing (pitch). The most probable and used belt in 3D printers is the GT2 6 mm belt. The teeth are spaced 2 mm and the width is 6 mm.


text:
Horizontal faces not generated in Cura
I've never used a 3D printer before. I'm trying to print the calibration cube  found on Thingiverse. After the process finished, I noticed that the face pointing up that forms the inset at the base of the letters Y and X was not printed and I could see a hole. The same for the faces pointing down at the top of the letters. At first I thought that it was a printer issue, then I checked the relevant slices and I found out that those faces are not built at all in Cura:

If I do the same in the Prusa slicer, I get the necessary base:

How do I get the same in Cura?
How is this setting called?

Cura has several settings that can cause it to erroneously omit small top/bottom surface "skins". Look for preshrink ("Skin Removal Width"), expansion ("Skin Expand Distance"), and particularly the limits on when expansion takes place ("Maximum Skin Angle/Minimum Skin Width for Expansion").
Normally Cura shrinks then expands skins by the same amount, proportional to line width, to avoid generating skin (which is slow to print and harms layer adhesion when mixed with walls) in places where the walls will already cover it. But the recently added max-angle/min-width settings cause the expansion to be skipped in certain places, leaving just the shrinking, and thereby serious gaps in the surface. This feature is just misguided and should be disabled by setting the min width to 0.
If you still have problems after that, you can try lowering both the shrink and expand, possibly even all the way to 0, but this will harm print quality and shouldn't be necessary.


text:
Cleaning the nozzle every Xth layer G-code
I want to make a G-code script for Cura to clean the nozzle every Xth layer or every one minute?
With Cura there is only start and end G-code, so there is no "layer change" G-code like another slicer (e.g. Ideamaker).
Where should I write the code?
How can I define the Layer number?

just as a side note. Is this something that you would want your printer to do automatically without needing to resort to g-code modifications? I'm asking.. er... for a "friend".

yes the Printer should do this automatically, you have to write the G-code in the Slicer (Cura) and every time you  slice the written G-code will be automatic there! sometimes you have to be careful, if you change the Template the Orginal G-code will be used! just look if you still have the same G-code!

Not an answer, but if your nozzle is getting dirty during your print, it means there is a significant amount of material that came out of the extruder that did not bond where it was supposed to. This means the part was not printed right, and does not have the structural properties it should. You should probably try to figure out why that's happening and fix it, and if you do, you'll probably find that you no longer need to clean the nozzle.

Cura now has a setting "Wipe Nozzle Between Layers", located in the Experimental settings group. it requires the installation of a wipe brush or wipe surface that is fixed to the x axis at a certain x position and moves with it the y and z directions. You can find suitable 3D printable nozzle brush holders for most 3D printers.
It does more or less exactly what you are looking for, just that you do not specify nozzle cleaning intervals "every Xth layer or every one minute" as you want but by print volume – see sub-setting "Material Volume Between Wipes". B setting this to a very small value, you can however force a wipe after every single layer, as that is the hardcoded maximum number of wipes that this setting will generate.
For a good article explaining the setting in depth, see "Cura Wipe Nozzle Between Layers" by Martin Lütkemeyer.

There are extensions for Cura that can do almost what you want to do for you (with respect to the layer or height).
You need to add post-processing scripts to the Cura slicer. You do that from the top menu options Extensions -> Post Processing -> Modify G-Code and then add the option of choice.
E.g. for an event at every layer change you should use script "Insert at layer change" and fill out the G-code you want to perform.
There are options to write your own extension, but that would require some software development skills.
Optionally, you could use the "ChangeAtZ" script to add absurd temperature changes of the extruder to post process that later by a simple e.g. Python script (outside Cura) to replace those actions with the cleaning actions you want to perform. But, when you can do that, you could write a script outside Cura to detect the layers (e.g. from the comments or from the layer change command G1 Zxx) and insert that right away.
For inserting this on the basis of time would be very difficult, it is difficult to estimate the time printing actions take to then inject such a script.

If you want to add markers, just add comments instead of adding absurd temperature changes.

@fectin That script won't add solely comments, so inserting a absurd/strange/"other than the used" temperature is a viable solution I've used in the past.

ahh, gotcha. Maybe use one of the statuses instead, like M113? Or a beep with M300?


text:
How to remove a resin print stuck to the FEP tray bottom
With a resin printer, the print will occasionally adhere to the bottom sheet of the resin tray (the FEP transparent sheet), instead of the stainless print plate.
How does one remove the failed print from the FEP sheet without causing damage?

Wash the resin tray in the normal way, with hot water and dish soap. Once the FEP sheet is warm, run a finger alongside the bottom of the sheet, opposite the side where the failed print is stuck. The slight warping of the FEP sheet will cause the print to come loose. If this does not occur the first time, try again. Proceed patiently and delicately, making sure to wait for the FEP sheet to be sufficiently warm.


text:
3D printer homing issue, nozzle damaging the bed when printing
I have a custom Cartesian style 3D printer. The controller board has been upgraded to a BIGTREETECH SKR V 1.4 Turbo. This is a 32 bit board.
Marlin 2.0.3 seemed to build and install with less issues than others. I'm using VS code to work with Marlin. My big problem is with homing all axis. For some reason the Z axis finishes with the extruder 6 mm above the bed. The extruder goes below the bed to start printing. It's damaging the bed. What can be done in Marlin 2.0.3 to fix it?

Welcome to 3DPrinting.SE! Does this printer have a leveling sensor for automatic bed leveling? Homing is pretty straight forward, the endstops are triggered by forcing the carriage to move to the minimum position on each of the axes. From that point offsets are defined to take you to the printer origin. Note that the Z is by default raised after homing for many configurations. Please provide some more information, e.g. do you use a leveling sensor, a link to your config and config adv on PasteBin.

What can be done to fix similar issues? - I provided guidelines in the answer To few information to give more detailed hints.  (I hope and suppose that author already fixed his issue, and this question could be closed.)

For some reason the Z axis finishes homing with the extruder 6 mm above the bed.

If homing Z axes seems proper - i.e. nozzle is "touching" the bed during proces, and not going below the bed level) - then homing may be correct. Otherwise do troubleshooting, as has been suggested in comments. Check also the offset and backoff settings. All these should allow to explain these 6 mm.

The extruder goes below the bed to start printing.

Follow this checklist about starting point to find out any other reasons which could come into play when printing starts.


text:
Ender 3 unknown (maybe bed leveling) issue
I halfway feel like I walked into a landmine, neighbor's kid saved up and bought an Ender 3 base model printer.  Just before it was given to me he installed a BL touch I bought him in exchange for him printing some parts I was modeling and so our story starts...don't think I can go into my full sob story so I'm going try and cut to the chase but I have little knowledge of how this is put together and coming in in the middle and backpaddling whether is was put together correctly.
As a 3D modeler I attempted to print a demo file or two in preparation to print a case for a raspberry pi camera I've been working on during COVID.  At some point during the print while I wasn't around the bed flew off, and there was an inch of plastic melted around the head.  Long story short I spent the last week finding, buying and replacing the whole hot end assembly as it was cheaper then repairing it.  So now I believe I'm back to square one.
While watching something print, I noticed the PLA wasn't getting bunched off on one part of the print so I stopped it before a repeat of earlier in the month happened.  While sitting on the floor I began to notice the right side of the bar where the hot end/nozzle attaches is about 1 cm or so higher then the right.  As I have no frame of reference I'm hoping someone can confirm whether that should be the case.
Raising the Z to the top and measuring to that cross bar  I don't know that it's the bed but I don't have a small enough level to put on the bed.
I'm seeing if I print something like a calibration cube it's printing OK, but if I go for something wider like 3D Benchy or my camera case the filament only touches on one part of the bed.  This is occurring on both the original bed and the glass bed I installed and readjusted the Z for.
Sorry...Hope that's not TMI, there's a lot going on.  Also I'm using a spool of Hatchbox PLA if that matters and the new hot end is a Creality one from Microcenter as I didn't trust what was on Amazon to be 'authentic'.

Welcome to 3DPrinting.SE! Checking for bubble level is not necessary, you need to provide a square set of axes (X, Y and Z). Also, the axis need to be kept straight and square at all times, often with the portal roller style gantries, the X-axis isn't keeping the same distance over the X-axis as a result of a single side driven Z screw and issues with roller pressure.

Non-square gantry is a common problem with the Ender 3. You should be able to compensate by adjusting the bed leveling screws so that the nozzle at Z=0 is touching the bed at each of the four adjustment points. This will leave some skew, which you may or may not care about. But the right thing to do is leveling the gantry.
Both sides' Z carriages have some play in how the gantry mounts to them - the holes are larger than the machine screws that go through them - so after loosening the screws you can make adjustments. The screws on the side with the Z motor are hidden between the carriage and Z axis extrusion it rolls on, so to adjust it you need to roll the whole assembly off the top of the printer (with the cross beam at the top removed). Since you can't tighten it in-place, you just have to do your best to get it straight before putting it back on. The unpowered side, however, has screws that are reachable with the whole assembly in place, so you can square the gantry with the Z extrusions before tightening them.
Keep in mind that the whole Z axis system is severely over-constrained, with 6 wheels where 3 should suffice to constrain it. People have a lot of different ideas about how you should deal with this, and I'm still not sure what's best, but I think you want to get each of the V-roller sets tight (using the eccentric nuts to adjust the inner wheels) before leveling and tightening down the gantry. Otherwise the wheels may have uneven tension, causing the assembly to want to twist.

I wouldn't be the first Ender 3 with a skew gantry caused by the single Z stepper and the V-roller issues!


text:
Determining exposure time for resin
When a resin comes without a proper data sheet (!), or more likely when the timing for first layer and default layer exposure do not match your LED resin printer, how do you go about determining ideal exposure times?

could you let us know what printer you have. it can have an impact on the answer.

Safety advise: if you don't get an MSDS on the can and can't find it on the internet by the supplier, DON'T USE IT

Short answer: Use a calibration test.
Long answer: There are a bunch of calibration test files out there you can run. Ameralabs has a guide on how to read one of them and they have a link to download the STL at the bottom of the website. In short, the test file will print with a bunch of features that are hard for the printer to handle (thin posts, angles, small gaps, etc). You can try printing a test file like you would any other file while just guessing at the exposure time. But some printers have a setting just for this where you can run the printer once and print 8 copies of the same object each with a different exposure time. This is the best way to go if you can. either way, you will need to look at the prints when you are done and compare it to what it was supposed to look like. Pick the print that does the best in all types of features on the test.
here is a video showing how to do the test with multiple prints at once. Anycubic Photon S - Resin Exposure Test - R_E_R_F with custom timing
running these calibration tests can be useful even when you have a data sheet for your printer, it can account for other variables such a temperature. I don't usually bother but if you want to spend the time to get the best print you can it's a good idea.


text:
Cura: How to prevent my 3D printer from auto cooling after prints
Is there a setting or G-code, to prevent Ultimaker Cura from setting the nozzle and build plate temperatures to 0? I have looked and have not found anything in the printer beginning/ending G-code, print settings, etc...
Would this have something to do with it?

Cura will skip emitting the heat-up gcode at the beginning if your custom start gcode contains variable expansions for temperature, but I don't know if there's anything comparable for end gcode. This is actually really annoying. You might need a postprocessing script to fix it.

Playing with the settings, I can keep the build plate hot, but the hotend still gets reset.

It is a fire hazard to not turn off the hotend after the print.

In CuraEngine's FffGcodeWriter::finalize method, G-code to zero the bed and enclosure temperature is only written if the machine profile defines a heated bed/enclosure, so you could in theory avoid the cooldown by telling Cura your machine doesn't and putting the heatup commands in your custom start gcode instead of letting Cura emit them itself. However it unconditionally zeros all of the hotend temperatures, and does this after emitting your custom end G-code, so you can't even turn the hotend back on from there. The only way to undo Cura's insistence on turning it off is with some sort of postprocessing.
Update: There's actually a way to fix this purely at the configuration/profile level! Set machine_nozzle_temp_enabled ("Enable Nozzle Temperature Control") to false (off) and Cura will not emit any M104/M109 temperature commands. You can then put whatever temperature commands you do or don't want in your start/end gcode.

The insistence on turning off the hotend is a fire safety thing.

@Trish: Yes, but that can be handled better in the firmware or print server (preferably independenly in both, so if either one fails on its own the other works as a fallback) as an inactivity timeout rather than an immediate cooldown (which messes up immediate second print; even if you rapidly re-select "preheat" it's cooled down to 160 or so already).

It's actually rather odd that Cura doesn't have an option to disable hotend temperature controls entirely, since presumably some people will use it with non-heated extruders for pastes that are viscous but flow at room temperature.

And... it turns out it does! Updated answer with new info.


text:
Limit X axis due to direct drive
Recently I printed this direct drive mod and installed into my Ender 3.
After installation, the stepper motor constantly bangs into the right Z frame of the printer. I have already set the bed X axis size to 190 mm within Cura slicer and my OctoPi printer profile but when homing, it will home to left and move towards right at a fairly fast speed and "BANG", I can hear the motor skipping a few steps, not sure how to proceed from here...

What flavor and version of firmware are you running?

A photo would be welcome also! It homes in the correct direction, I'm curious why it moves instantly to the right, a link to a video might be interesting to.

Try using a pancake stepper I heard those work quite well, they do have less torque but you can overcome that with gear ratio's like on the bondtech extruders. It should be thin enough so you can use the full volume again. If you dont think that's worth it you should move you X-axis endstop since the homing is where it goes wrong, as far as firmware goes I can't help you in that aspect as well as other would be able too. I hope this helps.


text:
Ender 3 Pro with BLTouch bed leveling stops after 1 test (Marlin 2.0.7.2)
I have an Ender 3 Pro with the BLTouch installed. Firmware is Marlin 2.0.7.2. I followed this instruction.
When I start the bed leveling it will go to the center, check it twice and then return to the home position. When I did this with the firmware from Creality it would check 9 different points. I would expect this also from this firmware.
In the Configuration.h I have this setting:
#define GRID_MAX_POINTS_X 3

so I would expect 9 tests.
I double check everyting with the video. The only difference is that the video is based on an older version. The setting
#define MIN_PROBE_EDGE = 10

is missing in firmware 2.0.7.2.
Is there maybe a new setting that I should enable/disable?

obviously, something in the frmware is wrong. Without knowing your firmware settings we can't help. Please copy the firmware settings to a pastebin.

Have you looked into the configuration file and overseen #define PROBING_MARGIN 10 :-) This is not the problem however!

https://pastebin.com/r2r0yhes


text:
BLTouch Fails & Scraping at the Left Side of the Table
Using the following:

Printer : Ender 3 PRO - 2019 1.1.4 non-silent board
Firmware : Official Creality Ender 3 PRO - BLTouch version
Bed : Original Creality Glass Bed
Nozzle : Original Stock - there isn't any upgrade
Filament : Porima PLA Red
Hotend : 210 °C
Bed : 60 °C
BLTouch : Official Creality V3.1 Smart
Z Offset : -3.50 mm which keeps nozzle's distance as 0.2 mm from bed while printing first layers
Test Model : Ender 3 Damping Feets 100 % infill - 105 % flow rate - 60 mm/s printing speed

This morning I realized that my nozzle is scraping to bed while it's printing left side to the table, I'm using a BLTouch and this shouldn't be happening right?
Any ideas what could cause this and how I can fix it?

that bed is extremely unlevel...

i'm aware of that but that is the purpose of bltouch right?

not really: you need to level your bed, then  Mesh Bed Leveling G29 can help to mitigate unevenness. But that bed is for the big part not level to the X-axis at all.

@Trish oh i see now, i thought bltouch can set nozzle's height on no matter how your bed is wrong, let me try after level my bed manually.

@Trish leveled my bed with old way (using piece of A4 paper) and started to print same model, seems like skirt and first layers are much better (not perfect but i'll get there), excuse my ignorance but the thing that i don't understand is if bltouch couldn't save us from leveling bed manually, then why we are paying for it? if i need to level my bed manually in time, why i need to use bltouch anyway, i'm accepting that it has limitations but it should cover you anyway.

This left bed side issue could be caused by the poor design of the Ender 3 (portal printer single side Z lead screw and counter rolling guide post) in conjunction with the way the bed is probed and the hysteresis of the gantry. The second photo issue could well a result of an imperfection of the bed, a local bump, which cannot be filtered out with insufficient probing points or the firmware bed leveling option.

Thanks for your suggestion, i'm simply removing magnetic pad and putting glass bed on to table, but when i do that i realised there are some white dots like dust which stoned by the heat of the bed, so i've tried to remove by my hand but they were so solid and hard to remove, i thought glass bed is heavy & solid, it's not like magnetic pad so it can not make bumps. Are those little dust balls could cause this kind of thing?

second thought : should i replace the table with a new one?. Becuase i bought this printer as second hand(i can't afford a brand new one), the store was using this printer as demo printer to show customers what ender 3 pro can capable of.

@Sheshman no, you need to swap your firmware to one with more probing points.

@Trish what is your choice? Marlin or TH3D?

@Sheshman Th3D is a set up Marlin. I based my (1.9) firmware on the Th3D

TH3D is a modified version of Marlin, note that this is created for people that don't want to go through the whole configuration; it centralized most options by choosing a few options. Note that this is not always working when you see some questions raised here. If your software configuration/compiling skills are not great or you don't want to know the fine details you are best to use TH3D.


text:
Can 3D printer work with enamel paints (or paints generally)? Are such printers available?
There are lot of advices on the web how to paint the 3D printed objects, but generally they are advices for manual painting and this required special skills, especially if the object is small. My guess is that maybe 3D printer can lay the color layers as well? I am especially interested in the layering of enamel paints (which can be transparent and which can required high temperature heating afterwards). Medieval art has fine examples how detailed enamel art was created on the metal. Maybe something like this can be achieved with 3D printers as well?
If 3D priner with the paint-printing capability is not available generally then what are the prospects when such printer can be available? Maybe there are some early, experimental efforts to create such printer and maybe test devices are available?

So, there's not really anything like a 3D painting machine/robot like I think you're looking for, but there are printers that do fine detail with actual paint, usually oils, but not on 3D materials.
I found a thread that talks about canvas printing about 8 years ago, along with a couple of videos that show current machines doing just that, but that's still not what I think you're looking for.
There are also CNC machines that print with enamel paints, but these are usually for 2D again, and not very precise, as they are used for lapel pins that have cavities to hole the paint while it dries. I'm sure something like this could be used without the cavities, but you'd have to do a lot of testing to make sure the paint stays put or mixes as you want it.
Just like the oil printers, these enamel printers are likely very large and costly.
Alternatively
What might work for you is hydrodipping. There's a variety of methods to this, but one company has done a bunch of research on this and can do extremely accurate detail printing to "paint" 3D objects. The below video shows a variety of these hydrodipping techniques, but I've skipped to the most relevant part.

Here's the original video of what I think you're most interested in. It's not 3D printing in the way most of us think, but it's definitely a fantastic outcome.

To explain, if these videos are ever deleted: detailed prints are made of a 3D model to color it exactly the way it needs to be, sometimes using multiple steps and computer positioning to get the object colored/"painted" correctly and seamlessly. One part of the video shows how the software can accurately make straight lines on a human-contoured face mask, while another part shows how a blank, fully 3D cat model can have spots or stripes added in 3 steps with the seams being completely invisible as well as it detailed enough to be mistaken for a real housecat beyond first glance.
As it turns out, you can do (some of) this yourself. After doing some research, I've found that you can actually get blank (instead of pre-printed) films and use an off the shelf printer, as long as it meets certain requirements. (I'm not recommending a site, brand, or anything else, this is just the first/only option I can find. If you do more research, I'm sure there's more options out there.)
https://www.tsautop.com/blank-hydrographic-film/
https://www.tsautop.com/blank-hydrographic-water-transfer-printing-inkjet-printer-6-color-inks/

Painting Prints
Yes, you can paint your models with enamel paints. Actually, most paints will work. You might need to roughen the surface with sandpaper a tiny bit. Note that some spray paints might contain solvents that might soften or melt the prints, so read your ingredients!
...not with vitreous enamel
However, you can't use proper enamel, as that needs to be sintered after the paints have dried, and that will destroy your print unless you have used a metal-printer.
Printing Color
Now, if you want a printer to print a paste of vitreous enamel, you are looking for a paste printer. However, the paint for such a device needs to be very viscous, and the print quality (due to the large nozzle) will be far below what a skilled artisan can achieve. Also, you'd need one paste extruder per color.
Foils?
One could possibly work with foils, cutting them on a plotter and then carefully transferring them to the printed object. This would allow much finer details than a paste printer currently is able to create. Such a foil can also be printed upon by special printers - possibly achieving the full spectrum in a single application step.
Alternatively, one would use a "puzzle" of smaller pieces and apply each piece separately. The result might actually be somewhat similar to the Chromolith (Colored Stone) stonewares that had been created by Villeroy & Boch starting 1876.

Let us continue this discussion in chat.


text:
Delamination in resin prints
I have observed some occasional delamination in horizontal layers of my resin prints — see two examples:

What is the cause, and how can this be minimized?

can you also post more information about your setup: The printer model, resin type, and exposure settings would be helpful to know. Also I'm having a hard time seeing what is going on in these images, they are a little too zoomed in.

A too low room temperature can cause this too

With the information provided my thought is that your layers are underexposed for their thickness. Each layer is just barely bonding to the layer above it. After being pulled on by layers below eventually one of the layers fails. This is especially likely to happen on a thin part of the print any may need more support if it is followed by wider layers. But I would suggest trying to increase your exposure time first.
option two: it could be your FEP if that has seen too much use it may be time to replace it.
calibrating a resin 3D printer

true, but I suspect it's more a model-alignment error. SLA hates flat overhangs, it much prefers them tilted, best by 45°

Besides the options of underexposure or bad FEP film, there's also the option of the print being in a bad orientation for printing. Often, the quality gets better if you tilt the model some degrees. You do have to clean up some places, but the stresses from pulling free of the FEP get distributed more evenly and are lower, resulting in generally better prints.
Other factors that can impact the print quality is the resin's viscosity: the more viscous, the more likely resin can't flow in enough. Resin's viscosity is antiproportional to the room temperature - the hotter the room, the less viscous the resin.

What is the ideal temperature range for printing with resin?

@0xF2 operational ranges for resins are generally 10 °C or 15 °C to 40 °C. The best temperature will be in your MSDS


text:
How to edit STL model files
The slicer included with my printers (ChituBox) has no STL editing capabilities. How to edit STL models?

Have you tried Meshmixer?

"Favorite" is opinion based. I do retouch STLs with Blender, Meshmixer and Fusion360 as I see fit

tinkercad is a free online solution i've used to touch up thingiverse files.

I think it depends on your use case.
As Bobt already commented, Meshmixer is a common tool for editing STLs.
But also a lot of CAD-Tools should be able to import STLs.
Then there is also of course Blender.
As you didn't specify what you want to use it for, I would guess you just want to do some quick fixes to the mesh.
The tool I use is Meshmixer. It's pretty powerful, but I personally never really used a lot of it's capabilities.

Blender is more powerful (just look at some of the [tag:blender] questions), but not easy to use.


text:
Finishing transparent resin prints
I am printing some resin models in transparent resin. They look quite good when they are coming out of the printer, but they later develop this white hazy look that even when removed with an IPA rinse appears to return. Here is an example:

As you can see this "hazy glaze" is almost as white as the underlying sheet of Scott paper.
How does one cure a transparent resin print to finish the best look for transparency?

Have you post-cured the prints? As in, hung them in a UV-light chamber? The haze is air-cured resin.

@Trish I think you got it, this was not chamber-cured. The previous print was and does not show the whitening. How does one complete curing the surface so that it retains a wet, translucent look? There must be an oil or paint coat selection.

Also, if you want to write it up as an answer, so I can accept it. I assume the sequence is 1. IPA wash 2. UV curing. 3. whaterver finishing. 4. Done!

Looks like Step 3 is a pass of clearcoat. Formlabs has a nice guide to transparent printing that should apply.