text:
What would cause a SLA printer to print a solid block of resin?
I’ve just brought my printer back out after a month and it’s first print created a solid block of resin about 1.5 cm deep and the full width and length of the print bed. What could cause this?
My only thought so far is that the FEP film / vat bed is looking a little cloudy even after cleaning. I wondered if this could have caused the light to diffuse across the whole bed?

Welcome to 3D Printing.SE!

Is the laser (or whatever light source it uses) visible? The cloudy film sounds like a good candidate for light diffusion and thus solidifying the entire resin, but if there are visible components to the light source it may help narrow it down.
If it uses a projector ("LCD") solutions, it may also be that the display that filters the light to certain regions of the resin to selectively solidify the print may be at fault, but that's rather unlikely.
The first thing that, in my opinion, you should do is to check that the object you are printing does not have a corrupt model file. Assuming that you have spare, fresh resin (if your resin is old, that's actually the most likely issue...) and it wasn't too hard to pry out that block, you could try printing something else that worked in the past.
While it's doing that, you may be able to see where/how it is printing. If the beam diffuses or lights up the whole area, you can tell if it's a printer issue (the film sounds like a good first thing to try replacing in that case). On the other hand, if the resin is old, it's probably just getting oversensitive and your printer is fine.
The resin is very touchy with these things, and has a shelf life of a few weeks to a few months, and less if it's ever opened.

Thanks. The resin was old and the last bit in the bottom of a bottle. New resin arrives on the 2nd Jan and I’ll see how that does. Will mark the answer or leave a comment once I’ve had chance to check it out

Ooh yeah, that would do it. It also disagrees with air, so the bottle being nearly empty would not help matters...

It looks like it might be the resin. I replaced it with Elegoo resin but now it's just printing the bed and giving up. The sparkmaker doesn't give me any indication as to why it stopped. Any ideas @RDragonrydr

I'm not clear what you mean by "just printing the bed"?

The platform. It was just printing a few laters.

I'm afraid I'm out of things to check, sorry... I hope that you figure it out.

Thanks. I’ve ordered a new LCD screen, will see if that works or not. Thanks again for your help

I had an issue with mine. I had a tiny hole that dripped some resin on the LCD screen. I scrapped it off as best I could but there were some serious printing problems on that side. I got a new LCD screen and replaced that and now print jobs that use to work are not printing solid blocks.
I have no luck trying to repair it, so I sent support a question on how to fix it and what is causing it.
I will update when I know more
Update:  LCD screen was replaced upside down making the ribbon cable go in backwards. I swapped/flipped it over and it works fine now. So if you are having a solid block issue. Replace the lcd but also be cautious of what side goes up. They don’t show you in the videos.

Did your problems also result in a block resin being printed? If not, then this is not really an answer. Please add this to your answer.

Check your LCD ribbon cable. I replaced my LCD screen and the cable was in backwards. Or the lcd was upside down. That was my issue.


text:
How to use a 3.8V stepper with Marlin / RAMPS?
I recently purchased a small stepper motor  with a hollow shaft, without realizing it ran at 3.8V.  I'm looking for the easiest way to integrate it with the ecosystem around the 12V steppers used in 3d printing, including control by Marlin firmware, and also compatibility with mainstream printer boards.
The rated specs are as follows:

    2 phase 4 wires
    1.8 step angle
    Rated Voltage: 3.8V
    Rated Current: 0.8A
    Body Length: 30mm
    Shaft Diameter: 5mm

I have only A4988 drivers, and I was under the impression that those drivers could only work at 12V. I have two spare DC-DC buck converters that could drop a 12V output from something to 3.8V. But I'm not sure what wires to do that for.
I know that motors have "A" and "B" coils for movement. Do I just use two DC-DC bucks off an A4988 driver to power this thing? So, after the output from the A4988 driver, I would connect 1A and 1B to IN+ and IN- on the DC-DC buck, and 2A 2B on IN+ IN- on the second DC-DC buck.
Is there a better way to integrate this motor into an existing 3D printer board based on RAMPS? I'm using MKS Gen and MKS Sgen boards
Using the pins before the driver might not be such a good idea if 800 mA is needed to run the printer. I don't know whether those pins connect to 12V or to the microcontroller output.

The 3.8 V rating does not mean what you think it does. "Rated voltage" has a very specific technical meaning. For a 3D stepper motor to work properly, the rated voltage of the stepper motors actually needs to be significantly lower than the supply voltage of the stepper drivers.
These steppers are perfectly compatible with a standard 12V RAMPS setup with A4988 system. You do not need to and should not mess around with buck converters. All you need to do is adjust the potentiometer on your stepper drivers to limit the current to at most 0.8 A.
The rated voltage in some sense refers to the average voltage the stepper motor should see, but to actually run them at reasonable speeds you need to supply short bursts of higher voltage. A stepper driver and motor actually form a sort of buck converter themselves, and in some sense do the conversion from 12V to the rated voltage for you.

source: Stack Exchange

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

sort: votes


text:
Surface Tension Support for FDM Printers
I've been thinking about alternatives to support materials for FDM printers, such as multi axis printers, dual head with soluble support material or printing in a gel/liquid which traps the material in place. Then it occurred to me that it might be possible to use the surface tension of a liquid to act as support material, same way small objects an insect can float on water even though they are heavier than water. This would also work great for cooling the extruded material. NOTE, we are still using a base plate like any other FDM printer, the only difference is that we have a water surface on the build plate which act as support material for large overhangs/steep angles. Everything is still attached to the build plate itself. We are not just printing stand alone parts on the surface of the water.
After some highly scientific testing (Dropping an extruded string of PLA and placing a thin printed PLA part on the top of water) I've concluded that it is very feasible to float PLA on the surface tension of water. See picture for refence:
As you can see the floating structure is not at all trivial, it has both smooth round shapes and many sharp corners and holes in it, it was still extremely simple to get floating (I could drop it in from a height of 5 cm and it would still not break the surface tension).
I also tried my best to investigate the effects of having structures underneath which might mess up the surface tension by placing larger PLA parts under the floating ring and trying to sink the ring by touching the underside and corners without any success at sinking the floating part. The only way I could get this part to sink was to push it down under water. Even if the surface tension was only broken half way along the ring the ring would still float. If you are thinking that the ring acted as a boat, that is not the case. I made sure to fill the small indents with water so that there were no pockets of air keeping it afloat.
An even more encouraging result was another ring which was much thicker than it was wide. It still managed to float from the surface tension on the top side of the structure while the rest of it was submerged, accurately mimicking how the structure would actually be in the water during printing. See picture:

While this ring much easier to sink it was very resistant to being moved around. Again, basically the only way to sink it was to push it down under water, though as soon as the surface tension was broken on one side the whole ring quickly sank.
All this leads me to my question: Does anyone know of a 3D printer which uses the surface tension of water as support material?
I've searched around some on the web and I have not really found anything at all on the matter. I can foresee many potential problems (such as the extruder moving unsupported lines to the side when changing direction, layer adhesion, enclosed areas not filling with water etc) but the potential to print without support and only have to worry about keeping the newly extruded material in place could open up a lot of potential.
UPDATE: I also tried 60 degree Celsius water (In case you need hot water to help with layer adhesion) and the surface tension still was able to float the thicker ring piece, though it felt like the surface tension was weaker.

While I appreciate your enthusiasm, what's the gain by printing it on water? As you pointed to, your piece would most likely move during printing, which negates the entire thing. The purpose of the base is, well, to provide a base. It's a place where you have solidity and stability. Without it, you won't have precision. You won't have anything but a jumbled lump of plastic. Your idea is neat in and of itself, but what is the end gain for doing this?

@Pᴀᴜʟsᴛᴇʀ2 Oh, you misunderstand, I never said we are printing on the water alone. We are still using a base like a normal printer, only difference is that we use the water surface as support material so that we can print extremely steep angles (90 Deg angles). Your print is still attached to the base plate of the printer. I added a small description of this in the post in case it was too unclear.

Using surface tension sounds interesting, but I don't think it is even necessary. The buoyant forces and rapid cooling which are a result of printing on liquid might already be sufficient to help bridging and other types of overhangs.

It's not feasible as described with normal FDM technology.
FDM bases on depositing material in a single path. This needs the deposited material to stay at the same XY coordinates for subsequent paths. And exactly here is where a floating piece fails: a free-floating piece is by its very definition unrestricted in XY, and would move to follow the nozzle.
There are is also a whole plethora of factors that make this idea not feasible with the standard technology, meaning you'll have to develop the whole process, not just recombine two ideas. This means, you need to solve the following issues:
Heatsink Water
The extruded plastic needs to stay close to the melting point for some time, so it can fuse and bond with the lines next to them. However, water is known to be a very good method to get the heat away from items, as each liter of water can take about 4.1 MJ and only heat by one Kelvin. PLA on the other hand only stores about 1.8 MJ per Kilogram and Kelvin.
As a back of the envelope calculation, the temperature differential between room temperature and printing temperature PLA is about 180 Kelvin. Each gram of PLA is equivalent to 319.8 mm of filament (assuming a density of 1.3 g/cm³) or an extruded line of 9.6 kilometer length of 0.4 mm width and 0.2 mm height! That one gram contains about 324 Joules of energy that will be dispersed to the room temperature as it cools down. The water vat would not even get measurably warmer from sucking those few joules from a whole print!
While this could be, in the right setup, be used to rapidly cool the print and solidify it in shape, the result of the rapid healing will most likely also impact print quality negatively, as cross-layer bonding is reduced.
Separator water
It is a well-known trick in creating polymer fibers to extrude underwater, as the water not only cools (see above) but also acts as a separator between the fibers, for the very short timeframe they are still malleable. This would also strike when printing into the water - there'll be a water layer in between the deposited filament, which would need to either get pressed out or cooked out before any cross-extrusion bonding can occur. As a result, just extruding into the water should result in a print that has almost no sturdiness, and might fall apart on touch.
Floating
Water has a density of 1 g/cm³. PLA has a density of 1.3 g/cm³. So a solid chunk of PLA sinks. But we don't print solid, we include air. Not just a few percent but infill is usually below 20 %. I have just printed a cube. After smoothing the surface by sanding, the cube is 29,7x29.9x29.9 mm. It has 3 parameters, 20% infill, 5 top and bottom layers with 0.2 mm layer height and comes to 11 grams. 11 g/26.55 cm³=0.41 g/cm³. Or in other words: the cube would float, about 40 % under the water surface, 60 % above the surface. The print would be, as a result, quickly break the water surface and get no support from the water at all.
Submerging the bed?
The main issue of a free-floating object (position) might be mitigated if there was a bed that would be submerged, but one would open a new can of worms, that might be even worse: the volume of the print and the accuracy of pumps.
As the print goes on - quality be dammed - the print grows in volume. However, it doesn't grow entirely linear, depending on two factors:

Is the print happening on/below the water surface? Then we will include water in the print. The volumetric growth of the print is in this case just the deposited filament. You'll need an overflow to compensate for the print growing and keep the water level in position.
Is the print happening just above the surface of the water? then the displaced volume grows according to the depth of the print in the water. This would mitigate most of the problems from water preventing cross-bonding and causing floating, and even use the heatsink properties more beneficial, as any filament starting to sag will be stopped. It also would prevent water from being encased in the print. However, it does not use surface tension. Also, you'll need an overflow system to keep the water level steady.

Did you even read the question before you posted this? I explicitly stated that the print will be attached to the bed. Poor bonding could be an issue, though you're calculating the wrong thing, we care about cooling times. Assuming a layer height of 0.2mm, half that for heat transfer, 210 C printing temperature and 60 C water it takes 77ms for the extruded PLA to reach 180 C. Floating isn't an issue since the print is stuck to the bed. I also asked if someone has done this, I know basic physics, I don't know what people have done, hence why I asked if someone had tried this.

@BeaconofWierd The surface tension simply is not supportive as stated. It's the rapid cooling that would make support unnecessary but result in really crap print. The photos you show are not surface tension, they are floating. That's normal floating. As in their density is below that of water.

@BeaconofWierd added other problems and adressed the submerging bed - but as described it is still not feasible with the normal technology - you need to solve so many issues

I just had the same idea and googled it. My idea was to submerge the whole print platform in the water and lower it down so that the water level and the current layer line are always at the same height. Maybe a pump would be required to counteract the plastic displacing water. Completely floating parts of the print could have a tower with three contact points underneath to keep them in place without having to lift the whole structure.

Though I appreciate your enthusiasm, this should probably have been a comment to the question if someone has done this rather than an answer. But yes, even with the bed going into the water you would still need some kind of pump or sufficiently large body of water so the displaced water from the extruded plastic does not change the water level significantly.

This is exactly how the $100 Peachy Printer was supposed to work. Unfortunately, fraud sunk the Kickstarter campaign and no-one got their printer.

Not really, it's a completely different technology. Peachy Printer used a laser to cure a resin, I'm talking about "regular" FDM printing on top of a liquid instead of using support material.

but it did use - allegedly - use water to support the resin structure

Oh, ok, so it floated the resin on top of the water? Then I guess it's similar, though it seems dubious since all the UV resin I can find has a density above water and would sink :S But I guess they could have used one which is lower density.

ISTR they used brine, which is considerably more dense

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


text:
Brand new Ender 3 does not extrude any filament during printing
I bought an Ender 3 two days ago and assembled it today. I think I did it properly, tested the movement of all axes which works for all axes. Then I performed the calibration as described in the manual. I used a piece of paper and adjusted the bed until it barely fits underneath the nozzle for all four corners. Afterwards, I wanted to print my first model so I selected the cat from the usb stick which came with printer. And now comes my problem. I let the printer run for 15 minutes. It moved and moved and moved but there was no filament on the bed. The nozzle and bed were heated properly. The one thing which I noticed was that the stepper which feeds the filament turns for like 30° and then flips back: to me it looks like the filament can not be fed in. After canceling the print the extruder moves back to the home position which is like 5 mm off the bed and then suddenly the filament flows out of the nozzle.
What part of the configuration I'm missing?

Is the printer still printing the first level after 15 minutes just before you broke it off?

@0scar yes it did not move upwards. On the other side when I use the prepare menu I can tell the printer to move up and down the z-axis which works ( I did not measure if the spacing is correct)

Be sure the nozzle isn't too close to the build plate. Try lowering the build plate.

I am a fairly new user of an Ender 3 and had similar issues on a couple of occasions.
The main reason was as @0scar suggested - the nozzle was too close to the build plate preventing the filament from exiting - and the back-pressure was causing the filament to jump back, giving the extruder a "shudder" as it slips on the filament. Lower your build plate as suggested by @0scar. The paper should only just drag.
The fact that filament oozes after the hot end/print heads moves to home suggests you don't have a blockage... but you will if you don't adjust this.
It is better to have the nozzle slightly too high, so the first level does not stick and gradually raise the bed up while you are running the test patterns. Only turn the adjustment knob about 1/8 of a turn before checking - you are dealing in tenths of a millimeter here. Also remember that changing the front setting is going to change the back settings too because the plate will tilt.

Thank you very much for your help. It tourned out that the screw which fixes the threaded bar for the movement along the z-axis was not tight enougth. Afterwards I calibarted the the build plate height and now I'm almost done with my first print!

@Westranger: The screw that fixes it to the Z motor? That would explain it.

I use Cura on my Anycubic Chiron which I encountered a similar problem with and I was able to resolve the issue by preheating the nozzle to a higher temp. I would test the nozzle and make sure it is feeding properly. What I mean by that is load the filament manually and make sure it comes out. Reason I say this is because the other issue you may be running into is either the nozzle is clogged or it may be too close to the bed for it to come out of the nozzle. This is all speculation but hopefully it helps.

The stepper motor turning back is retraction. It is a normals process for 3D printers. I suggest you check that the filament is able to extrude at all.

Using the control panel, go to prep then move axis and move the nozzle up(I forget which axis)
Heat the nozzel up to 200 degrees.
Push filament through the nozzel by hand and see if it extrudes.

If not, check that the nozzel is unblocked.   To unblock the nozzel get a thin needle and clear the hole while still hot. Unless u have a nozzel cleaning tool.
If it is not blocked the filament may need changing.

It is jumping back a step or some, extruder clicking is losing steps, never retraction!

Ok chill.. maybe I interpreted the description differently. I apologise.

authors: Григорий Гавриленко


text:
Which NEMA 17 Stepper Motor for Titan?
I'm trying to find a comparable Nema17 (42BYGHW609) for my new Titan extruder state side with non-month-long shipping from China.
Would this work (and about the same size and weight as the recommended 42BYGHW609)?

45 N•cm (63.7 oz•in) holding torque
NEMA 17 bipolar 1.65"x1.65"x1.57" 4-wire
1.8° step angle (200 steps/rev)
Rated current 2 A & resistance 1.1 Ω

Candidates:

Nema Size 17 Stepper Motor Bipolar 45Ncm (64oz.in) 2A 42x40mm 4 Wires w/ 1m Cable & Connector for DIY 3D Printer CNC Rob
Nema 17 Stepper Motor 1.5A 12V 63.74oz.in 4-Lead 39mm Body W/ 1m Cable and Connector for DIY CNC/ 3D Printer/Extruder

The answer to this question can be found by looking up the specs of the older stepper and compare these with the potential replacement. Furthermore this may be of help.

That extruder should work fine. It's even a bit overkill.

I'm voting to close this question as off-topic because it is a product recommendation question.

Hi gujimeili3, this question was put on hold. In essence we cannot help you with finding suppliers that are faster. That said, nema 17s are ultra common and you can probably next day order this from many large company websites, if not pick it up from local stores. Also if its not the Exact one for this extruder, it wont matter, you will calibrate it anyways.

Yes, it is a product question, but it is more closely a component question.  The OP isn't asking which motor company makes better motors.  This is more like "can I use a 1/2 W wirewound resistor, or am I better with a 1 W carbon composition resistor".

See meta question Why was this (stepper motor selection) question deemed “off topic”?

The safest thing to do is to wait a month (it probably won't take that long anyway), and order the correct stepper motor from China, or pay more and locally source the 42BYGHW609.
The 42BYGHW609 is a commonly used stepper and it is best to keep all of the steppers matched - just for ease of calibration, matched performance/behaviour, and future maintainability.
Otherwise you need to match (at least) the torque, the inductance, the rated current and resistance of the coils, if not the physical size and the stepping angle. Which is not an impossible task, but a bit of a pain, TBH.
The time that you spend verifying the various steppers and then re-checking and worrying would be better spent ordering the correct one in the first place and waiting for it to arrive.
BTW, take a look at the RepRapWiki - Nema 17 page which lists suitable stepper motors.

As an aside, if this is your first purchase from China and are worried about reliability of service, then don't. I order everything from China, and haven't had a problem. In addition, if you order via eBay/PayPal you are financially protected if your order doesn't arrive (which does sometimes happen), or, alternatively, order from AliExpress, where I have never had something not arrive (if that makes sense)

I have just realised that you need an extruder replacement (and not a X/Y/Z stepper)... in which case, as towe states, either of your candidates is probably fine, although maybe over-torqued (slightly).
However, I, personally, would still replace the stepper with the same model that the 3D printer originally came with, but that is just my personal preference - unless you had found the 42BYGHW609 to be not strong enough, and you actually want to up the torque..?


text:
Difference between Creality V2.1/V2.2 boards? Where to find datasheets?
I can't find an official datasheet for either board. Does anyone know where to find this information? Something that has max voltages, pinouts, etc.
Also, what's the difference between the V2.1 and the V2.2?

Which printer is this? Creality makes boards custom for each printer they make, so it's difficult to figure out what you're really talking about unless we know the actual printer these boards are from.

Please add the printer type for this board, thanks!

Hi. Did you ever find an answer to your query? Or photos of the boards? Or any of the info requested in the comments above?


text:
How to find Printrboard pin numbers in Marlin
I'm looking for a Printrboard  board image with the pin numbers labeled. Specifically for Rev. F.
Specifically, I'd like to know what each pin on the EXP1 and EXP2 correspond to numberwise within Marlin.
The pins.h file for the Printrboard Rev. F doesn't include any other files and doesn't indicate what pin number corresponds to which part on the board...
There is this google sheets file which provides some of the information.

This image has the categories of each pin labeled. But I'm looking for where the pin numbers on the board correspond to the numbers in Marlin, similar to this image for the MKS Gen L:

Have you checked https://reprap.org/wiki/Printrboard ? You can find the schematic with pin numbers

As FarO suggested, from github:Printrbot/printrboard/revF2 (via RepRapWiki - Printrboard - Revision History), the EagleCAD board layout and schematics are contained in the printrboard-revF2.zip:

Printrboard.sch
Printrboard.brd

This is the EagleCAD schematic:

EagleCAD board layout

Not quite the annotated diagram that you were after, unfortunately, but it might help.

There are a couple of configuration files on KevinOConnor/klipper, but unfortunately only for revisions B to D (at90usb1286) and G (SAM3x8c)... E and F are not available.


text:
Great prints then suddenly terrible quality
I've been printing with my Ender 3 for a while now and it's been great. I've had very few problems - depending on my settings, these are my typical first layers:

However with no settings or temperature changes and attempting to print the same files, I am now getting this issue with every print - The lines lay down and adhere fine, but if I watch carefully it looks as if the nozzle is causing the previous line to lift and warp. I have checked belt tensions, calibrated all axes.

The prints come out fine in terms of dimensions - all within 0.1 mm overall size on large prints - but the quality is now terrible. I'm using the same roll. Prints were back-to-back and humidity is at 20 % in the room I store and print in. I've checked the nozzle, checked the belts, tightened everything, rest the printer settings and put them back, regenerated the G-code with multiple slicers... I'm at a loss now.
Any ideas, thoughts, comments, etc would be greatly appreciated.

After watching it countless times, I found out that it was the magnetic mat on the bed that has worn out. It no longer adheres to the bed completely flat and some of the texture was worn down more than in other areas. It wasn't visually detectable - I found it by checking the nozzle height with various feeler gauges in multiple random locations.

I had a similar problem with my 3 week old Ender 3 Pro.
I changed the nozzle to no avail then double checked the bed gaps. Some people seem to have the paper drag quite a lot others no drag. After 3 tries to print the first couple of layers of the Harry Potter pen holder resulting in not sticking to the bed I re-sliced but used a skirt to get a better bedding, I also raised the bed temp to 65 for the first few layers and the nozzle to 205 this seems to have worked. I also wipe the bed with rubbing alcohol before most prints if they play
up. Hope it’s helps, it it doesn’t then no harm done. PLA was used.

Good suggestion; however, even though the OP hasn't posted this as an answer yet, this was posted in the comments: After watching it countless times, I found out that it was the magnetic mat on the bed that has worn out.

A few tips:
Re-tighten your belts.
Wash your printbed with soap and water and don't touch it with human skin once clean.
Ensure your filament doesn't contain moisture. Always store your filament dry as it's hydrophilic and goes bad over time.
Make sure your printbed is always as level as possible before printing.

Maybe an adhesion issue. I use 320 wet/dry paper on my mats when they fail to work.
Just circular motions.. Clean well with Windex or alcohol.

When my printer suddenly started to underextrude, it was the fault of the extruder lever being broken and not pushing out enough material. Replacing the extruder for a metal version did fix it.
Another common issues that can result in bad adhesion is a greasy or destroyed build surface. Such is fixed with cleaning or replacing the part.


text:
Connecting 128x64 OLED to BIGTREETECH SKR mini E3
I'm trying to connect a 128x64 OLED display with the SH1106 driver for the BIGTREETECH SKR mini E3 printer controller board which uses the 32 bit STM32f103RC MCU.
Note that it works fine with my RAMPS 1.4 board but when I compile it on PlatformIO for the 32 bit controller, it doesn't work. Probing the pins on the board, the data and clock pins are floating. Any help would be greatly appreciated.

Hi Oliver, welcome to 3DPrinting.SE! Isn't this an OLED display instead of an LCD? Please add a photo of the graphical display to help others to answer your question.

Yeah, its an OLED, just changed the title. I've seen that Q/A, I believe it's quite old as they already implemented those changes with Marlin and it works without any modifications with the RAMPS 1.4 board. however, it doesn't seem to be working with my 32 bit controller which has the STM32f103RC MCU. I'm thinking it has something to do with the U8GLIB-HAL library.

Are you using the ARM version of the U8GLIB library? Please note that the U8GLIB is officially deprecated and not developed anymore. The developers have moved to U8G2, you can find many links of people using the OLED on the STM32. I cannot test this at the moment, my STM32 based controller board is being shipped...

yeah, marlin uses u8glib-hal for non atmega based boards

Bummer, I'll keep a watch on this Q and try myself when my board comes in. Please post an answer if you find a solution yourself! Good luck!

I also tried to connect an 12864 i2c oled screen, but I didn't succeed.
I don't think the library is good, or it's not good for stm32f103.
I found a link to a modified library ...
What stage are you at? did you manage to make skr e3 with oled, functional?


text:
BLTouch Deploying then immediately retracting while homing
I just bought a Creality CR10 Max (this is my 9th printer, 3 of my others are creality and they all have a BLTouch installed).
I have only made probably 5 prints on this machine since I bought it but started having probing failures after the 3rd. So i decided to replace the BLTouch to get a consistent experience. After replacing the probe with another Genuine BLTouch when homing, the printer would perform X and Y without any problems then go to bed center to home Z. The probe would deploy and immediately retract then the printer would would move up on z a small way then deploy the probe, immediately retract then move up on z again before declaring a probe failure and stopping. Thinking I was having an issue with the new probe I replaced it with a clone BLTouch that performed the same way then again with a second clone that had identical behavior. That's 4 probes all with the same behavior. I could use a BLTouch guru to let me know what that failure type means and how I should troubleshoot from here. I just spend $1000 on a printer and it's a paperweight.
Thanks for any help you can give.

Please check the connections of the cable boom to the board

I have checked the wiring closely and there are no visual problems that I can see.


text:
Are silicone socks safe?
It's fairly common for E3D to sell silicone socks for their hot ends. There are also other companies that sell these silicone socks for their hot end cartridges.
According to a brief internet search, it seems the ignition temperature of silicone is surprisingly low - around 450 °C. This surprised me because I was under the impression silicone would just burn  / evaporate if it were heated up to a much higher temperature.
If my thermistor/heatrod slips off, my heatrod will glow into an orange temperature during thermal runway. This only happens briefly, but its color indicates it is reaching a temperature around 790 °C.
So, are silicone socks safe? Couldn't they ignite fairly easily?

The more pressing issue here is not whether the sock will ignite, it's why your heater is reaching 800 °C in the first place. This should almost never happen under any circumstances in normal operation, as the upper limit for printing temperature on most common materials is 280 °C. Either your thermal-runaway protection is not sufficient in any way, or you're pumping WAY too much energy into your hotend.

If your heatrod falls off it can happen! https://www.thissmarthouse.net/dont-burn-your-house-down-3d-printing-a-cautionary-tale/ If your silicone sock accidentally touches the heatrod during application - maybe?  Silicone is actually about as combustible as cardboard - why would you put cardboard around your heater end

I dont understand what this article is supposed to be clearing up about, only that the fact your cartridge being capable of decoupling itself is an even larger problem.

I was just surprised. I mod my hot ends, and knowing this now, I don't feel responsible enough to trust myself with a  silicone sock, personally. And it's not just me - a bad thermistor from the manufacturer or basic slip-up could cause this.

You are linking to a printer that had no Thermal Runaway Protection enabled. It seems that your printer doesn't either, please fix that first!

note that your Incandescence chart is technically the iron one, the one for aluminum is a little different (by a margin of some hundred degrees). Note that Aluminium (which your heater block is made of) melts at 660 °C, so your most worrying item should be the block, which will melt, drip and melt anything below if this goes on for a couple seconds like seen here

Just as a by-the-way: there are heat resistant silicones that will burn very slowly and retard fires even if you cross into the high temperatures. Here is an example (Disclaimer, I have worked for the company who made this ad) https://www.youtube.com/watch?v=-xcxDTNbzho

While it is good fire safety practice to keep around as few inflammable material as possible, don't forget that the usual filaments are flammable, too. Ultimater lists an ignition temp for their PLA of 388 °C and thermal decomposition from 250 °C (https://ultimaker.com/download/74613/UM180816%20SDS%20PLA%20RB%20V11.pdf)

Today I learned that "sock" can refer to other stuff than just footwear. Also, congratulations for reaching the Hot Network Questions!

Neither your thermistor nor your heater cartridge should ever be capable of becoming loose from your hotend, let alone the fact it's capable of reaching 800 °C before your printer even notices (This is a massive issue in itself!!!)
Silicone socks are safe, unless you're printing materials with extremely high melting points, which is usually never.
If you're concerned it's going to autoignite mid-print, you have much bigger issues surrounding your hotend than a silicone sock.

@steveantwan it's not opinion based but PLEASE replace your firmware for one with TRP.

Silicone socks are safe to use, provided your printer is safely operating and you are using the silicone  socks in their operating temperature range.

Your current setup is NOT SAFE!

When the heater element falls out of the heater block (that should not happen in the first place, please secure it correctly) and heats up to about 800 °C this means that the printer has no active Thermal Runaway Protection (TRP) enabled. Basically, when the thermistor doesn't measure a temperature rise while the voltage to the heater element is being scheduled, the firmware should shut down the voltage to the heater element. When this fails, the heater element can reach dangerously high temperatures to start burning anything that can catch a flame on touch. In deliberate tests, heaters have been able to melt the aluminium of the hotend:

You should be worried at this point as you see from the link you provided what happens if the heater is not shut off when the heater element is disconnected from the heater block:

Please fix your printer ASAP by uploading a proper firmware with enabled TRP protection before proceeding to print anything or at least don't let it print without supervision and proper smoke/fire detection devices.

authors: พุทธิพงษ์ หลาบช่วย


text:
Marlin 2.0 Firmware temperature jumping on LCD when trying to configure UBL
Flashed Marlin 2.0 on my Folgertech 2020 Prusa i3 variant.
Calibrating seems to have gone smoothly until I tried to set up UBL.
Saved the mesh into EEPROM with the M500 command after a G29 P1.
When trying to do a test print with G26 P10, the temperatures for bed and hotend seem to jump (see this video).
Not sure if this helps but I was following this tutorial.
Not sure what's going on here or how I can fix this. When I power cycle everything, this issue persists.
I noticed my Z probe arm's servo was buzzing. I unplugged it and the numbers stabilized. Not sure what's going on but seems like I need to stop  the power going to the servo when it's back to the 0 degree position.

Hi PGT, welcome to 3DPrinting.SE! Your last edit sounds like an answer, but maybe not the preferred solution... Please add a photo, from the edit we got some idea of the ABL leveling system you are using.

Hi @0scar, thanks for the response. Definitely not ideal since I want the servo to be locked in place when doing the Z-axis homing, my current solution (I will test when I get home) is to turn off the power of the servo when it gets to a specific angle. If it's not locked in place, then it might move when doing the bed levelling. Can I ask what should be in the photo?

I meant a photo of the Z-probe on the hotend carriage.


text:
Klipper doesn't seem to adjust Z after BED_MESH_CALIBRATE
My rig:

Ender 3
BLTouch
Octopi
Klipper
Solid bed mounts

I've updated my start G-code from Cura to include a G29 right after G28 and my Klipper config has the following override for G29:
[gcode_macro G29]
gcode:
    BED_MESH_CLEAR
    BED_MESH_CALIBRATE
    BED_MESH_PROFILE LOAD=default

Every print now goes through BED_MESH_CALIBRATE sequence and the Bed Visualizer plugin yields this result:

Based on the info here, Klipper: G-code commands - Mesh Bed Leveling I would expect Klipper to adjust for the differences seen in the visualization above, but the initial layers of my prints are very squished on the right and rear of bed (right and rear of image) and not squished on the left and front of the bed (left and front of image) which make it seem like BED_MESH_CALIBRATE measured the differences in the bed level, but didn't actually do anything about it.  Isn't the point of BED_MESH_CALIBRATE to adjust for these differences?
You can see in the first pic below that the final move on the initial layer from the outside edge of the print (right front corner) to the inside has the nozzle so low that it melted a line in the first layer as it skidded across.
In the second pic below you can see that the left front edge of the print didn't squish properly so it has detached from the bed.  What am I missing?

Your first layer is over-extruding somewhat causing you to hit the edges of the overburden. Also it looks as if your nozzle to build plate distance is a slightly bit too low, I would start increasing that little (in Marlin with M851).

I have identified the problem as lead screw backlash!
Bed calibration and Z-axis offset compensation appear to be working as intended, but there is enough backlash in the Ender 3 stock lead screw that the corrections in Z-axis movement commanded by Klipper result in almost no actual nozzle movement.
I'm measuring about 0.35 mm of backlash in my lead screw.  With differences between the lowest and highest points of my bed being only 0.6 mm the best case scenario (which would only happen if I was using my entire bed) is that the actual nozzle movement would only be about 42 % of what Klipper commanded.  The fix for this is to change out the lead screw for a ball screw. The problem could also be mitigated in Klipper if Klipper implemented backlash compensation, but from what I've read on GitHub it doesn't seem like that is a feature the developer of Klipper wants to implement.
Update:
I installed this anti-backlash nut and it greatly reduced the backlash, but didn't eliminate it. I've uninstalled my solid bed mounts and reinstalled springs until I upgrade to a ball-screw for the Z axis. The auto bed leveling compensation still does something, but the adjustment allowed by having springs is what is really doing most of the leveling work.

I'd never heard of anti-backlash nuts.  Cheaper than a ball screw for sure.  I'm going to order this one and see what happens: https://www.th3dstudio.com/product/upgraded-leadscrew-nut-for-creality-printers-anti-backlash-nut/


text:
Acetone Smoothing an ABS Cone - (New to 3D printing)
Today marked my first time using a 3D printer - have to admit I was originally skeptical but am now incredibly impressed and am having to hold myself back from purchasing one for myself! Was a great experience.
Anyway, I build rockets, and decided to 3D print a bespoke nose cone (Link 1) to fit my rocket. However the sliced layers probably won't do great for aerodynamics, so I've looked into ways to smooth the cone out. I was wondering, using an acetone vapour bath as seen in Link 2, is it possible to smooth the surface of my print without loosing shape? It's only small (12x4x4 cm), and I'm worried that the acetone that smooths the surface could misshape the cone (which I would rather keep perfectly symmetrical!) or cause ABS to melt and pool around the base.
Will the acetone disfigure the print, or is it possible to give it a vapour bath without it pooling and melting?
Link 1: Thingiverse - Ogive Nose Cone
Link 2: Simple way to make ultra-smooth 3D prints at home

is it possible to smooth the surface of my print without loosing shape?

That is by definition impossible. Smoothing the surface implies that the geometry is changed. Rather, the question is: how much does acetone smoothing change the shape, and is that change within the tolerances of your application?
Acetone smoothing is a fickle process, and how (much) the geometry is changed depends on a lot of factors, such as the concentration of the acetone vapor, the amount of time the print is exposed to it, the exact composition of the plastic, geometry of the print, etc... It is definitely possible to overdo it and melt your print into a puddle, but it is also possible to smooth it out without affecting the geometry significantly.
I would recommend experimenting with the process and seeing whether you can tune the process (time/concentration) so that you get a smooth enough part without affecting the geometry too much.


text:
How to correctly clean the Lacquer from bed?
How can I correctly clean the lacquer from bed printer?
I have used some ethylic alcohol (ethanol) to help cleaning
But what is the best way to do it?

I guess you are implying that the "lacquer" you talk about is not the original surface layer, but residue build-up by depositing a print adhesive containing PolyVinylPyrrolidone (glue stick ingredient) or PolyVinylAcetate (hairspray or 3D print spray ingredient)?

Please comment on the bed deposition residue, thanks!

The Ender 3 does not come with a lacquered surface at all.The bed should have a rough build surface that is a clone of the BuildTak build surface. It is intended to be rough and satin-gloss in its native state. I do not remember if there was a thin protective plastic foil on my Ender-3 bed on delivery, but if there was, it should have been removed during assembly.
A BuildTak surface can be easily cleaned with isopropyl or ethyl alcohol of grease and fingerprints. The odd discoloration at the edges seems to be a layer of grease and dust, which can be easily cleaned away by soaking it in Isopropyl alcohol and then wiped with a microfiber cloth.
If the bed surface is destroyed by chipping holes into it, sanding it or otherwise ruining it (like melting plastic rap into it), you will need to replace it. Replacement surfaces come about 5 bucks on Amazon. Doing this, you might find How to clean up my buildpate for a new build surface? helpful.

The "lacquer" you are referring to is assumed to be the discoloured parts of the heat bed, not the original surface layer of the heat bed. The discoloured parts of the heatbed are most probably caused by residue build-up.
If this residue build-up is caused by depositing a print adhesive containing PolyVinylPyrrolidone (glue stick ingredient) or PolyVinylAcetate (hairspray or 3D print spray ingredient), you can simply wash is of with water using a wet hand-warm towel or a sponge. Both constituents are dissolvable in water.
I do this frequently on non-removable aluminium heat beds (using moist kitchen towel) or removable glass bed (rinse off in the sink).


text:
Setting up UBL for the first time on Marlin 2.x on a Prusa i3, how often should I level the bed using G29?
I used to use the Marlin 1.x software that would level the bed by probing the 4 corners of my print bed (a long time ago, it's been at least 2 years since I used my printer, wasn't able to set it up after I moved).
My slicer had G-code that would kick off a level at the beginning of every print.
I've upgraded to Marlin 2.x and now I'm setting up UBL. It takes quite a bit of time to probe the bed with UBL, like 10 minutes. The steps tell me to save to EEPROM and my firmware is set up to restore after every G28 (Home).
How often should I do a G29 (Bed Leveling)? Should I do it every print? Every 10 prints? 100 Prints? Or when I see that the print isn't sticking to the bed?
EDIT: I went from a Grid-style ABL to UBL because UBL merges the benefits of a few different leveling techniques so theoretically it should be better. I understand I could just go back to grid-style bed leveling but even when it was working, for some reason the z-offset would shift ever so slightly every few prints and I would have to change configure it in my slicer. I'd like to try UBL and see if I can leave my printer for a while without having to fidget with the Z-offset.

I dont know about UBL, or how long it takes to complete, however if it doesnt take a long time and doesnt requre manual intervention, may as well run it at the beginning of every print. Otherwise just use it when you see problems?

It takes quite a bit of time, like 10 minutes. With the grid leveling, it was something like 30 seconds, so I did it before every print

In that case, just run it any time you change something on the bed or start seeing issues. Going to wait to let someone else post an answer that's more knowledgable here.

I wonder what made you decide to go from an ABL (Automatic Bed Levelling) sequence (taking 30 seconds before every print) to a UBL (Unified Bed Leveling) that requires 10 minutes of work once in a while? Could you explain that in the question?

@0scar: never really had a setup I was happy with when using a grid-style ABL. The Z-offset would shift over time and I'd have to reflash the firmware or control it in my slicer. I haven't used my printer for a few years so I figured now is the best time to re-configure and use the newest tech. Updated question to include this information.

A shifting Z-offset over time (few seconds to fix) would be less work than a 10 minute UBL leveling session! ;-) What makes your Z-offset shift should be addressed, else you will still have the same issue with UBL?

This is more of a personal preference type question rather than something with a hard and fast rule.
You should not need to relevel your bed very often unless you have some external force that regularly changes the bed level.
I regularly print objects that take 24+ hours to print, so a 10 minute process prior is not much so it might be worth it to set it up every time if your prints run very long. If you mostly print smaller or quicker to print objects, 10 minutes might matter to you.
I have noticed that my prints fail pretty quickly if I have a leveling issue, and it's not hard to stop the print, clean the plate and relevel at that time.
What should you do?
If 10 minutes doesn't matter that much, go ahead and relevel with every print. If it matters, wait until you start to have issues. See how long it takes for your bed to become unleveled and use that as a guide. E.g. if you can print 10 times before having issues, then try setting it for every 6 or 7 prints.

authors: العلاقات العامه


text:
How to theoretically calculate the maximum acceleration?
I would like to calculate the maximum safe acceleration for my printer using the following parameters as input:

printhead weight
torque at the desired speed
steps/mm and steps/revolution
microsteps

Elasticity of frame and belts are ignored.
The Excel file to obtain the torque at the desired speed is available here.
The other parameters are known in advance.
The formula I used for the maximum acceleration is the usual $a=F/m$, where $F=torque*radius$:
$acceleration = torque\ *\ (steps/rev\ /\ steps/mm\ *\ microsteps\ /\ pi\ /\ 2) / mass$
Using 450 g, 0.15 N/m (as predicted for my stepper at 200 mm/s with 24 V), 200 steps/rev, 80 steps/mm, 16 microsteps I obtain about 2100 mm/s2 which seems reasonable and pretty close to standard values.
However, from what I understood the Excel file provides the prediction of a full-step torque, but torque is known to decrease significantly with increasing microsteps.
How to introduce the effect of reduced (incremental) torque for microsteps to calculate a safe maximum acceleration value for a printer?
For information: my stepper and my printer were sold back then with about that acceleration value preset and with that torque at nominal speed (half voltage, half speed than I assumed here).
The print quality was fine, which seems counterintuitive considering the much reduced torque expected at 16X microsteps, about 1/10 of the value I used.
I would expect many lost microsteps with the predefined settings. Or maybe it happens: if all the microsteps are lost, the positioning error would be 16 (micro)steps / 80 steps/mm = 0.2 mm.

Important edit!!!
As maybe someone noticed, the formula I used
$F=torque*radius$
is wrong. The correct one is
$F=torque/radius$
Taking this change into account, the final formula is:
$acceleration = torque\ /\ (steps/rev\ /\ steps/mm\ *\ microsteps\ /\ pi\ /\ 2) / mass$
which results, with the given input values, in 52 mm/s2.
This is much less than what is normally set in printers. I doubt that belt stretching and frame flexibility can affect the setting so much, therefore in addition to the microstep aspect, this one should be answered too, since the question is about "theoretically calculate the maximum acceleration".

You made an error in your units. The result of the computation is 52 meters per second squared, not 52 millimeters per second squared.

You do not appear to have a correct understanding of how microstepping affects torque.
What is calculated in the article you refer to is incremental torque. The word "incremental" is very important.
A stepper motor consists of a permanent magnet rotor and an electromagnet stator. The electromagnets generate a magnetic field, to which the stator wants to align itself. Imagine the stepper motor being at rest. As we apply a torque to it, the rotor will start to deflect from its resting state in which it is aligned with the magnetic field. As you apply more torque, the stator will deflect more.
Eventually, if we keep increasing the torque, the motor will no longer be able to hold its position and snap over to the next step. The torque at which this is happens is the holding torque. Essentially, you can think of the holding torque as the torque required to cause a full step deflection of the rotor's position (compared to where it would be aligned with the magnetic field). The deflection in response to a given torque load is called the static load angle.
The article calculates incremental torque for microstepping. The incremental microstepping torque is the torque required to cause a microstep deflection. So, if we are using half stepping, the incremental torque is the torque required to cause a half step deflection. Naturally the torque required to cause a half step deflection is (much) lower than the torque required to cause a full step deflection.
This is actually irrespective of what level of microstepping the motor is configured for. Causing a half step deflection requires the same amount of torque, regardless of whether the motor is using full or half stepping. All lower incremental torque means is that we're specifying the torque for a smaller deflection. It does not mean torque is reduced overall.

I would expect many lost microsteps with the predefined settings.

You cannot "lose" a microstep. The rotor of a stepper motor has physical increments, and losing a step is when it snaps to the next increment. The only thing you can lose is a full step.
The stator of a stepper motor creates a rotating magnetic field. The rotor tries to follow this magnetic field, but (if under load) always lags behind it a little because the coupling between the two magnets behaves like a spring. In full-step mode, the rotating magnetic field moves in discrete steps. All enabling microstepping does is make the field rotate more "smoothly". However, it doesn't change the magnitude of the field.
If you were to look at the graph of the acceleration of the rotor on a very small time scale, you would get a sawtooth wave. Each time the motor made a full step (i.e., the magnetic field jumps), the acceleration would be high (as the misalignment between the fields would be large) and then gradually drop as the rotor aligned itself again with the magnetic field.
If you would use 16x microstepping, you would again see a sawtooth wave, but with a 16x higher frequency and with a lower peak-to-peak amplitude. However, the average value would be the same as for full step mode. The reduction in peak-to-peak amplitude corresponds to the reduction in incremental torque (and, for smooth acceleration, this reduction is actually good).
The main reason to be interested in incremental torque is to determine the positioning error. If you imagine the printhead being at rest, a single microstep may not cause any motion because the incremental torque is too low to overcome static friction. So, using 16x microstepping will not allow 16x as precise positioning. However, maximum acceleration is not affected.
The second part of your question, where you get the unrealistically low value of 52mm/s2, is based on a simple calculation error. The correct value is 52m/s2 or 52000mm/s2.

You clarified very well, thanks. However I made a mistake in the formula, therefore the issue with microsteps is now the minor one. Can you update the answer?

@FarO It is less than ideal to change the question after it has been answered.

In this case it's easy however: mention in the first line of your answer that the units are wrong, so that's not an issue, then leave the rest as it is, since it's a good answer for the second part of the question. But yes, I was unsure how to proceed considering your answer, but I didn't know how to modify the question without deleting the reason of the part you answered

Just to summarize to check that I actually understood, the conclusion is that if I want to more or less ensure that the positioning error will stay within a microstep, I should keep the acceleration within ~1/10 of the value I calculated. If I want to keep the swinging during acceleration within a full step, I should use the full value I calculated. On the opposite case, I can run the motor up to the rpm which produces 10x the torque that I need based on the chosen acceleration.

@FarO If you run at 10th of the acceleration it will stay within a microstep, though friction will increase the positioning error beyond this theoretical value. I'm not sure what you mean by the sentence that starts with "on the opposite case" and I'm not sure if that's correct. The 52m/s^2 is a hard limit beyond which you're guaranteed to skip steps.

I wonder how much friction is actually there. I read about it multiple times but I couldn't find any estimate of the magnitude. Also, positional accuracy will not be perfect due to stretching of the belt: 3000 mm/s^2 and half kg generate about 1,5 N which may have an effect, since we are talking about 12 microns per microstep.

authors: Руслан Искендеров


text:
Chamber heating using hysteresis in Marlin
Is anyone using hysteresis with their chamber in Marlin?
I have read bang-bang with hysteresis is possible when using a bed heater. I would like to do that for chamber heating. I have some lamps that can't keep flicking on and off so rapidly around a setpoint - this causes the bulb to die out faster and the noise is annoying.
Steps to Reproduce:

Start with fresh Marlin Firmware bugfix 2.0
Enable chamber temperature in Configuration.h (TEMP_CHAMBER_PIN 1)
Set chamber hysteresis value to 2 in Confgiuration_adv.h (#define TEMP_CHAMBER_HYSTERESIS     2). Enable #define CHAMBER_LIMIT_SWITCHING in Configuration_adv.h. Decide on pin to use for your heater, if necessary

Expected behavior: I would like, when I set my chamber to 30 °C, the chamber lamps to come on until 32 °C, and to stay off until 28 °C.
Actual behavior: chamber heater lamps flick on and off at 30 °C (29.9 - on, 30.1 - off).

It does work, but you need to reset EEPROM memory once updating the firmware, if you had it enabled, so the values are transferred into the EEPROM and subsequently used.
To reset  EEPROM, send the following command in your 3d printer terminal.
M502
Then, save the firmware default settings
M500


text:
Warped bed - bulge vs dip?
Theoretically what is better- a warped bed with a dip in the middle, or a bulge in the middle?
(I would instinctively think that a dip would be better, since in a perfect world the glass build surface would still span the dip, and then the flatness of the surface relies on the structural integrity of the glass, whereas a bulge would not do the same, instead causing the glass to teeter atop the bulge)
Thoughts?

Which is better:  lose a leg to frostbite or lose a leg to fire?

@CarlWitthoft frostbite definitely! It happens all the time with mountain climbers. They can fit a prosthetic and still live a semi-normal life. Losing a leg to fire would result in horrible third degree burns to the torso and possibly face, lungs, eyes etc. Not sure what this has to do with 3d printing however...

If you're going to sand it flat, there will be less material to remove, and so be easier, with a bulge in the middle. Is it warped only when heated or only when not heated?

That depends on the use. If you have a slate of glass a dip might be better (but the heat transfer at the dip would not be ideal), a bulge would stress and tilt the glass.
If you print directly onto the metal build surface it would not matter if you use a(n automatic) bed levelling system because you can compensate for the bulge or the dip using a mesh of the bed. Without a scan of the build platform you would have issues in getting the filament to stick.
Basically, there is not a better solution, best solution is to get a flat bed if the bulge or dip are making printing difficult.

Unfortunately I cannot ask them to check the bed with a straight edge before they ship it. I can just keep ordering them and returning them until I get one that is close to flat.

@cds333 You need to address in your question how you use the bed. If you have glass on it you can go for a thin bed that easily adjusts to a thick, e.g. 4 mm slate of glass.


text:
Using stepper motors with integrated controllers
I just scavenged stepper motors from an old laser printer. These have integrated controllers. I'd like to use them without dismantling the controllers. I currently have 4, 6 and 9 wires stepper motors. Any help would be reatly appreciated :) Thanks !

Many of the motors that look like stepper motors in laser printers are actually three-phase brush-less DC motors.  These look like stepper motors, but are intended to be used differently, controlled differently, and serve a different function.  Like stepper motors, they have a permanent magnet rotor surrounded by coils of wire.
They typically are used in applications that require a definite rotation speed, rather than a definite position -- velocity rather than location. They create feedback to their controlling board via an encoder.
Differences include having a smaller number of poles, and possibly having three coils rather than two.  I suspect that the magnetic field profiles of the poles may also be different, since the primary design purpose is not to sharply define the restoring torque curve for a small deviation of the rotor from a rotational position.
If these are the type of motors you have in hand, you won't find them very useful for a 3D printer motion control system.  They are great for any form of continuous movement where position isn't critical -- maybe wheel motors for robots or for peristaltic pumps on your automated drink mixer.
You may ask on what experience I speak.  I have done tear-down analysis of several laser printers by different manufacturers.


text:
Thermal runaway with specific prints
I have been experimenting with PETG on my CR-10 upgraded with an E3D all-metal hot end and Marlin firmware on the controller. I am printing with 0.8 mm nozzle at 250 °C and an 85 °C bed.
When I print in vase mode, the prints come out beautifully (and quickly with the 0.8 mm nozzle). However, with solid-body prints, I routinely get a thermal runaway fault at about the third layer (the fault references E1). Can anyone suggest how to solve this and why the thermal runaway protection only trips with solid-body prints?
For context, when I tried to print the same solid-body print in PLA (205 °C hot end and 50 °C bed) I did not get the thermal runaway fault.

Hi and welcome to 3DPrinting.SE! At what speed do you print the vase perimeter and what is the speed during the failure (e.g. is it failing during infill or wall printing)?

what version of marlin? Self made?

Interesting question..I will run another print now to confirm, but I believe it is failing when printing infill.
In vase mode Simplify3D prints at ~900 mm/min. In normal mode, the perimeter prints at the same speed and the infill at ~1800 mm/min.
I have it set to print at 1800 mm/min with 100 % underspeed for infill and 50 % underspeed for the outline, so this makes sense. Perhaps the speed is too high?

Probably your speed is too high, I've composed an answer for you. You can lower speed/temperature or fiddle with the TRP settings.

you are on the maximum temp, try to use 2-5° less. prints speed need to be also lower.

Thermal runaway protection (see What is Thermal Runaway Protection?) is triggered when the scheduled voltage to the heater element does not result in a specified increase in temperature within a specified timeframe.
The exit of hot filament from the nozzle and the loss of heat of the heater block and the conduction heat loss through the heat break to the cold end need to be supplied by the heater element. When the filament melting temperature is high, heat losses are relatively high as well, this means that the software needs to compensate by scheduling the heater element more quickly/activated sooner (there is some heat capacity in the heater block) and longer. If it is unable to provide enough heat than is being used, the temperature cannot be maintained and the printer notices that scheduling power doesn't result in a temperature rise. This will trigger the thermal runaway protection in the firmware.
This can imply that too much heat leaves the nozzle in the form of hot filament, and as such, your printing speed may be too high (or the printing temperature too high).
Note that you are using a 0.8 mm nozzle diameter, this means a flow increase of $ \frac{0.8^2}{0.4^2}=4 $ with respect to a "standard" 0.4 mm nozzle! A slower print speed is therefore advised anyways.
To solve this, you can either:

Insulate the heater block, e.g. with a silicone sock
Install a different type of heat block, e.g. a E3D Volcano which has a larger heat input zone
Print slower
Print at a lower temperature
Change the firmware settings of your TRP (should be done with care!)

To explain the latter option, from the Configuration.h you can read that if you encounter these problems, you can tune this in the Configuration_adv.h
Excerpt from Configuration.h:

 * If you get "Thermal Runaway" or "Heating failed" errors the
 * details can be tuned in Configuration_adv.h

Excerpt from Configuration_adv.h:

 * If you get false positives for "Thermal Runaway", increase
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD

So you need to change these constants:
#define THERMAL_PROTECTION_PERIOD 40        // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

The most effective solution for your problem will be limiting print speed and experiment with printing at slightly lower temperatures.

Adding a silicone sock and slowing down was enough to stop the issue. Thank you for the education!


text:
Why am I getting Z banding/shifted layer on a single layer?
While I was calibrating my flow rate/extrusion multiplier, I noticed that one layer is shifted slightly. I wanted to re-print the cube in-case it was a fluke, but after two more prints, I saw that the same layer was being shifted in the same way. Also, that is the only layer that is shifted, every other layer is perfect/almost perfect.
I'm using Cura 4.3.0, on an Ender 3 which I purchased about a month ago. The extruder is upgraded to a Trianglelabs Bondtech BMG clone. The E, X, Y, and Z steps have all been calibrated. The bed is level (I'm using a Creality ultrabase glass bed). I have upgraded the stock PTFE tubing to Capricorn, upgraded the PTFE coupler fittings (they have plastic tab inserts to keep the tube in place). The X gantry is level. I've also re-lubed the z-rod with super lube, made sure the lead screw nut is loose and printed out a z-spacer for the z stepper motor. That's about it, I'm still using the stock board but my SKR mini is in transit right now. Finally, the filament I'm using is the filament that Creality bundled in with the printer when I purchased it off their official website so I don't know how quality their filament is.
Below is a picture of what I'm talking about, I've highlighted in the area with a sharpie. Sorry for the bad image quality my phone is on its last legs at the moment haha:

This is the guide I was using to calibrate the flow rate and also where I got the STL

As it happens at the same height, I would be looking at a mechanical issue. E.g. look at how the filament is fed from the spool at that height, maybe the filament makes a kink or something.

@0scar I've just checked and that doesn't seem to be the case. Could it have something to do with the lead screw itself?

I started this as a comment but it couldn't fit.  If it isn't a true answer and should be removed, I understand.
You suggest in your question that perhaps the defect could be caused by a problem in the Z-axis lead screw.  Indeed, that is possible.  If so, it would probably introduce a defect at that position across the entire print bed.  If you print a test object and the defect is on all faces at the same height, check your Z-axis.  With the power removed, try slowly moving the bed up and down through the region where the defect occurs, feeling for any hangup, hesitation, looseness, or any other non-uniformity.
If the defect is along a particular line, check the complementary axis.  If the glitch is a X-axis line, check the Y-axis.  If a Y-axis line, check the X-axis.  Slid the axis back a forth slowly, feeling for any non-uniformity in the motion.  It could be a scratch on the linear bearing, or a ding from dropping something.  Any discontinuity  can cause a linear Z-axis defect, up or down.
It could even be cause by the printer not being firmly sitting on the table at an angle, so that after a particular point the balance point changes and the printer rocks, introducing a glitch.
3D printers, and many other motion control systems, relay on flat, smooth, uniform bearing surfaces connected to smooth, continuous drive systems.
If you attach photos of all four surfaces, we might have a better idea of how to look for the problem.
It wouldn't hurt at this point to wipe and clean all sliding surfaces, and then re-lubricate them.

You outline a troubleshooting process that might show up the real problems - which is highly useful in this case.

Thank you, I had a look at the Z-axis lead screw as you suggested and it turns out that I was getting some binding. So I disassembled the z-axis and reassembled it. Now I have no more banding. Thank You! Sorry for the super late replay.


text:
Marlin "Tune->Bed Z" vs "Tune->Babystep Z" vs Z Offset?
What is the difference between:

Tune -> Bed Z
Tune -> Babystep Z
Control -> Motion -> Z Offset

And when are you supposed to use "Bed Z"?

Tune -> Bed Z

http://marlinfw.org/docs/features/lcd_menu.html#tune
Per description in this table, this refers to the Mesh Bed Leveling process. It allows to modify all saved mesh z-offsets by the given amount.

Tune -> Babystep Z

http://marlinfw.org/docs/gcode/M290.html
This just instructs the motor to move the given amount, once, without changing any parameters.

Control -> Motion -> Z Offset

http://marlinfw.org/docs/gcode/M851.html
Here we are talking about the offset of a z probe (e.g. BL-Touch) from the nozzle.

Nice overview! Noteworthy might be that the parameters under "Tune" are only available during printing, so it is to adjust settings during printing.


text:
Prusa i3 mk3 step skipping and layer shifting
After approx. a year of more or less problem-free printing (40 days print time) with Prusa i3 mk3 kit, we started to suffer the random layer shifting on Y axis.

We inspected all the motor connectors are properly inserted in the mainboard and the wires are intact.
We ensured all the pulleys' screws on the x/y motor shafts are very tight and secure to be sure the pulleys don't slip.
We inspected the belts and pulleys, there is no mechanical problem like dust blobs, filament residues, etc.
We tightened the belts to be hard enough to show the expected support|belt status value (under 280) after self test is performed.
We switched off the crash detection feature.
We fully cleaned/re-lubricated the Y axis linear bearings and the rods to be sure there is no dirt causing any friction.
We tightened the nuts on the U holders fixing the bearings to the bed (hard enough not to squeeze the bearings so they can freely move on the rods).
We bought Japan PNY LM8UU bearings and replaced the original ones on Y axis (suspecting they are worn out).

Nothing of these helped fully:

Some steps improved the quality (like only one random skip in print).
Some steps degraded the quality (like additional step skips in previously flawless X axis).

Since the issues started, we had 4 hour reference design to be printed again and again using the same setup/filament etc. It became reference because its print started to exhibit the skips. We refused to slow down the print or perform any other workarounds, because we wanted to make the printer great again ;-)
What else should have been done to revert back to flawless prints without random X/Y step skipping and thus layer shifting?

Long story short: Try to replace the stock power supply.

We connected UPS between the printer supply and the wall outlet and the skips reduced to one/two per print.
We replaced the supply with random old used Mean Well SP-320 (zero care about the power panic feature, just plain 24V connected) and voilà: reference design passed.
Also few more complex designs after supply switch are still flawless, so we hope that was the problem and it's fixed now.
This Q&A post is to help others to skip the major frustration and save some time.


text:
CR-10S / Ender5+ LCD Touchscreen Firmware Editing
How would I go about editing the LCD menus for the touchscreen?
Oddly the Ender 5+ is supposed to be an upgrade but the Ender 5 (regular) has so much more stuff you can control from the LCD screen. Flow control, PID tuning, etc.
With my Ender 3 is was pretty easy- you simply edit the ultralcd.cpp, you can then add your own menus and commands.
On the Ender 5+ and the CR-10S pro I'm guessing the touchscreen has its own set of firmware files- I am guessing this because I found a set of files for the touchscreen- different color screens and such, but they do not include any uncompiled files nor does the marlin firmware for the CR-10 have any mention of those image files in them.
So where do I go next? Thanks!

The Ender 5+ and CR-10s both got rid of the traditional LCD with the wheel in favor of the touchscreen; unfortunately it has a lot less functionality. I don't know where to find the specs, I got this printer from Creality "official" website but they will not release specs on the boards in this printer, I already emailed them. Here is a pic of the board itself.

I contacted Creality also, but they cannot or will not release the sources: "Sorry, we wouldn't recommend others modify our printers, and we don't have this kind of firmware, yet." I will keep investigating, I'd like to fiddle with touch screens myself one day. The only things I found were those you already linked in the question.

I've been digging into the sources and from what I understand, it is not very easy to change the menus, you should possess some programming skills to change it. It appears that the screen is operating on its own firmware and the board is running a special fork from Marlin.
The screen is identified in code by constant CREALITY_DWIN. It appears that the screen receives/uses precreated images (from this download you find these screen captures). The code references the bitmaps by a number and a base number (ExchangePageBase). E.g. codeline:
RTS_SndData(ExchangePageBase + 78, ExchangepageAddr);

sends this image:

The specific code is found in this specific fork of Marlin in files Creality_DWIN.cpp and Creality_DWIN.h.
In order to make your own menu item, you need to add code to send new bitmaps and retrieve the touched position.

Awesome! As usual you are a big help! I really should have taken a minute to read the list of files in the firmware, I would have seen the DWIN in the filename lol

It appears from watching a YT video, that to upgrade the firmware to the touchscreen one need only upload the DWIN_SET folder via SD card to the screen board. There was no mention of uploading a HEX file; there are 5 BIN files in the dwin folder, including one files that contains 128kb of null and then the words "diven technology" in chinese. I don't think those files are firmware (maybe you can confirm?). So correct me if Im wrong- but it would appear that all the actual code for the operation of the touchscreen is in the firmware on the mainboard, and there aren't separate fw screen files.

@cds333 I'm not so sure about that, I've seen a video of someone explicitly updating the firmware with the SD card slot on the touch screen. Not owning a 5+ it is difficult to try out. If I would buy a generic touch screen to test, this may not be applicable to your screen. Note that only uploading the graphics files wouldn't be enough, you also need to prepare the sources to load them, so it could be that an update of the screen itself is not needed.


text:
In Fusion360, how do I align components according to their a midplane?
In Fusion360, how do I align components according to their a midplane?
I have 2 complex objects. They have no midpoint defined (is that even possible). How do I align them according to their mid points?

There are several ways to lock items together.
Designed in position
When you design the parts from the base up, you should lock the very first sketch to the origin in some way or another. Fusion shows this by making any "well defined" line as black in contrast to blue, like shown here:

Using Components
Once you have bodies, you can pretty much move them around in the timeflow. You then can start to define them as components. Let's assume we have these parts, a bolt, and a part into which it hinges. Of course, these two are modeled "in place" but that hasn't to be:

Now, we want to lock them together... well, first, let's start and put them into components! Highlight one, then choose the "new component" command, and make sure it stays highlighted, from bodies is chosen then hit enter.

Repeat for the other part, so your tree should show 2 components now.

Combine Components as modeled
Now we want to combine them as modeled, right? Ok, let's do that, it's easy! get out the dropdown from the combine menu and press combine as modeled (Ctrl + J)

Now, click both components and at first it will start to shake the screen, having chosen "Stiff" combination. This means the parts don't shift one against the other. If you had them in the right position in the first place, they will stay that way. But there are other ways, which are in the menu that popped up:

If for example, I choose "rotation", I can choose a rotation center by placing a node as seen here:

Creating Joints between Components
Now, what if the components are not in position like the bolt is in the wrong position entirely? Well, start with components, as shown above, then we'll see:

Now, we should use the joint function:

Choose the first Component, then seek the point which face-position (or for cylinders: position on centerline) shall be the first component's joint-point shall be. For our part, let's take the big part's hole. Click the face, then choose one of the available points. For cylinders that's the ends and the center, for faces, it's the corners, center points of the edges and the center. If you hit the possible alignment points in the first place, it skips the second click to choose it. Once that is done, the body turns transparent.

Repeat the same process for part 2 and the magic starts: Both parts suddenly move till the alignment points are in the same position, the screen shakes and BAM! We are at stiff joint again! The menu changes and we can start to define offsets!


text:
Anet A8 Z-Probe Bed Positioning going outside of bounds
I have an Anet A8 with the Anet 1.7 board, Skynet3d v2.3.2, and the stock sensor. I originally had this configuration with the stock extruder, but recently purchased an E3D v6 clone with a Bowden extruder. After installing a new bracket I had printed (TNS E3D v6 Bracket) with the adjustable stock sensor mount. I installed the extruder and sensor.
I knew I had to adjust sensor position. I went through the 3DStackExchange post on Z probe boundary limits as well, and added all of the end positions and probe to nozzle offsets (I will list below) to my Configuration.h file, saved, checked the changes were there in the Configuration.h tab in the Arduino IDE and uploaded the firmware. After this I went to hit auto leveling in the prepare menu, and the positions were different from the stock extruder and mount, but when it got to the third position, the sensor was off the bed, and the nozzle dug into the bed.
The configuration I was editing was from the Anet A8 5 button stock sensor Configuration.h file.
My probe is (When looking from the front of the Anet A8) forward and right of the nozzle.

My Y-axis offset is -3 (the sensor is 3 mm in front of the nozzle when looking from the front)
My X-axis offset is +37 (the sensor is 37 mm to the right of the nozzle when looking from the front)

The stock min_probe_edge is 10 mm, so with my math my Left Probe Bed Position is 47, Right is 210, Back is 207, and front is 10.
I want to get my probe settings properly set up so I get my bed leveling back and I do not want to ruin my bed while leveling.

I have calibrated the bed center now, and it is on the bed now! I have also updated the x_min_pos to -10 which has now moved the nozzle and sensor to the positions I was expecting. Thank you for your help!

If you have done major revisions to the printhead by changing to another carriage, it could be that the nozzle in the carriage is not at the exact position as in the previous carriage.
So, have you made sure that the new carriage has the appropriate values so that the nozzle is at (0, 0) when commanded to that position? Alternatively, in different wordings, this translates to: "Is the printer printing in the center?/Are the prints centered on the build plate?". See e.g. "How to center my prints on the build platform? (Re-calibrate homing offset)".
From the Thingiverse link van be read that this carriage requires an offset. The carriage design mentions a shift of the X axis:
#define X_MIN_POS -10

Is that working for you?

General remarks regarding the firmware update:
Have you also loaded all values from firmware using M502 and then M500? (if M500 commands are enabled). Also, Skynet3D is obsolete!, use Marlin instead!

Do you have eeprom enabled? Because if you do, you can change configuration.h all you want but it's always gonna use the values from eeprom. I advise you to install repetier and change the eeprom values with that. Or maybe you can use the display if you have one.

Ehm, if you alter config.h, you just have to reflash the EEPROM as explained here: M502 to overwrite the SRAM and then M500 to write SRAM into EEPROM.

Yes that can be done as well, but it is easy to forget if you're new to this.


text:
Switched to a Bowden setup. Should I retract the filament out at the end of a print?
I switched my Anet A8 over to a Bowden and it's printing great. Moving that weight off has enabled me to almost double the speed and resonance problems have vanished.
My question is regarding after the print is done should I add a retraction code and back the filament out of the v6 or is it okay to leave it in there?
My concern is that if I leave it in there, will it cause a clog or anything when I warm up the printer tomorrow to print something else? If that's not a something I should be concerned about let me know.

That's not an issue, you can simply leave it in the hot end.
The only "end of print" clogs usually occur when leaving the hot end hot for a while - allowing the filament to drip out - and then retract the filament without feeding it against the nozzle once more. That creates a plug that's larger than the filament diameter that might get stuck in the bowden tube.

@towe That sounds like an answer and please do not forget to vote! Voting will help members get their privileges to e.g. vote and build this community.

That is definitely an answer and I appreciate your quick response.

Is there a way to mark this answered?

@Hellrazor - not without someone actually answering it. The above are all comments, which makes it conjecture. We don't want to steal towe's thunder, so are not wont to place it as an answer in their stead. Hopefully they'll come back on and place it as an answer.

It's okay to leave the filament in the hot end, as long as you let it cool down with the hot end cooling fan running.

From comment:

That's not an issue, you can simply leave it in the hot end. The only "end of print" clogs usually occur when leaving the hot end hot for a while - allowing the filament to drip out - and then retract the filament without feeding it against the nozzle once more. That creates a plug that's larger than the filament diameter that might get stuck in the bowden tube

You should put the details from your comment in the answer.

I agree with towe's answer. I would leave it, retracting at most a mm or two just to avoid a mess. If you retract much at end of print, initial state for the second or later print is different from after just loading new filament, and this leads to different priming/skirt outcomes for the two cases, which can be problematic.

After the completion of a print, remove the filament from the Bowden tube as it may break while not printing and can sometimes be difficult to remove. Basically if you aren’t going to do another print soon, remove the filament.


text:
M502 will reset all configurable settings to their "factory defaults", which settings are those?
From the M502 documentation page can be read that M502:

Reset all configurable settings to their factory defaults.

Please note that this phrasing from the manual has been used in the question title!

To also reset settings in EEPROM, follow with M500.

Note that:

This command can be used even if EEPROM_SETTINGS is disabled.

The question is what is the definition of "all configurable settings"?
Are these the settings that are displayed with M503, or are there hidden settings?

What Marlin does when M502 is called is defined in the configuration_store.cpp file.
It resets:

Max acceleration
Steps per mm
Max feedrate / speed
Min segment time
Acceleration (Normal, Retract, Travel)
Min feedrate
Min travel feedrate
Jerk settings
Junction deviation
Home and SCARA offsets
Hot end offsets
Filament runout sensor distance
Tool change parameters (Swap length, extra prime, prime speed, retract speed, Park
positions, Z raise)
Backlash correction distances and smoothing parameters
Extensible UI
Magnetic parking extruder settings
ABL (fade height, stored points, nozzle offset, servo angles
Delta calibration data (Height, Endstop offset, radius, rod length, segments per
second, calibration radius, trim angle)
Dual / triple endstop adjustments
Preheat parameters
PID parameters
self-defined thermistors
LCD contrast
Power loss recovery
Firmware retraction
Filament diameter (for volumetric extrusion)
Endstops (if disabled)
Stepper drivers
Linear advance parameters
Motor currents (digipot)
CNC coordinate system (if selected)
Skew correction parameters
Advance pause filament change lengths

Any comment on the M503 part of the question?

Note that you can increase what is stored without altering configuracion_store.cpp by just altering the configuration.h and configuration_adv.h

Technically, the description as "factory settings" is misguiding, as the settings called up are much better described as "firmware defined settings". But since Firmware upgrades usually are rare and far between, these settings can be considered "factory" for the usual user, even as we always urge users to test if their firmware has TRP enabled and upgrade if not so.
Depending on the firmware, this usually means the settings described in this answer, but it could also be more narrow or extend to different and custom settings inside the firmware. Marlin, when it uses EEPROM_SETTINGS, uses Configurations.h and the additional Configurations_adv.h to define what the factory settings are.
For example in this question the firmware defined the additional settings in Configuration_adv.h. Installing firmware does not by itself alter the EEPROM, so these settings needed to be seeded into SRAM via M502 and then saved into EEPROM via M500.
The remaining commands in the M50X series are obviously M501 and M503. M501 overwrites the SRAM settings with those from the EEPROM, useful if you toy with the SRAM settings to troubleshoot or play with offsets in a somewhat safe manner. M503 in turn reports all settings currently in the SRAM, which can be changed during running. Most of these settings can be stored into the EEPROM, if EEPROM_SETTINGS is enabled, but they don't necessarily have to come from the EEPROM at the moment, as they can be altered due to a lot of reasons. Your G-code to print could call for example G20 and M149 K just to mess with you by swapping to Inches and Kelvin, but that would be easily fixable by recalling M501. This following M503 output was given as an example by Sebastian.expert:
G21    ; Units in mm
M149 C ; Units in Celsius
Filament settings: Disabled
M200 D1.75
M200 D0
Steps per unit:
M92 X100.00 Y100.00 Z398.70 E100.00
Maximum feedrates (units/s):
M203 X400.00 Y400.00 Z8.00 E50.00
Maximum Acceleration (units/s2):
M201 X1000 Y1000 Z100 E10000
Acceleration (units/s2): P R T
M204 P400.00 R1000.00 T1000.00
Advanced: S T B X Z E
M205 S0.00 T0.00 B20000 X10.00 Y10.00 Z0.30 E5.00
Home offset:
M206 X0.00 Y0.00 Z0.00
Auto Bed Leveling:
M420 S1 Z0.00
Material heatup parameters:
M145 S0 H195 B55 F0
M145 S1 H205 B60 F0
PID settings:
M301 P52.25 I5.60 D122.00
Z-Probe Offset (mm):
M851 Z-2.41

Note that with a console or terminal, you could sometimes alter EEPROM settings directly via a UI. Among the terminals I know to have this ability is Repetier Host.

I totally agree on the "factory" nomenclature! But that is what the documentation states, hence the phrasing in the question!


text:
3D scanner for both replicate and quality control 3D prints
I've switched to industrial 3D printing.
I use 3DSystems Flex 100 printer.
As I print high detailed parts soon I've found out that I have to use quality control.
Software is not a question. I use Geomagic Design X and Geomagic Control X. Sometimes I also Use Solidworks as I started my engineering way with Solidworks :-)
The thing is that I have to choose a 3D scanner.
It has to work with small (3-7 cm in general) high detailed parts. I also would like to use the scanner as a helping tool with reverse engineering.
Actually, I have one scanner in my mind: 3D Systems recommended me the Artec Micro. I've researched all the data Artec provides... It sounds good, resolution, works with Geomagic software, bla bla bla...
But when I've tried to search web for any user experience, I've found pretty nothing. I'm quite a noob with 3D scanning so I'm afraid to buy such a device without being able to see if it really suits my needs.
The question is: "Does anyone have experience with this or any other 3D scanner, used for similar purpose as mine an can recommend it, or tell me not to buy it?". Or any tips how to find out if the scanner suits my needs before actually buying it.
I know how to choose the right printer, but scanners are confusing:-)

I'm voting to close this question as off-topic because this appears to be a recommendation question - which are not allowed as per stack policy.

Isn't "please recommend an X" very different from "I'm interested in specific item Y and want to know pros/cons from someone with experience using it"?

@R.. True, I'm inclined to leave this open too, but I have to ignore the phrase ...can recommend it, or tell me not to buy it? That is hinting to recommendation, not the experience. The community decides, but a rewrite of the question would be recommended to take away the "recommendation feeling".

@R.. Under the presumtion that this is highly rewritten to analyse the pros/cons of this one mahine, then yes, it is a good question.

@0scar d'accord

Thus question is very close to being out of the scope of the questions encouraged on the 3D Printing SE site,  but you have worked closely with Trish and Oscar to make it into less of a "recommend" question and more of a "how might I choose" question
What to look for in a 3D scanner?
You mentioned using the scanner for quality control.  Lets start with that.
The best way I know to do optical quality control is to image each layer after deposition rather than viewing the completed object.   Especially for printing engineered objects,  like rocket fuel pumps and jet turbine blades,  it is important to be able to see inside the object and detect voids, bad adhesion, and points of unexpected stress.  That is hard to do with the full object,  and easier to do layer by layer.
But this may not be the QA requirement  you are trying to meet.  Maybe the gross object appearance is what you are controlling for.
If so,  you need to define what is good enough and what is a failure.  With those criteria,  you can see which scanners give you that discernment.
I suspect that won't be far off the requirements for the "reverse engineering" you also intend.
Another criteria is the software.
It's the workflow simple,  or can it be made simple?  20 clicks through detailed menus which must be done correctly and in sequence is not easy to get right twice a week when you need out.
Consider the color of the illumination
Be sure it will not interact badly with your objects.   A red laser does not scan well a red object.
More is more, not necessarily better
Higher resolution is great if you have three I/O channels to support it,  the disk space to store it, the RAM to hold it,  and the processing power to absorbable it.