text:
Ultra high precision and accuracy printing
I work in a teaching hospital and we have a research project we're interested in pursuing.  We'd like to 3D Print tubes we'd implant into rats to help with nerve regeneration.  We're interested in the shape of the tubes right now, more so than what material it is or whether it's biocompatible etc..
So this question isn't necessarily about what type of plastic or whatever we should print in.  My question is more so:

We'd like to print a tube that's 1 mm in diameter, about 1 cm
  long and has as many micro "tubes" crammed through it as possible,
  something like this:

I currently have a Stratasys j750 in my lab, a UPrint Se and a Prusa i3 Mk3s.  They all work well but for the detail I'm looking for, come up a bit short.  They have advertised accuracies of 14 microns (well, the j750) but thats just in the z direction, x and y are more like 200.  If I went to get PRECISE, what technology should I look into?

If you want to squeeze maximum accuracy out of your J750, you should talk to Stratasys' or your reseller's support channel. There are some non-obvious tweaks you can try out to get better accuracy, and they may even be able to give you access to settings that aren't on general release yet.

Should that say "if I want to be precise" rather than went to get? I can't work out if PRECISE is a brand of printer [part] - although there doesn't seem to be such as brand...

Also, whilst the question is interesting, I'm not sure if it borders on a recommendation which, strictly speaking, aren't really allowed on SE sites, unfortunately.

Yes, it should read "want to be precise".  Not a brand as far as I know, just bolded the word to emphasize it.

Neat idea! "As many as possible" may be overkill though. Depending where you're looking, peripheral nerves have a surprisingly low number of fascicles. Those fascicles are often different sizes and shapes too. Do you have a cross-section of the nerve you want to use? "How do I make this?" might get better results.

One option you could try would be to print it much larger and then stretch it, like murrini.

Update on this:
Per this article:  3D printing strategies for peripheral nerve regeneration
There are a few 3d printing technologies beyond your typical FDM/SLA/Polyjet that can get this small.

Melt Microextrusion
two photon polymerization
Something called MEW
continuous liquid interface production

I found various articles where someone "printed" that small, but it was often kind of a misnomer where technically something was made additively, but it wasn't a "printer" that you could go buy.   I think two photon polymerization may be the "best" actual printing method for what I want, though the price tag associated with that style of printers may be out of my range. But it can definitely get that small, this technology can apparently get down into the nanometer range.

This is an interesting question. A good thing to note when we start talking about SLA and other jewelry grade 3d printing, that you will have to factor in the materials toxicity when we start talking about medical applications. You can also look into DLP 3d printers but they will not have as good quality.
What can help you right now is these SLA printers I see that form 3 has 25 microns, with a laser dot of 85. Well within your tolerances. Just make sure to get dental grade or medical grade resin.
Note that if there are bends, then you will have issues with SLA printing, depending how steep the angles are.
There are other technologies, such as metal 3d printing or SLS printing, that will likely be out of your price range such as the HP Metal Jet that can do 21 -xy by 50 -z microns. Or binder based 3d printing which will have the best internal geometry, as powder will act as support, and is easily removed.
There are many specifically in the bio printing area that might be what you are looking for as well, this is more an alternative. You can look into what the researchers at Penn has been doing, where they have been using Sugar to create vascular networks. As far as I know they do not sell it as a product at this time. Here is more information about scaling vascular networks
See here for more information about other printing technologies

I've spoken with representatives at Form about the form 3, and apparently the 85 micron laser doesn't equate to 85 micron thickness walls.  Their best guess was 125-150, which to be honest isn't much better than the 200 we currently have with the j750.
An expensive printer wouldn't be an impossiblity (again, we have a quarter million dollar j750 at the moment) but yes, it'd be nice if I didn't have to go out and find funding for a giant printer for these tiny tubes.  Do you know of any websites/service bureaus that can print in this detail as a service?

yes https://www.shapeways.com/
Thats interesting that they say that. I bet that has to do with the fact you have elongation of the dot from the mirrors angle. Do note that post processing (drilling it out) might save you some $$$. I would make a cast of the thing you showed with no holes hit it with a CNC or some sort of precision drill.

I'd suggest contacting https://studiofathom.com/ .  I got a tour of their facilities and was very impressed.  They showed us some 3d printed chips with really small cavities for micro fluidics applications that they prototyped.

Update:  Contacted shapeways and studiofathom, also had an extended conversation with formlabs.
Shapeways and studiofathom were both very polite but passed on the project, studiofathom said "we reviewed the conversation and those requirements will not be possible on our equipment" and shapeways response (via phone) was similar.  Maybe its a weird scale in between microfluidics/nano and normal printing
Form however changed their tune (compared to what previous sales rep) told me.  Their solutions specialist on the phone seems to think the holes I need could be down to about ~50 microns

The typical low-end consumer printers that are so common now in the $100-800 range (yes, I've seen small ones sell that cheap) cannot achieve this, even with special nozzles.
But your machine is a bit nicer than that. Looking online at the manufacturer's page for the machine, we find these specifications:

LAYER THICKNESS
55 microns

BUILD RESOLUTION
100 +/- micron accuracy

That's not gonna cut it. 100 microns is .1mm. +/- 100 microns means it can error that much in either direction from where things should be. To illustrate why this is too much, I'll use the image of the tube in the question, with the 1mm diameter as a scale, and layer the 100micron error potential as a grid over the image:

This grid doesn't show the size of the filament: just margin for error. It's getting close to what we need, but it's not there yet. To reliably create your tubes, you want the error to no more than 1/4 the diameter of a tube itself. Based on the image, the tube size is about 180 microns, so you want to look for something with an error in the range of +/-45 microns. _Maybe you could do this with a tube — more of a rounded rectangle — lying on it's side.

The online manufacturer page you listed links to the wrong printer.  j750 vs j700, resolutions are a bit different.  And I've mentioned the j750 is not going to cut it.  The question is not: what accuracy do I need, the question is how do I get there?

@JosephCrozier what is your smallest wall feature? If it is less than the smallest nozzle you can get or smaller than 0.15 mm, no 3D printing type can do this.

FDM/FF printers can#t achieve those resolutions due to several constraints. The biggest problems are wall thickness and resolution:
The print needs to be made from walls that are at least one nozzle wide. Commonly available nozzles go down to the 0.15 to 0.2 mm area, so the thinnest wall has to be at least this wide or be ignored.
The resolution is probably an even bigger problem: common consumer grade and industrial machines can get dialed in to have errors down to the 0.1 mm. Which would be, with the aforementioned smallest nozzles, up to half a wall width shift! Shifting the print by that would destroy the functionality of the print surely.
But, is there a solution?!
The only solution that comes to my mind is using a resin based printer like SLA or DLP. SLA printers can get down to 0.025 mm layer height, usually demand a minimum of 0.14 mm wall thickness, but newer machines can cut that almost by two.
The error on the SLA Form 2 machines is, compared to its minimum wall width, pretty much nonexistent for features of about 10% larger than its spot size (0.144 mm), so for 0.15 mm and up it prints pretty much spot on. Extrapolating this means that you'll need a SLS machine such as the Form 3, for minimum reliable wall lines of roundabout 0.09 mm. However, one wall thickness is usually bad, but it might achieve walls of 2 perimeters, coming down to about 0.16 mm.


text:
Polypropylene Bed Adhesion
I recently upgraded to a Polypropylene print bed, but I haven't actually been able to complete a print.
Adhesion seems incredibly inconsistent, even on the same spot. Sometimes it goes down great, and sometimes it just curls up and clumps on the nozzle. I even cranked the temp up to 220 °C for the PLA and 70 °C for the bed in an effort to get it to stick for an initial layer, and it still isn't sticking.
Any tips? I've been cleaning with rubbing alcohol, but I don't know if there's any trick. Clean when hot? Cold? Let sit after cleaning before using? Is it just a matter of incredibly precise bed leveling?

Before going into details of getting print to stick, first address the bed material in the question. Polypropylene (PP) bed? PP is very slippery (so difficult to get something to stick), isn't it PEI (Polyetherimide)? Or is it a Buildtak (or clone) bed surface?

@0scar I'm really not sure what you're asking, I meant Polypropylene bed material. This one specifically:link Is that what you were wondering?

I asked because Polypropylene is an uncommon bed material, AFAIK it is only used when you want to print PP. Thanks for the link!

When you updated the print bed, you may have affected either the manual or auto calibration of the bed height and bed leveling.
First layer adhesion is depends critically on an accurate first layer thickness, which depends on the bed height calibration.  Adding or, perhaps more critically, removing any bed surface thickness could cause a problem.
With many forms of auto bed calibration, a sensor detects a steel or metallic reference under the surface.  The thickness from that reference to the surface of the bed is not automatically detected or compensated.  Changing the bed surface, even renewing the surface with another sheet of the same material, may alter the bed thickness enough to affect the adhesion fo the first layer.
If the bed is properly adjusted, the problem may be the surface of the polypropylene.  I see that some instructions for cleaning polypropylene build surfaces suggest isopropyl alcohol and/or a mild soap solution.  I find that with a PEI build plate, it is sometimes necessary to clean the surface with acetone.
Acetone is superior at removing oils and films from the surface and will do better than multiple isopropanol cleanings.  I checked a table of chemical compatibility, and polypropylene is highly compatible with acetone, so a thorough cleaning will not degrade it.

Nope, I remembered that part. Been using this https://www.thingiverse.com/thing:3235018 to try to level, but putting the bed close enough to stick leads to layers being pulled up as the nozzle travels.

Have you resolved this?  Have you tried changing the temperature, especially trying a higher temperature?  If the head contacts the filament deposited on the same layer, there could be other problems, some of which may be helped by extruding with a higher temperature (and thus more flowing plastic).

Nope. As I said, I'd already cranked up the temperature. I just gave up, because the standard plate works better without any fiddling. Wasn't worth the money and headaches, frankly.

If you are using PLA, 200 for the extruder sticks the best for me.  The other issue with adhesion is the greater the difference between the extruder temperature and the bed the poorer adhesion. There are other things can help with this.  Using a higher bed temperature for the first layer can help.  A slower extrusion speed allows the extrusion to cool more before getting as long of a length to for the contraction force; thus improving adhesion.

Problem is, even after I level the bed using https://www.thingiverse.com/thing:3235018, the filament still refuses to stick without additional adhesion. Even with a high temp. And going slow won't help, since the filament just bunches up around the tip.

Have you tried putting a Kapton (polyimide) sheet on your bed? https://www.amazon.com/s?k=3d+printer+bed+surface+polyimide&ref=nb_sb_noss

source: Stack Exchange

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

sort: votes


text:
Marlin customization; additional output after G0/G1 move
This question concerns an Anet A8 with customized Marlin Firmware 1.1.9.
I need to generate an additional digital output to signal move complete to trigger some data acquisition process. The extruder is not connected and was planning to use those outputs.
Which section handles G-code processing and is there an already available option to get the job done?
Basically, I'm trying to use the Anet A8 as a computer-controlled positioning system. It involves some other elements which need to be triggered in a stationary state. The requirement is: G0 X10 Y10 after this is complete: set a pin high and low after a 10 ms delay. this after every move. Additionally if I could add my own G-code to preserve the original operation would be ideal.

Which section handles G-code processing?

In Marlin Firmware, G-code is processed by procedure void process_parsed_command() in file Marlin_main.cpp

I need to generate an additional digital output

A G-code that is able to set a port value is M42.
You could write a procedure that schedules  certain port after a G0 or G1 move, recompile and upload the firmware.

If I edit gcode_G0_G1() function in the marlin_main.cpp and write direct directly to  AVR registers DDR and PORT to toggle pins used to drive the extruder. Since I'm not using an extruder in the system will It be ok?
What I need is a blocking function till G0/G1 commands are complete
Would adding planner.synchronize(); to the end of the function achieve this.
Instead of sending M400 followed by the command.

@Ahe That wouldn't probably be a problem as you are not using them. But I don't know if these ports are reset by any function or so. You could comment out the extruder pin assignment in pins_ANET_10.h to be sure, but please try, it might be that these port constant definitions are uses somewhere in the code. Just search the code base, I suspect that you have some programming experience to figure it out. Good luck!

@Ahe You may want to look at the M400 "Finish Moves" G-Code.
If you were to set the G-Code buffer to a size of 1 and inject M400 after each G1 / G0 command, you could then toggle your pin using e.g. M42 P123 S255 -> G4 P10 -> M42 P123 S0 with 123 being your digital pin number.

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


text:
Configuring of MKS_GEN_L V1.0
I've bought a new "MKS GEN_L V1.0" and I'm trying to configure it with Marlin 1.1.X. I changed motherboard in configuration.h from previous:
#define BOARD_RAMPS_13_EFB   33 //RAMPS 1.3 (Power outputs:Hotend,Fan,Bed)
to
#define BOARD_MKS_GEN_L  53 //MKS GEN L.
I'm getting this error:
pins.h:268: error: #error "**Unknown MOTHERBOARD value set in Configuration.h**"
       #error "Unknown MOTHERBOARD value set in Configuration.h"
        ^
    In file included from sketch\MarlinConfig.h:42:0,
                     from sketch\G26_Mesh_Validation_Tool.cpp:27:

SanityCheck.h:58: error: #error "MOTHERBOARD is required. Please update your configuration."
       #error "MOTHERBOARD is required. Please update your configuration."
        ^
    SanityCheck.h:786: error: #error "**Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined.**"
           #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined."

        ^
    SanityCheck.h:942: error: #error "**LCD_BED_LEVELING requires an LCD controller.**"
         #error "LCD_BED_LEVELING requires an LCD controller."
          ^

SanityCheck.h:1084: error: #error "**HEATER_0_PIN not defined for this board.**"
       #error "HEATER_0_PIN not defined for this board."
        ^
    exit status 1
#error "Unknown MOTHERBOARD value set in Configuration.h"

can you share the source where are you got source of configuration.h file

obviously, it is in the marlin folder.

The motherboard definition in configuration.h should be written like:
#define MOTHERBOARD BOARD_MKS_GEN_L

actually the word MOTHERBOARD was missing and there is no need to write  53 //MKS GEN L at the end.
The number definition is declared in boards.h - you just confused the two files, indeed you should not forget to define the motherboard constant itself. Do note that this is basically a RAMPS board, see pins_MKS_GEN_L.h.


text:
Tronxy X5S-400 Marlin stuck at splash-screen
I got a Tronxy X5S-400, I assembled it and when I power it on, I see on the screen one of the below images and gets stuck there.
Is the firmware broken? If yes, where can I get a configuration.h file?
I verified that the two buses between the screen and the mainboard are not loose or incorrectly connected.

The board is a MKS Melzi v2.0 clone

Just contact the seller, don't mess with it as this appears to be a dead on arrival (DOA). The seller will come up with a solution, either compensation or a new board. This will only work when you have not tampered with the hardware or software.

It looked like the firmware wasn't flashed correctly in the factory. What I did was to flash a bootloader using an Arduino compatible board and to flash the Marlin software e.g. according to videos from this guy.
Next, the menu wasn't displayed correctly so I added, in the Configuration.h the following lines:
#define ST7920_DELAY_1 DELAY_NS(63)
#define ST7920_DELAY_2 DELAY_NS(100)
#define ST7920_DELAY_3 DELAY_NS(125)

Now the display is working fine, and the Marlin firmware can be directly flashed from the computer because the bootloader remains there.
I also had a problem with the heating bed which was heating very slow and I had to raise consistently the TEMP_BED_RESIDENCY_TIME and decrease TEMP_BED_HYSTERESIS to 1.

If the controller is one of Tronxy's new Chitu boards, you will not have the option of recompiling the firmware, since they are locked down. Apart from checking that the PSU is delivering the correct voltage, your only option may be to request a new main board from the vendor.

It's not Chitu, it's this one https://www.picclickimg.com/d/l400/pict/163564914630_/Tronxy-X5-X5S-3D-Printer-Controller-Mainboard.jpg

@yonutix OK. That's basically a Melzi (I think). I don't know much about the bigger Tronxy printers (I'm an X1 user). There is a very good Facebook user group that will give you the answers that you need: https://www.facebook.com/groups/1119103791478149. You should be able to get config files (and pre-compiled firmware) there.

It doesn't look like a Melzi, whoops sorry yes, it's a Melzi MKS v2.0 clone

Ok, I got it, I flashed the  bootloader, the firmware and I modified some configuration.h defines

Hi @yonutix , could you post your comment Ok, I got it, I flashed the bootloader, the firmware and I modified some configuration.h defines as an answer (maybe expanding upon it as well, if possible) and mark it as accepted. That way your question will no longer be in the unanswered list.  As we are a beta site we'd like to keep the unanswered questions to a minimum in order to graduate. Thanks .


text:
Simplify3D with error in preview?
I am trying to print a belt but when I preview it, the model doesn't fully render

It isn't rendering the full model correctly. The model is rendering halfway but isn't fully which is why you can still see the infill when the slider is at max which isn't normal.
This is what it should look like:

I have a 0.4 nozzle and those with a 0.6 have been able to print this. What is going on?

Welcome to 3dPrinting.SE! What have you tried to change in order to get it to render? Is it throwing any exceptions? What isn't it doing exactly?

@Pᴀᴜʟsᴛᴇʀ2 it isn't rendering the full model correctly. The model is rendering halfway but isn't fully which is why you can still see the infill when the slider is at max which isn't norma

@Pᴀᴜʟsᴛᴇʀ2 I added what the model looks like and what it looks like when rendered

The second image helps a lot so we can understand what it should look like. Is this a print you got from Thingiverse?

Look in the lower right corner - can you setting it to 300 layers or 400?

First I thought that the model was improperly modeled due inverted faces or any missing line to close that faces but, I rendered the same STL to be printed 0.4 nozzle with height 0.2mm and looks pretty well.

Then I suspected that you were trying to print with 0.4 nozzle at 0.6 layers, which this is totally wrong but, I decided to set the 3D simplify and do the test. The program just show a warning about first layer height adhesion, the click OK and the part is rendered correctly.

However the recommended settings for a 0.4 nozzle should be less than 80% diameter = 0.32mm as maximum to get a proper bonding.
So, I think that you need to download the part and render it again. The time to process this render under XP with an small PC last for 5 minutes. So on bigger PC's will be faster.
Here is the link where I downloaded the "belt Komplett 805"


text:
Marlin error Rx_buffer not declared in scope
After one successful preview of compile, the upload returns error
rx_buffer not defined in this scope.

How do I fix this?

Welcome to 3dPrinting.SE!

Have you changed #define SERIAL_PORT 0 in MarlinSerial.h?

Have you found and fixed the problem? If so, has the answer below led you to the solution? Please vote to accept the answer so this question is not bumped up once in a while and can be removed from the unanswered question list. You may even add your own solution and accept that after 48 hours! If you have not been able to address the problem please update your question.

The line defining SERIAL_PORT in MarlinSerial.h should read:
#define SERIAL_PORT 0

To [mis-]quote this answer from RepRap:'rx_buffer' was not declared in this scope (the emphasis is mine):

#define SERIAL_PORT 4

This is the serial port on the controller, not the serial port on your
  computer. 0 through 3 are valid options on a controller with a atmel
  2560.
Unless you are doing something like serial over bluetooth or
  deliberately not using the USB port you should not change this from 0

The same error is reported on the Arduino forums, 'rx_buffer' was not declared in this scope:

Have redone over 5 times and always getting " 'rx_buffer' was not
  declared in this scope ".
Now I tried Factory marlin and same "
  'rx_buffer' was not declared in this scope " . Dont know what to do - I'm
  so lost.
...
#define SERIAL_PORT 4     //before was 0

Nothing else


text:
Replace X axis motor with different model
Last week, my X-axis stepper motor died. It was a 42SHD0217-24B model. I ordered the same online, but the vendor made a "mistake" and sent me the 17HS3401S model.
I know these motors use a different voltage, so I adjusted the screw on the stepper driver and managed to get a smooth rotation with the new model. I know that these 2 motors have a rotation of 1.8° per step.
My questions are the following:

Since they have the same rotation angle per step, I shouldn't have to calibrate the new model, right? (I'll use the original wheel)
Did the vendor send me a motor with inferior performances?
Will my performances degrade if I use the new motor? (Lecture on motors appreciated). By that I mean: will my top moving speed be affected? Will the motor miss more steps at high speed?

can you just try it? print a benchy or something and see how it goes.

Yes I will obivously, but I'm looking for a more theoretical explanation, since I want to understand...

Not voltage, but amperage (current). Due to the difference in max current, you need to lower Vref of the stepper driver.

Since they have the same rotation angle per step, I shouldn't have to calibrate the new model, right? (I'll use the original wheel)

Yes, you do not have to change anything, other than the Vref of the stepper driver.

Did the vendor send me a motor with inferior performances?

Yes, the one you received has a lower height, so smaller coils and smaller permanent magnets; basically lower torque.

Will my performances degrade if I use the new motor?

That depends on the loading of the carriage of the X-axis, it could if it is heavy; you now have less torque available to move the carriage. But, this type is frequently found in 3D printer kits and should work.

The Vref is adjusted by turning the screw of the driver right? (What I did?). I thought I was adjusting the tension because I normally measure the voltage on the driver. But I gues Ur=R.I :)

@JPFrancoia Yes you adjust the screw and set the correct Vref according to the stepper driver type to limit current, e.g. for DRV8825 drivers it is Stepper Current Limit = Vref × 2.


text:
Test print coming out spongy
I acquired an Anycubic Chiron yesterday. I went through the leveling procedure and I think the level test print came out okay so I printed a 20 mm calibration cube and a benchy. Both of these came out with a sort of spongy consistency.
I have no idea what could be causing this so some advice would be appreciated.
I'm using Ultimaker Cura 4.0.0 and printing in PLA.

It turned out I had the wrong filament size set in Ultimaker Cura. Fixing this resolved the issue.

That could be an issue as well ... good call! :o)

Got the 3d printing discord channel to thank for pointing that one out to me

Just out of interest, what was the filament diameter that you were using, and what was the setting when it was coming out spongy? 1.75 and 3 respectively, or vice versa, or some other combination?

It's always Cura having the wrong default filament diameter or even ignoring your choice and replacing it silently...

@R..GitHubSTOPHELPINGICE Unless it's the e-stepper, as happened to hundreds of people that took the plunge on an Ender 3 Pro for the Black Friday deal, and got a printer with two and a half times the stepper resolution that the printer's own firmware expected (to say nothing of Cura).

I would lay odds on it being your filament is moisture saturated. You don't state what type of filament you're using, but to my understanding this is what happens when it is saturated. The water evaporates as it goes through the nozzle, which causes the filament to puff up, which leaves voids in your print.
The print itself looks like it came out rather well. I mean, the edges of the print are solid and everything is clearly defined. This would state to me the slicer and the printer itself are doing their jobs well. You didn't measure it (or leave any hint you did), so I'll assume the overall dimensions are good.
Try a different filament and see if you get better results.

authors: Алексей Машкович


text:
Why use more expensive 3D scanners over lower precision scanners?
I am about to buy a 3D handheld scanner for a project (I'm an artist interested in rendering 3D models of my work).
What are the drawbacks of using lower precision relatively, inexpensive scanners? Are there concerns beyond precision?
For reference, I will need to capture 1 to 5 mm detail.
EDIT: Example scanners I am looking at are found here (cheaper) and here (expensive) both are giving resolution in mm

I think that this should be on-topic, see https://3dprinting.meta.stackexchange.com/questions/276/game-plan-what-is-on-topic

What are the comparative scanning resolutions of the cheap vs. expensive scanners? Could you edit and expand your question to include these details?

Note: resolution is not given as millimeters but as an angle for 3D - distance is relevant for scanning, as close objects get more detailed. We are talking angular distances for scanners! for example, a 1 mm line observed from 1 meter distance is 0.0573°, while on 300 mm (~1 foot), it is 0.191°. An apperatus that has a resolution of 0.1° would pick up a 1 mm object on (almost) 200 mm distance, but if the apperature had just 1° resolution the object needs to be 3.491 mm tall at the same distance!

Thanks for the updated question and the links, but please include the details from the links in the question, as it saves people time from having to click the links and look for it themselves. Help us to help you... :-) Also, when the links die, as they invariably do, then they won't be much use. Thanks.

At a simple glance, the Da Vinci Scanner Pro seems a bit borderline with 1-2.5 mm, given your requirement. The other Da Vincis and Nobels with 20-400 microns seem better. It is always better to overscan, rather than under scan. All for the EinScan seem ok too, with < 100microns, but no prices are given on the link that you provide. However as Trish correctly states angular resolution would be the main deciding factor and not the apparently random resolution or single shot accuracy specification given. I'm not even sure what they mean or how they are even measured.

Because cheap scanners have crap for resolution and crap for accuracy.

The expensive scanner looks like it will best scan items which are a few inches from the scanner.  Consider the two outer lenses, and the plane they are mounted in.  I would expect the scanner to be optimized for objects placed at the intersection of the three normals to the lens planes.  The distance between the outer lenses is larger than it looks, so the object can be bigger and further away.  The first picture looks like the scanner is 4 inches tall.  Other pictures make it look more like 18" tall.  Cheaper scanners will depend on better software.  Have you tried an app for your phone?

@cmm Can photogrammetry based solutions get the same level of resolution? (maybe this is better suited as another question)

@user3737411 I have seen photogrammetry produce some really good results (meeting your 1mm expectation); but, they can require quite a lot of photos and also a lot of cleanup as shadows can mess them up a lot.

@user3737411 What you are scanning also makes a big difference.  If the design is pretty simple except for distinct edges then the scan can be cleaned up in something like Fusion360 or MeshMixer.


text:
How to improve very poor quality prints on my Ender 3
I get very poor quality prints from my Ender 3: The prints are weak, brittle , stringy and contain gaps.
Please help me sort this as I'm new to 3D printing and have no idea what the problem might be!

The prints look like this:

It would be helpful to know what are the print parameters (layer height, speed, filament type, hot-end temperature, etc...). On top of that please let us know what have you already tried to fix it.

To help you [edit] your question, I have added a  (currently) hidden area - remove the $<$ in front and the $>$ in the back and replace the [] with the relevant information and you have a good start!

generic quality-improving steps, in order of impact:  print at a slower speed. print with a smaller layer height. cut down on any breeze while printing. reduce printer shaking/vibration with weights/braces. reduce spool friction with baby powder or a spool feeder w/bearing. If you do all those, I can almost guarantee it will come out better than pictured. i would also bump up the temp; it looks like your travels are stretching instead of snapping, and the layer adhesion is sub-par.

little suggestion (no offence of course) - next time it would be the best to try to make a bit better photo... just focused ;)

How to improve poor photo quality could be a thing too ;-) It's hard to see the droplets (on the chest for example). Lower speed, up temp a bit for starters.

i would suggest to start with something simpler
there are many test objects to print and see the results
please take a look here
the idea is to recognise issues (one by one or at least the most basic) and point them and eliminate them directly
looking at your printout i could of course suggest many things
but it would be better to make this process more clear... for you
so you could manage it on your own
to be somehow constructive
i would say there are 3 main issues on the picture you've presented

HE temperature
printing speed
not-so-stiff printer construction (or belt tension)

print test cube and show your results so we can go further


text:
X carriage "vibrates" on small segments
Following the question I asked here: Replace X axis motor with different model
I have a problem with my new motor. My X-axis is now moved by a 17HS3401S motor, instead of a 42SHD0217-24B motor.
On small segments, like when I need to print an arc with a lot of small straight lines, my printhead "vibrates" instead of having a smooth movement. It seems it stops for a very short amount of time before trying to move again. On longer travels there is no problem.
Do you know if it's because of the motor, or because of something else? (Vref not set properly maybe?)

what kind of printer? it might be an inherent design thing (Cantilever design, such as the TonXY X1) or it might be fixable by altering the design (Portal/Prusa style), or by tuning the hotend weight (Hypercube)

vref vref and once more vref. please take a look here https://3dprinting.stackexchange.com/questions/1480/how-do-you-make-sure-you-have-the-right-voltage-on-the-trimpots-on-an-a4988-step/1483#1483

The overall torque, and thus the incremental torque is less with your new stepper, this may result in less smooth operation because of moving the weight of the carriage (e.g. when you have a direct extruder mounted on the X carriage).
You could be facing skipping steps, resulting in less accurate prints. Maybe the Vref has not been adjusted correctly, or the stepper is just not working for your application.

Sounds more likely it's skipping microsteps then catching up before the full step; otherwise there'd be layer shifts.

One other possibility is that the printer is "gap-filling". When there is a space between walls that isn't enough for infill or a roof layer, the slicer can be told to fill the gap, and depending on gap size it often does this with a zig-zaggy motion of the extruder. This is normal; if you wish, you can turn it off, however be aware this can cause those gaps to be visible in top surfaces of your prints.


text:
Tuning PID parameters for hotend
I have a TEVO Tornado that I messed a bit with, so basically now I have:

MKS GEN 1.4 board
TMC2130 stepper drivers
E3D v6 hotend

A few days ago the heater cartridge so I replace it with the old one that was on the hotend of the TEVO Tornado. Now ideally both should be 40 W from what I found online but after I replaced it the heating didn't work as expect so I set out to re-tune the PID parameters but no matter what value I try the temperature is always oscillating below the desired temp. Say the desired temp is 200 °C then the head temp will oscillate between 187-200 °C. I tried M303 auto tuning but with no luck for some reason the temperature can't go above 160-170 °C when auto tuning so I get a thermal runaway error.
I tried setting the D term to 0 and then to 1000 but the difference in behavior didn't change a lot which I think is weird... I thought the board might be going crazy so the timing for the PID controller is messed up but the thing is that is was working fine with the old heater cartridge. Any ideas?

what did the PID tune return?

There is also this question in the robotics group: https://robotics.stackexchange.com/questions/167/what-are-good-strategies-for-tuning-pid-loops

Disable PID in your firmware.
Attempt to heat up.
Can you reach reasonable temperatues, e.g. 230°C?
If not, your heater cartridge or thermistor might not work correctly. You can check the resistance of the heater cartridge to calculate how much power it has (P = U^2 / R)

Issue was with PID tuning nothing to do with the hardware. I switched to a duet wifi and used the auto tuning of the reprap firmware and now it is just working beautifully. I guess I was doing the manually tuning in such a bad way and the auto tuning on marlin was not working correctly for me.

Welcome to 3D Printing .SE! Thanks for sharing your solution with us!


text:
PLA print warping on heated bed
I am trying to print the 3 jaw lathe chuck on Thingiverse. This specific piece is the scroll.stl, but it applies on every big piece. The print material is (transparent) PLA, that I print on custom glass bed, which is heated by a regular heated bed at 65 °C. However, my print is warping on the external edges of a solid 2 mm for a 85 mm diameter print.

I didn't use the cooling fan. And I don't have an enclosure to keep the warmth inside the printing area. The nozzle temperature is around 200 °C.
What could be wrong?
The printer is a slightly modified Prusa i3 MK2.

Use an adhesive between the glass and the print such as glue stick, strong hair spray or a dedicated product like 3DLAC to prevent warping.

i get that if my printing room is windy. If I put a couple pieces of cardboard along the printer to block some/most of the breeze it gets better. You don't need a full enclosure, but try stacking some books or something along the flank and see if it helps. It might also just need more hairspray; your glass looks pretty clear instead of frosty.

Glass is not a great conductor of heat.  If you have an IR temperature meter, put some masking tape on the bed and measure it.  You might need to increase the heater temperature to keep the glass hot enough.

@dandavis That is a good point. I didn't know that I needed to add hairspray on the glass. I though that the cleaner it was, the better it is. Thus, I tend to clean it with windows cleaner. But my room is not windy, and the flat tends to be quite hot with everything. But I could try to make a small enclosure. I think I neglected how imported it is.

@cmm Indeed, that is a good point. However, I tried with higher temperature before, and I add sign of too high temperature, as the first layers where "swollen", thus I reduced a bit the temperature. But the conduction to the glass in my setup is really poor. I should try to improve it! I am not sure how I would do that though...

Several things I've done to stop warping when it occurred:

Use a wider brim.
If the brim isn't sticking, use a higher bed temperature for the first layer.
If the brim comes up only on one side or warping is only on one side, make sure the bed is level.
Slowing down the print will keep you from having as long of a strand cooling down.  This will lower the contraction force and reduce warping.
A hotter bed temperature will reduce the temperature difference between the extrusion and the bed, thus reducing the contraction force.

200 °C is a good temperature for getting PLA to stick.  I've tried lower extrusion temperatures to reduce the temperature difference between the extruder and the bed, but this decreases adhesion to the bed and is counterproductive.

Well, I didn't put any brim as I thought the surface didn't need it. But I can indeed increase the temperature of the first layer. And reducing the speed of the print is a good idea. I also think that increasing the temperature of the bed is a good idea.

The sides will bulge if you get the bed too hot.  That's why people use a hotter temperature on the first layer.  Larger prints can have hotter beds because the longer print time for a layer allows it to cool more.

Use an adhesive between the glass and the print object; e.g. glue stick, strong hairspray or a dedicated product like 3DLAC.

Glass is tricky. Try using a glue stick. It makes the problem getting it off more than keeping it on. Magigoo and Aquanet also come highly recommended for glass. Another thing would be printing with a raft. Raft's stick pretty well, and most prints stick to a raft, and those prints won't lift. A third trick would be using an extrusion multiplier on your first layer only. As far as slicer tricks go, check to see when (if at all) your cooling fans turn on. usually, fans will turn on about 12-15 layer into your print. Any earlier, and they may peel. Bed level, although crucial to have to some degree of accuracy, is somewhat nullified when a raft is used.
Hope that helps!

Indeed, it does, on several level! I am quite new with printing on glass, and I thought it was used because it is easier to get better print with them. Mostly when it comes to sticking the first layer.


text:
How to connect optocoupler module to ABL sensor and Ender 3 board
I am trying to figure out how to wire up Auto Bed Leveling (ABL) on my Ender 3 using the optocoupler and inductive proximity sensor below.
I cannot figure out how to wire it all together, all the tutorials I have found are for 2 and 3 wire per side of the optocoupler.

VERY related: https://3dprinting.stackexchange.com/questions/6358/inductive-sensor-in-24-v-machine

Connecting is pretty straightforward like the other modules, difference is an extra input lead.
From e.g. here: Module interface description:

DC+: Positive DC power supply.
DC- : Negative DC power supply.
PWM: Signal input (connect MCU port, PLC interface, DC power supply, etc.)
GND: The negative terminal of the signal
OUT+: Positive output terminal (connected to the device positive)
OUT-: Negative output terminal (connected to device negative)

So, 1 and 2 connect to your power supply that matches the voltage of the logic of your microprocessor (5 V) as this must be linked to 5 and 6 which are connected to the endstop signal and ground respectively.
As for the sensor, blue is GND, black is signal (PWM) and brown is power as seen in e.g. this answer.

Blue is GND?! Well I never. Completely contrary to convention. Utter madness! LOL... ;-)

This is a bit of an addendum to 0scar's answer, as I didn't want to edit it in to his post.
For completion, the sensor's internal schematic is on the side of the sensor itself1:

where:

PNP - 1 BN - Brown - VSUPPLY
N/O - 4 BK - Black - Sensor output
4 mm - 3 BU - Blue  - GND

However, the complete diagram, taken from Instructables - Enable Auto Leveling for Your 3D Printer With an Inductive Sensor (Marlin Firmware), can be seen here:

Footnotes
1 Taken from this image, which was on this product page, 4mm Inductive Proximity Approach Sensor Switch PNP NO DC 6-36V 200mA Cylinder:

There is a bit more to the schematic, which can be glimpsed here (on the left hand side):

A fuller, but blurry, view of the left hand side can be seen here, from this product page:


text:
Underextrusion after long travels
I'm having problems when printing small parts over big areas.
I'm currently printing quite big casing (~180 mm x 100 mm), which has hexagonal holes on the corners. On the first layer the printer prints, in order:

Supports inside the holes,
Borders around the holes
Border of the whole casing and finally
Infill (since it is first layer, infill is solid)

When printing borders around holes, printer's head travels between all holes (so that's around 90 % of the whole bed width), what results in filament oozing and the hole borders being underextruded (sometimes to the point, that filament doesn't stick to the bed).
My setup is CReality3D Ender 3 with Ultimaker Cura 3. Most important settings:

Print speed 40 mm/s
Nozzle temperature 215 °C
Bed temperature 60 °C
Retraction on travel turned on
Retraction additional prime amount set to 0.05 mm3.
Outer walls printed after inner ones

What would help (I guess) is slowing down the print after long travels or priming more filament, but proportionally to the travel distance. There are no such settings in Ultimaker Cura though.
How can I deal with such problem?

If you have oozing on long moves, you have it on short moves too - but you don't notice. Please report what happens if you double the advance and retract settings and reprint the same gcode.

It is suggested to tune your printer for oozing, several calibration prints can be found on Thingiverse for instance.

For the next print I lowered the temperature to 205oC and it seems like it helped a little with eliminating oozing - separated small areas looks better as well. I have two more bigger prints ahead, so I'll monitor the situation.

it seems like retraction issue
i would say you should experiment with

retraction length - so it would retract more
extra extrusion after retraction - so the printer could put some material before it will start your next hole :)

unfortunately there is no good guide how much it should retract and how much it should additionally extrude as it depends on "all your printing circumstances" but here is my arbitrary list in order of importance

filament (density - type and producer)
temperature (viscosity - hotter filament flows easier)
nozzle diam (as filament escapes easier through big hole ;)
heat barrier (cooling efficiency - filament should be cool as long as possible up to (or down to) the nozzle)
extruder gearing quality (good coupling makes precise retraction and extra-extrusion)
cooling (fan and duct should cool your printing right after it sticks to the surface)

and one more thing worth to mention
usually the first layer is not cooled which makes whole system hotter (so filament flows easier)
you could experiment with it too especially for big printouts
so

overextrude first layer AND
turn on cooling first layer

it seems like there is a bunch of things you can do to master it :)
good luck - it's definitely manageable

Set retraction_min_travel to 0. The default value is 1.5 and skips retraction when moving less than 1.5 mm. This leads to serious oozing whenever your print has small travel, which seems likely between the hole walls and the supports inside the holes.
Also, the "custom start gcode" in Cura's Ender 3 configuration seriously over-primes the extruder, possibly making retraction ineffective until the pressure drops. Lowering the E15 and E30 amounts to E9 and E18 improved things a lot for me, especially with flex filament, but also with normal PLA. Printing a skirt or brim would probably be an alternative if you don't feel up to editing that part of the config.
Increasing the retraction amount could also help. You should not need extra prime after travel. It can only help if you've lost material to oozing during travel, and if you have oozing, that's a problem in itself that you need to solve, not paper over by extruding additional material.


text:
Unbonding Hot Glue
I made a print that involves joining two halves together to create the full model. I decided to use hot glue to bond the halves and on one model, the parts came together slightly skewed. Is there any way to ‘unbond’ the hot glue without ruining the model so I can realign the pieces? Touching the glue gun tip to the hot glue wouldn’t work, as the glue is inside the model.

Welcome to 3dPrinting.SE! I think you have two options: 1) physically cut it in half using some type of blade or saw (destructive, most likely). 2) Reprint. Anything which would bring the two pieces apart (either chemically or physically) will most likely destroy the print in the process.

Depending on the composition of your model, the heat you've applied by using the glue gun has distorted the surfaces, or they haven't. One would hope that the model is composed of material that is not unduly damaged by the heat of the gun.
I suggest that if you can test the material of the model independent of the misaligned item, you can determine if my answer will work.
Apply hot glue to a test section, let it cure. Secure another portion to the test, but apply it in such a manner as to be displaced by gravity if it is not cooled. The first part should be "locked" to a surface, while the second should be free to move if not glued/cured.
Place the section in a small heated chamber such as a toaster oven. Observe the parts as you slowly increase the heat. When you see the unsecured part begin to slide/move, you've determined the temperature at which the hot glue releases.
According to a quick search, hot glue melts between 120°C and 200°C. The latter temperature is for specific high temperature sticks, while the lower number is for low temp sticks. PLA printing temperatures are often above 200°C, which gives you some leeway.
Unfortunately, PLA will soften before it melts and that can happen well below the melting point.
Testing will give you more definitive results.
If your testing appears promising, you may be able to place the model in the oven at the predetermined temperature, let it reach softening temperature, then slide the parts into position.
EDIT: A second option...
I've had a new attack pop into my alleged mind. I recall reading that alcohol will help clear hot glue and a quick 'net search confirms that both isopropyl alcohol and denatured alcohol will work on cleaning up hot glue.
I can attest that denatured alcohol does no harm to PLA or to ABS and we use it at the maker space to create a faster release from the PEI bed. Of course, if the model has tight fit, it's going to be much more time consuming to get sufficient alcohol into the gap to free it up.
I'd consider an ultrasonic cleaner with a bin full of denatured alcohol as the first option, even over the pre-heat above.

What is on the market as Hot Glue - or rather "Hot Melt Adhedive" (HMA) is usually a slightly ductile, thermoplastic that sticks to most surfaces because it can easily mold into slight deformations.
HMA basics
One of the most common base thermoplastics is Ethylene-vinyl acetate, aka EVA, mixed with terpene-phenol resin (TPR) to make it tackier and wax, like paraffin, as a filler to make it more economical. These HMA's are usually rated for 30-50 °C ambient temperature and start to soften enough for stress creep at 60-80 °C. Using this low level of heat might allow forcing the parts to move slowly without getting into the more dangerous zone of 120-200 °C, where the HMA actually melts and PLA follows suit.
CAUTION!
Yet we got a problem: many PLA mixtures I have encountered do soften enough at temperatures around 60 °C (like sitting in a hot car) so the print can be deformed permanently. This finding for non-annealed PLA also matches with what Stefan of CNC Kitchen found in a temperature resistance test. He found in the conclusion that 55-60 °C starts to affect non-annealed PLA while tempered PLA can withstand 160 °C to 180 °C, depending on the blend.
Cutting
However, most HMA formulas result in a material that can be carved and cut with a sharp knife. As long as your halves don't have interlocking lugs that block access to the plug of HMA, you could use a long, thin blade to slowly cut the halves apart.
Localized heat
Another solution might be coming in the shape of a soldering iron: by using it to apply the heat more localized than with a hot air gun, the HMA plug might get softened and then either removed in pieces or realigned. This needs considerable control over the heating and a careful hand. As an alternative, if the halves are not too much skewed from their intended positions, a hot soldering iron might be used to smooth over the edge, but it would destroy surface details.
What to do better next time?
There are basically two things that could help to prevent misalignment before the HMA application step:

Alignment lugs/notches would make sure the pieces snap into position.
If none are present, holding the piece into position and spot-welding in some none visible places - for example using friction welding as explained by Polymaker - can help to keep the pieces in position before the addition of the HMA.


text:
Trouble with sizing in Fusion 360
I had imported a .stl file into Fusion 360- from Blender, but I couldn't size it to my required dimensions. Then I tried to make an object in Fusion. It works but when I want to size it (by hitting the D key) it says:

[Error: Sketch geometry is over constrained]...

I realise if I add a sketch, that is flat I can size with D key but if I extrude it I couldn't size it any more. Same thing if I add a 3D object for example a box. Anyway I add a point on a face of that body (in the middle), then I could size it from that point to a edge but that all.

What did I do wrong and why I couldn't I size that body?
How do I suppose to size it?
With the .stl file imported from Blender or with the body made by me in Fusion 360?

Please help me understand how this site works with size...

Welcome to SE.3DP!
First off, F360 isn't the best with STL files. If you're having trouble with constraints and dimensions, I would suggest watching this Maker's Muse video first: How to use Constraints! CAD for Newbies with Fusion 360.
Second, Fusion360 is very tricky with importing STL's. My steps below should help.

In the lower right-hand corner, at the rightmost end of the timeline, you'll see a little gear. When you click on the gear, click the very top option: "Do not capture design history". This puts you into Direct Modelling mode.
In the top left-hand corner, where it says "Model", and select "Mesh" from the menu.
Along the toolbar, in the "Create" section, click "Insert mesh". When that's done, go back to the top left where it now says "Mesh" and use the menu to go back to "Model".
Now that you're back in "Model", go to the "Modify" menu. In there, find the "Mesh" section, and in that box, click "Mesh to BRep". That will convert your STL into a Fusion360 file that you can edit.

Now, if you want to use constraints, I would suggest sketching out your object entirely in Fusion, making constraints and dimensions along the way. I know it's annoying, but it'll be easier to modify it in Fusion.
Hope that helps!

Correction: Fusion isn't the best to modify stlfiles, but it is great to make them

Also, if you use "Insert mesh" to load up your model into Fusion360, there should be an "Unit Type" setting in the "Insert mesh" dialog window. Here you can select different units like inch, cm, mm etc. So if you know what units the model was build upon you can select the correct setting here.


text:
Pronterface not connecting ERROR: A device attached to the system is not functioning
I'm assembling a 3D printer with the RAMPS 1.4 shield (board) and an Arduino Mega. I have assembled the structure and the electronics (set drivers, placed the jumpers, connected stepper motors, etc.) and have uploaded Marlin firmware (configuring: thermistor, etc.) on to the Arduino Mega.
At first I tested my printer without end stops and at that time it worked perfectly.
Today I added three end stops and tested again. First it worked fine but after couple of minutes Pronterface gave this error:
> Connecting...
Traceback (most recent call last):
  File "printrun\pronterface.pyc", line 1053, in connect
  File "printrun\pronsole.pyc", line 720, in connect_to_printer
  File "printrun\printcore.pyc", line 46, in inner
  File "printrun\printcore.pyc", line 197, in connect
  File "serial\serialwin32.pyc", line 31, in __init__
  File "serial\serialutil.pyc", line 261, in __init__
  File "serial\serialwin32.pyc", line 71, in open
  File "serial\serialwin32.pyc", line 186, in _reconfigurePort
**ValueError: Cannot configure port, some setting was wrong. Original message: [Error 31] A device attached to the system is not functioning.**

I tried removing end stops, re-wiring, removing all cables from the RAMPS shield except power cables. Still it gives that error. Although Pronterface connects to the Arduino board when the RAMPS shield isn't powered up. Also the Arduino's regulator is heating up.
Do I need to buy a new RAMPS shield?

It sounds like the USB to Serial port is either resetting or somehow loosing its configuration. Can you try changing the baud rate settings on the connection and trying to connect again.

I have tried with all baud rates. Still the error is there. I have tried to connect with the printer using different computer but it didn't work either.

Today I tried to connect with a new RAMPS 1.4 shield it didn't work either but it over heated the voltage regulator and the main chip of my mega board. Now I'm getting time out error with the mega.

Finally, I found the solution after frying up a Mega board.  The problem is with the Mega board. Part of the board is not functioning properly or not connecting with the RAMPS 1.4 shield properly. So I tried with a new Arduino Mega board and it worked.
Also removing the D1 diode is the solution for the voltage regulator overheating on Arduino mega board as mentioned in question "Arduino Mega voltage regulator overheats with RAMPS board".


text:
laser is engraving the negative space
I am using LightBurn to laser engrave on wood. I am just trying to print some letters.
In the softwares preview the output looks correct. The black part is where the laser should burn and the red part are traversal/scan lines

When i actually print it the negative space is burnt by the laser (basically where the traversal/scan lines are shown in the preview above)

What I was able to figure out is that:

M42 P4 S255 properly turns on the laser when I send this command on its own,
M42 P4 S0 properly turns off the laser.

But the issue is when I send the following G-code, the following happens:
M42 P4 S255 <--- Laser turns on for a flash of a second
G1 X15 <--- By the time the movement starts the laser is already off.
M42 P4 S0

When i stopped using PWM (via the D11) and instead connected directly to D9 (which is for the fan) this issue stops occurring. So this issue is only occurring when I use PWM. Any Guidance on what to check
Update: I read the following on another forum. This might be the root cause here.

M42 is an immediate command and would turn on the laser before it reached its intended start point, M106 and M107 are buffered so the on/off can happen in its intended locations.

Laser engraving and cutting is unrelated to 3D printing. You would have much greater success with the forum set up by Lightburn Software to find your answers.

Also what laser engraving system do you have? I have no experience with laser engraving, but it seems obvious that this could be a software issue, a hardware issue, or an issue of the two communicating. Have you ever gotten engraving to work correctly or are you just starting?

See Is laser etching, specifically a question linked below, considered to be on topic?

I don't know of any situation like "negative space" in 3D printing.   It looks add if you may be just inserting the laser output, which is unlikely to work.   Why?  Because the software wouldn't know what was etching, and would command faster movement for the negative space than for the etched space, and may traverse regions when it thinks the least is off.  Also,  the bounding region of the "negative space" is not well defined.   I would suggest trying it with "positive space" engraving and seeing how it works.   It may also be that the leader control is inverted.   Was this a homebrew machin

This looks like it may possibly be a firmware issue, where the laser has an inverse relationship with power vs what the software thinks it's sending. We really need more information about what the hardware in question is, as well as possibly a sample g-code file.

G-code is executed sequentially, it does not skip a line, that is not possible.

@oscar please see my Update#2

Stating "Update" is not explicitly essential, your last addition (update 2) is not necessary, as you compare apples and oranges. The D9 of the fan is not connected to the microprocessor directly, there is a MOSFET in between.

I have a 2500 mW laser and I am with the same problem. I want to engrave using LightBurn, and also engrave a negative red line. How can I do this?

M42 command is an immediate command. This means that it will run before the move GCode commands finish. This is exactly what I was facing.
This video has the walk-through of solving the issue:

Here is the relevant PDF it talks about: The 2.8 watt, $100 Laser
Upgrade for MPCNC.
Here is the relevant section on page 7 of the PDF:

The laser driver requires a 5 volt TTL input control signal. The
  Marlin fan control Mcodes (M106 and M107) will be used to
  control the laser .Unfortunately, the Ramps fan output (D9) is a
  12 volt signal so we can’t use it. We'll need a quick firmware edit
  to remap the fan output from pin D9 (12v) to pin 44(5v).
Make a backup copy of your Marlin firmware folder first. Open
  the pins_RAMPS_13.h file in your Marlin firmware folder with a
  text editor (Wordpad). Search for the line where the fan pin is
  assigned and change it from pin 9 to pin 44.
Save the changes and flash the revised firmware back onto your
  Mega board.

This is too long for a good comment but may fall short of being a true answer.  If the mods prefer, I can recast it as a set of comments.
There are several differences between using a GPIO pin as a binary data pin and using one as a PWM pin, and the behavior depends on several factors:

Is the PWM pin a native PWN pin with hardware support, or is the PWM function being implemented with software?
Has the PWM pin been initialized as a PWM pin?
What processor type is used?
What is the PWM frequency?
Is the pin a TTL compatible output [0.4 V low, 2.7 V high]?  CMOS?  What Vcc?
For that matter, what is the CPU?

As @0scar points out, the fan control pin is typically not connected directly to the fan, but instead uses a FET to provide isolation and switch more current than the output pin can provide.  Depending on the circuit, it may be inverting or non-inverting.  M42 Pxx S255 may be full on or full off.  When the fan is controlled through the fan G-code, the firmware can take possible inversion into account.
You haven't said what the input circuit to the laser involves.

It is active high or active low?
Does it require a pulse train to keep the output on, or is it
static?  I don't know how yours works, but I could imagine designing
a laser module to require a continuous stream of pulses to keep the
beam active so that a failure in the drive circuit could not create
a safety hazard.
Is it a TTL compatible input [0.7 low, 2.4 high]?  CMOS?  What Vcc?
Is it something else?

Laser etching is generally on-topic for this group given the close association with 3D printing tech, but people are less familiar with the "standard systems".  For some of us to be helpful (especially for me to be helpful) we need more of the circuitry and firmware context.

I will try to answer as much as I understand (totally new to electronics diy).  (A) The board of my 3D printer is an Arduino Mega 2560 board with a Ramps 1.4 board. (B) my laser module has a PWM pin on it, which I connected to D4 on my Ramps 1.4 board..... I really am not sure about the other questions as I don't really know what they mean.

Do you have specs on the laser?  Do you know what firmware you are using?

It's a 5w laser straight from China. Came with no documents. The firmware is Marlin.


text:
Anet A8 inconsistent filament flow
I have been attempting to get my Anet to print for a couple months now. Haven't had a huge amount of time but when I have I've worked on it. A lot of the problems I have had I have been able to trouble shoot, for example for a while I was unable to get any filament to lay, and I have since fixed this issue. Now however my filament will extrude but it is very spacey, and not solid. I have tried re-calibrating the bed, un-clogging the extruder, and increasing the flow rate but nothing works. Is it possible that I have a bad board and that is causing my problem?
[

Hi Rocket_Man, welcome to 3D Printing.SE! Please look into this answer and into free spool unwinding and filament entanglement. After this, update your question please by [edit] with what you checked and tried out.

The skirt looks ok, I assume this is intended to be a 100% layer. It looks maybe that you are set for 3mm filament, but using 1.75? (I had cura default to this on me not long ago).

Thank you. This turned out to be exactly the problem. It’s printing alright now.

@Rocket_Man - If that is your issue, please close out the question by posting your own answer! :o)

The skirt looks ok, which tends to rule out the most extreme flow or blockage issues. However, skirt/bottom layer can be over-squashed so not ideal for calibration.
I assume this is intended to be a 100% layer rather than infill. It looks like you're achieving about 50% infill, which is a good clue.
I guessed (and confirmed in comments) that you are set for 3mm filament, but using 1.75? (I had cura default to this on me not long ago, despite printing perfectly before, and no intentional changes). One easy check would have been to try one of the provided pre-sliced models that came with the printer.
The effect of configuring for 3mm filament is to reduce flow by a factor of 3 (diameter squared), so even a 50% over extrusion still leaves you with less than half the plastic volume required.
After fixing this, you will need to raise the Z-home position slightly to enable the first layer to extrude properly.

I had similar issues with my A8 at first. If it did work fine and now it does not, then it is not a firmware issue. My issues were resolved when I got a new nozzle. If the tip is worn out or squished from crashing into the bed, no amount of cleaning is going to solve it. Also the filament it came with is probably extremely dusty and can easily reclog after cleaning.

It was a stock setting in cura with the filament diameter. Thanks for the help.


text:
Ender 3 first print some area is smooth but some is rough?
Please check following image, Dog looks smooth from left side but its rough from right side , similar on back too.
What could have caused this ?

Can it be due to moisture due to Air Conditioner in my room ?

please fill in the [] in the template I added and then remove the leading <. This will turn it visible and allow much better answers.

We need to know your sliver and its settings

@RobertoLoGiacco That's the dog that prints from a gcode file on the sd card that comes with the printer. Mr Coder, I don't think it's due to moisture from the air conditioner since air conditioners reduce humidity. But the uneven cool air draft could affect the print. Try printing with the AC off if you can or try covering the printer with something as simple as a cardboard box to see if anything changes. That print is affected so much just on one side that it looks like a draft is the issue.

@T.M.: It is the model, but it's not clear to me if it's the shipped gcode or resliced. I recall mine having larger brim and supports. The image looks more like a raft.

@R.. I suppose it’s possible it’s resliced but mine that came with my CR-10 I bought recently had a raft.

@RobertoLoGiacco what is silver , as for the settings I used everything defaults of ender3 , gcode of this model came inside sd card with ender3

@MrCoder that is a typo, I meant to write slicer, but you answered already

If you print with the model rotated, does the defect area move with the model, or remain oriented to the print head?

I was making following mistakes
a) X-axis belt needed a tightening
( I calibrated all X,Y,Z and they were perfect)
b) There was under extrusion .
    ( I had to increase number of steps per mm for extruder motor and store the setting)
XYZ calibration cube was really helpful in debugging the problems .

Do you have a link to the XYZ calibration cube you used? Also what procedure did you use to determine if the belt was tight enough?

Calibration cube : https://www.thingiverse.com/thing:1278865, tight the belt as much you can without stretching it .

It is most likely caused by inadequate part-cooling due to poor air-flow. Fit a [better] part cooling fan. There are plenty of designs on Thingiverse.
You may also be able to resolve the issue by adjusting the printing temperature, but the easiest solution is to install a good part-cooling fan.

I think this is unlikely. I experimented with custom fan ducts and found they introduced warping problems due to intensity of air flow in small points. The stock duct works quite well.

The ender3 has the cooler mounted on the right side of the heater.

Yes. The problem could be related to cooling, but that doesn't mean "aftermarket fan or duct" is the solution, and I'd really caution anyone just starting against jumping to trying things like that. It sounds more likely that the hotend temp is marginal for the material and failing to extrude properly depending on air flow.

Stop telling people every issue is a cooling issue. Most of the time they haven't even bothered to tension their belts properly let alone calibrate their printer. Saying it's "Most likely cooling" is premature and bad advice.


text:
Minimum material deposit threshold in slic3r
I've been using Slic3r for a while now, and for the most part am happy with the results it produces. I mostly use the standard profiles provided by Prusa for my i3 mk3.
However, when watching the 3D printer at work, executing GCODE produced by Slic3r, I notice that frequently the printer makes large travel moves, deposits an absolutely tiny amount of material and does this several times in a row. Sometimes this is so small, barely any material actually comes out of the extruder. I'm convinced the end result would be no different if these operations were simply skipped. In some instances it might even improve print quality, due to reduced stringing.
It strikes me that print time and printer wear-and-tear could be significantly reduced if there was an option to simply skip deposits of material below a certain threshold of volume.
Despite having gone through all the Slic3r options, I've never found something which does this, unless there is a way to achieve it with some combination of settings which I have not understood.
My question is therefore: how can I tell Slic3r not to make individual material deposit moves, below a certain volume?

It does this in small corners.
For example, this model, when sliced has this on layer ~7:

Tiny tiny bit of blue infill.
There seems to be no feature to explicitely disable this.
But sometimes an additional perimeter solves it.

Note, with a third perimeter, the printer would still come back to print this blue line - but as perimeter instead of as infill.


text:
Three-phase stepper motors?
Can I use three-phase stepper motors with pololu style stepper drivers? If not, what kind of drivers support three-phase motors?

Three phase stepper motors are superior in several ways: see this product sales literature.  To summarize: they have a higher stall torque, smoother operation, and smaller step size than equivalent 2-phase hybrid stepper motors.
Unfortunately for using this with simple stepper drivers, they have an extra coil of wire that simple drivers have no way to control.  Two phase motors have two isolated coils, while three phase motors have three coils connected in a star configuration.
Texas Instruments offers this design suggestion for using three-phase motors: TI White Paper.  Ultimately, it is driven by three synchronized PWM signals connected to three H-bridges, each driving one of the three motor wires.  One could build a board with a micro-controller that accepted step and direction pulses and output the three-phase drive.  At that level, you could substitute the micro-control-plus-H-bridge board for the Pololu-style driver in an existing 3D printer framework.  You would need to configure the steps-per-mm correctly for the new drive system.
If you did this, and the sales literature is correct, you should get quieter operation with higher torque.  How that would affect operation would depend on the torque of the motor, the rotating mass of the motor, and the gearing or belt drive you use.
Like two-phase motors, high torque at high speed requires driving the motor with a voltage much higher than the "specified" steady-state motor voltage.

3D printers typically use bipolar two-phase stepper motors, and it is possible that Pololu-style carriers for stepper-motor drivers only support such motors.
Certainly, drivers for three-phase stepper motors exist, for example, the Trinamic TMC5062, but I cannot find any Pololu-style carriers for this chip. Even if a Pololu-style carrier can be sourced, it is not certain that existing 3D-printer firmware can be configured to control it.
If you are thinking about re-purposing some three-phase motors, I would advise that you purchase standard bipolar motors, instead. Bipolar two-phase motors suitable for 3D printing are not that expensive.
Trinamic TMC5062

You can use 3 phase stepper motors for 3D printers but I have not seen a Pololu-style driver. You can use an external driver like the 3DM580S.  Many 3D printer control boards offer external connections to send steps(or pulses)/direction/enable/ground connection to an external driver.
The 3-phase motors that I have seen tend to be bigger, which means that you'll need bigger belts.  Also, they move 1.2 degrees per whole step, as opposed to the typical 1.8 degrees per step with bipolar stepper motors (0.9 degrees/step bi-polar motors are common as well). This means you'll need to make some slight adjustments to the steps/mm on your firmware but that's not too difficult.


text:
Qiditech not working
I have a QIDITECH Dual Extruder Desktop 3D Printer which I purchased from Amazon in November 2017.
Until today it has been working fine and I've printed lots of models, today I set it printing and went out, when I arrived home the printing had stopped, the LCD display was still lit but not progressing, no filament was extruding and the extruders and bed had gone cold.
I removed the print from the bed, cleaned it up then tried to print again.  The LCD displayed the correct display showing the extruders and bed, but none of them were heating up, the extruder temperatures did not change neither did the bed.
It seems to have developed a fault and I have no clue as to why or how this has happened or what I can do to fix it?  I've sent an email to the supplier but so far no reply.
Can anyone help me please?

Will the printer work if you set the bed temperature to 0°C (I.e. no heated bed)?

@Mick, Haven't tried that...I was wrong about the extruders not heating they are, its only the bed that isn't heating.

are you able to access the board and measure the voltage the printer provides to the bed when you send a print command? Can you disconnect the bed and measure its resistance? it should be non-0 and non-infinite

Sorry I don't really want to start dismantling the printer, it may void any warranty.  As far as I an concerned its still under warranty...

In that case, there's not a lot that we can do to help you. Good luck with your warranty claim.


text:
Hotend Will NOT Heat Up with Bullseye
So I just printed my Bullseye mod for my cr-10. But now I have a problem, when my hotend is trying to heat up it can't, because the cooling is to powerful. I know this because when I stop the fan with my finger it starts heating up. Is there any way I can make the fan slow down when printing (because it's not printing properly either) and total stop or go at a minuscule amout when heating up.
Help is Appreciated

Welcome to 3dPrinting.SE! In the slicer you can limit the amount of cooling fan ... even turn it off if you wanted to.

Make sure that the part-cooling fan is connected to a port that can be controlled by G-code. The port intended for the hot-end fan is often (but not always) hard-wired to the power supply.

What is a Bull's-eye mod?

@0scar https://www.thingiverse.com/thing:2759439   Alec do you have it installed too high where it is blowing on the heater block instead of the nozzle? Also what slicer are you using?

Also, always use a silicone sock on your heater block.


text:
Best infill for inter-layer adhesion
I'm fairly convinced that gyroid is the best infill for a lot of purposes, and use it regularly now, but both conceptually and anecdotally, it doesn't seem very good for reinforcing inter-layer adhesion. Each layer is essentially an overhang of the previous layer, and at one step in each period there's even a bridge, meaning that the layers do not get pressed tightly together during printing.
Is there any data on how different infill patterns perform against tension perpendicular to the Z-axis, or angular around the Z-axis, which generally results in layers separating? I would guess "2D" infill patterns provide the best strength here, and I could experiment with it myself, but I'd like to know if it's already been tested.

All tests that I've seen test the shear stress of the infill. Loading parts in Z direction means that you would test the inter-layer strength, which is prone to failure as in effect in between every Z layer you have a crack initiation point.

@0scar: For what it's worth, I just had amazing results with PETG and triangles infill here: https://3dprinting.stackexchange.com/q/10035/11157

I think I need to get myself a low-range torque wrench and do some measurements...

Reminder to self or others for something to test: increasing infill_line_width to something like double nozzle size to see if it gets better layer adhesion with 3d infills. If this makes gyroid comparably strong, it would be a small net material cost vs 2d infills (if any cost at all) and a big win for print time.


text:
PETG layer adhesion
I've been playing around with PETG for the first time, and everything seemingly worked right just from the start - clean prints, no stringing, no bed adhesion problems, no warping or dimensional accuracy problems, etc. As expected it prints a lot like PLA, and as expected, it's less brittle/stands up much better to crushing/impact, except that it's really brittle when it comes to inter-layer adhesion. Vertical cylinders that were fairly strong in PLA just snap with no effort as PETG.
My particular PETG filament is Sunlu, with recommended print temperature 230-250 °C. I started out with 235 and am now using 250, which does somewhat better. I've used layer heights 0.125 - 0.2 mm.
Are these kind of results normal? Is there anything I should be doing to get better adhesion between layers?

Are you using part-cooling fans? If so, turn them off.

As @Mick notes, PETG doesn't like to be cooled too much, in that respect it is similar to ABS. A little cooling is necessary when printing sharp or thin objects like e.g. the nose of a rocket.

What you describe is usually the result of using a too high of a part cooling fan rotational speed. Like ABS, PETG doesn't require much cooling (if needed at all that is). If you do cool too much, layers and perimeters do not bond optimally (you can get string cheese like printed parts on failure).
Why should you use cooling for PETG?
Cooling helps cool the deposited filament on small cross sectional parts. If un-cooled, the printed part picks up too much heat and will deform or sag out.
In such cases, reduce cooling to 40 % to start with (another option is to print more parts or increase minimal layer time). Note that there are so many print cooling fan constructions, some more effective than others, so you need to tune the print cooling fan speed to your setup. E.g. for an Ultimaker 3E I get good results at 50 % fan speed, for other self-build printers with effective part cooling solutions, 40 % works best (printed several kilometers of 2.85 mm PETG). First few layers don't need any cooling at all.

While 0scar was right that cooling fan hurts layer adhesion, I've continued to have problems with PETG even with no fan, regardless of temperature. I went looking for advice on the topic, and found a video by CNC Kitchen emphasizing the importance of tuning extrusion rate because of the compressibility of the material in the extruder gear. I'd already found this was a huge issue with TPU and other flexible filaments, so it seemed compelling, and sure enough I just measured that a nominal extrusion of 180 mm only moved the filament by 173.5 mm.
OK. Having extrusion rate off by about 3.5% is plenty to make prints brittle with PLA - I've experimented with this before just to see what would happen. A longer more precise extruder calibration showed more like 4% error. After correcting this, things were better, but I was still getting severe brittleness in some parts of the print but not others.
For a long time, I was able to mitigate most of the remaining problem with reduced speed. I had already reduced travel speeds down from 120 mm/s to 60 mm/s (my normal print speed) because PETG is sticky fast travel over it with the nozzle in contact will tear up the already-printed surface and inhibit adhesion of the next layer. (This seems to be soft PETG acting as a non-Newtonian fluid. Disabling combing, which I'd done for other reasons already with all materials, probably helped with this too.) After also reducing print speed to 40 mm/s, things seemed mostly ok. But I found recently I was still getting serious localized underextrusion in the form of entire lines nearly missing, especially after complex retractions.
I traced this problem down to some extreme extruder speed and jerk, which I'd allowed to mitigate the cost of lots of retractions and linear advance extruder moves. PLA and especially flex materials (where this matters most) can handle ridiculously high extruder speed (150 mm/s) and jerk (25 mm/s "instantaneous" velocity change), but PETG quickly starts slipping in the extruder gear when you do that, and making it easy to "lose" several mm of filament when unretracting. With this fixed (reverted to default 25 mm/s speed and 5 mm/s jerk; 10 mm/s seems to work ok too and performs a lot better), I finally have really strong PETG parts, comparable to PLA.
In the process I also tuned linear advance K factor for PETG, which could impact adhesion. I started with 2.0 which was too high, and dropped to 1.2 which was slightly too low; around 1.4 seems to be ideal. Having this too low could reduce layer adhesion right after acceleration due to localized underextrusion; having it too high could reintroduce extruder gear slippage by putting the filament under more pressure than the gear can reliably hold it to. (If a higher value is needed to get consistent extrusion, this would mean a limit on the speed would also be needed, and going at higher speeds would require an extruder upgrade. For reference, at 0.4 mm line width and 0.2 mm layer height, a K value of 1.2 requires the extruder to be able to compress the filament by about 2.4 mm to print at 60 mm/s.)
TL;DR: Fan completely off, tune extrusion rate to account for compression of PETG in the extruder gear, avoid travel over already-printed material especially at high speeds (limit travel speed to print speed), and keep extruder speed/acceleration/jerk profile conservative.
Update: Almost all of the issues described in this answer seem to stem from the Ender 3's abysmally bad extruder. Some are probably slipping due to really poor grip from the gear; others might be common to all bowden extruders. With the extruder I'm now using (Flex3drive G5) on the otherwise-same printer, I can print PETG at same speed or faster than PLA, with no under- or inconsistent extrusion issues. Cooling does seem to affect layer adhesion, but mostly on very thin (single-wall) parts; otherwise even with fan on at 100% I get better adhesion than I could reliably get with the original extruder. So I think the biggest issue was underextrusion, not over-cooling.

I print exclusively with PETG and indeed fan and extrusion multiplier needed to be tuned in detail. I did this for my brand of PETG « real » for black color. I just want to mention that switching to a different color of same brand means again figuring out the right settings... its brand and color dependant :-/

Thanks for this. By pure coincidence I am also using a Flex3Drive G5. It's fantastic. I get some weird big blobs of filament deposited at the start of a new line, do you get this or is this my gcode/slicer.

@redfox05: It might be that your unretract speed is too slow, allowing the material to start oozing before the unretract finishes and movement can start. The F3D documented E-axis speed and acceleration limits are very conservative and can/should be increased as much as you can get away with on your motors. I actually made a 1:4 step-up gearbox to put on the motor side, before the flex shaft, to overcome RPM limits of my motor.

Okay good to know thanks. Also Im using a motor that's maybe not ideal for it, I think I'm using a NEMA17 0.9 degree instead of the recommended 1.8 but to solve that I just adjusted the microstepping. Maybe that's also a source of the problem?

@redfox05: Well how fast are you able to do your retractions? If you want to open a new question specifically about it I'll try to help diagnose.

Yes thanks, I'll need to do a new question really I agree. I'll wait and see when it comes up again and then post. Thanks

@redfox05: Great. I'd like to have more practical Q&A about the F3D on here.

PETG doesn't bond well if the layers aren't both at a fairly high temperature, as noted by the other answers. As mentioned, try reducing or simply turning off layer cooling. Additionally, try printing at a smaller layer height, or increased line width, to force the layers to bond more effectively. A final solution would possibly be to print a wall around the part, as many people without enclosures do for ABS prints, to keep the part nice and hot until the nozzle can deposit another layer on top. Works best when paired with higher bed temps. I personally had to print PETG around 25 degrees above the "max" recommended temperature to get good layer adhesion on my fleabay i3 clone.


text:
Can't seem to fix over extrusion
I'm struggling to get my printer up and running for a few days now. The problem is as follows. I got a test model of a cube (40x40 mm) and everytime I try to print it, the nozzle creates these 'lines' on the print which is caused by over extrusion I think? See image:

This goes on for every bottom layer and ultimately when it starts printing the infill the nozzle starts digging into the print and I'm forced to stop the printer, see image:

What I have tried so far:

Calibrating my extruder (by marking 100 mm on filament and command extruding 100 mm, check difference and adjust E step/mm accordingly)
Performed an auto bed leveling
I even halved my flow rate in the slicer (Ultimaker Cura), this gave signs of under extrusion of the first layer but the second layer looks over extruded again
Tried different temperatures in the range of 190-210 °C (I'm using PLA), made no significant difference

My settings and gear:

HE3D K280 Delta 3D printer
E3D V6 Volcano hot end (original, not chinese)
E3D Titan Extruder (original)
Marlin 1.1.8 using Ultimaker Cura as slicer
Nozzle 0.6 mm, layer height 0.2 mm, print speed 50 mm/s
1.75 mm PLA

If anyone could help me fixing this that would be great!

seems to be a overheat vs print speed, remember that your first layer should be 80% as maximun your nozzle diameter. and the speed must be higher is the temperature is also higher and this must be higher is the nozzle diameter is wider. So yours parameters must not the same as nozzle 0.3 or 0.4 mm. verify your nozzle temp, should be differences each 5°.

Long shot, but I'm out of ideas solving this puzzle: "Is the nozzle size selected in the slicer 0.6 mm, but is your actual nozzle (by accident or wrong delivery) a 0.4 mm?".

@0scar this explain why those small mount of plastic on the side on each line, seems to be an uncovered area due an irregular overlap on YX movement. The XY movement is waggled

Your images look as if your initial nozzle to heat bed offset is too large. This causes the filament not to be squished. Try re-levelling and have a piece of plain printing paper have a little drag when pulled.

Hi Oscar, thanks for your answer and edit :) Unfortunately I already tried this method (leveling with printing paper) multiple times without any result..

Maybe this has nothing to do with it but when I'm printing it looks like the nozzle pushes away the previous layed line forming the stripes you see on the picture. Almost like the line are too wide and the nozzle pushes away the excessive material

@Mikelo That is strange, it really looks as if it isn't squished. What about your steps/mm of the Z axis?

my Z steps/mm is 80 (default in marlin, have not changed this)

@Mikelo Default says nothing, it totally depends on your mechanical layout (lead of screw) and electronics (micro stepping, stepper type). If you raise 50 mm from the menu, does it reach 50 mm?

Yeah at first I thought this was a z axis problem too, but I don't understand how that would manifest in a delta like OP has...

@R.. A delta uses belts and pulleys or lead screws, but indeed, the carriage is homed at the top, which is defined in the firmware (as Z max), when the carriage drops down to Z = 0 it should be at paper thickness distance. My comment was meant as in: "Don't take default for granted".

I would look for Z-axis compliance or springiness.  If the Z-axis is too compliant, then it will have a "slight drag on a piece of paper" over a significant commanded Z height.
When printing the first layer, the head will be elevated by the pressure of the plastic being extruded pressing against the bed.  When printing the second layer, the actual Z-height won't be a full layer higher, as the previous layer was lifted.  The second layer will also be lifted, but it will drag through the first layer.
To test for this, manually set the z-height using a metal feeler gauge.  If you don't have one, use a strip cut from the side of a soda can.  Set the z-height so that there is some like pressure against the gauge.  Increase the height by 0.1mm.  The gauge should now be free.  If not, continue increasing by 0.1mm steps until the gauge is free.  That is how much compliance you have in the feed.
From a home-designed delta I built, I know that there are several sources of this compliance.
First check the 12 joints.  Are they tight?  Do they have wiggle room?  That wiggle room can destroy your precision.  Try squeezing the pairs together at the top and bottom with rubber bands.
Second, check that the print head carrier (the part that moves around) is stiff and doesn't flex with pressure against the nozzle.
Third, check that the vertical travelers are following their tracks tightly.  There should be no wiggle room for them, either.
Fourth, check the belts, which must be tight.  If there was no vertical wiggle in test three, they are probably OK, but tighter is usually better.

Thanks cmm, I checked for any sources and noticed the printhead carrier was not properly fixed (flexed a little) but still got the same results (more or less). I also noticed that the Z-offset I entered in my firmware doesnt have any effect at all which resulted in my nozzle being too close to the bed. I fixed this by just altering the delta height but when I set the height to the point where I have a little drag I still got the same results. Now what did work for me was setting the height so the nozzle leaves a gap of around 0.3mm to the bed, however I dont believe this is good practice..

What are you using as a layer height?  My first printer worked best with 0.27mm layers throughout.  The Prusa3d i3m3s I'm using now sets up with a 0.2mm first layer regardless of the layer height for later layers.  Q: when you measure the Z-height of the head, is it with the bed at operating temperature?  Q: The printer you are using has auto-level (from internet information).  This may override any mechanical adjustments you are doing.  Q: If the printer has auto-leveling, there may be a thermal dependency.  Deltas are difficult to calibrate, as they don't have a linear relationship ----

--- between motor positions and head position.  They are also prone to errors from all the slight manufacturing defects.  I've built "delta" CNC machines with 6 DOF to calibrate, and they are easier than these 3 DOF positioning systems.    Have you tried printing on a raft?  If you can get the first 3 layers to print and stick, by layer 4-5 irregularities are usually sorted out.

I think You need to re-calibrate Z steps. Sometimes Marlin default z-steps/mm won't fit for 3D printer, because it depends on the hardware(z-axis threaded rod) that used to build the 3D printer. Check whether the Z-axis moves the distance that you command it to move. (ex: command to move x distance and check whether it moves the commanded distance)

ehhh, no. The last shows the bed is VERY unlevel.


text:
Advice for 3D modeling peg for sprinkler dripper
I'm not really sure where to ask this question as I think it is a design question, but also a printing question. So if there is a better place to post, I'd be happy to harass someone else.
 I'm (re)designing a sprinkler manifold for a dripper system because the stupid pegs for this stupid manifold are on top of the manifold, which is a prime spot for any old postal person/dog/raindrop to break off. Of course the pegs aren't sold separately so you have to buy a whole new manifold. Seems like a great use for a 3D printer.

I designed a new manifold and decided the pegs were useful in case they broke off. I was thinking having them screw in would be a better design, but for the life of me I can't get them to actually screw in after I print.
Here is the fusion 360 file.
This is generally what it looks like:

 And here is the resulting stl file.
After several prints, the pegs won't screw into the manifold base. I push and I turn and turn but the threads just won't bite. The 3/4" pipe threads fit just fine, so I know threads can be printed, but these pegs are stubborn.
I guess my question is, what's a good design for a peg thingy that needs to attach into a manifold, but also pass water? Should I try to replicate the cantilever thing they have going on, or is a screw better? Any ideas why my pegs won't screw into the base of my mushroom? This is my first attempt at 3d modeling so I'm not totally familiar with all the terminology, so any pointers there would be helpful.
Thanks!

It is difficult to make something watertight with 3D printing at high water pressure levels (maybe an epoxy coating on the inside would help out). It could be that the threads are too fine to print, it would be better to make the hole a little smaller and the peg a little bigger in diameter and cut your own threads on both parts.

I can’t download that file right now, I assume they are some rather small threads. One thing you can do is try making the threads more coarse. Another option is to try printing with the smallest nozzle you can and print even slower. Another is to print the threads aligned vertically with the z axis. Another is to make the threaded part of your piece have a slight conical taper the way pipe threads work. Then you can use the conical shape to get the threads to seal better. You can also use ptfe tape on the threads to help them seal. Also what material are you planning on printing these in?

I've been playing with PLA for the prototypes, but probably ABS for the final product. Open to other suggestions. It will be in the sun probably most of the day and some of them could take a beating.
Are sprinklers at "high water" pressures for a .15 or .1 mm layer height? I wasn't thinking they would be too high pressure for that, but I haven't been able to get the pegs in to make a water tight prototype yet.

With the suggestions from @R.., I played with a couple of different screw profiles that come with fusion 360, and found these settings to be helpful:

After cutting the hole with these screw settings, I selected all the faces of the hole and off set them by -0.1 mm. Originally, I was offsetting the hole by like -0.02 mm and the peg wouldn't screw. After learning a bit about tolerances of printers, I expanded this to the .1 value and it screwed in magically! I haven't yet worked out if the pegs are water tight, so I may have to revert back to the previous thread settings that seem like they would be tighter, or maybe I'll invest in an o-ring. Suggestions welcome.
Thanks to everyone for their input.

I examined and sliced your STL file, and the profile of your threads looks very strange.
It's definitely possible to do very strong, perfectly-fitting threads down to small sizes (at least down to M4 or slightly smaller) using modern inexpensive 3D printers, and contrary to widespread belief (there's a well-known YouTube comparison with a major test fallacy claiming otherwise) they should usually be stronger than threaded inserts against being pulled out. But you need to get the thread profile exactly right.
Most real thread profiles are trapezoidal, but yours peak at points and have round bases. This is unlikely to match the external thread on the part you're trying to fit to it, and it's going to have major dimensional accuracy issues because of the sharp point which can't necessarily be represented in the layer resolution.
I'm not familiar with Fusion 360 so I don't know how to tell you exactly, but most CAD software has libraries for generating threads conforming to standard thread profiles. If you want to do 3D printed threads, you should look at those and figure out which one you're trying to match. Or, if you want to replace the pegs with your own design anyway, just pick a reasonable one for both.
Generally, most modern threads use the basic ISO metric thread profile, even if they're not standard metric diameter or pitch:

Your cross-sections should look roughly like the "internal thread" side of that.

This reminded me that Fusion 360 has a feature to import 3d models from the McMaster-Carr catalog including screw and bolt threads.

Interesting, I hadn't inspected the threads in too much detail. Fusion has a bunch of preset threads that are from some standards. I used ANSI Metric M Profile, but here is a screen shot of the available profiles. I played with a couple, so maybe it is just finding the right one.

Metric M threads should look like this: https://en.wikipedia.org/wiki/ISO_metric_screw_thread

If I may suggest a slight alternative:  don't try to make the threads part of the 3Dprint. Instead, thicken the walls where the threads would have been, increasing the ID (inner diameter) of the hole, maybe even "thread" to match the outside of : metal threaded inserts. Those can be screwed in, .
Perhaps a small "T-nut" (pick the size you need) would be sufficient, and you could create holes in your printed part for the penetration tips.

Good call, but I think for these simple sprinklers, adding metal inserts might be more than what I need. In this case the pegs are to carry water from the 3/4" pipe to the smaller dripper hoses, so the pegs themselves need to be hollow.

Or, with tap and die, thread the parts after printing them.

@Davo: That should work as long as you ensure that the walls are sufficiently many layers to retain strength after you tap.

@R.. Yes, we do this all the time with internal threads. We do four or five perimeters, 35% hexagonal infill. Good for M3 and above in my experience.