text:
Problems with stock gear with no screw on Ender 3 pro
I am very new in the 3D printing scene.
After a lot of searching for my specific problem (and didn't find any answers, of course) I decided to reach out.
I bought a Creality Ender 3 Pro in November and after a few days of lovely prints
I decided to upgrade the printer with a glass bed and  "Aluminum Dual Gear Pulley Dual Drive Extruder Kit".
The Problem, as you might expected already, is with the installation of the dual gear extruder. I have watched a dozen of YouTube videos, and all of them have something I don't – a screw in the stock gold gear on the extruder motor.
How can I install the Aluminum Dual Gear Pulley Dual Drive Extruder Kit if I take the gear out? Should I try remove it with force?
Please if someone has come across the same situation, that there isn’t a screw In the stock gear on the extruder motor and mange to take it out, please tell me.
I'm adding a picture so you understand what I mean.

Welcome to the 3D Printing Stack Exchange! I'm having trouble understanding what the problem is, does the instruction manual that the printer came with (likely on the included SD card or USB flash drive) mention the grub screw there?

no. the problem is to remove the stock golden gear that sit on the extruder motor, so i could installl the "Aluminum Dual Gear Pulley Dual Drive Extruder Kit" ...

Could you add a picture of that kit and the part you need to replace the stock gear with?

this is the kit:  https://www.banggood.com/Upgraded-Aluminum-Dual-Gear-Pulley-Dual-Drive-Extruder-Kit-For-Creality-CR-10-or-CR-10S-or-CR-10S-Pro-or-Ender-3-or-Ender-3-Pro-3D-Printer-p-1469345.html?rmmds=myorder&cur_warehouse=CN, and the part is the golden gear in the 3 1st pics i have added...

The motor in question is not a stock motor as I know them... Is that from the "dual drive kit"? Because the stock motor should have an axis that is D-shaped.

Profit rules.  Now they're not only pressing that drive wheel onto the stepper shaft, but they're shortening the shaft.  Mine ends at the upper surface of the drive wheel, so I can't even install an extruder knob if I want one without replacing the stepper and drive wheel.

This is an older Ender 3 Pro, they at one point came with these press-fit gears, these are not intended to be removed which is a poor design decision. I would recommend buying a new motor than going through the hassle of removing it.

indeed, the D-shafts are 1000% better.

I agree that buying the type of motor of the expected design solves the 3 problems reported: gear press fit, shaft has no flat surface , shaft too short. It's also cheaper than a good puller, and has the less risk of printing problems due to mistakes.  The one I selected is specifically for the E extruder "axis".

I had exactly the same problem with an Ender 3 Pro I bought a couple of weeks ago (Mar 2021) and I was able to remove the gear easily with a small gear/bearing puller... take a look at Amazon and you will find plenty of selection.
The 3-arm puller works better as it's much more stable when pulling the gear (this is the one I have). Both work in the same way; the arms/jaws attache to the bottom of the gear and the tip of the top screw pushes the motor shaft down.

I had the same problem with the pressed on gear. With WD40 and a center punch the gear came off alright.
The next problem was the shaft that is to short and perfectly round. With a small grinder (Dremel) I created a flat spot. I carefully tapped the shaft from the bottom of the motor until it was sticking out enough on the top side. Now it works perfectly with my dual extruder.

I accomplished this by using a pair of open-end wrenches and some heat.

Heat the brass gear end with a butane torch or a MAP gas torch

Clamp the stepper motor into a vice

Position two open-end wrenches such that you can use the open-end part of one open-end wrench underneath the brass gear while the second wrench is positioned perpendicular to the first one, underneath it (photos in below article will help visualize)

Gently tap on the end of the first wrench, to release the brass gear

Install the new gear, but you will need to grind a small flat on the shaft of the stepper motor so that the set screw has a landing.

The idea is basically making a lever out of one wrench, and using impact force to release the gear.
See this article for visuals: Micro Swiss Direct Drive Installation for Creality Ender 3 Pro with a Press-Fit Extruder Gear

When using a pair of wrenches to remove the gear. If I understand what they're doing, it's likely to damage the bearings of the motor. Always best to support the shaft and never use the bearings as something to press against.

@NeilinMA The article mentions that a gear puller is the safest approach, as it counters the removal force on the gear with the same counteracting force on the shaft.  That being said, I doubt the method depicted here is any more likely to damage the bearing than any other method that does not involve a puller.

Heating it proved futile in my case (I didn't have a blowtorch either), I was able to get the gear off by using a Dremel, I also flattened a small side for the screw.
However, to my extreme frustration, I found out that the actual height of the shaft is not long enough to reach the dual extruder's filament hole and thus had to order another motor.

If you cant see any grub-screw on the extruder gear, it's likely that it has been permanently press-fit onto the motor shaft. It is possible to remove the gear if you have something like a Dremel to cut it off, however, do note that it would be a permanent modification, and that your warranty (if you had any) would be void. If you do go this route, be careful not to Dremel into the shaft of the motor, as this would likely cause the new gear to not fit properly.
If this is a new printer, I would recommend assembling it with the stock extruder assembly first, and ordering a secondary extruder motor without the gear press-fit onto its shaft. Then you could swap them out and not need to worry about damaging the existing motor.

This brass extruder gear is either press fitted (see other answer) or hot crimped onto the shaft. Brass has about twice the thermal expansion rate as stainless steel, so you could heat the gear while cooling the shaft (e.g. stepper upside down with the shaft in water, heating the gear with a small torch lighter, a makeshift aluminium foil shield could be used to protect the stepper base) to get the gear off.
Grinding it off would be easier (or even more easy is to buy a new stepper motor) as when you get the gear off, the shaft is round, so you need to grind a flat spot on the shaft anyway to make sure the dual extruder gear can be screwed on tightly.

I had the same problem. Bought my Ender 3 Pro in July 2021, so not sure if the new or old versions have this problem. I solved the problem slightly differently.
I could not pull out the gear it was too tight, so I put the pliers on top of the gear and then hammered the gear down, not up. Then on top of it I have put the gear that came with the dual drive on top of the old gear and screwed it according to nozzle position. After e-step calibration, to my surprise the whole thing worked and printing fine.

I picked up a used Ender 3 Pro, which needed a lot of work.  I discovered the same annoyance, the extruder "gear" was press-fitted, and the shaft was too short for the manual add-on wheel.  I had a look-alike motor (with the same connector) in my parts bin, so after some effort1, I removed the gear and installed it on the new motor.
Once in place, I have plenty of shaft to mount the handwheel.  One additional comment, the connector was the same, but the wiring was not.  I had to ohm-out the windings and move a couple pins in the female connector.  Runs great now, and all is wheel (pun?).
BTW, I saw someone above using a pair of wrenches to remove the gear.  If I understand what they're doing, it's likely to damage the bearings of the motor.  Always best to support the shaft and never use the bearings as something to press against.  My 2c.

1 I mimicked the effect of a gear puller. Using a small arbor press I supported the gear with a cross bridge made of two short pieces of 1" dia. dowel (as the pillars on each side) and a pair of 1/4 inch square steel rods to span the distance under the gear. one on each side of the motor shaft. The motor is now dangling in free air, supported by the gear. I then pressed down on the end of the motor shaft, eventually the motor broke free and dropped, leaving the gear on top of the rods

Same problem here. I removed it by force using a pliers and a hammer, then drill a spot on the shaft using ikea drill. Everything works fine so far.


text:
Will 3D printing work upside down or in zero gravity?
I assume SLA printing only works on Earth and upright.
But would fused-filament printer (e.g. Prusa Mk3) work in zero gravity? What about upside down or sideways? If not, could it be modified to work in other orientations? Have there been any demonstrations of it?

I think it's safe to say that there's at least one model of 3D printer that works in microgravity -- since one was sent to the International Space Station a few months ago.  I presume the one there is an FDM type, as those need not be dependent on gravity; my Ender 3, for instance, has positive drive both ways on all three axes, so as long as the filament source is kept captive, the printer ought to work the same as it would on Earth.
Beyond that, there is the Quinly setup, in which a common FDM printer like the Ender 3 is set up at about a 45 degree angle, using a polymer coated glass bed, to allow network printing part after part (the printer pushes the parts off the cooled bed with the X gantry and hot end housing before preheating for the next print).  Similar methods are used to print at a significant angle on a flat build surface for conveyor bed printers that can both print very long parts, and print sequences of parts one after the other (the belt carries the parts to the turn-around, then the flex pops them off).
The operation of common FDM printers depends on mechanical grip of the filament, screw or toothed belt drive of the axes, and adhesion of the first layer to the build surface and of subsequent layers to those already laid down --- this ought to work even upside down, against gravity, at least until the weight of the part starts to compete with its adhesion strength.

would you link to the NASA/ESA/JAXA article on that project?

Yes!
3D Printing upside would only potentially have an issue with the first layer if you're using an extremely large gap on the first layer, however in normal circumstances there's enough pressure that the filament is squished into the bed, if you've got one yourself you can put it on it's side, the question when it comes to 3D Printing isn't upside down, but not the correct way, as it's presuming that gravity pushing down is the important thing, while in every other orientation it also works.
In theory SLA printing would work just fine, as long as you're able to seal the build plate and vat together so no resin leaks out.

I think I remember that Adrian Bowyer did test with upside down printing and found that gravity is less important than we might think. Also MadeInSpace created a 3d printer that is now operational on the ISS. So zero gravity is also covered. Maybe add these to your answer? I wounder about bridging though,...

@LarsPötter: Bridging should only do better.

Barrel's answer is absolutely correct, provided the printer doesn't have gratuitous dependencies on gravity. For example, a lot of high-end CoreXY designs I've seen, with 3 Z motors for automatic true leveling, rely on gravity to move/hold the bed in the -Z direction and only drive the +Z direction. This is often done for the purpose of decoupling from error in lead screws/ball screws, as in the HevORT ZR V2. Such machines can't print in alternate orientations or zero/low gravity. However, they can be adapted to drive the Z in both directions.

Lulzbot used to do this at trade shows -- printers on their side, printing all day long.
So long as it sticks to the bed, and sticks to the subsequent layers of the part, it works.
The determining factor is gravity -- if the part being printed has overhangs or unsupported areas, the extruded material would fall back at the extruder, instead of down onto the part. You may get around this with dual extrusion supports, but if there's any layer separation, it would probably fail quickly, lol.
Zero gravity? Easier than upside down with gravity, I'd think!

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.

SLA printing wouldn't just work on earth, it just needs some sort of gravitational pull just to keep the liquid down. On the other hand, "normal" 3D printing in theory could print upside down, sideways or in 0 gravity because the process that takes to print is it squishes melted filament down onto other filament that has been melted and cooled or the print bed, the only constraint with doing that is making sure that making sure that the print doesn't slip or fall

source: Stack Exchange

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

sort: votes


text:
Bed leveling problem
My start G-code:
M92 E128 ; Set E steps to 124 DEFAULT 130
M500 ; Store Settings
G28 X0 Y0 Z0; home all axes
G92 X-3.0 Y-12.0 Z-1.599; set home offsets
G1 X0 Y0 Z0.2 F3000 ; get ready to prime
G92 E0 ; reset extrusion distance
G1 X160 E15 F600 ; prime nozzle
G1 X180 F5000 ; quick wipe

Is used on a Creality CR 10 S5 with upgrades:

whambam systems print bed
micro swiss direct drive print head
BLTouch   (doesn't function correctly)

Auto home (nozzle is off the bed and too low, Z -3.99)
(When printing Start I used G92 X-3.0 Y-12.0 Z-1.599; to correct this in Cura 4.8
Raise the Z axis to 2.8
Did 4 corners and adjusted the screws at each corner
Everything is supposedly level at 2.8

Nope its not.
It is not level and the 3D print isn't right.
After months of messing with the screws I decided to get a BLTouch because everyone seems to do that.
I got it almost right but clearly in parts the nozzle is too close and generates small lumps or too high and gets stringy. The instructions have a broken download link.
So I finally get my BLTouch. (x2)
Attaching it wasn't a problem, but nightmares with the firmware.
So I had a 1.1.6 I got from the Creality web site and uploaded.
All the cables attached correctly, including disconnecting the Z axis limit switch and attachment of the BLTouch. Calibrated the BLTouch height screw.
Fire it up, and try to level it.

Goes to the center
Spins the Z axis downwards and never stops

Next up, reconnected the Z axis limit switch and not connect that part of the BLTouch.

This time it seems to level it, but via limit switch and not bed level.

At least I get numbers indicating some kind of level starting at the far right 4.96 with a high of 5.15 on the left front corner.  However, the limit switch triggers at -3.99 so actually the numbers should probably be lower.
Downloaded a new firmware, trying to level, Z axis motor spins upwards out of control
Download a different firmware, Similar to the 2nd last attempt, accept it forgot how to print correctly and only uses 250-500 on both the X and Y axis.  Also I don't think its printing what I wanted, It isn't the correct shape at all.
I tried 2 different BLTouch sensors.  Both had same results.
Any ideas about getting a good firmware?
Any ideas how to get BLTouch working correctly so I can level it that way?
Until it triggers the Z axis at bed level it probably won't work correctly.

I figured out later that the black and white wires needed to be reversed. So the bed leveling system is working, apart from the fact it isn't yet level.
However, the BLTouch firmware is mucking this up. It only wants to print from X, Y 250 to 500. So 75 % is unusable.
How do I fix this.  I spent hours tweaking the screws and still don't have great results.

To address the firmware problems, Download a fresh edition of Marlin 2.0.x and configure the Configuration.h and Configuration_adv.h yourself. Others' configurations are expecting fully stock parts, and will not be compatible with your system.
Your main problem seems to be in your Probe Z-Offset. To get good level, you need to calculate how far above the bed the nozzle is when the probe triggers. The BLTouch height screw is NOT for Z offset adjustment, and the Z-offset needs to be set with M851 in Marlin. See https://marlinfw.org/docs/gcode/M851.html for more detail on how to do this.
Additionally, the Z-MIN switch should not be connected when using the BLTouch, as it IS the new Z-MIN sensor.

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


text:
Hack IKEA Trofast drawers
I'm looking to hack an IKEA Trofast storage unit.
It's 3 drawers high (10 cm for each drawer), I would like to make it 6 drawers high, with thinner drawers (4 cm for each drawer). Which means :

design the new drawer since no 3D map exists on Thingiverse for that drawer
print them
put additional rails which I found here

So my questions are :

Is it easy to design a thin drawer from a higher one ?
since the high drawer is 43 x 30 x 10 cm, is it easy to scan/print a big object like that one ?

The Trofast unit I'm trying to hack :

EDIT : Juste to make it clearer, I don't want to make a larger storage unit. I want to print thiner drawers, to be able to put 6 of them in this particular storage unit (so with the same height).

Welcome to 3DPrinting.SE! Why scan, it would be easier to design from scratch. Also, you need a very big printer, otherwise you're forced to print it in parts. I guess it is much cheaper to buy second hand storage units, reuse the rails and shorten the drawers by cutting out a strip and rivet them back together. I don't see FDM as the preferred manufacturing process, hence a comment, not an answer.

Parts of the remodeling might be 3D printed, but the sheer print size makes it uneconomical to print whole units. Also, your questions are open: Easy is a rating that comes with skill with your chosen program. To me, it's easy to make a drawer in Fusion360 but very hard in AutoCAD.

Thanks for your comments. I added an Edit. I asked if it was easy in the way "feasible" because I will probably go to a fablab to actually print/design the drawer.

You are going to have trouble finding a printer that will print 40cm in one piece. Most consumer level printers top out around 20 cm and a few go to 30 cm. To be able to print 40 cm, you will probably have to find somewhere with expensive industrial grade printers. Otherwise, you can print it in pieces and glue them together, but then you may have a problem with lack of strength.

I'd recommend hitting a container store and seeing what already exists.  After that build modifications (some of which can be 3D printed) to the closest one that would let you use them on those rails.


text:
What is the correct Marlin firmware setting for Tevo Tarantula with MKS Base V1.2 board
I am trying to correct the x&y offsets in the Tevo Tarantula that I got from a friend in order that my printer is not printing over the end.
What I got so far is that I need to measure and then enter the offsets into my configuration.h file, build the firmware and flash it to the board.
Because I do not have and can not find the original firmware I found the repository from Jim Brown for the Tarantula.
Looking into the top section of the config file provided by the repo, the board configured is
#define MOTHERBOARD BOARD_MKS_GEN_13        // Original controller board with built in stepper drivers. Works with MKS BASE 1.3, 1.4

However since the board in my Tarantula has 1.2 on it I checked the boards.h file for MKS but could not find the v1.2 :
#define BOARD_MKS_BASE          40    // MKS BASE v1.0
#define BOARD_MKS_BASE_15       405   // MKS v1.5 with Allegro A4982 stepper drivers
#define BOARD_MKS_BASE_HEROIC   41    // MKS BASE 1.0 with Heroic HR4982 stepper drivers
#define BOARD_MKS_GEN_13        47    // MKS GEN v1.3 or 1.4
#define BOARD_MKS_GEN_L         53    // MKS GEN L
#define BOARD_MKS_GEN_L_V2      54    // MKS GEN L V2
#define BOARD_ZRIB_V20          504   // zrib V2.0 control b

Any idea, what board configuration would be compatible for 1.2? Or is there any other way to correct the x&y offsets other then compiling them into the firmware?

The MKS Base v1.2 is basically an Arduino MEGA2560 and a RAMPS1.4 on a single board.
You can use the RAMPS pin designation.
Note that the endstop to origin distances is explained in question How to center my prints on the build platform? (Re-calibrate homing offset).
In Jims Marlin fork you can find this at:
#define X_MIN_POS 0 - XTRA_BED_LEFT

and
#define Y_MIN_POS 0 - XTRA_BED_BACK

Unfortunately, XTRA_BED_LEFT and XTRA_BED_BACK are defined as zero; this implies that the endstops define the origin (not likely) or it is left as an excercise for you to find out. This answer explains how you figure that out.

Thank you for the answer. For the RAMPS 1.4 the boards.c file also has multiple configurations.
The board itself has 3 blue power outputs E0, E1, Fan followed by a green power output for the bed.
#define BOARD_RAMPS_14_EFB 43  // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)
#define BOARD_RAMPS_14_EEB 44 // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed)
#define BOARD_RAMPS_14_EFF 45 // RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1)
#define BOARD_RAMPS_14_EEF 46 // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan)
#define BOARD_RAMPS_14_SF 48  // RAMPS 1.4 (Power outputs: Spindle, Fan

@Eike Looks like you have the EFBE option.

Just greped through the source files for the Easyconfig 1.1 and 2.0 and found only references in some pins_RAMPS files to the EFBE option:
./Marlin/pins_RAMPS.h:  #else    // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
sorry for being blind but I am stil not sure what board I should put into the config?

@Eike EFB is a standard option, the EFBE is an added extra extruder (I understood you had 2 from your comment, but if you are only using 1, you can go for EFB).


text:
Accidentally over curing a 3D print
I'm relatively new to SLA 3D printing and 3D printing in general.  I got a budget SLA resin printer that I've been messing with for a few months now.
So I had a few soft prints laying around that have not been exposed to any UV light.  It was sunny out and I decided to bring them outside to harden them up a little bit under the sun.  And of course I forgot about them!  By the time I remembered, my prints got over cured to the point of being super brittle.
Question:  Let's say I properly cure a print (however that is). I'm not looking to paint it. It looks like the print could be accidentally over cured by taking it outside or sunlight shining from an open window.  Is that true?  Should I coat it with some kind of sealant if I'm done curing it?

You are correct, you can over cure a print by leaving it out in the sun. Prints can even over cure just by the ambient light in a room from the sun (though it would take a while).
One easy option to counter this krylon UV-Resistant Clear Coating which can be found at most hardware stores. I have used it but I found that it made my print a little softer this may have been because of the materials in the spray-can, or the type of resin I printed with.
You should check out the answer posted to Clear coating resin 3D prints as it provides some other options you can try as well such as using a brush on option.


text:
Gaps in top layer of prints
I have a Monoprice Maker Select Plus (Wanhao Duplicator i3 clone) and I'm having issued with the top layer of my prints. The bottom surface and the sides always come out perfect but my top layer is left with gaps in it. I have tried adjusting the print temperature, flow rate, print speed and layer height all with no success. I use Cura for my slicing software. If anyone knows how to help it'd be much appreciated

This is probably caused by too few top layers in combination with a too low infill percentage. Increase skin layers and increase infill percentage.
If you have multiple layers already (at least about 4 for 0.2 mm layer height, for smaller layer heights even more), you might be printing at a too high temperature and or too few part cooling percentage and a too low infill percentage.

Spot on, somehow my skin layer value got changed to 1, thanks a bunch it works now

To combat the bad top layers, I usually use usually 5 top layers for any model of layer height 0.1 to 0.3 mm. I generally don't print with less than 9 % infill for PLA, which I have found sufficient to support even complex geometry on top.
Also, I generally use a mixed setup of layers: the outermost layers I demand as concentric because this is the most beautiful setup, while the lower levels are Zig-Zag patterned, as this gives the best layer-to-wall connection.

For PLA? PETG or ABS is printed hotter and usually without much part cooling flow, so 9 % may be too less for materials that are printed hotter.

Eh, yes, but 9% was minimum


text:
My nozzle on my Ender3 V2 is higher when it is printing than it is when I auto home it
I just got a new Ender3 version two for Christmas and was very excited to use it so I put it together and used the sample filament that came with the printer and everything worked okay for a bit.
That was until I switched something in the settings, or in Cura, or something happened, because the nozzle is too far away from the bed when printing. I will use the auto home feature to level my bed with a piece of paper and once I get that pretty close I try and start my print, and it starts a few millimetres further away from the bed than when levelling it.
Any ideas to solve this?

Could you clarify what you mean by "I will use the auto home feature to level my bed"?

You say it worked correctly to begin with... does that mean that the nozzle wasn't too far away initially? What did you change in the settings? Or in Cura? Can't you revert the changes that you made? Without knowing what you changed, it might be difficult to suggest a solution.

Yes to begin with then I was at the correct height and was printing fine but the only thing I could remember changing in that time was filament(overtrue red) since I put up this post I have also changed to a different slicer and have had the same issues

I have been changing the Z offset and I think it’s working but I still have to make some more changes or something

And with the auto home feature I would hone it and then use that height to level my bed

Did you already manage to solve your problem?

autobed leveling is on by M420 S1,bed leveling is disabled after G28 Home all by default.This could be the reason why it's not using the leveling data.

From my experience Auto Home procedure rearly leaves Z position at 0. By default Marlin raises it to 4 mm above the bed as far as I remember. The same might be with Z offset.
Also, could you please check "Initial Layer Height" in Cura?
Could you check the machine's "Start G-Code" for presence of G91 code (this would be bed sign) and confirm it contains line G90?
There are valuable basic tips in this discussion about printing too low, so you may want to go through these hints.

I think I had a similar problem once when my hand bumped the gantry rail and I was at a loss.
At the time I took out the rail that the gantry runs on and tried aligning it so it was completely horizontal during the reinstallation.
I leveled out the print bed by turning them all in one direction (tightening) and then counting the turns I took to unwind each one. I then manually homed the bed and then did an auto home.
Finally, I adjusted the initial printing height to where I wanted and I've been printing fine.
For reference, I have the ANET ET4. This is kind of an overkill but if all else fails, nothing wrong with taking it apart and putting it together again.


text:
No movement on any axis on Ender 3 Pro
I've printed the dog that came on the SD card of my new Ender 3 pro, and everything worked great.  Today, I turned on the unit and plugged in a Raspberry PI Zero to the Ender's USB port.  The rPi is running the latest version of OctoPrint.
Now, when I try to Auto home, I hear a very brief sound of a motor staring to move on an axis, and then the Ender halts.  I've power cycled it several times.  When I trying to use the panel on the Ender to move on any axis the same thing happens: it sounds like it's starting to move, and then never actually tries to move again until after I power cycle.  This is the same no mater which axis I try to move.
I've reinstalled the lated firmware on the Ender.  I've opened up the machine to make sure that all of the cables are attaches to the motherboard.  I've checked the actuation of the stopper switches and unplugged the switch and motor connectors.

The PiZero is not powerful enough to run OctoPrint according to the developer. Try slicing a model and run from SD. Card.

I understand that.  This issue persists when the Pi is not being used.

I upgraded to the latest firmware, and now everything works again.


text:
alternative to Mic-6 bed plate
I am building a toolchanger CoreXY 3D printer. I am in big trouble to find mic-6 aluminium toolplate in my country. Can you suggest me an alternative to mic-6? In my country, I can find easily 5083, 6082, 7005, etc. I don't think, that theese aluminium plates are suitable as heated bed. The design of the bed is the same as the jubilee 3D printer, so it will be best to have minimum warpage.

"This heated bed is milled from 6.35 mm cast aluminum alloy tool plate and is designed to meet all specifications of project Jubilee. The tool plate is flat with milled front and back faces to produce a high quality build platform for the printer." (definition of the Mic-6 jubilee)

"1/4 in (6.35 mm) thick ATP 5, ALCA 5, K100S, and MIC 6 all have a published industry flatness spec of 0.015 in (0.318 mm)." (from the Tolerances)

I don't think MIC-6 tolerances really matter for smaller (~200mm) buildplates.

@Rafael  The build plate of my 3D printer will be ~360 x 360mm.@Trish I can't find ATP 5, ALCA 5, K100S, or MIC 6 in my country. Can you suggest me, wich type of aluminium can I use. I have read that 5083 is not recommended for use in temperatures in excess of 65°C (https://en.wikipedia.org/wiki/5083_aluminium_alloy#cite_note-2). The aluminium  alloy 7005 has been heat-treated, so I think, that it will not be a good heated bed.

I'm not sure what your country is, but You can also use Aludur Plus which has the same properties as 'mic 6' through www.aluminyumburada.com They are based in Turkey and service the general region.
Will you build your own heated with the tooling plate or were you planning on using it instead?

the shiping cost is 30 dollars so I will pay at minimum 20 euro and the total cost will be 60 euros. Thank you for your awnser

Most of the aluminium alloys are fine.
When they say that a certain aluminium is not suitable to certain temperature range they usually mean "under stress"... your bed has no stress at all, it's just staying there with basically no weight on top of it.
Also, you don't need the single micron accuracy either...
Just pick a "cast" and milled aluminium and not a rolled one.
If you can choose among different ones, pick the one with the highest thermal conductivity, and that's it. For example, I can easily find milled plates out of 5083 or 7021. 7021 has a better thermal conductivity, which is good to have a more uniform temperature.

that's helpful!
I cannot find cast aluminum here. Only the standard 5083 e.t.c. I have asked and all of these are heat treated. But maybe they are flat enough (I don't know if they are milled).

Is it Greece? search for "αλουμίνιο cast plate" you can find some. If you search for "cast" in Greek you'll find fewer...


text:
Under-extrusion near the seam
I have an FLSUN QQ-S Pro and I'm trying to print a part consisting only of thin walls with PLA. I'm using Cura 4.8.0, "FLSUS QQ-S" profile. Unfortunately, near the seam there are signs of underextrustion. It only happens near the seam, and after a few millimeters the wall is nice and smooth again.

Things I've tried:

Increasing hotend temperature to 210 °C
Setting flow rate compensation factor to 105 % (can't go much higher as the wall thickness will go up from current 0.4 mm - which is the desired result for this printer)
Disabling retraction
Enabling ironing

None of that helped. Is there some way to push filament a little bit forward at the start of each layer?

What does the coasting setting look like in your Cura setup ?

@ManfredR it's disabled


text:
Turn off OctoPrint server after starting print from SD card
I have OctoPrint set up on a Raspberry Pi (OctoPi). I have loaded a number of G-code files to the SD card on the printer.
My question is: If I initiate a print from the SD card via OctoPrint, can I then turn off the RPi so I can use it for other things while the print continues?

Your printer will stop printing. So no.

Disconnecting the USB or connecting it triggers a reboot in the printer. As a result, you can not disconnect or turn off the print server running OctoPrint.


text:
Incorrect inner dimensions of 3D prints with Ender 3
I have problem with my Ender 3. Whenever I print, I have proper outer dimensions (accuracy usually better than 0.1 mm, sometimes a bit worse), but every hole, pit or any inside dimension is inaccurate (0.6 - 0.8 mm never less or more).
I have tried extruder calibration. Calibrated extruder voltage and e-steps (in Ender firmware), but this does not change a lot.
Here you can see test dimensions I modeled:

And it will come out with these dimensions:

Aaand the final print looks like this:

As you can see, my estimation (second picture) was almost perfect. 19.3 mm and results are weirdly consistent. Always holes are 0.6 - 0.8 mm smaller than holes in model.
Do you have idea why this is happening?
Specs:

Printer - Ender 3 with original circuit board
Printer software - Marlin 2.0.5
Model cutting software - Cura 4.8.0
Modelling software - Fusion 360

Found a solution in Cura

What's your line width?
If the wall width isn't a multiple of your line width you can end up with a bigger or smaller wall width depending on the way the model is sliced. It shouldn't cause a big error but maybe it adds to something else.

There are 3 effects at work, and you misread your micrometer: the measurement is 19.35 in the picture.
You have a little lip
There's a little lip at the top and bottom of the print. You'd need to clean that up with a sharp knife or sandpaper. That is the biggest part of the error you measure.
Movement errors accumulate
Errors also collect on the center of holes due to the order in which walls are usually placed, resulting in outer walls having the correct diameters but inner holes having a small offset.
Plastic shrinks when it cools
A smaller part of the error is the plastic shrinking as it cools, but that can be compensated for by the slicer - if your printer allows for it: Under Materials, there is a Shrinkage Ratio setting.
There's compensation for that in Cura
The option is under Shell and called Hole Horizontal Expansion. Setting that value to 0.6 mm to 0.7 mm should solve the hole sizing error.

The error here is way too large to be shrinkage with PLA, especially as it's a thickening of the part not thinning. I'd suspect loose belts here.

I read 19.3 mm from my micrometer, proper value (will not argue about 0.05 mm). On this side of 3D print there is no "elephant foot". I am still missing 0.7 mm (or 0.65 mm with your readings).

So there is no little lip and I think that PLA does not shrink that much. 0.6 mm is a lot when working with holes as big as 5 mm for example.
I guess my problem is "Movement errors accumulate". Is there a way to improve that?

@JanKowalski usually try to use multiples of wall thicknesses to get that small... or you might compensate by demanding a slightly larger hole...


text:
Slicers and printers compatibility
I am a complete beginner so I apologise ahead for probably an obvious question. From what I understand up to now, slicer software basically takes a 3D model and turns it into instructions that say move your print head to this and this position and extrude up to this position and so forth. If that is correct then each slicing software can result in different "filament paths" in printing of the same model ultimately having the effect on the quality of print (unless the "Slicing algorithm" is some open industry accepted one and everyone uses that). But then, it would be advantageous to use other slicer software than the one supplied with the printer. On the other hand, if a slicer gives the instructions to the printer and assuming the G-code is a universal instruction kit (standard each printer understands), it needs to know, at the least, the parameters of the printer.
So the questions are:

Can I use any slicing software with any 3D printer and are there any things that may cause a problem (e.g. "How do I set up the slicing software for a particular printer?")
If not, am I stuck with the software provided by the printer manufacturer and thus, before buying a printer, one should also analyse the slicing software provided or is there some compatibility chart?

Regarding 2. I looked at both PrusaSlicer, Slic3r, Cura. None of them provide any information on the compatibility. I have access to Creality CR-10S printer but when I saw e.g. PrusaSlicer compared to the Creality, it has more options it seems. But during the installation of the Creality slicer, it forced me to choose the printer that I will be using which suggests that printers are locked to the manufacturer slicer.

Welcome to 3DPrinting.SE! Do note that e.g. Cura (on which the Creality slicer is based) has many, many, many options, but most of them are hidden, these need to be "checked" to become visible in the advanced view! Automation of the printer configuration is slightly overrated, it basically needs some info on your build platform/volume and filament diameter, it ain't rocket science!

FDM Slicers are not proprietoryexceptions apply
Most commonly uses Slicers are generally not locked to manufacturers or models. Creality's slicer is a variant of Cura, Prusa Slicer is a (further developed) variant of Slic3r. You can slice models for almost any G-code reading 3D Printer with any of the 4.
The question at the first startup or installation is to automate setup: back when I bought my Ender 3, I had to manually make a profile that would fit my printer. Now, you can choose presets that set up the bed size, a safe start G-code and some settings from where you can work.
exceptions
However, some machines are not compatible with normal slicers, because they either don't run G-code but a proprietary file format or because their geometry is non-standard.
An example of the former type is for example the DaVinci Color printers that use .XYZ files, which contain not only movement commands for the printhead and extruder, but also color print commands for the ink-head. An example of the latter type is "Belt Printers", which use standard G-code but are sliced not in the same way as for normal printers - you need the Cura Blackbelt variant to make the proper command file.
Other slicers like Voxelizer are locked down to the printers of the software's manufacturer.

Traditional paper printing has the model where a document is sent through a driver to convert into instructions in a generic control language, such as PCL, PostScript/PS, XPS, or UFR. The resulting commands are spooled (queued as a group) by the computer to the printer, which then renders it to paper.
3D printing uses a similar process: a model is sent through a slicer to convert into instructions in the G-Code control language1. The result is manually uploaded and invoked on the printer2, which then renders it in plastic.
There are some differences here. For example, the lack of spooling. Slicers usually produce entire G-Code files rather than sending individual instructions via USB. This is by design and preference. Paper prints take seconds; 3D prints take hours, and waste considerably more resources if they are interrupted. Much better not to have your computer involved in the actual printing process instruction-by-instruction.
Additionally, with 3D printing there are more ways to end up with the same result, and which is correct or better can vary greatly on the situation. A model may print with 5% infill, 2 walls, .24 mm layer heights, and 65 mm/s as a draft, or 95% infill, 5 walls, .1 mm layers heights, and 30 mm/s for the final product if it's structural. Or you might use anything in between as a display piece, or based on needs of the model from one to the next for things like overhangs, bridging, bed adhesion, and so forth. You might even need to print the same model in different materials, which also impacts temperatures and speed.
This gives the slicer a more central place in 3d printing. With traditional paper, you might never see your driver directly or only minimally, and instead invoke it from your word processor. This can happen with 3d printing, where the slicer is invoked directly from modelling software, but it's not the norm from my experience. Instead, most models will want their own specific slicer settings.
And now we get at last to answer the question as asked.
This prominent position for the slicer has let to the rise of both commercial and open-source options that work with a wide variety of printers. For sure, there are specialty and experimental printers that require specific slicers, but that's not what a hobbyist is likely to encounter. You will almost certainly be able to select or import a pre-written profile for your printer in whichever slicer you choose.

There are exceptions, but they are rare and should be avoided by hobbyists.

This still commonly happens by physically moving around an SD card, but wifi is becoming more common, as are options like OctoPi. Some systems do support "spooling" jobs directly from the slicer)

the design of lack of spooling and preference to move complete files stems from the origin of FDM in CNC control code. In fact, the slicing of 3D models for printing is almost the same as the art of making CNC code.


text:
Looking for this stl design for a cellphone clamp
I've searched, and surprisingly I am not able to find this design on Thingiverse:

Where can I find this 3d model?

This file simply is not on Thingiverse. Not all files are on Thingiverse.
A Google reverse-image-search for that picture in all size told me that the image stems from an all3dp article, and they have a reference link to Pinshape as it is presented here:

The file name of the linked picture is universal-phone-tripod-mount-3d-printing-155113.jpg
Taking that as a search term lead me to pinshape model 37196: 3d printed universal phone-tripod mount by jakejake


text:
Ender 3 Bowden tube popping off
I keep having a recurring problem with my ender 3 pro.  The bowden tube keeps popping off here (pictured)

I've read elsewhere online where people are having a similar problem, i.e. the ptfe tube is actually popping out, but I don't know if thats the case here.  It's staying attached to the metal coupler, but that metal coupler is unscrewing during the course of the print and falling out.  Any tips to fix it?  New one? Some sort of loc-tite to get it to not unscrew?  Any ideas?

The fitting can be defective and no longer hold upon the PTFE tube anymore. In that case, you need to cut off a short piece of the tube and most likely replace the fitting.
If the metal coupler unscrews you can fix that by properly screwing it tight. If it does not stay put after applying some torque upon it, then the screw thread is broken, and the whole extruder gearing-setup needs to be replaced. An aluminium swap part costs about 10 to 15 €.

I’ll agree that the threads must be damaged. On my Ender 3 Pro, that connector is only tightened finger tight and it never unscrews by itself.

@DoxyLover I unscrew that end regularily because it makes loading easier :3

@Trish If you put a bevel on the inside of the PTFE tube, that can make loading easier.

@AndrewMorton no, it's a problem with the fitting bevel being too small, a tiny lip that the filament hits on loading on the fitting.

@Trish A slightly different cause than when I had a similar problem, then. It's amazing that 3d printing can work at all with so many things to go wrong :)

@AndrewMorton no, it's a wonder so many general rules of thumb do work with how different many things are XD

It was simply unscrewing.  The threads didn't look damaged so I simply tightened a bit more (with a wrench this time instead of just my fingers) and added a bit of loctite (the removable kind) and its held for two prints so far.

If the fitting is remaining attached to the PTFE tubing, that would indicate that the threaded end of the fitting is pulling out of the drive assembly. This implies that the internal threads of the drive assembly have stripped out. This is not unusual for a plastic drive assembly.
The best solution is to replace the drive assembly. I believe I paid about US$12 for the last one I purchased and it was aluminum, not plastic. A quick search for "Ender 3 drive mechanism" returned a number of choices. One of them from Amazon (14.98) is anodized aluminum and purports to be improved over the original.

A less than ideal solution would involve drilling out the stripped threads and installing an insert (sometimes called a Heli-coil™) but that could be as expensive as a replacement mechanism.


text:
Dead thermister or dead board on Ender 5?
I have a base model Ender 5 with the silent v4.2.7 board.
Earlier this week during an overnight print, I came in to find it unfinished and powered off. I turned it back and it complained about an outage. When I started warming the hotend, it squealed and turned itself back off and then back on.
Now anytime, I try to warm up the hotend, I get the same.
I set up the printer to give data me debugging data via the console in Pronterface and in Simplify3D. I don't receive any kind of error, the printer just powers off and then back on.
I'm hoping that the thermister is just dead and I can replace it easily enough. What I'm afraid of is that the board itself is dead. BTW, I am able to warm up the bed with no problem, just not the hot end. Any insight would be appreciated.

You could check whether your thermistor is reading values by removing it from the heater block and holding your fingers over it with the printer on to see if the hotend temperature value changes.

It's possible that your bed heater has (partly) shorted out so that when it turns on, the power supply shuts down from overload. It's also possible that the power supply has partly failed so that it cannot produce enough current to run the heater. I think it's unlikely that the board itself has failed.

re: FEA42 it reads the temperature at -14C. I think that's a little low. ;)

re: DoxyLover I checked the heater core with my multimeter. It definitely has resistance and isn't shorted out. That doesn't mean that there isn't a fault in the board itself.  I've only had the v4.2.7 board for 2-3 weeks. I ordered a new thermister since they are fairly cheap. Hopefully, that's all it is.

"Heater core" wires are not the same as thermistor wires, are they?
Check if thermistor is properly connected?
Reading -14 C in my case always pointed a disconnection of thermistor. (I didn't had a case of broken one so far.) In case of short it would probably show som max temperature (my guess, I dont want to try), but it is always good to check if wires are do not touch each other and are properly insulated?
Measure thermistor's resistance
If you are able to use multimeter, then:

disconnect thermistor from the printer board
set multimeter to resistance measurement (200k Ohms)
connect thermistor and multimeter using wires - the ones having aligator clips would be the best
read resistance measurent

My spare shows 97k Ohms in room conditions. So value should be high (you may refer to specs sheet of given type when in doubt).
Check that hotend is actually powered
If thermistor is OK, then indeed the hotend powering may be broken. Ths definitely require skills and may introduce many risks to electronics and maybe even to your health - but if you are skilled enough, you may measure with voltmeter if there is correct voltage provided to the hotend. For example the MOSFET on the board may be broken (I already replaced one in the past for my heated bed).

I got the new thermister in on Friday. Yes, that was the culprit. I'm just glad it wasn't the board itself.


text:
Bed temperature is changing randomly
While printing the bed temperature is changing like this. If the print time is below 30 minutes, printers stops after print two layers. But longer then 30 minutes, finishing job. I changed bed thermistor but problem still going. There was no problem until upload the Marlin Bugfix 2.0 . I connected BL TOUCH on my printer and its working correctly. I didn't change any PID or temperature settings on Marlin Bugfix 2.0
2-hour print has just been successfully completed. But when i print something for 10 minutes the printer stops working
Printer : My own design COREXY
Firmware : Marlin Bugfix 2.0
Motherboard : MKS Base V1.6
Slicer : Prusa Slicer

Have you checked the config files to make sure that the correct motherboard has been selected? The thread bugfix 2.0.x: Occasional hotend temperature glitch when printing gives me the impression that different ADCs in the processor need different settings to get reliable readings.

Hello Demir, you need to read what solves the fixes you are adding with the bugfix, if the bugfix solves a problem you had try to verify installing other bugfix version. If you added the bugfix just to be up to date, I recommend remove the bugfix. Seen the LCD temp, seems to be a wire from sensor is not connected (broken internally).


text:
Purge okay but not extruding during printing
I am new to 3D printing and have a newish Eryone Thinker SE.  Its been printing fine with some Eryone Glitter Black (EGB) and I'm happy with the results.
The spool has now finished and I'm trying to use some black Tinmorry and/or Sunlu - both rolls are displaying the same issue.
I can load and purge the new filament just fine but starting a print immediately after results in no filament being extruded.
I have unloaded/reloaded, purged and retried a few times to no success. I also switched back to the take end of the  EGB with success.
Extruder temperature is 205 °C. Is this just too cold for the new spools?

Almost surely not temperature.

Fixed it yesterday.  5 degree increase in temperature.

So, I was able to fix this (or it fixed itself overnight as these things sometimes do) with a 5°C increase in extruder temperature to 210°C.  The Sunlu PLA filament specifies 200°C - 230°C as its print range.
I followed the advice of a IRL friend who suggested "What happens if you raise the z a bit so you can see the nozzle and keep raising the heat until it starts to come out on its own.  Check temp and then run a print at that temp."
I only needed that 5°C increase before I could see it oozing.  From there I was able to successfully print a calibration cube and further model.

I know you answered this a few months ago, but I increased my temperature and it still doesn’t work. Do you have another answer?

Hi Daniel, As much as I love Stack Exchange have you tried asking on the more popular platforms for 3D Printing such as FB where there is just lots more traffic.  The only other thought is if the extruder is ripping the filament - you could adjust tension.


text:
Intermittent Y-shift print issue only with multiple items
I have an issue with a Y-shift every few lines only when printing multiple items at once. If I print the exact same models individually, they each print fine. Notice the shift only happens a few times, about every 4 lines, and then stops happening.
I’m printing PLA on an Ender 3 Pro, slicing with Cura 4.8 (Mac).
Any ideas on how to troubleshoot?

have you tried printing the part rotated by 90° around Z? I suspect it is a mechanical thing, the nozzle getting snatched by the print in a hole as it moves....

I suspected a mechanical problem as well, perhaps a loose grub screw on a shaft.

I will check these items; thanks for the suggestions.

I initially tightened the tensioner for the x-axis belt pulley, which seemed to help. Then I double-checked my installation, and realized the belt for the x-axis was on upside down (belt teeth go in, smooth side of belt out).
So I guess it’s actually more surprising it’s been working well until now...

I guess that means it was also an X-axis layer shift, not a Y-axis one.

Yes, sorry, 3D-printing newb (obviously). "Never believe what the user tells you", right? ;)


text:
Internal thread not sticking to inner wall
I've been trying to print some M14 female threads. The male threads I've printed were perfect and fit into a female metal nut, but for some reason I cannot get the female threads to "stick". This means that they end up being hard to screw into, or the male end (both metal and my printed versions) goes in wonky.
I'm printing in PLA on an Ender 3 V2 at 200 °C on a 50 °C bed. I've tried various resolutions (down to 0.1 mm layer height) and they all exhibit the issue.  Print speed is 50 mm/s, cooling is just the stock cooling and fan 100 % after the first layer.
The actual file can be found here (note that it's slightly oversized vs a metric M14 female to allow for printer tolerances) and the follow image shows what I'm talking about:

It's as though the nozzle is pulling the filament away from the wall, but I've tried Z Hop Retraction and combing (infill only) and that gives the same result.
Answer: The accepted answer and the comments against the question pointed me in the right direction. A combination of turning off combing and reducing the hot end temp to 190°C gave me perfect threads in 3 consecutive prints.

What size nozzle and what layer thickness are you using? In general, since threads are necessarily overhangs, thinner layers do better when printing threads.

@Davo 0.4 mm nozzle. I've tried layer heights from 0.2 mm down to 0.1 mm and all have the same issue.

Great info. Print speed and any cooling? It looks like the deposited material isn't cooling (hardening in place) fast enough.

Speed and cooling are key, please update the question. Note that PLA can generally be printed cooler than 200 °C. The overhangs are pretty large, part of the circumference is printed over air @ 0.2 mm layer height.

@Davo print speed is 50 mm/s, cooling is just the stock cooling and fan 100 % after the first layer I think.

@0scar I will try again at 190 °C and see what happens. I did a temperature tower and got good results at 190. Also what do you want me to update on the question?

Comments are for us to ask you for more details, you need to update the answers on the comments into the question (the more information, the better answers you receive on your question). I've updated the question for you.

I do a lot with printed threads, and find this problem creeps up mostly when the filament is wet. Higher temperature (like 220) can partly compensate but it's better to dry your filament and store it properly to keep it dry.
Assuming standard metric thread profile, though, these are also pretty severe overhangs for a concave extrusion (where motion of the head will tend to pull the way you're seeing) unless you use very thin layers. You probably need 0.16 mm or thinner to print reliably (independent of pitch, though finer pitch also needs finer layers for other reasons), and limited acceleration for outer walls (I use 500 mm/s²).  If you slice with "outer walls first" turned off, you may be able to get by with thicker layers, provided you have everything else tuned perfectly to ensure the outer wall sticks to the previously extruded inner one (i.e. flow rate perfect).
A contributor to your problem could also be underextrusion due to oozing during combing. You might try setting max comb distance very low (like 0.6 mm, around what I use) or turning off combing and see if that helps.

Hi, I was already using layers down to 0.10mm, which all had the issue. However, I did a slider flow rate test from Teaching Tech 3D (https://teachingtechyt.github.io/calibration.html#flow). It came out that I was under extruding, so I'm currently running a print at a higher flow rate (with a 0.12mm layer height and and combing off). Will report back later today when I've run some more tests.

Thanks - a combination of turning combing off and reducing the temp to 190°C solved it.


text:
Is it practical to build a separate hotend temperature controller to assemble hotends without taking up printer time?
One could make such a controller with 3D printer parts and building a case for them, but is it significantly less than just buying a compatible low-cost printer.  The intent is to heat up the all-metal hot end to tighten the nozzle to the heater break.

Please clarify. What do you mean to assemble hot ends? Are you talking about preheating the hot end before tightening the nozzle down?

You can get a suitable board for $20 or so, print a case for a few cents, and either repurpose an old PC power supply or buy a new one just powerful enough for the hotend (not bed) heater very cheap, so I think it's a lot less costly than a cheap printer, and cobsumes less space. But I'm not clear what you need it for.


text:
First few layers are now printing very badly
Machine type is an Ender 3 pro with the 4.2.7 board, the latest Marlin bugfix code, latest BLTouch 3.1, latest all metal extruder feeder hardware, Capricorn Bowden PTFE Tubing.
This really started after having a bad clog in the extruder, thus had to take it apart, clean the clog and put it back together.  Nothing changed in any of the axes gantries it just all of a sudden started printing the first few layers very poorly. In fact anything that is only say less than 3 mm tall won't print hardly at all.
First layer print for bed leveling does print well, and the bed is pretty level. PLA used as filament, temperatures are 200 °C for the nozzle and 60 °C for the bed.

That looks like cooking the bottom area... what#s the temperature of the bed? And the material? 200 head/60 bed would be typical PLA.

Sorry, missed that vital info!!  I've updated the original post, but it was 200 nozzle/60 bed.

Well, I guess if I were more experienced I would have checked this earlier.  I tried everything almost tore my printer apart and rebuilt.  One more testing of a cube and the filament broke.  I became suspicious and replaced the filament with another brand and voila, no more printing issues!  Looks like it was the filament.

You may be able to recover the filament, if you have sufficient volume to justify it, by dehydrating it. Some filament turns bad from absorbing too much moisture and will print again after drying.

oh wow, yeah, hardly any has been used, 99% is still left.  I'll google on how to dry filament.


text:
Z-axis scale wrong
When printing the Z-axis appears out of scale. I'm using a self-built 3D printer.
For example:

When printing a 10x10x10 mm cube, the Z height is 9.01 mm;
When printing a 20x20x20 mm cube, the Z height is 18.6 mm.

Does anyone know a possible cause of this problem?

I checked the G-code and everything is sliced correctly.
I have now tried connecting a computer to the printer via usb and I executed the command M92. The response I got was this: M92 X200 Y200 Z8000 E500.

Assuming that the model is sliced correctly, not scaled (by looking into the G-code you can find out if it is sliced correctly, look up the last layer move G1 Zxx.xx, xx.xx should be the height of the model). If that is correct, then your Z might have a problem in that the steps per mm are set incorrectly, or your Z stepper is missing steps.
As Marlin is used as printer firmware, you can check and change the configuration of the Z steps per mm. When using a console you are able to communicate with the printer and see output return.
With G-code M92 you get a report of the current settings. These should be verified with the mechanics (e.g. gearing) and electronics used (e.g. micro stepping value).
In firmware configuration this is found in file Configuration.h (note: this is an example and may differ from your values!):
/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2...]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }

The third value is the setting for the Z axis. Your value is too low and should be increased according to the fore mentioned mechanics and electronics.
By sending the command M92 Zxxx (where xxx denotes the value you calculated) will update the steps per mm.
There are online calculators that can help you calculate the correct value.
As an example, a very common lead screw is the trapezoid Tr8x8(p2). Assuming that you have normal 200 steps/rev steppers and use 16 micro steps and have the fore mentioned lead screws with a 2 mm pitch, the Z requires 1600 steps per mm.
You should check your hardware, stepper, screw and driver. Note that 8000 is a strange value, your Z axis is only about 10 % off, if 8000 value is correct for 200 (1.8°), 1/32, 0.8 pitch, but also for 400 (0.9°), 1/16, 0.8 pitch (M5).
Considering you are losing about 10 % it can also be that the Z stepper is missing some steps. Increasing the Vref of the stepper motor drivers may help with that.


text:
Writing G-Code: length-optimized Test code
I want to write a couple of very simple G-code test cases in Marlin-Style to make sure my printer works properly. The idea is to test the movement system, then the end-stops, then the heating and ability to hold temperature. But Marlin already runs large, so I can't spare too many lines in the basic setup, if I want to integrate it into the firmware.
The test I have in mind is this order of operations, covering the basis of each axis and the thermal control:

The printhead shall move up 20 mm, then right and forward the same.
the printhead shall home.
the printhead shall rise again by 20 mm.
The preheating shall be done (50°C bed, 180°C head).
The printer shall do nothing for 2 minutes.
The printer shall cool down.
Beep twice to signal that the test is concluded.

What is the best way to set up such a test code in the least amount of lines? Did I forget a crucial test command?

I do not think this question is a good fit for stackexchange. It is basically a "do-my-homework" question and it shows no effort. It is also incredibly specific (and thus useless to anybody else), focussing on a very specific test script that you want.

@TomvanderZanden you DO realize that a) I put it in [tag:knowledgebase] - where BASICS are explained b) I wrote an answer, which took me a little longer than expected c) the extreme specificity here is wanted because it is a very specific test case: do the motors work, does homing work, does the heating work. d) the G-code could be ran on basically every printer, no matter the size.

I did see you wrote an answer, but that doesn't change how the question should be evaluated.

I think that for a "knowledge base" question "How to write G-code to do movement?" or "How to command the heated bed to warm?" or "How to pause a print?" might be more suitable as isolated question (even though these are still very basic questions, of course).

I think that for a programming stackexchange, a question on "I want to write a program that does A, then B, then C" wouldn't be considered appropriate. But a question "How to do B?" might be. This seems to be the equivalent of that?

I can get down to 13(14) lines using 6 commands, one of which is optional: G1 movements, G28 homing, M140 setting the bed temperature without pause, M109 to set the hotend temperature, G4 dwell to pause, and M300 to beep.
The line in [] is optional, but the nozzle isn't safe to touch right away - waiting for the cooldown ensures touch safety.
G1 Z20 F1000 ; Movement Test Z
G1 X20       ; Movement Test X
G1 Y20       ; Movement Test Y
G28          ; Homing Test
G1 Z20       ; Movement up (safety measure)
M140 S50     ; Set Bed temperature to 50, directly goto next line
M109 R180    ; Set Nozzle temperature to 180, wait for achieving
G4 S60       ; Wait a minute (to see if nozzle temperature is held)
M140 S0      ; "turn off" bed
[ M109 R25     ; set nozzle temperature to 25C, wait for achieving ]
M109 S0      ; actually turn off nozzle!
M300 S440 P200 ; Beep
G4 P200      ; short pause
M300 S660 P200 ; Beep

... and this could be put into one line, and added as a "Self-test" custom menu item for easy access. Maybe this was an origin of "in the least amount of lines" requirement. I like this idea :) it helps to implement PDCA cycle into printer improvements. This could be even built into Marlin, which is aware of current position (risk of gcode raise on start) and hardware (speaker vs buzzer).


text:
Z axis issue after upgrade from stock FW to Marlin 2.0.7.2 on Ender 3 Pro
I'm having an issue with bed levelling since upgrading my stock Ender 3 pro to Marlin 2.0.7.2.
The upgrade process seems to have gone through fine, I get the new options and it shows the FW version when I power on. My issue however, is that after I auto home the printer, disable stoppers and then level the bed, using a piece of paper, any time I attempt to print the nozzle hits the bed which stops all flow as there's no space for the filament to come out.
This process is exactly the same as I used to do before the upgrade and I never had issues, only since the upgrade.
For reference, I've manually adjusted all the wheels on the printer so there's a large gap (for testing) between the paper and the nozzle at any point on the bed (the piece of paper passes below the nozzle with zero resistance). However, when I attempt a print, it homes the printer and then the nozzle drops lower and crushes any paper I put between the nozzle and the bed (I do this while testing so it doesn't damage the bed), the paper is impossible to move by hand.
Anyone know what I'm doing wrong here? None of the guides that I've found for installing Marlin 2.x on the Ender 3 Pro mention anything about having to make any changes to allow the Z axis to work like before so at a bit of a loss as to why this is happening.

Something that occurred to me. I use PrusaSlicer as my slicer and I noticed that it has the following lines in the custom G-code for the template that I always use that reference "Z", now admittedly I'm no expert with G-codes but could it be either of these that's causing the issue:
G1 Z2 F240
G1 Z0.28 F240

Edited to add full prusaslicer template gcode below:
Start G-code
M83 ; extruder relative mode
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 ; home all
G1 Z2 F240
G1 X2 Y10 F3000
G1 Z0.28 F240
G92 E0
G1 Y190 E15 F1500 ; intro line
G1 X2.3 F5000
G92 E0
G1 Y10 E15 F1200 ; intro line
G92 E0

End G-code
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600{endif} ; Move print head up
G1 X5 Y170 F{travel_speed*60} ; present print
{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600{endif} ; Move print head further up
M140 S0 ; turn off heatbed
M104 S0 ; turn off temperature
M107 ; turn off fan
M84 X Y E ; disable motors

Before layer G-code
;BEFORE_LAYER_CHANGE
G92 E0
;[layer_z]

After layer G-code
;AFTER_LAYER_CHANGE
;[layer_z]

This seems like Z homing issue. Sounds pretty frustrating, so I will try to give some hints, though I do not have Ender 3. Also maybe my few questions will be helpful.
Did you "adjusted all the wheels on the printer" after the Z position was zeroed? This could be crucial, especially that firmware may raise Z up after homing (e.g. to 4mm). The G-Code you have sent makes simple Z moves: rises to 2mm, then lowers to 0.28 mm above the sea level (and F is denotion of speed). And obviously this should happen AFTER homing Z axis, not earlier - could you check earlier G-Code for G28 call?
If you can manually move the bed out of heatend's range (to avoid crashing it) then I suggest to use own file containing only two commands to experiment with Z homing only, e.g.:
G90             ; absolute positioning (just to be sure it is not incremental G91)
G28 Z           ; homing Z axis
G1 Z0.0 F100    ; firmware may have raised Z up slightly, so lower again to 0

If homing would cause the bed accident, than I am unfortunately right - or:
(Added after tracing real problem) Check if Z axis is not loose - e.g. coupler screws are tight - so Z axis cannot rotate on its own by gravity and wight of carrige. When Z steppers are enabled, you should not be possible to move carriage up and down with slight pressur of hands.
Does the printer react to Z endstop? This is first thing to check, actually. You can you press it with finger during Z homing to check if it would react properly (Z homing stopped).
If not, then... did you compile Marlin on your own? For example maybe the Z endstop is or should be inverted. More insight is needed then against the Configuration.h, e.g. file for Z_MIN_ENDSTOP settings. Would be good to have its version from previous firmware, or google some valid Ender 3 file to compare with.

This is all great stuff. I'll run through your suggestions and checks in the morning and feedback

I just had a chance to go through your suggestions:

I just had a chance to go through your suggestions:

Did you "adjusted all the wheels on the printer" after the Z position was zeroed?

Yes, I adjusted all wheels and ensured everything was correct.

could you check earlier G-Code for G28 call?

I updated my original post with the full gcode

Does the printer react to Z endstop

Yes, it functions correctly. If I move the Z to the middle of the axis and then click auto-home and press down the switch, it stops.

As a test, I updated the firmware to the official firmware from the creality website and the issue remains :/

I changed line G1 Z0.28 F240 to G1 Z2 F240 and when it does the initial line down the side of the print bed (before it starts the actual print) the levelling is correct based on my manual levelling.
When it moves to the middle of the bed and starts the actual print, it again drops down and crushes the paper that I put down. I ran the printer with no filament and the paper below the nozzle and when I let it run it will continue to "print" (with no filament) and the nozzle will continue to increase in height layer after layer but that first part is definitely an issue. I hope this makes sense

At the very end of the start g-code (in my question) I added the line: G1 Z2 F240 but this also didn't fix the z axis being lower than it should be. I don't know a lot about gcode so I'm pretty sure I'm trying to fix it in a way that isn't correct but thought I'd test it out

Thank you for adding slicer's G-Code settings. Adding G1 Z2 anywhere should just move (rais or lower) the carriage to fixed position 2mm above the bed. After your change from 0.28, if the initial line is indeed "printed" these 2mm above the bed (as expected), or significantly lower (e.g. just above the bed)? Please add to "Start G-Code" two beginnign lines, just for case: G21 (set units to millimeters) and G90 (use absolute positioning). BTW. I assume that you made few attempts of slicing and it happens for any printing order - you could always open sample file in text editor to check details.

G21 - I mean to ensure you do not try to print in inches (moving Z by 2 inches could be drastical; Ender has threaded-rod-based Z axis; Z motor could loose many steps for example, and cause positioning issues).  I suggest you put my 3-lines G-Code sample to the separate file, and execute it: does it hit and push into the bed?

I added both of those and unfortunately it made no difference :( When it comes to the Z axis hitting the bed, it does not push into it, it touches it and stops, doesn't attempt to keep going down, but prevents the first layer from extruding any filament due to no space between nozzle and bed.

Ok... if it just touches the bed after executing G1 Z0.0, this seems correct! But let's check that you have not overtightened some screws, as this is very small diff and you may just not noticed "pushing". So after "G1 Z0.28" it should be slightly above a bed - can you recheck (e.g. move manualy from the menu)? I suggest this, because you said that moving to 2mm (G1 Z2) already helped. Also please note: that call will not fix the Z axis anyhow, it only causes to move temporarily, then printer will continue execution, and several G-Code lines later will again move to the different Z position.

Hey, I want to thank you for attempting to help but I've lost all motivation with 3d printing after suffering through endless issues, this one being the latest. I thought it might have been a quick fix but it doesn't look so. Again, I do appreciate your help in this thread but for the moment I've packed it away. If at another point down the road I feel like trying again, I'll give your suggestions a go.

So, yesterday I was frustrated and let it get the better of me. I decided to give it one last go today before packing it away fully and I managed to spot the issue... all it was in the end, was a loose screw on the coupler that holds the Z rod to the stepper motor... I tightened that up and everything is working correctly.
Thank you again for your help, without all this I wouldn't have been able to narrow down the problem and I also learned a lot after reading through your comments and trying things.

That's fantastic! I hope your next prints will make you happy and return a favor for this frustration. I have improved the answer to reflect the root cause.


text:
Failure near the start point
The image below I indicated where the point where the tip of my extruder returns after changing the layer height, I don't know if I am right to call this point "Start Point" ...

The problem I am having is possible to see in the photo, because there is a slip of material and sometimes "webs" are created that compromise the quality of the print.
I tried to modify the retraction parameters, such as: speed and retraction length ...
Is there a parameter that I can modify to improve my print?
The slicer software I use is the : FlashPrint_4.5.1 (because I have a FlashForge Dreamer NX)

It seems to me that the photo is a little blurry and hard to see exactly what you're trying to demonstrate. Is the issue occurring in just the first (or early) layers or is it something you're seeing through all layers?

you have print outer walls frist on, yes?

Photo interpretation: I understand that the image on the right presents the actual error: it happens on many layers, following the red "Starting Point" line (so above it on the photo). Interesting issue. Btw. which side of the print is the bottom (zero layer)? - I believe the left side, and the right side is the top of the print.
The problem seems to apeear only in the middle of print. Top and bottom layers are usually printed slower, this could be some hint to find the reason. Also, I guess that the vertical cross section is not just a rectangle, but is wider on the top part? - then print parameters (e.g. speed) may change because of overhangs.
Could you share what type of filament do you print with? For example flexible materials will specifically react to the pressure and should not be forcefully retracted and pushed.
What type
Is there any exccessive material anywhere on the table? Like oozing or stringing? Do you see any material lost before printing the first layer? If not, the retraction is good enough or even too heavy - then try to minimize it: you may go down until you see any oozing, and then check the wall.
Could you share what range of parameters you have tried- especially the speed and retraction values? Jerk and accelleration? Do you use coasting or other pressure affecting techniques?
What is the hotend diameter? - the specs says 0.4 mm and the direct extruder. And (in comparision) what is the wall's line width for extrusion? What is the real width of this wall? (Is it properly sliced and reflected in G-Code? I advice to use G-Code viewer and inspect the details in given area.) What is the infill %, and how many wall lines do you have configured? And the layer height?
I hope this is of some help for diagnosis.

Hi welcome to 3DPrinting.SE! This answer is more a comment, it raises more questions for the OP for clarification of the problem, this is not what the answer section should be used for (we understand that the intentions are good), but that is where the comment section is for. When you reach up to 50 you will be able to comment and ask for more information.

Indeed, I could not ask in the comment :(  To add something constructive:  Recently I disabled "coasting" in Cura because I observed small gaps in printed lines, exactly were they were planned - visible on G-Code preview. My values for coasting was not very intensive, but apparently this phenomena did not occur, leaving gaps. Maybe because I print at low temperatures. I selected start randomly, and my view was not similar to the picture.

We all have to learn that SE is different from regular forums, many have been there, but your effort is appreciated! If you want to learn more, take the [tour] and look into [help]. You can also look into some highly voted answers to gauge the level that is expected. Hope to see you around!

Corrected by changing retraction parameter

That's fantastic! Did you increase or decrease? I am curious about the actual reason. If decreased, it could be extruder gears slipping.on filament. If increased, you should have noticed excess material somewhere else.

I have recently looked into "print outer walls first" in an attempt to make the seam vanish. But turning that setting on creates a webby structure on the following area for my printer.
Turning the setting off again (and reducing the outer wall speed to 30 mm/s) completely eliminated the ringing again.


text:
How to choose a stepper motor when building a DIY 3D printer?
I am making a DIY 3D printer and I need to know which stepper motor I should use. I am planning on making an 18x18x18 or 20x20x20 max print size. I am only using a single Z-axis like the Prusa Mini. I am planning on using 1.75 mm filament.
Which stepper motor should I use for my X-, Y-, and Z-axes and the extruder?  How do I calculate the power needed? Will 2.8 kg or something near it be enough?

Welcome Leo! you don't need strong stepper motors, I've have made my own with motors like yours. I hope someone else can answer with calculations your question.

Thanks, will 2.5kg.cm steppers work for the x, y, z axis? I forgot to tell, I am using a Bowden extruder to keep the weight on the axis low. Also, can you share which steppers you are using and maybe also a photo of it ☺

Hi, I checked the prusa mini's github page to find which stepper motor it uses (As mine is inspired and based on it), and it uses 5kg.cm motor! (If I am reading it right), Which is really expensive in my area. So, can I use 2.5kg.cm motors I am planning on using? Yes, my axis(s) will be light weight and will also have secondary supports. Here is the link to the spec sheet: https://github.com/prusa3d/Original-Prusa-MINI/blob/master/DOCUMENTATION/ELECTRONICS/mini-motor-kit.pdf

Right! 5K motors are better in a bowden extruder but 2.5K will work, I have 2 printers, just be sure to keep extruder temperature above 190°C while extruding.

Oh, Thanks ❤ I didn't think I can use a 2.5kg one for the extruder. It is going reduce the price alot! Thanks

Am I the only one not understanding what size is meant? 18x18x18 or 20x20x20 max print size; is this in mm, cm, inches? Considering the use of other SI units I would assume the size is expressed in cm.

The size of the stepper is usually determined by the forces it must overcome on the machine (i.e. inertia). Obtaining a powerful stepper motor and then using expensive linear guide rails with high tolerances great axial rigidity is wasteful unless you are trying to achieve something specific (which it seems you are not).
Find the cheapest NEMA17 motor you can from a reputable site and start there.
Most of the work has been done for machines of that size, so you don't need to calculate what's required, you can just look it up online. A 250W @ 24V supply is commonly used on printers of that size. The majority of that power is going into the heated bed. If, however, your environment is so cold that the bed never gets to temp, no matter how long you wait, then it will be time to upgrade that bed to an AC mains heated one.

Hi, really thanks for your answer ❤ I am not using a het bed as I am trying to make it as cheap as possible, and a het bed will also need a more powerful power supply which will increase the size. So, are you in short saying, a 2.5kg.cm motor is useable as it is the most reasonably priced and cheap motor from amazon

Hello Leo, For a small 3d printer that should be enough. The torque output on the stepper is directly proportional to the power that you put in, without it melting.

Thanks again ❤ Would giving the power recommend by the seller be ok? I am really worried about the z-axis, will 2.5kg be ok? And also, is 20x20x20 really small for basic use? As, I used a rular to visualise the print volume, and it look small to me (Most likely because I haven't seen a 3D printer in real life as they are really expensive in my area) I am mostly only going to use it for electronics and robotics project that are not very big. Sorry for asking many repetitive questions, I was not able to find answers to these specific questions

You can exceed the voltage since the stepper driver will be proving the current via PWM, it should be fine. Better buy some spares just in case. If the motor gets too hot too quickly then turn down the power in the firmware's configuration.


text:
How do I set my Z offset?
After watching every possible YouTube video on the subject and reading any source available, and although I'm a PhD and quite computer savvy, I still can't make my Anet A6 (no probe) behave in terms of Z offset. I upgraded to silicone bed buffers instead of the stock springs; now my bed is ~5 mm raised, and I don't know how to proceed. Some observations:

G28 makes the nozzle go to the center of the bed. Display says X 111 and Y 111. Is it preferable to set the home to the bottom-left corner, or is the center just fine?

G28 makes the nozzle squish the bed ~5 mm deep.

I've tried the G92 approach and the M428 approach. I can't quite understand what's the difference between them. Can anyone explain why sometimes the former is used and sometimes the latter?

I had high hopes for M428. What could be simpler? You physically guide the nozzle to where you want it to be, send the command, and that's your new 0,0,0. But I guess not. Since my "home" is at 111,111 and apparently M428 can only be used at a maximum of 20 mm from 0, I get a "too far from reference" error message.

At any rate, both approaches (also M206) haven't helped. When I G28, the nozzle still squishes the bed. The display either says Z 5 or Z -5 or whatever I've played with, but the nozzle still squishes the poor bed.

In my LCD menu (Marlin 1.1.9), I don't have Control -> Motion -> Z offset. Since many videos recommend using this, this is quite sad. Can anyone tell me why this option is absent?

On a very conceptual level, I can't quite understand why in all the video guides the bed screws are completely ignored when discussing Z offset. One guy showed how he's correcting his Z offset 0.3 mm using G-code. But he could've easily done it by adjusting his screws... They all say "Z offset means the distance between your nozzle and bed, and here is how to adjust it". Now comes G-code, or LCD menu, etc. But why is everyone forgetting that you can adjust the distance between your bed and nozzle using the screws?! I can't seem to wrap my head around this. In my case, of course, I can't use the screws -- they've reached their limit, so I need to add extra using G-code. But nobody seems to really explain this nicely...

Summary: I urgently need a walkthrough for 6-year-olds. Make that 4-year-olds.

So the new silicone buffers raised the bed by 5 mm? When this happens, you should raise the endstop also with 5 mm. Else the printer will go down to the Z endstop that is effectively 5 mm below the level of the bed. I guess the buffers cannot be compressed by 5 mm, so you need to move the endstop up to the level your buffer compression is in reach of.
No software offset will work (for your current setup: homing on the bed surface does not work as the switch need to be triggered prior to having any offset in play) other than a hardware change or compression of the buffers of 5 mm. It would only be possible to use a software offset when the nozzle homes off the bed surface (next to the bed). The only thing you would have had to do is add in your start G-code:
G0 Z5   ; Move the head to 5 mm
G92 Z0  ; Call this Z = 0

If #define Z_SAFE_HOMING is enabled, you should comment the line in the configuration file to make it home Z at the homed X, Y position.
I will not go into all G-codes, details are read on the G-codes Wiki pages and Marlin firmware G-codes, these won't be able to help you out unless you fix the homing on the bed surface. Currently, you need to do a hardware fix, your endstop is below the surface level of the bed. Alternative is to remove homing Z above the bed surface and redefine the Z offset. A hardware fix is a better solution, and if you manage to print a fancy Z endstop holder and counterpart with a screw you will be able to level the bed more easily.
E.g. M428 can set an offset, yes, but, it needs a reference; that reference is the homing reference or the current position. The current position of a printer that is just turn on is meaningless, it can be everywhere in the print volume. So you need to trigger the endstops first, that is not possible when it is not reachable (without compressing the bed).

@0scar♦ So in conclusion, all I need to do is get rid of my homing-in-center-of-bed (by uncommenting #define BED_CENTER_AT_0_0 in my firmware, I suppose?), and then all my troubles are over and my offsets will work?

I agree with all 0scar advices. Bit funny idea: I would say that there is an alternative solution, but still hardware and I never tried to do that: (1) add the second (upper) endstop for Z (or move & reverse the existing one), (2) change your firmware to reverse Z homing direction (find the highest point, and probably disable Z backoff too), and then in G-Code assume this position to be exact high value (e.g. use G92 Z250 to fix that). Then your actual offset is applied without homing down into bed! I would like to see proof of concept :)

@Pixie, "get rid of my homing-in-centerbed" --> not only, you need to target Z outside of the bed. You would need to ensure homing order (first X or Y, then Z) and backoff to move carriage behind the bed (like -30 or 250, I do not know Anet A6!). Configuring such backoff may not be possible. Firmware may have settings enabled to block it at all. Or you can home each axis separately (e.g. G28 X) and trick the firmware - e.g. after X=0 you call G92 X50 and then can move outside bed (and crash into the frame?), then home Z. Very exaggerted, tricky method, error prone, not worth effort at all.

@Pixie your bed center cannot be in the middle, only a few printers have that. SAFE_HOMING should be in comments. As BED_CENTER_AT_0_0 should be in comments as well.

Setting any offset will move the whole print ("effectively shifts the coordinate space") - so you can set up for printing above or below bed, or shifting several cm to the right, for example - and then your print may not actually fit the printing space. For example: my frame is blocking X moves at the top, I can set the 20 mm X offset to avoid accident when printing high (so shift the print). Or when setting the new print on top of another print, thus shifting the position, etc. If you call M428 in any position, then current position will become the new offset. Current offset settings is reported by M503 (or M206 without parameters).
Also G92 is used as ad-hoc operation when relative positioning is used. It makes sense for extruder movements, but is not used for moving the printing head in practice. I would say that any such calls for X,Y,Z sound like some hacking, and you should know exactly what you are doing for tricking printer's logic this way. I would avoid this at all.
Normally (0,0,0) for cartesian printers is nearest-bottom-left point of the bed.  If properly zero the printer is what you are trying to achieve, then you should:

zero any X,Y,Z offsets: M206 X0 Y0 Z0 (unless some is justified like in the frame example)
save this setting for future: M500
home the printer - it zero the position, and then automiaticall backoff to some "safe distance" (programmed in firmware)
use LCD to move carriage back to zero: at least for the Z axis
regulate bed screws to fit the zero position of printing head

There are settings in Marlin's file Configuration_adv.h:

Marlin 1.1:
#define X_HOME_BUMP_MM 5
#define Y_HOME_BUMP_MM 5
#define Z_HOME_BUMP_MM 2

Marlin 2.x:
#define HOMING_BUMP_MM      { 5, 5, 2 }       // (mm) Backoff from endstops after first bump

They do not change the zero (do not set offset), but force the carriage to move away from zero during homing operation and (Marlin 1.1) after homing, becuse usually it is convenient. Marlin 2.x offers separate parameter for final backoff:
//#define HOMING_BACKOFF_MM { 2, 2, 2 }

If you would like to center the head after homing, I would suggest to use these settings.


text:
Incorrect beginning Z movement
I just bought an Ender 3 Max and from the start I knew something was wrong. I figured out the problem: it is with the first few millimeters of the Z axis movement.
I turn on my 3D printer, go to prepare, move axis, move Z, move 1 mm.
Then I tell the printer to move up 1 mm. But in reality it only moves up 0.3 mm.  I then tell it to move up another millimeter, except it only moves up 0.4 mm. When I tell it to move up another millimeter, and it moves up only 0.45 mm.  I then tell it to move up another millimeter and it moves up 0.6 mm. And then anytime after that when I say to move up a millimeter it actually moves up a millimeter.  Below is a little chart to help you understand what is happening.
Set height | Actual height
--------------------------
         0 | 0
         1 | 0.3
         2 | 0.7
         3 | 1.15
         4 | 1.75
         5 | 2.75
         6 | 3.75
         7 | 4.75
         8 | 5.75
         9 | 6.75
        10 | 7.75

As a result of this error on my printer, the test prints I have run so far are splayed out and uneven at the bottom, making my prints warped at the first 5 mm and several millimeters shorter than they should be.

Your printer probably has an issue with binding in the lower region (binding means extra friction possibly causing the Z stepper to skip steps). Disconnect the lead screw an manually move the X gantry up and down. If there is binding, you need to find why this happens, with the unfortunate design of the Ender, many people experience issues when the rollers on both posts are not correctly installed.

The problem turned out to be that the two extruded pieces of aluminium on the z axis were too close together - I tightened the screws too tight. This made the gap between the z axis bars smaller than desired and the z movement only lifted one side of the bar in the beginning.
After I loosed those screws holding the gantry crane on, everything works now!

I am experiencing the same problem in my tevo tarantula pro... can you explain better the way you solved yours?

@GabrielLopes This answer describes in more words what exactly happens if you fasten the wheels to tight.