text:
What prints can I do to test/calibrate my printer for precision?
I specifically want to test

calibration
tolerances
precision
accuracy

I'm having trouble with Print in Place models and I'm trying to find out if there's something I can do to improve my print quality.
The printer I am using is a Kossel clone, specifically a FLSUN QQ and assume FDM printing.

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

I have not found a solution yet. Lots of great suggestions, but I haven't had time to try most of them. I think before I get around to calibration prints, I first need to deal with a minor bead leveling issue, and then need to dial in the temperature for my filament.

Any print you make can be considered a test print! But, specific test prints are easily found on the internet and lend themselves better for specific tasks. In order to improve your printer / print quality, you need to follow a meticulous series of tests and record the parameters you use to slice the model. Each test should be broken down into several print process parameters (and recorded) and tested for their effects (e.g. speed and temperature).

A general accepted strategy is to calibrate the extrusion process first and that look into the general accuracy.
Filament deposition calibration
An important aspect of printing is deposition of just enough filament (if you deposit too much the lines become wider, and so are the dimensions). To calibrate the extruder deposition of filament you can easily heat up the hot end, mark the filament with respect to a certain reference point and extrude e.g. 100 mm. Now measure the filament mark again with respect to the reference point to verify you actually extruded that same demanded amount.
Accuracy
For general accuracy printing of 20x20x20 mm cubes is usually fine. Note that the print accuracy is generally determined by the printer (construction) itself, but can be influenced by print speed. Large speeds in combination with a large mass of the printer head can lead to positioning inaccuracies (like overshoot). That said, you should also look into the printer itself. Does it have play? Are the belts tight enough, but not over-tightened? Is the bed skew, or are XYZ perpendicular?
This cube is frequently used to calibrate the dimensions:

Please do note that the poster of this picture probably produced a dimensional accurate print, but still faces under extrusion (as seen from the gaps between the lines)
If dimensions seem to be off reasonably, e.g. more than 0.2 mm (depending on the printer construction) you could change the amount of steps per mm in the firmware. Do note that the steps per mm is mechanically determined by the belt and pulleys.
More tests?
Even more tests can done to make specific filament adjustments. E.g. "temperature towers" can be printed to test the optimal parameters for filament flow and / or bridging (printing in air between two parts), or overhang (unsupported parts of the print). But, these last tests are not specifically designed for the issues you mentioned.
Tolerance test
Once you have calibrated the printer to the ability of yourself and to the capacity of the printer itself you could try to print a dimensional printing tolerance test. Such tests are usually constructed by cylinder shaped (or diabolic shaped) objects in a housing that is slightly larger that the shape.

You left out Benchy??   :-)

@CarlWitthoft :) yes, tolerance wise it is not needed although Benchy is a good test for the printer itself. I like this Benchy more! :)

This is a fairly open ended subject, but the different calibration/test models can be broken down into a few different groups. Although there are a few common 'standards', as soon as you get to looking at a specific parameter, you will need to look for something that is a good match for your problem (not everything on thingiverse is really 'useful), and work out how to use it for your adjustments. Ultimately, the specific model you're working on is the best test - and it may also be that this model is not optimal in some way.
Here is a print from my own test model which shows the slicer not handling my model very well, partly because the model doesn't respect the filament dimensions. It also shows how a variety of print details can be captured in a small (20 min) print.

Basic Calibration
This is a step that you might be tempted to skip on a non-diy printer, since it mainly focuses on the construction. The basic 20mm calibration cube (just a square) can  be used to test that your printer is dimensionally accurate, and is also one way to check your extruder steps/mm (extrusion is variable, x/y steps generally only change when the belt skips).
You can also use bigger shapes if you suspect that there are drive problems, and bed leveling might come into this group too, where you could use a one or two layer print.
Test Parts
These are small parts that might once have been considered hard to print, but now seem to be a standard reference for a 'good' print. Most people who have been printing for a while have a collection of benchie and marvin prints. You might use these to quickly test a new filament, although the benchie is borderline large.

Detail calibration
Depending what you want to focus on, there will be different things you can use. Temperature calibration towers, overhang and bridging tests, ripple tests (for acceleration), fan tests, etc. This is an area where finding a 'good' test part can be hard. You would want to make sure that the previous two classes of test show good all round performance (or have identified a specific problem) first, before trying this sort of test.
For the print-in-place example, you might need to check extrusion/ooze/coasting, as well as checking linearity and orthogonality (it's no use if a circular part turns out to be more like a diamond with rounded corners). You also need to make sure your first layer is good, without a rim or warping.
Torture tests
I put this in a group on it's own because it may not be as useful for tuning a printer as some of the others. This is a little bit more about showing off how good your printer is tuned - and is the origin of the benchie and marvin type models, just with the difficulty turned up a notch or two. Some print-in-place models might fit into this category.

The best place to start looking is to go to Thingiverse and search on 'benchmark'. There are a great many models there intended to test various aspects of printing. In fact you could search for example 'calibration benchmark' or 'calibration test' and get more specific examples.
Actually, here is a collection I just made today of the benchmarks I thought most promising. Disclaimer: I haven't tried them yet!

Note that some 'benchmark' items on thingiverse look more useful than they turn out to be...

authors: Валентин Валентиновыч


text:
RAMPS PLUS 2 and E1 socket problem (K200 Delta, but related to the PCB , not printer)
Total 3D printing newbie here, apologies in advance if my terminology is wrong.
I have a dual head K200 delta printer with a heated bed which I put together 8 months ago, but gave up due to frustration of the following error in Repetier:
temp sensor defect marked defect
Error:Printer set into dry run mode until restart!

I've tried again today, and all 3 thermistors (and the spare) work fine, but socket E1 on the BT7200 V1.8.26 RAMPS PLUS 2 is giving me -20 °C readings no matter which thermistor I put in.
Even though I’ve tried to tell it there’s only one extruder (in Printer Settings), the display right at the bottom of Repetier still thinks there’s two.
Today I've emailed the seller and the company I bought it through, to see if they can help.
In the meantime - is there any way to make Repetier believe that I only have one extruder, or change things so that I can use the heated bed socket for the other extruder instead and just try to make due without the heatbed for now?
Hope you can help.

Repetier reads configuration from the printer when a connection is established, so as long as it gets info about 2 heads it will display it.
The best approach will be to disable heatbed or hotend directly in the firmware and reflash the printer. You could also swap pins on the board.
When you decide to reflash the firmware, you could check with producer if they have suitable one or use Marlin (this is a configuration guide).

source: Stack Exchange

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

sort: votes


text:
3D printing filament resistant to steam
I need to replace the lid of my water kettle and am searching for a filament, that is suitable for this purpose. The requirements are:

Stable at 100°C (212°F)
Resistant to steam/moisture
Food-safe

Has anyone experimented with this or similar purposes?

You may need to provide some information about your printer's capabilities, or if you're hoping to use a specialist manufacturing service.

Once you find a material with high-enough melting point, you might consider printing and then applying a waterproof, food-safe overcoat of some paint-like material.

Referring to the table provided in 0scar's answer, the key challenge with high temperature materials is the gap between the glass transition temperature (bed temperature) and the extruder temperature.
Polycarbonate for example is listed as usable up to 121°C, printing on a bed at 80-120°C, but requiring an extruder temperature of 260-310°C. This extruder temperature is potentially going to challenge the mechanical, thermal and measurement properties of a printer.
In this application, you don't strictly require 100°C operation, so Nylon (80-95°C) and ABS (98°C) might be worth trying. Even if one side of the part is at this temperature, immersed in steam, the opposite side is exposed to air and convection cooling. Providing there is sufficient thermal insulation and internal rigidity, the upper shell of the part is likely to support it. However, if the inner face does start to flow it may take some time before a problem is apparent.
So long as the material is not soluble, absorbing moisture may not be a major issue.
When it comes to being food-safe, this is a huge can of worms, and you're really looking to investigate 'how much of a risk' rather than get a go/no-go answer.

I agree -- there's a lot of plastics which aren't FDA "food-safe" but which you could chow down on regularly without any medical risk.

@CarlWitthoft: the danger is not always the material; 3D prints often have tiny gaps between layers where microbes can live and grow. these pathogens can be hard to wash away and can leech into food stored in such prints. As the lid to a steaming teapot, it's not likely a concern as steam disinfects, but it's worth mentioning here...

You don't adress the "food safe" issie: ABS and Nylon are not "food safe" AFAIK

There are few materials that go up to that temperature and beyond.
A very nice generic overview is given by Simplify3d:
This figure shows an overview of many of the used materials in 3D printing

When looking closely, and without pointing to specific brands (to avoid a commercial posting), your best chances for appropriate filaments for your application is to look at Nylon, Polycarbonate (do not consider Polypropylene; that is very difficult to print) or (not mentioned in the overview as they are more recent filaments) Co-Polyester polymers.

I recommend PEEK if you are able to print around 400 °C.
From Wikipedia - Polyether ether ketone

As requested in comments, here is the setup I use to print small PEEK parts:

Hyrel3D Engine, Standard Resolution (ESR): $2500 list
Hyrel3D MK1-450 print head for 1.75mm filaments between 300 °C and 450 °C: $450 list

Please note that larger parts will require (and all parts will benefit from) a heated build chamber. Also note that annealing PEEK parts after printing (we use a circuit board reflow oven) recrystallizes (strengthens) the PEEK (and is recommended, but not required).
Here is one of our videos from 2015 showing the 410 °C prototype for this head printing PEEK: YouTube - Introducing Hyrel's MK1-450 Printing PEEK and PC
I work for Hyrel 3D. The company page is linked in my profile.

That's a seriously high temp for stock hotends!

Why not add ULTEM (PEI) which is easier to print. This is not something that normal "hobby" printers can print out of the box. Also the bed temperatures associated for printing these materials are pretty high for such printers to reach.

@0scar - we're not restricted to hobby printers here, and I think it is often useful to see the 'high end' answer to these questions - it can help to drive innovation.

@CarlWitthoft I agree about limitations, if the OP has an plus $ 8k machine capable of +360 °C I'll take back my comment and I'll secretly be very jealous :-)

Why $8k? I have a $2500 machine with a stock $450 head that prints PEEK at up to 450C. And I find PEEK much easier to print than PEI.

@0scar This might be of interest to you, if you haven't already stumbled upon it: https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20170000214.pdf

@Davo Nice setup! Very interesting, please share your machine and print head in the answer!

@typo Very interesting stuff that you can find on NASA's technical report server! Thanks for sharing, very much appreciated. Also please update your question to include the printer you have, this may limit the amount of filament options.

@0scar Details added. And note that Hyrel equipment is mentioned in that NASA article, even though we're not open-source.

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


text:
How do I calibrate the extruder of my printer?
For my DIY coreXY printer I use 2.85 mm filament that is fed into an E3D clone hotend using a Bowden tube and a custom designed extruder with belt reduction centered around an Aluminium Bulldog extruder with an MK8 extruder gear. The reduction is necessary to create more torque to feed the filament correctly to prevent skipping and filament slipping and grinding.
The prints show under-extrusion (e.g. shell lines and bottom layer lines not or barely touching).
How can I calibrate my extruder to extrude just enough filament?

Basic process

To calibrate the extruder you would need to verify that the
requested amount of filament is actually what is being moved by the extruder.

Structural or temporary problem
A first thing to check when under or over-extrusion is encountered for a fresh spool of filament on a normally good working printer is to check the diameter of the filament with a caliper (see image below) and change this value accordingly in the slicer software of your choice and make a test print. If the problem persists or is present from the start of your purchase or build, please proceed. Note that there are two ways to change the extrusion, a simple solution is changing the extrusion multiplier in the slicer software, the better one is to fix the extrusion rate in the firmware.

Please note that you should measure the filament diameter at several positions

3D printer
There is a difference between DIY and commercial printers. Usually a commercial printer of decent quality rarely needs to be adjusted (as this is the job of the manufacturer). But cheap, commercial clones of well known printers, may need adjusting. Depending on the ability to change the settings of the software/firmware (closed or open source, or type of firmware), the user may (or may not) be allowed to change the values through configuration files or G-code commands.
For DIY printers, the builder is responsible for the printer as a whole and thus entrusted with the software/firmware setup of the printer controller board. The chosen printer firmware and its configuration should be done based on the printer layout and used hardware (also electronics like stepper drivers, remember the micro steps setting) which e.g. determines the amount of steps that are required to move an axis a certain amount of millimeters (steps/mm). This also applies to the extruder stepper. To start with a value of steps per mm, you could search the internet for your extruder type and recalculate the steps/mm roughly keeping your specifically used micro step value of the used stepper driver (which is set by dip switches or jumper caps an the printer board) in mind. With this basic setting you will be able to do a test.

Calibrate extruder (hot or cold)
When you have a printer, or build a printer and uploaded a rough setting for the extruder steps per mm, please test the amount of extruded filament. It is customary to mark the filament with respect to a certain reference point, then extrude e.g. 100 mm, and then check the distance the mark on the filament has traveled. The distance should be 100 mm, if not, you should change the value of the steps/mm in the firmware. To extrude 100 mm you will need to send instructions to your printer over USB connection using a terminal or graphical user interface typically found in freeware applications as Pronterface, Repetier-Host, OctoPrint, etc. or by creating .gcode text files with specific instructions and load the models through the menu of the printer from e.g. SD-card.
The G-code G1 E100 F100 commands the extruder stepper to move 100 mm in 100 mm per minute (please lookup if these G-codes are supported by your firmware!). Be sure that you have preheated the nozzle prior to extruding, many firmware's have built in protection to disallow extrusion below a certain temperature of the nozzle. For SD-card printing, e.g. for PLA you should preheat the nozzle to e.g. 195 °C with M109 S195 and as such must be placed before the actual extrusion command.
If the measured distance is different than the instructed length, a simple calculation will determine your follow up actions. E.g. if the instructed length of 100 mm is in reality 95 mm, the extruder should extrude (100 - 95) / 95) * 100 = 5.2 % more, or similarly said, the extrusion needs to be multiplied by 1.052. This could be applied in the slicer, but when this is a structural problem you should fix this in the firmware itself. This can be done by adjusting the printer configuration file and uploading new firmware (and settings) or for some printer firmware solutions use the same method as previously used to instruct to extrude filament. The G-code for setting the extruder steps in Marlin firmware is M92 if done with codes. If the original value (can be obtained with the command M503) is e.g. 400 steps per mm, the value should be changed to 100/95 * 400 = 421 steps/mm. The command M92 E421 will set the new value which can be saved to memory (so that it is available after a printer power off/on cycle) using M500.
When the configuration file approach is used, the following line in the configuration:
/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 200, 400 }
needs to be adjusted to:
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 200, 421 }
You can do this a few times to fine tune the extrusion process.
For people that have a Bowden setup and firmware that supports altering the minimum extrusion temperature, you could disconnect the Bowden tube to ignore the hotend heat up by temporarily disabling the cold extrusion limit (M302 will display the current value) with M302 S0. After calibration please remember to set it back, e.g. M302 S170. Do note that temperature and extrusion speed do influence the extrusion process, so you might want to fine tune the extrusion process at temperature.
Now you printer extruder is tuned and should extrude the exact amount as instructed.

Fine tuning
Although the extruder may now be correctly tuned to extrude exactly the amount as instructed, the slicer may have a different view. Be sure to set the slicer extrusion multiplier to 1.0 when fine tuning the extruder/slicer combination. The ultimate fine tuning starts with printing an object with zero bottom and top layers and a single perimeter with a fine layer height (0.1 or 0.15 mm).

Measure the thickness of the wall and adjust your slicer extrusion multiplier accordingly.
Now your extruder and slicer should be optimally fine-tuned!


text:
White blocks on LCD screen after Anet A8 power up
I just completed assembly of the Anet A8 and powered it up.
Powering up shows white blocks on LED and a series of clicking noise for about three seconds with flashing red LED. During power-up, the following happens:

The side heat sink fans start (Blower fan remains off)
LED comes up with all white blocks and buttons do nothing
No motor moves in any way
Motherboard show not light except a three-flash-red-LEDnear the corner (fan connector)
Printer remains in the state
Reset button only repeats the clicking sound + red flashing LED

Video: https://photos.app.goo.gl/mxNNeK5o13a9C6TC8
The display of the Anet A8 now shows white blocks.
Any hints as to what could be wrong?
Update 1:
The clicking sound is actually the blower powering up and then going off immediately after.
Update 2:
I just did a blind flash to Marlin 1.18 and the firmware deployed successfully. Now, the boot sequence is almost 4 secs longer (previously, it was 3) and the clicking sound of the blower fan slowly spinning is replaced by a high spin-up of the blower. but after that, we are back to a dead printer with all whites.

Hi Hassan and welcome to SE.3D Printing!

I bet that blinking red LED is an error code.  Hope someone has the spec sheet for your motherboard.    In the meantime, try the usual re-check that everything is connected to the correct port and properly seated.

The white blocks sounds like Connecting (Anet A8) 2004 display to MKS GEN L. Are the connectors pushed home correctly? See also Anet A8 display on MKS Gen L board

I can't play the video, "This video format is unsupported" apparently... Using Opera

@Greenonline It works fine in Chrome. As D1 never blinks he has a DOA board, this has happened so many times that GearBest put instructions on their site. I think I'm just lucky with my Anet A8.

This is a known and documented problem of this printer. I'm afraid your printer board is dead.
If you have white squares on the display like this picture:

You need to check Anet A8's mainboard - click reset button and check
  the D1 indicator:

If D1 lights on for a second then went out and the screen is full of white square, try to reconnect screen wire for several times. When
  it's well connected, click the reset button. If still not working, you
  need to replace a screen.
If the D1 indicator is always off and the screen is full of white square, you need to replace a mainboard.

From the video you posted it can be seen that the D1 LED does not light up, it is off the whole time. Hence the main board is dead.

D1 light never blinks.


text:
Baking old PLA spool
Context
A while ago I bought a kit for a 3D printer, along with filament etc. however, after some weeks I ran into some mechanical problems and because I had a lot of other things to do at the time I put the project on hold.
Now, almost a year later, I thought I would continue the project. I've got all the mechanical pieces back to work right now, but I have some questions concerning the filament.
Main question
Firstly, I have a nearly full roll of PLA still, but it has been left in a dusty attic for almost a year. I read here that it could still be used if baked for a couple of hours at 50 degrees Celsius. Does anyone have experience with this? Can this be done in my regular oven that I also use for food without risk?
Secondly, there is still some PLA stuck in the printhead. As this may have taken up moisture I fear it might expand and damage the printhead. Is this possible? How could I remove it?

Hi and welcome to SE.3D Printing :-) This seems like there may be two distinct questions being asked here. If so, then it would be better, and preferable, to ask (and post) two separate questions. StackExchange rules state one question per post, else if can get a bit confusing to answer. Could you edit your question, remove one of the questions and ask it in a separate post? Thanks in advance.

Oven drying PLA
Heating filament below the transition temperature of the filament should not be unsafe when using that oven later for cooking food. You need the temperature to stay under the glass transition temperature of PLA so that the filament doesn't deform. Depending on the PLA filament, you should use the very lowest temperature your oven will be able to handle. Temperatures around 40 ℃ to 50 ℃ would be fine to leave the filament in for periods of 3 to 6 hours. Even at this temp your PLA will soften anyways at elevated temperatures, oven drying PLA not necessarily will give you good results. It is therefore of prime importance to store at least PLA (and nylon) in airtight containers with bags of desiccants.
Stuck PLA
Moisture will not travel that far into the hotend, so changes are minimal that expanding filament has already damaged your hotend. Just heat up the nozzle and push the filament in by hand, put off the heat and pull the filament out fast. Heat up again and insert some fresh filament. Note that moisture in filament breaks the large polymer molecules, so even after drying you are left with brittle filament. Personally this has caused few of my prints to fail as the filament string broke a couple of times during prints (just snapped before the Ultimaker 3 extruder feeder); this was experienced with 2.85 mm filament on small diameter spools (about 20 cm in diameter).

Another caveat about old filament: it may not be brittle but it can jam. I have a spool of PLA over a year old, stored it in an auto-rewinder drybox with dessicant that I periodically refresh. It worked fine for 1/2 the spool and 1/2 a year. It ISN'T brittle. Now it jams up the hotend after just a few layers. If I loosen the bondtech gears and manually push the filament down, it feels like compressing a spring (it springs back when I let go). After a clog comes out, it emerges sort of expanded as if there's water contamination. Baking is my next step. If that doesn't work I must discard it.


text:
Cura confused as to what's touching the buildplate?
I'm very new to 3D printing, but so far I've been able to print a couple things off Thingiverse without issue. However, as I'm trying to print another part, I've run into a situation where Cura is totally confused as to what's touching the buildplate and what isn't:

All I did was use the "mirror" feature to put it in a better orientation for printing....
Any ideas what's going on here? I'm using Cura 3.4 for Linux.

Update: I tried using the rotation tool instead as suggested by Oscar, but I get the same result:

Update 2: Hmm so even when I just import the part without doing anything else, Cura is still confused:

Now that I see your update I'm thinking that the STL is not correct, maybe the normals of the faces are incorrect.

Try importing the STL into MeshMixer, OpenScad, etc. and re-exporting. This may clean up the orientation error.  Oh, also go ahead and try slicing without support.  You may get the correct gcode out of Cura anyway

The up- or down-ness of a part is its Z-orientation, which is specified in STL. It looks like whoever published that STL file published it upside down, requiring you to flip the part or rotate it by 180. You can flip it in Cura as you've done or leave a comment to the author of the STL that the part is upside down.  However, the author may not know how to fix this because low-end modeling tools typically do not have the capability of flipping a model. In these cases, using another tool such as Cura or Slicer can generate a right-side up model. Cura seems to like generating AMF files, so I use Slicer to generate STL files for upside down models. Once you correct the STL file, you'll be able to import the model directly into Cura right-side up.

If you want to mirror the print to get the top to the bottom, and visa versa, you just need to rotate the part using the XYZ rotation tool. Mirroring is used  to make a mirror image in the X-Z or Y-Z plane, not the X-Y plane.
You might just caught a bug, you could post that of their forum.
Update:
If that does not fix it, you might have an incorrect STL model, e.g. the normals of the faces are incorrect. You could try to fix this by repairing the model through an online service like this one.

Thanks for your answer, however using the rotation tool I get the same result :( see the update to my question.

I've updated the answer, thanks for adding the update. I'm really curious how this works out for your model.


text:
Anet A6 Z-axis min endstop not triggering
I had a Z probe installed but the wires came out of the header so I am trying to use software endstops, but any time I G28 the nozzle will always ram into the bed. I am using Marlin Firmware. Which I am relatively new with. I'm used to having hardware endstops, but,
I don't have a hardware endstop currently (no probe/no switch).

Is it possible to do this with software?
I took out G28/G29 in my G-code and it shows that it is going to z0.2 and working upward (but it still hits the bed). If the bed is level do I need a G28?
Should Z probe offset be 0?

    #define USE_XMIN_PLUG
    #define USE_YMIN_PLUG
    #define USE_ZMIN_PLUG
    //#define USE_XMAX_PLUG
    //#define USE_YMAX_PLUG
    //#define USE_ZMAX_PLUG
    #if DISABLED(ENDSTOPPULLUPS)
      // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
      //#define ENDSTOPPULLUP_XMAX
      //#define ENDSTOPPULLUP_YMAX
      //#define ENDSTOPPULLUP_ZMAX
      //#define ENDSTOPPULLUP_XMIN
      //#define ENDSTOPPULLUP_YMIN
      //#define ENDSTOPPULLUP_ZMIN
      //#define ENDSTOPPULLUP_ZMIN_PROBE
    #endif
    #define X_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Y_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Z_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
    #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
    #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
    #define Z_MIN_PROBE_ENDSTOP_INVERTING true  // set to true to invert the logic of the probe.

    // Enable this feature if all enabled endstop pins are interrupt-capable.
    // This will remove the need to poll the interrupt pins, saving many CPU cycles.
    #define ENDSTOP_INTERRUPTS_FEATURE
    #define PROBE_MANUALLY
    #define X_PROBE_OFFSET_FROM_EXTRUDER 1   // X offset: -left  +right  [of the nozzle]
    #define Y_PROBE_OFFSET_FROM_EXTRUDER -55 // Y offset: -front +behind [the nozzle]
    #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.4
    #define MULTIPLE_PROBING 2
    #define Z_CLEARANCE_DEPLOY_PROBE   0  // Z Clearance for Deploy/Stow
    #define Z_CLEARANCE_BETWEEN_PROBES  3 // Z Clearance between probe points

    // For M851 give a range for adjusting the Z probe offset
    #define Z_PROBE_OFFSET_RANGE_MIN -20
    #define Z_PROBE_OFFSET_RANGE_MAX 20
    #define INVERT_Z_DIR true
    #define Z_MIN_POS 0
    #if ENABLED(MIN_SOFTWARE_ENDSTOPS)
      //#define MIN_SOFTWARE_ENDSTOP_X
      //#define MIN_SOFTWARE_ENDSTOP_Y
      #define MIN_SOFTWARE_ENDSTOP_Z
    #endif
    #define AUTO_BED_LEVELING_BILINEAR
    #define MANUAL_Z_HOME_POS 0

    #define Z_SAFE_HOMING

    #if ENABLED(Z_SAFE_HOMING)
      #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
      #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
    #endif

Your question is pretty unclear, I think I understand that you are not using any hardware end stops. How would the printer know where to stop? You need a working mechanical/optical end stop or a some sort of distance sensor.

What kind of input shall trigger the "Endstop" signal? The new sensor? a switch? The "here is the endstop" signal need to be given somehow.

Thanks! I'm pretty familiar with manufactured bots, but i've never done a DIY kit. I had to rebuild the UM2+/TAZ6/Replicator 2 where I work, fell in love with them and bought my own. But it's never made a successful first layer :(

Might be relevant. Please see this answer to Adjusting the Z end stop? where software stops are mentioned

There is no such thing as a software endstop for the 3D printer. When you power a printer the print head can be located at every X, Y, Z position (usually, Z is  at the print height of your last print, X is at the minimum X, and Y is at an arbitrary location determined by the last print).
This is exactly why we need endstops, either mechanical, optical or electronic (inductive or capacitive) end stop switches or sensors. You instruct the printer to home by using a known fixed location of the printer; this is the hitting of all endstops. The origin of the printer may have offsets, as the origin of the printer may not coincide with the endstop location. For the Anet A6 this is a few millimeters, e.g. for Marlin firmware this is defined in the configuration by:

#define X_MIN_POS -3
#define Y_MIN_POS -5

The answer to your question: "Is it possible to do this with software?" is therefore, no, you cannot do this solely with software.

The A6 3D Printer
Installation Instruction shows that there is an endstop, part 2-7-2, page 4, included in the kit:

It needs to be fitted as shown on page 8:

Page 36 shows the correct length of the wires, which should prevent the wires being pulled out of the sensors/switches:

Page 38 shows where the Z-axis endstop is attached to the controller board:

To be fair, this assembly guide seems to be rather poor quality and after having looked through it a number of times I fail to see any actual instructions on how, or where exactly, to mount the Z-axis minimum endstop.

I didn't even receive a mechanical endstop switch sadly. That's why I was using a probe, which never worked to begin with either.

Hmm, sounds like you should get in contact with the vendor and either get them to send you the missing part or replace the defective parts. Is there a list of parts, or BOM (bill of materials) included in your kit? Did you check the package contents upon arrival? You definitively should have a z min stop at least, and the z-probe as an (optional) extra. If they don't send you one and refuse to help, then all is not lost as endstop switches are cheap ($1-3) on ebay, and printed mounts (in required) are available on thingiverse (generally - I haven't checked for this particular case)

I actually think my friend took the endstop when he installed the probe. and the probe doesn't work anymore but that's for another thread. Basically it lights up under metal but M119 always shows it as open where X/Y trigger fine. I'm guessing the signal is not being sent to the board. (And I think that's the case because when I looked that the header for the S_Z, the SIGNAL/GROUND pins weren't in there all the way and the signal wire was frayed, with the pin almost all the way out of the header adapter.)

Hmmm, I see. It would probably be worth mentioning all of that in your question. Best to edit the question and add that comment to it. That way all of the information is kept in one central place :-)

Fair enough, I just was looking to know if I could force endstops in the software until my replacement endstops arrive :)


text:
Why not use GT2 en lieu of a Z-axis threaded rod or leadscrew?
Having just re-read Tom's excellent answer to my question Advantages of GT2 over a rack, as my comment ponders1:
Why is a threaded rod, or lead screw, used for the Z-axis movement in a Prusa (and its derivatives) given the inherent problems relating to backlash?
Indeed the majority of, if not all, delta printers generally use GT2 for the three vertical movements, presumably for this reason (of reduced backlash). Maybe cost and simplicity also play a part? I am purely speculating on these three reasons. The mass of the three vertical carriages and the associated carbon rods, would certainly seem to be a lot less than the mass of a cartesian X-axis gantry.
Is it purely for reason of the mass of the X-axis gantry (especially if the extruder is mounted upon it - in a non-Bowden solution) that mechanical rods are used, as GT2 would not be able to lift the weight, without stretching (both over time and flexing slight upon each movement)? If so, then surely wire reinforced GT2 could be used?
As a potential aside, would another consideration be to compare the inertia of a GT2 solution to that of a threaded rod, leadscrew solution2?

1 I have a nagging worry that I have already asked this somewhere else, but after having spent the best part of a day looking for it and failing, I am asking here.
2 Although I am not entirely sure how that would be measured/compared, as one solution (leadscrew) is rotational, with a translation to linearal via the screw thread, and the other (GT2) is (effectively) fully rotational? I am going to ask about this particular point on SE.Mechanical Engineering, and will update this question as necessary.

A lead screw can be fitted with a anti-backlash nut to get past your concern about backlash. Generally, backlash is not that of a problem considering the weight of the carriage (e.g. Prusa), or whole bed (e.g. CoreXY or Ultimaker). Certainly if you're not using Z-hop, the Z screw will only advance in a single direction!
GT2 belts are always reinforced with fibres either glass, steel or some other fibre, all with their own (dis)advantages.
As far as I have learned is that lead screws are far better capable of transporting higher loads at the cost of speed. Also, a leadscrew will have more resistance so that if you unpower the steppers, the gantry will not plummet to the bed.


text:
Why is PEEK filament so expensive?
High performance polymers are becoming available for specific applications.
One of such materials is PEEK (PolyEther Ether Ketone), a thermoplastic polymer in the polyaryletherketone (PAEK) family. PEEK competes with certain Aluminium alloys but is half the weight of Aluminium. For aerospace application this sounds very promising!
NASA has shown that printing these types of polymers is feasible using low-cost, open source hardware.
Does anybody know why the prices of PEEK are so high?
Depending on the supplier/manufacturer you're looking at about 700 - 900 Euro per kg.

My assumptions about PEEK filament price are:

Raw material is more expensive. Compare price of ABS with PEEK pellets.
Demand is much lower. There are not many printers able to print peek. If you manufacture PEEK filament you have to store a filament batch for longer time. Manufacturer has to calculate into price storage space, material degradation, ...
Filament machine tuning. You have to tune filament extrude machine for PEEK, which takes time because it's a totally different plastic. Maybe there is a cleanup needed after finishing a batch and switching to another material.
Working conditions. PEEK is quite smelly and I am not sure if you have to improve work conditions like better ventilation.
Research costs. You have to distribute research costs to a filament production where demand is low.

This is a very good answer. In my experience, the third point is the most important. Good filament quality (uniform chemistry and diameter) requires expensive equipment, and most filament companies don't have the ability to run at the temperatures required for PEEK.

@Davo Yes the demand-supply is a no-brainer. For me the third was something I did not think about.

Patents still seem to play a role as well.
I was curious about this question and did a bit of research: If you filter the U.S. patents after 2010 mentioning PEEK and its various applications and improvements, you still get roughly 10,000 patents. Those are not all primarily patents for PEEK, but still.
Even Victrex PLC, formerly named Imperial Chemical Industries, who filed the first patent for PEEK back in 1978, had a patent published in 2016 for a new PEEK production procedure:

The process can be used to produce high quality, relatively light
  coloured polymers having a lower Tm than those produced using a
  standard PEEK process.

Thanks, I did not think of that, good addition! This question was inspired by an answer on your question. This filament seems very interesting, I got curious too.

I'll vote this up when I have new votes, I've run out at the moment. Please @typo do vote, if I'm not mistaken you can now also vote on questions and answer (if you are over 15 reputation); please do!

@0scar Very interesting material, indeed. But, as you said: Very expensive as well. PA66 and PA46 seem to be good alternatives. Also, 3M has found a way to 3D print PTFE.

Thanks for sharing that, wow PTFE, and I thought that printing POM was difficult: POM filament not sticking to the build plate?


text:
Toxicity of Light-curing resin?
I'm one of the lucky (??) Kickstarter supporters who received a T3D resin printer.  This uses a proprietary (so far as I can tell) resin which cures under exposure to visible, rather than the usual UV, light.  The manual is full of dire warnings about touching the resin, but no MSDS.
Anyone know if there is a datasheet on their resin, or more generally, for light-curing resins in general?
(see myt3d.com  for limited info on the machine and the resin)

While you probably cannot find an MSDS on the resin for your printer (yet), they are out there for other resin based printers. Here's a generic MSDS on one for Objet RGD515:

It's not a pretty thing.
To back this up, Fabbaloo has two articles out which talk about the toxicity of liquid resin which is light cured. I'm not entirely positive your resin falls into this arena, but would assume since they state in the handling instructions it's toxic, it's probably right along the same lines as the other toxic resins. Please note, in the article it states there are resins out which aren't toxic. They suggest one should handle all resins of this type as though they are toxic unless you have specific documentation which states otherwise.
In one of the articles (Nov 2015) quotes findings which were published by the University of California, Riverside. Their study focused on zebrafish embryos and the toxicity of two different 3D printed materials which are commonly used. The materials were Stratasys Dimension Elite (plastic extrusion) and Formlab’s Form 1+ (photo-cured resin). These printed samples were placed in zebrafish tanks to observe their effects on fish embryos and compare to “control” tanks without the samples.
The University stated:

While the embryos exposed to parts from the plastic-melting printer had slightly decreased average survival rates compared to control embryos, the embryos exposed to parts from the liquid-resin printer had significantly decreased survival rates, with more than half of the embryos dead by day three and all dead by day seven. And of the few zebrafish embryos that hatched after exposure to parts from the liquid-resin printer, 100 percent of the hatchlings had developmental abnormalities.

Note: Here is the second Fabbaloo article from April 2016.
Fomrlabs has quite an extensive list of MSDS sheets for their products. Their page states the following about their resin materials:

Formlabs Standard resins are designed to be similar or safer to handle as other household chemicals or adhesives. When measuring potential acute health effects of inhalation or ingestion, there are no known significant effects or critical hazards. Eye contact may cause eye irritation. Skin contact may cause an allergic skin reaction. The safety data sheets (SDS) are up to date for every resin product and follow the latest government guidelines. Always consult the SDS as the primary source of information to understand safety and handling of Formlabs materials.
Use chemical-resistant gloves - such as nitrile or neoprene; do not use latex - when handling liquid resin, including when removing printed parts from the printer. Exposure to resin in the liquid form can cause mild skin irritation for some people. If you get any on your skin, make sure to wash thoroughly with soap and water before moving on to other activities. Do not use solvents to wash hands, face, or any body parts. Wear gloves and use alcohol, followed by soap and water, to clean tools after handling resin.

While this is not conclusive about your specific resin, like was stated, always treat the material as though it is toxic until documentation tells you otherwise. If all else fails, treat it as toxic and you can't go wrong.

Thanks -- i'm getting the idea that resin printing should be in a very well-ventilated area.

note that the toxicity is tested for the uncured resin. The cured resin might have entirely different effects.

@Trish - I'm thinking the idea is, after it's cured, there's no toxicity issues. If it wasn't, what good would it be?

@Pᴀᴜʟsᴛᴇʀ2 while mostly correct, some plastics can be toxic to stuff on its surface.

@Trish Are you sure? To me it reads like they tested finished parts, i.e. cured or extruded. And it makes sense that the resin ones would be worse. For example if the resin is contaminated (with air for example) then the reaction might happen partially or differently which could cause problems. Some of the resins I tried certainly didn't seem safe for human contact even after being cured with plenty of uv light.


text:
Different infill in the same part
I´ve have read an article to change different pattern depending on amount of layers, but my question is if is possible to have different infill in the same part? For example:

Base: has the infill of 25 % but the same base has some tabs for screws and mount the part for this area the infill need to be 40 % or greater.
The walls and forms: this has the same of the whole part and can be filled at 25 % but some areas need to be filled at 15 % or less.

Probably someone has seen or reviewed another software to achieve this, or I'm fooling myself.

@0scar's answer is certainly valid and is not limited to Cura. Simplify3D (paid, not free) supports different processes by layer, each process with independent parameters as you describe.

As a note: The problem is similar to removing internal geometry, but pretty much the other way around.

This answer explains that you can have different infill within the same part. Firstly the implementation in Ultimaker Cura is described, secondly how you can do this in Slic3r.

Ultimaker Cura
I've used a feature in Ultimaker Cura that can be used to alter the infill density locally. What you need to do is load your model into Cura, then load other objects (models) at the size of the area/volume you want your infill differently and position those at the position you want a different infill. Alternatively, you can add support blocker cubes that can be used as well.  So basically, you use other models to intersect with your primary model to create intersections that can take a different infill percentage (please note that you can alter even more options, as long as you add these to the intersecting volume). This is extremely useful for lugs and brackets where you need some extra infill (e.g. extra stiffness for compression stresses) at the fastener holes. Note that this is an advanced feature which is not easy to use, but quite handy if you master it.
I could not find the video (on second thoughts, I think it was animated GIF) posted by Team Ultimaker, so I quote a section of one of their forum topics.
A short how-to: (italic font is not in the reference, but added to reflect recent version of Cura)

Unselect "keep models apart" (now called: "Ensure models are kept apart") and "drop models to build plate" (now called: "Automatically drop models to the build plate") in Cura preferences
Import a second object (for example a simple cube)
Put Cura in "custom mode"
Select the cube, and use the button "per object settings" on the left side
Select "Infill Mesh" (now called: "Modify settings for infill of other models") and enable that setting
The cube now turns transparent gray.
Position the cube to overlap part of your model. It should overlap with the section that you want to change the infill for.
Also with "per object settings" (now called: "Per model settings") select the option "infill density"
Set it to the desired value. All is more or less illustrated in the screenshot below
The picture shows a cube on the buildplate with infill 20 %. Locally, with a rotated 2nd cube, the infill % is raised to 100 %.
What happens is that the volume where the cube intersects with your object is locally sliced with different infill.

Please find below another example of a simple bracket that has extra cylindrical objects loaded to create the intersections with the bracket at the fastener holes. In the example, the infill at the fastener holes is set to 99 %.

After slicing, you will see that the infill at the intersections is adjusted accordingly.

Note: I've tested this in Ultimaker Cura 3.4.1, and confirm it works. I sliced a part with the inserts for fasteners and it actually is not very difficult, it just requires a little more work. You will have to make some STL's of cylinders and position them correctly. If you make your own 3D models it will be a very easy task to add extra components while you design, positioning will be a lot more easy then (as they align with your model). An example is the following linear Z rod bracket of a Hypercube Evolution CoreXY printer, this bracket requires local reinforcements for the bolts clamping the bracket onto the aluminum extrusion profile:

Inserts are modeled together with the development of the bracket:

When combined, it looks like this:

Now the infill can be modified locally to 100 % to increase compression strength.
Note that this will also work if you want a different infill percentage at the first X layers, just use a large cube (larger than the model) and position it correctly. Note that Cura already has an option called "Gradual Infill Steps" to adjust the density at the top layers.

Slic3r
This reference describes how to do this for Slic3r in detail.
The blog describes the use of a simple volume (the green volume loaded from an STL file). After loading:

Right-clicking on the main part brought up the object settings menu.
From there, clicking "Load Modifier" and selecting the previously
saved model adds it to the part as a modifier.
The green "+" was selected and "Fill Density" was added to modifier
list and set to 100 %.

This shows that the functionality in Slic3r is very similar to the functionality in Ultimaker Cura.

for anyone wondering "custom" mode is just the mode/menu where you can change the various print settings using your own ideas - not a special mode.

Great answer, @0scar. In case if anyone interested to watch a video on how to add Support blocker and change the infill density using Cura, here is a link: https://youtu.be/su_m5zV9rvA?t=123

I don't particularly recommend the following, but it may be easier than 0scar's answer (which I would recommend implementing if you use Cura).
Slice your object twice, once at the lower infill and once at the higher infil.  Then open both gcode files in a text editor and replace all per-layer code in one file with the code from the same layers in the other file.   This certainly takes some care to ensure no bugs fall in, and you'll want to know the exact layers at which to change infill.  Further, this only changes density on a per-layer basis, not on an X-Y region basis.

This is not working if the higher infill is not along layer lines, i.e. because a screw goes in on the side.

@TomTom Which is why I explicitly said that in my last sentence :-)

While you definitely can do this with custom slicing settings, if the "infill" is a design constraint necessary for the part to properly function, I prefer making it a part of the design rather than leaving it as something you can mess up at slicing time. This is particularly important if you will be sharing the design for use by others or using a 3D printing service that might not give you sufficient control over the slicing parameters. Moreover, when you say you want "higher infill" in particular parts, this is often an imprecise way of conveying what you really need, which is particular infill structure - usually additional walls - not just a denser version of the infill pattern.
To use your example of points that need to accept screws (either drilled/tapped after printing, or with printed threads), just having denser infill in that part of the print won't help unless it's 100%; drilling into infill pattern will not give you something solid that a screw can thread securely into.
What I do for things like this is create internal gaps in the model, narrower than the minimum clearance needed to avoid walls bonding to each other. For example, cutting out concentric cylindrical surfaces can make a great solid region to thread a screw into. As noted by Trish in a comment, 0.05 mm seems to be a good choice of gap width that's below the clearance needed for FDM printers to avoid bonding, but large enough not to get removed by slicing tools.
If you want to ensure the model is still logically one connected component, leave some gaps in the cut, something like:

There's a lot of room for experimentation with exactly what kind of gaps work best. As Trish suggested, varying the location of bridges between layers may help. Adjusting spacing based on expected extrusion line widths may also be a good idea. One approach i've used in strengthening bolts, that might also work for threaded holes, is repeating the inner and outer thread profiles as a gap in the model. Here's an example cut to show the gap:

This particular reinforcement is mitigating the fact that roofing above infill is only supported by the infill, and thereby is able to sag slightly, preventing the layers from bonding as strongly and preventing the threaded walls from bonding strongly to the head.

a note about the wideness of these "slots" would be good. I had results with ca. 0.05 mm working. Also, it might be better not to line up the bridges but turn each ring a little to the one before into the direction of the threads. That seems to transmit the forces better to prevent shearing free.

@Trish: Indeed, there are lots of advanced variations possible. I've actually used a clone of the internal and external thread profiles turned slightly. But I wonder if clean integral number of walls (vs zigzag fill here and there) isn't more beneficial. I haven't done sufficiently rigorous tests to know yet.

@Trish: I updated the answer with your suggestions and a good bit of new material based on my comment.

Yes, it's possible, and not just limited to Cura. If you use GrabCAD Print (for Stratasys printers), the Advanced FDM feature allows different infill in different regions of your part - not based on layers, but based on your CAD geometry. Because of this, you have to start the process in CAD, by creating a part with multiple bodies. (For example, in Solidworks, you do this by turning off "merge" when you add a second boss, or by making a cut from a sketch and turning on "keep both parts".)
Once you've done this, go into the Advanced FDM tab in GrabCAD Print, and add your CAD part (the CAD file itself, not an STL). The two or more bodies in your part will be shown separately in the project panel: select them all and choose "merge". Now they will all be printed as a single part, but you can select each one and give them different infill settings.
You can also select any CAD face (i.e. not individual triangles) and override its wall thickness.
You can read a full tutorial about Advanced FDM on the GrabCAD website.

Using Cura 4.8

5% infill
This is the Support Blocker button:

Drop anywhere on bed, then resize and move like any model, make sure to turn off uniform scaling
With support blocker selected, then click the Mesh Type button:

Modify settings for overlaps
Select settings
Type infill in the search
Select infill density

Infill density has now been changed to 100% for selected part only.


text:
What are the specifications of the dual voltage controller of the Ender 3/CR-10?
Following on from What level of voltage does the Creality Ender-3 run at?
Dave's answer states that both 12 V and 24 V can be used on the controller board. It also goes on to say that the controller board is used in both configurations in two different printers:

Ender 3 and;
CR-10

I would like to know how this dual voltage operation works:

Does it use both voltages at the same time, or either one or the other?
Are there two different electrical inlets or are they the same?
Does it auto-detect or are there jumpers used to configure or are the components tolerant to both voltage levels?

Also related:

What is the board used?
Is the board a proprietary design or a standard third party board?
Does anyone have any photos of the board and/or schematics?

I own the Ender 3, and it runs on 24V, as this photo of the power supply shows:

From power supply  to the board, it uses a 2-wire line connected with a XT60 plug/jack that is common on RC cars:

The board itself is a proprietary design and labeled as "V1.1.2". The Voltage in is the lowest input on the left:

The Cooling fan (blue-yellow wire), the hotend cooling fan, heater cartridge (white shielded), bed heater (left black-red), board cooling fan (middle red-black) run (in this setup) on 24V. The Logic connectors (black-black & White-white) run 5V logic. I could not figure out the voltage of the stepper motors (upper row).
I have not figured out how the power management circut works, but it achieves this:

Supply voltage $ U_S = 12\ \text V \lor 24\ \text V $
Logic Voltage $ U_L = 5\ \text V $
Sensor Voltage $ U_{sens} = U_L$
Hotend Cooling Fan $ U_{cool} = U_S$
Hotend Heating Cartridge $ U_{hot} = U_S $
Heatbed $ U_{bed} = U_S $

The chip's caption can't be read on the photo, but it is labeled as "Δ ATMEL // ATMEGA1284P // AU 1726"
For the pinout, a german maker did determine, that it the configuration of a Sanguino equipped with an Atmega1284P 16Bit works for compiling firmware and flashing via a bootloader.

This answer addresses the input voltage. If you look up the official replacement board at the official Creality store the board features a single pair of connectors next to it says: 12 V / 24 V. So you can either use 12 V, or 24 V, not both. An internal regulator will most probably reduce the voltage anyways.

Please note that (kindly reminded by user profesor79 through the comments) that the microprocessor on these boards only use 5 V. So any voltage you supply (12 or 24 V), the voltage regulator will always make sure the microprocessor does not get more than 5 V. However, that does not necessarily apply to all peripherals connected to the board! This should be verified if for the peripherals also a voltage regulator is used. One of my own boards, the RUMBA board can be fed by any voltage ranging from 12 V - 35 V, but this also applies to the peripherals like the heater cartridge and the fans! I use the RUMBA with a 24 V power supply, so I need to use 24 V fans heater elements and heat bed.

the most important thing to say that the regulator will provide 5V to ttl(Arduino) and the full value of input voltage will be applied to peripherals. Having that in mind - changing PSU voltage will require to change fans, heaters, and even steppers.

@professor79 Yes totally true, good addition, I did not bother to add that, I will make that more clear

I can confirm this measurement (after first reading the wrong line and getting a wrong factor in) If U_S=24V, then the bed, fans and heater cartridge run on U=24V, the switches have 5V.


text:
Out-gassing of printed material when heated
We know from this answer, 3d printed materials continue to outgas after printing and being cured. My question relates to this:

How much does heating the printed object after printing (or being cured) affect out-gassing?
Does the continued out-gassing degrade the stability/quality of the print?

This is not an answer to your question, but it relates to outgassing so I am sharing it here.
I have used the acetone vapor method of smoothing the surface of ABS prints.  It works really well, and the surface becomes much smoother and glassy.  I printed a large coffee mug (lets, for the moment, ignore food safety issues) and made it very smooth.
After a couple of weeks to allow the acetone to fully evaporate, I poured a nice, hot cup of tea.  Unfortunately, the acetone had not fully left the print, and the surface was immediately covered with dozens of bubbles as the acetone evaporated and pushed against the ABS.
This effect was only because of the acetone.  Another cup that had not been vapor smoothed worked perfectly and was unaffected by the hot water.
I have not seen similar outgassing from PLA, ABS, Nylon, or PETG.
If I may hazard an opinion about the substance of your question...
I don't think that outgassing is the biggest contributor to the aging of prints and their properties changing.  I suspect that (perhaps not in order) these are larger factors:

exposure to UV light.  UV light breaks polymer bonds and reduces
the strength of plastic.
absorption of water vapor, which can both expand the material which causes stress, and chemically break polymer bonds.
long-term crystallization of the material
fatigue from repeated sub-failure stress

NASA used to have resources that spoke to outgassing rates related to suitability for space applications.

NASA still has the database available: Outgassing Data for Selecting Spacecraft Materials.

Thanks, @Oscar.  I'll edit to add your first comment.

No problem, I'll remove the link when you fixed it in the answer. By the way it is Oscar with a zero (0scar), that way I get pinged! And please remember to vote on questions.

@0scar -- does this ping you?  I need a better font with slashed zeros.

Thanks, Yes this pings me ! Note that when you type the @ and the first letter gives you a suggestion name, if if does not show the letter is wrong. I will delete this comment later today.

The effect of temperature on outgas rates is a subject for Engineering.SE . As to continued outgassing - depends on the material in question.  To pick an extreme example, solid CO2 (dry ice) will outgas until it's gone.  But stuff that's got VOCs is expected to outgas; said volatiles leave by design and the remaining material stands on its own.


text:
3D Metal Printing
I have been wondering about 3D metal printing (steel, aluminium), but after a short research on google I found only too expensive printers (markforged, desktop metal and a few other industrial ones). Is there any less expensive printer that is able to print metal parts on the market ?

you can print plastic models that make clay/sand molds which cast the metal part.

A quick look at the markforged machines looks like they are printing high-strength plastics -- not metal.

Welcome, though, to the 3D Printing StackExchange site!  There are lots of people here who understand 3D printing and the associated eco-systems.

A welding robot should do the trick. Do note that printing / welding deposition aluminium is pretty difficult, the end product is porous, there are only few good "filaments" I heard. Also note huge stresses in the build plate, resulting in inch thick stainless steel plates to deform (we print strong, high heat resistant alloys).

While it's not cheap, you can get metal parts produced by Sculpteo (and probably some of the other online printers like Shapeways et. al).

Printing metal (directly) is done in mainly two types:

Laser Sintering (LS), where a metal compound or alloy is sintered into form. For example, Tungsten Carbide is Laser Sintered. Common shorthands are SLS, DMLS, and SMLS, but others crop up too.
Laser Melting, where the laser actually smelts the metal into spot. DMLS/DMLM (direct metal laser (s)melting) and SLM (Selective Laser Melting) are currently the top of the development.

There is a side market of a special setup that welds objects, making the whole item a single weld, but that is (strictly speaking) not printing, it is welding.
What bars the availability of OpenSource machines: Patents, more patents and even more patents are still running, and some of these patents contain parts essential to metal printing, so they are barred. Only a few key patents for Laser Smelting/Laser Sintering/Laser Melting like this one did expire at all up to now. Some of the nowadays relevant patents for METAL printing like this (exp: ~2019-2024), this (exp:~2037) or this new one (exp: ~2035) still have years to go, so it will take some time.
Another factor is market: There is only a small market for hobbyists demanding metal printers while the industrial demand is large, and the industry is willing to pay big money. So there is little pressure on the big ones to make small machines, while the open source groups need to develop ways that get the right results without breaking patents.
A more complete history of metal laser printing (and a little more help which patents actually are relevant for industry) can be found here.

Anzalone and friends published A Low-Cost Open-Source Metal 3-D Printer in IEEE Access:

This paper reports on the development of a open-source metal 3-D printer. The metal 3-D printer is controlled with an open-source micro-controller and is a combination of a low-cost commercial gas-metal arc welder and a derivative of the Rostock, a deltabot RepRap. The bill of materials, electrical and mechanical design schematics, and basic construction and operating procedures are provided.

FFF/FDM
You can create a metal object via metal casting or using a special filament containing metal parts.
Metal filament
You print with a special filament that contains from mixture of metal and plastic. After the print you heat up the object around 450°C to burn plastic away and melt metal grains together. You need a kiln. DIY kiln is about 150$.
Before kiln process

After kiln process

The only filament I know is Filamet from The Virtual Foundry. CopperFill from ColorFabb contains just 30% of metal in oposite to Filamet containing 80%.

virtual foundry youtube channel
review: https://www.youtube.com/watch?v=hDIUCzV1vMg
3Ders article
Price

Copper Filamet™: $ 110.00 / 1kg
Bronze Filamet™: $ 165.00 / 1kg
Stainless Steel 316L Filamet™: $ 248.00 / 1kg

Just remember that these filaments are pretty dense which makes 1kg spools quite "shorter" and thus even more expensive!
Casting
This method is very closed to lost-wax casting. In short you print an object, surround it in clay/green sand, heat it up to burn out plastic and pour liquid metal in.
You can find an example of this tech on youtube, but the method is pretty much the same as with lost wax casting.
RepRap experiments
I have found some metal printing experiments in the RepRap projet, but did not study them in detail.

http://www.appropedia.org/Open-source_metal_3-D_printer
https://reprap.org/wiki/MetalicaRap
https://reprap.org/wiki/Metal_Delta_RepRap_v1
https://reprap.org/wiki/The_most_Affordable_Desktop_metal_3D_printing

Bronze paste & paste extruder
This is just an idea: You could arguably take a FFF printer with paste extruder and print with a paste containing a high amount of metal in a paste. Then the print is processed in a kiln.
Industrial technologies
Here is a list of metal print technologies by all3p.com An example from the list:

Desktop metal
Markforged Metal X
Digital Alloys

You can do lost-PLA investment casting, the actual gear to do it is kind of pricey unless you're willing to create your own DIY forge for melting aluminum.
Check it out though, you don't need a special printer to do it.
There's also a way to coat your prints with metal it would require an electric current and some nasty chemicals, but it's possible as an alternative.


text:
Controlling more fans with RAMPS board
I am using RAMPS 1.4 with Marlin. With Marlin, you can control a large number of fans with the M106 P<fan index> command. I'd like RAMPS to control some additional fans, independent of layer fan. Are there free pins on RAMPS 1.4 to do that? Otherwise, could I setup the RAMPS board to send a command to a separate Arduino? I also have Octoprint if that makes it easier.

Have you looked at https://reprap.org/wiki/File:Arduinomegapololushieldschematic.png?

You can control up to 3 fans with M106 P<fan index>, see my answer below.

From the sources of Marlin you can find how may fans you can use, even if you're not a coder it should be doable. From there you can find how to set the pins for the fans, provided that there are free unused and exposed (so that you do not have so solder directly to the microprocessor). First find how many fans are possible.
Starting in Marlin_main.cpp and searching for 106 (or 106 on the Marlin GitHub website) will lead you to the sources of the execution of the M106 command. Below a snippet of M106 and M107 is shown. The reason for M107 to be there becomes clear later.

#if FAN_COUNT > 0

  /**
   * M106: Set Fan Speed
   *
   *  S<int>   Speed between 0-255
   *  P<index> Fan index, if more than one fan
   *
   * With EXTRA_FAN_SPEED enabled:
   *
   *  T<int>   Restore/Use/Set Temporary Speed:
   *           1     = Restore previous speed after T2
   *           2     = Use temporary speed set with T3-255
   *           3-255 = Set the speed for use with T2
   */
  inline void gcode_M106() {
    const uint8_t p = parser.byteval('P');
    if (p < FAN_COUNT) {
      #if ENABLED(EXTRA_FAN_SPEED)
        const int16_t t = parser.intval('T');
        if (t > 0) {
          switch (t) {
            case 1:
              fanSpeeds[p] = old_fanSpeeds[p];
              break;
            case 2:
              old_fanSpeeds[p] = fanSpeeds[p];
              fanSpeeds[p] = new_fanSpeeds[p];
              break;
            default:
              new_fanSpeeds[p] = MIN(t, 255);
              break;
          }
          return;
        }
      #endif // EXTRA_FAN_SPEED
      const uint16_t s = parser.ushortval('S', 255);
      fanSpeeds[p] = MIN(s, 255U);
    }
  }

  /**
   * M107: Fan Off
   */
  inline void gcode_M107() {
    const uint16_t p = parser.ushortval('P');
    if (p < FAN_COUNT) fanSpeeds[p] = 0;
  }

#endif // FAN_COUNT > 0

Looking at this code, the first thing (actually the first line, #if FAN_COUNT > 0, already hints to that) that catches your attention is constant FAN_COUNT. Apparently the software knows how much fans are defined! Interesting! How does it know that! This piece of code ends just after handling the M107 command (line #endif // FAN_COUNT > 0), hence it is displayed here.
Continuing the search by finding how FAN_COUNT is set (using the search on GitHub for the Marlin repository) leads to file Conditionals_post.h. An interesting part is:

/**
 * Up to 3 PWM fans
 */
#if HAS_FAN2
  #define FAN_COUNT 3
#elif HAS_FAN1
  #define FAN_COUNT 2
#elif HAS_FAN0
  #define FAN_COUNT 1
#else
  #define FAN_COUNT 0
#endif

So depending on HAS_FANx (where x denotes 0, 1 or 2) you can have multiple fans, up to 3 in total! Cool, learned something in the process. :)
Let's now search for HAS_FANx; in the same file you will find:

// Other fans
#define HAS_FAN0 (PIN_EXISTS(FAN))
#define HAS_FAN1 (PIN_EXISTS(FAN1) && CONTROLLER_FAN_PIN != FAN1_PIN && E0_AUTO_FAN_PIN != FAN1_PIN && E1_AUTO_FAN_PIN != FAN1_PIN && E2_AUTO_FAN_PIN != FAN1_PIN && E3_AUTO_FAN_PIN != FAN1_PIN)
#define HAS_FAN2 (PIN_EXISTS(FAN2) && CONTROLLER_FAN_PIN != FAN2_PIN && E0_AUTO_FAN_PIN != FAN2_PIN && E1_AUTO_FAN_PIN != FAN2_PIN && E2_AUTO_FAN_PIN != FAN2_PIN && E3_AUTO_FAN_PIN != FAN2_PIN)

Now we are getting into clear water! This codes hints to FAN1_PIN and FAN2_PIN. If you look into you pin layout file, e.g. pins_RAMPS.h you see that that are the pin constants that need to be defined, actually FAN1_PIN is e.g. set if you choose an "EFF" configuration (Hotend, Fan0, Fan1), e.g. #define FAN1_PIN  RAMPS_D8_PIN.
What is left for you to do is find an unused pin of your micro-controller and set the FAN2_PIN with #define FAN2_PIN  <a free pin number>.
E.g. pin 4 is not a used pin number (and an analog output pin). Don't forget that the pin you choose cannot directly run a fan, it should be used to schedule a MOSFET.
Note that a dual external fan header "Reprap Ramps1.4 RRD Fan Extender" exists, this describes using the D6 and D11 pins. Further investigation led to a 3D.SE posting using this fan header: "How to configure Marlin to enable auto-fans with dual extruder".

Very interesting! Thanks for teaching how to fish! I also see in pins_RAMPS.h that pin 4 is available for filament runout sensor or laser, which I don't use. So I could also use that I guess for a fan (via MOSFET).

@vega You're welcome, excellent that you used the post to find an unused pin (from here I don't know what your setup looks like and what is used or not), just configure the pin to the #define FAN1_PIN if you are running 2 fans in total and use a MOSFET and you're good to go!


text:
How to eliminate stringing and regulate flow rate?
I have been having a problem with stringing on my 3D printer, so initially I increased retraction distance from 6.5 mm to 8 mm. Then I tried again, with the same issue, so I increased retraction speed and lowered the extruder temperature. Same problem. Over and over. After I did each of these, I have since decreased move speed, increased minimum layer time, put fan on full blast, and nothing has seemed to increase print quality.
I realize this is a lot of alterations to be making, but I'm not sure what to do next. I am using 1.75 mm PLA and a Monoprice Select V2.

Hi elarr and welcome to Stack Exchange 3D Printing!

Stringing can be fought by increasing the retraction length, but 6.5 mm (the default in Ultimaker Cura) is already pretty much. Please do note that too much retraction can lead to sucking air into the nozzle, which can lead to air pockets/holes.
Basically there are 3 mechanisms that are in play:

Retraction
Temperature
Speed

You have tried changing multiple parameters already. You may have better luck in reducing the temperature of the nozzle even further, start with a decrease of 5 °C. All that is left to do is increasing the travel speed.
There are many stringing test prints to print to fine tune stringing.

Great, that makes sense. My current values are as follows: Print Temp = 195 C, Plate Temp = 60 C Retraction Distance = 8 mm, Retraction Speed = 60 mm/s, Print Speed = 25 mm/s, Travel Speed = 70 mm/s. Do you think making Print Temp = 190 C and Travel Speed = 50 mm/s would do the trick?

@elarr bump up the travel speed to 100 mm/s, you should increase that one. Many PLA filament can be printed below 195 degC. First try increasing the travel speed.

It turns out, the problem was due to clogging of my extruder. The settings you provided work well though. Thanks!


text:
When did mass produced FDM printers become available?
I know very little about the history of 3D printing, except that SLA came first (in the 1980's?), and FDM development was probably held back by patents.
By 2016, very low price kit machines were available to hobbyists, in the <€300 price range, as price-reduced clones of designs which had already seen several iterations.
Was this the start of the break-out of cheap FDM machines (as opposed to the >€2000 semi-professional lab budget prototyping class), or were the earlier iterations of these kit machines also suitable/adopted by hobbyists?
I realise that early popularity would grow exponentially, but I'm thinking particularly at what point people could build a printer without needing to compile their own firmware, solder any boards, etc.

By 2016, very low price kit machines were available to hobbyists [..]
Was this the start of the break-out of cheap FDM machines

No, not by any means. The RepRap project started in 2005, and by 2008-2010 there were several open-source printer designs out there that were somewhat workable for hobbyists. These designs were still quite expensive, you needed to source all the components yourself and do a very significant amount of troubleshooting.
However, as early as mid-2009 you could buy a Makerbot Cupcake CNC for \$750 as a kit (which might have involved some soldering) or \$2500 fully assembled (presumably without soldering, but it's conceivable it was plug-and-play). Makerbot went on to become quite a successful company, piggybacking off the RepRap project and could be viewed as the "break-out" you ask about.
I purchased my first printer kit (no soldering or firmware involved) for \$500 (plus around \$150 in shipping and taxes) in February 2014; cheap hobbyist machines were commonplace well before that.

The Makerbot Replicator was released in 2012 and was the first 3D consumer-level printer that was sold only as a complete unit, not a kit.  They were also well funded and had a famous Maker-Person as a founder.  This seemed to coincide with wide-scale coverage of 3D printing in the media, and a big boom in the DIY side of the movement which is continuing to this day.
The unit was still expensive by many standards (US$2500), but it did solve the bootstrap problem... you could just buy one at a store, instead of having to have a specific knowledge set in order to build one.

authors: กุลณัฐ กุลณัฐ


text:
First layer of print comes out poorly even when placed on a raft (which prints fine)
I'm printing PLA with the Creality Ender 2 and my print comes out totally fine with the exception of the first layer.
Here's the weird part though, if I place a raft or a brim below/around the print - the raft or brim will print perfectly cleanly. Even on a raft though, the very first layer of the actual print comes out ugly, as seen in the photo below, but the raft itself will be perfectly printed.
Following that first ugly layer of the actual print, the rest of the print will be 100% clean. This happens consistently every time I print any object.
The perfectly printed raft can be seen on the right and the ugly first layer that printed on top of that raft can be seen on the left. Be sure to click the image to see the details of what I mean.

Please add which material you are printing. E.g. PLA does not require a raft.

Edited - I am using PLA but read my comment below on why I added raft. Cheers

Turns out it had to do with the nature of the small holes that I was printing. I had to slow the speed of the initial layer down from 25mm/s to 15mm/s and also set Cura to 'optimize wall printing order' so that it didn't jump back and forth between holes constantly.
I also sped up the travel speed to 50mm/s on the initial layer to minimize oozing (although I'm not sure this actually did anything). Print came out beautifully.
Didn't even need the raft.

The first layer of your product is always more rough when printing on a raft than on the plate or glass. It is the nature of the raft.

@0scar it wasn't just the raft though, I initially tried printing on the bed and had the same issue so I added the raft because I thought the issue was caused by poor bed adherence

SInce you had success at two different speeds, it would appear speed is irrelevant.  You might want to edit your answer accordingly.

@Carl I didn't have success at 25mm/s - I was saying I had to lower the speed to 15mm/s from the initial 25mm/s in order to print successfully

Sounds like you need to get the printing nozzle closer to the bed. In the case of the raft you can adjust the 'air gap' which is how much it raises off the top of the raft before starting the print.


text:
Is the 110 m length accurate for 3.0 mm 1 kg spool?
I've been seeing the 330 m and 110 m length estimates for 1.75 and 3.0 mm spools (of PLA, presumably). But a moment's thought staring at that will raise an obvious question.
Using πr², we get the area of the filament in square millimeters (rounding to two decimal points)
For 1.75 it's 2.41 mm²
For 3.00 it's 7.07 mm²
Then taking the ratio and multiplying:
(2.41/7.07) * 330 m = 112 m which is close enough to 110 m.
BUT as all makers of filament and makers of extruders know, 3.00 mm is just a rounding off of the real dimension, which is 2.85 mm. Now do that:
For 2.85 it's 6.38 mm²
and:
(2.41/6.38) * 330 m = 125 m which is at least 120 m.
So, whoever calculated the approximation of 110 m did the calculation based on the rounded rather than actual dimension. What am I missing here?
My point is not that the 330 and 110 would be inaccurate given the dimensions of 1.75 and 3.00. Rather, my point is that the 3.00 mm diameter is not what is really so; it's actually 2.85 mm and therefore the answer is longer than 110 m.

Does it really matter?

The figure does not appear in just one place, but has been copied numerous places taking it for granted that it is correct. I consider that to matter, yes.

If you feel one answer solves your question, please accept one.

Let's go about this scientific:
$A_r=\pi{r}^{2}=\pi{\frac{d}{2}}^{2}$
As a result the crossections are $A_{3}=7.06858\text{mm}^2=0.0707\text{cm}^2$, $A_{2.85}=6.3794\text{mm}^2=0.0638\text{cm}^2$ and $A_{1.75}=2.40528\text{mm}^2=0.024\text{cm}^2$.
Volume of a cylinder is $V_{A_d,l}=\times {A_d} {l}$. Turned around to get a length from Volume and Area we get $l=\frac {V_m}{A_d}$, but what is V?
We know the density of comercial PLA is about $\rho=1.25 \frac{\text g}{\text{cm}^3}$, and we know $m=\times V \rho$. So: $V_m=\frac{m}{\rho}=\frac{1000}{1.25}\text{cm}^3=800\text{cm}^3$.
Taking this Volume and using the $l=\frac {V_m}{A_d}$ we get:
$l_{d=1.75}=33333.33\frac{\text{cm}}{\text{kg}}=333.33\frac{\text{m}}{\text{kg}}$
$l_{d=2.85}=12539.18\frac{\text{cm}}{\text{kg}}=125.39\frac{\text{m}}{\text{kg}}$
$l_{d=3}=11315.41\frac{\text{cm}}{\text{kg}}=113.15\frac{\text{m}}{\text{kg}}$
If the filament is more on the dense side $(\rho>1.25\frac{\text g}{\text{cm}^3})$, then it will have a smaller volume and thus be shorter than this estimate.
To show this better, a graph: This is the length of a filament spool in dependancy of the density. The values were calculated for the usual diameters with their closest neighbors rounded to 0.1 as absolute diameters and run over a broad range of densities commonly used in plastics - 0.7 g/cm³ to 2 g/cm³.

This is calculated based on 3.00mm. My point is that such filament is actually 2.85mm and therefore longer than usually cited.

@nebogipfel I added the calculateions for 2.85mm too. Remember, Most 3mm filaments are more on the thicker side than the 2.85, but if your supplier has this number down perfectly, then you should get those. Also, keep in mind that I do assume the density - PLA can start at 1.2 and go up to 1.45 g/cm³

@nebogipfel also, added a (huge) graph that should cover enough density variation to be true for almost all plastics - the lower group is the "3.0" diameter (+/- 0.05mm), the upper the "1.75" one

The 110 meter figure is for 3.0 mm filament that actually is 3.0 mm in diameter. As you (correctly) note, most 3.0 mm filament is often actually closer to 2.85 mm. In that case, the correct figure is indeed around 125 meters. Note that this figure is for PLA filament (see e.g. my answer here). For ABS, being significantly less dense, a 1 kg spool would be around 155 meters.


text:
Is there a table or list of tare weights of empty spools of various manufacturers?
It would be helpful to me if I knew in advance how much the empty filament spool weighs.
Not having emptied any spool yet, I can't contribute data points, but has anyone compiled a list of empty weights from various manufacturers and sizes?
I am asking the question because when I open a fresh spool I am curious how close it is to 'what it says on the tin'. And to find out how much I got on a "transitional" or "imperfect" spool.

(I post no answer just a alternative way) I got various spools from a single manufacturer, so the only solution for me was to not throw away empty spools that i don't have in my "collection". I assume you want to meassure the filament that is on your spools left. My experience: I measured 2 spools of the same type and they were 5 g off to each other. So 2 ways left: measure the spool at opening (be aware of the "bonus" of filament) and have a collection or a good table whit your real spools by your own.

And BTW, if you are doing this to try to use every last bit of filament, my advice is Don't . A few meters' worth  of filament costs almost nothing, and the hazard of running out mid-print is nasty.  At the very least, if you're going this route, install an "out of filament" switch into your printer.

Yes, there is a table on Reddit - Empty spool weights for estimating remaining filament which suggests that the norm (in 2015) was between 170 and 330 grams for a 1 kg spool, superficially in a bimodal distribution clustered around the high and low points. Presumably these were for 3 mm filament, this post dating to before the popularity of 1.75 mm...
Manufacturer's have an incentive to reduce the mass of their spools, or even ship without spools, since the shipping cost will eat into their profit margin.

I use the 3D Printing Wiki's Spool Weight page.

+1 - Whilst this seems like a link-only answer (well, let's face it, it is), there isn't really any other way of adding this link as an answer - it is clearly not terribly practical (although not impossible - I did it for Sean's answer) to block-quote the whole page in this answer - it would just be a snap-shot in time. This sort of illustrates that there is an issue with this type of question (w.r.t. Stack Exchange's format) - even though the question is rather a useful one.

Using sed and/or awk (or Perl or Python (Pandas),  blah blah, etc.), one could easily (or more easily than manual transcription) scrape the info from the page and then, using that data, create a markdown table

Extracting the data from the table linked to in Damien's answer:

Manufacturer
Flavor (type, size, etc)
Year
Spool Weight, g
Comment

123-3D

198

3DActive
PLA, 0,5kg
2021.0
195 g
Spool by Häfner , model: SD 200/52-43K , Diameter=200 Width=44 CoreDiameter=52

3D Online

227

3D Ware

211

3D-Fuel
PLA, 1 KG
2021.0
262
Ribbed style sides. Very consistent weight across 7 tested spools. This is just under their claimed weight of 265g.

3D-Fuel
PLA, 1 KG
2021.0
288-294
Solid style sides. Weight ranged across 3 samples.

3D Fuel

264

3DFIL
1kg

235 g
Diameter=200, Width=63, Core diam=54

3dJake
250g

108 g
Diameter=140, Width=44, Core diam=51

3dJake
TPU 750g

212 g
Diameter=200, Width=51, Core diam=53

3dJake
1kg

240 g
Diameter=200, Width=75, Core diam=52

3dJake
2.3kg

605 g
Diameter=300, Width=103, Core diam=51.5

3dJake
4kg

870 g
Diameter=350, Width=110, Core diam=51.5

3dJake
8kg

1045 g
Diameter=355, Width=182, Core diam=36

3DO
PETG, 1kg
2023.0
255 g

3d Online
PLA 1kg

208 g
Diameter=198, Width=70, Core diam=57

Abfil
750g/1kg

248 g
Diameter=200, Width=67, Core diam=53

AIO Robotics
PLA 500g V1

115

AIO Robotics
PLA 500g V2

210

Amolen

190

Amolen rev.2

2023.0
148

AmazonBasics
PLA, Silk PLA
2023.0
264

Amazon Basics
1kg

200 g
Diameter=200, Width=75, Core diam=53

AMZ3D
PETG, 1kg
2022.0
230.6 g
Diameter=200, Width=65, Core diam=55

AMZ3D
PLA, 1kg
2018.0
230 g
Diameter=200, Width=65, Core diam=55

Anet
1kg PLA

226 g
Diameter=200, Width=65, Core diam=56

Arianeplast
750g

224 g
Diameter=200, Width=45, Core diam=55

Arianeplast
1kg

226 g
Diameter=200, Width=65, Core diam=55

Arianeplast
2,3k

680 g
Diameter=300, Width=100, Core diam=55

Atomic Filament
PLA, 1kg
2015.0
319

AzureFilm
PLA, 1kg
2021.0
163
Older design, they have a new one for 2022

AzureFilm
1000g (and 750g wood), black with small Cores
2023.0
220
Source: AzureFilm customer support

Basicfil
PLA, 500g
2021.0
187

Bambulab
1KG White plastic
2023.0
207 g
Cardboard ring in center weights 36 g so total weight is 243 g

Basicfil
1kg

225 g
Diameter=200, Width=80, Core diam=50.5

CC3D

164

CC3D
PLA MAX
2021.0
153
Diameter=198, Width=64, Core diam=53

Clas Ohlson
PLA, 1kg
2021.0
175
old spool design?

Cookiecad
PLA

177

Comgrow

207

Coex LLC
PLA, 1kg
2020.0
335

COEX
PLA, 1 KG
2022.0
320
They are switching to cardboard soon.

ColorFabb
1kg

240 g
Diameter=200, Width=66, Core diam=62

ColorFabb
2,3kg EcoPla

590 g
Diameter=300, Width=100, Core diam=55

Creality
1 Kg, old

141

Creality
1 Kg, new

est. ~200-220
near identical design to newer Gembird spools

Creality
CR-PLA(PLA+)

140

Creality
1kg

138 g
Diameter=200, Width=63, Core diam=54

Creality
1kg Hyper ABS
2023.0
180 g
Cardboard Spool, Diameter=200, Width=58, Core diam=88

Creality
1kg Hyper PLA
2024.0
173 g
Cardboard Spool, Diameter=200, Width=64, Hole diam=55

Dagoma Chromatik
750g

204 g
Diameter=200, Width=52

Dayfil
1kg carton

190 g
Diameter=200, Width=80, Core diam=56

Devil Design
1kg plastic

257 g

Devil Design
333g plastic

148 g

Dikale
1kg

178

Dikale
Old

196

Duramic 3D
cardboard

132

Duramic 3D
1kg Cardboard
2022.0
136
Diameter=200, Width=65, Core diam=55

Duramic 3D
PLA+, 1kg
2022.0
236
Diameter=200, Width=67, Core diam=55

Elegoo
PLA, 1 KG
2022.0
171
Cardboard Spool

Eono (Amazon)
1kg

192
Amazon

EPESTOEC
1KG Spool, PLA
2023.0
159g
Black Spool, 5 Window

Eryone
PLA 1kg

216 g
Diameter=200, Width=64, Core diam=55

Eryone
TPU 500g

190 g
Diameter=200, Width=37, Core diam=53

Eryone
1kg spool

186

Eryone
PLA Marble, 1kg
2020.0
181
Diameter=200, Width=63, Core diam=54

Eryone
Cardboard, 1kg

187

eSUN
PLA+, eMarble, eSilk, eTPU

242
Weight is an average of 10 empty spools

eSUN
eSilk
2021.0
211

eSun
Transparent

214-220 g
Diameter=200, Width=60, Core diam=51

eSun
standard

230 g

eSun
Réutilisable

160g
Diameter=200, Width=65

eSun
1kg noire

250 g
Diameter=200, Width=64, Core diam=54

eSun
500g transparent

203 g

eSun
500g noir

212 g

eSun
1.75mm PLA+ Grey
2023.0
633
Diameter=269, Width=102, Core diam=53

eSun
1.75mm ePLA-ST Grey
2022.0
262
Diameter=199, Width=65, Core diam=54

eSun
1.75mm PLA+ White
2022.0
266
Diameter=200, Width=64, Core diam=54

eSun
1.75mm ePLA+HS Black Cardboard
2023.0
153
Diameter=200, Width=63, Core diam=54

Extrudr
PLA 1,1kg

240 g
Diameter=200, Width=66, Core diam=62

Extrudr
TPU 750g

228 g
Diameter=200, Width=53, Core diam=53

Extrudr
Extrudr 2.5kg

590 g
Diameter=300, Width=100, Core diam=55

Fillamentum

233
Craft Filament

Filament-PM
500g Spool

205

Filament-PM
1kg Spool

225

FilamentOne

220

Flashforge
ABS, 1kg
2020.0
176

Flashforge
PLA, 1kg

175

Form Futura
rPLA, 750g

151

Francemaker
1kg

205 g
Diameter=200, Width=63, Core diam=52

Francofil
500g

227 g
Diameter=200, Width=55, Core diam=52

Francofil
750g-1kg

246 g
Diameter=200, Width=67, Core diam=52

Francofil
5kg-10kg

1050 g
Diameter=335, Width=245, Core diam=51

Geeetech \ Giantarm
PLA 1kg spool

180

Geeetech
1kg

183 g
Diameter=195, Width=64, Core diam=64

Gelo
1kg

186

Giantarm
1kg

197 g
Diameter=200, Width=65, Core diam=–

Gizmo Dorks
1kg

156

GNVTNTP
TRICOLOR CoExtruded PLA 1KG
2022.0
156
Cardboard Spool

GoHigh
1kg

127 g
Diameter=194, Width=60, Core diam=72

Grossiste3d
PLA 1kg

215 g
Diameter=198, Width=65, Core diam=54

Grossiste3d
PLA 500g

208 g
Diameter=200, Width=35, Core diam=54

GST3D
PLA 1kg

200 g
Diameter=196, Width=63, Core diam=52

GST3D
PLA 1Kg

212gr but other spools: 241gr

GST3D

207

Hatchbox
Old

224

Hatchbox
PLA, 1kg
2020.0
245
Diameter=200, Width=67, Core diam=55

HZST3D
1kg

177

Inland
1kg

222

Inland
500g

196

Inland
Reusable

205g, 240g*
*240g with the 35g inner tube left over from Inland 1kg PLA+ Refills

Ice
750g

200 g
Diameter=198, Width=56, Core diam=53

Jayo
1KG Spool, PLA
2023.0
135g
Cardboard

KIMYA
PETG-S, 750g
2023.0
242 g

Kingroon
PLA, 1KG spool
2022.0
166.6g

Machines3d
750g

203 g
Diameter=200, Width=52, Core diam=53

Maker Geeks
1kg

193 g

Material4print
1Kg Spool PETG
2020.0
240 g
Diameter=200, With=53, Core diam=54

Markforged Onyx
800cc/960g

MatterHackers
build

250

MatterHackers
1kg PLA (MH Build)
2019.0
228

MatterHackers
build PLA
2022.0
213

MECH Solutions
PLA+, 1kg
2022.0
254
Diameter=199, Width=63, Core diam=54

MiKA3D
PLA, 500 g

115 g
Same spool as AIO Robotics 500g spool

Nanovia
500g Spool
2014.0
255

Nanovia
500g Spool
2021.0
182

Nanovia
2kg Spool
2021.0
668

Neofil
750g

210 g
Diameter=199, Width=53, Core diam=53

Novamaker
PLA, 1kg

180

Numakers
PLA+, 1kg

200

Octofiber
1kg

240 g
Diameter=200, Width=55, Core diam=53

Overture
type I (1 kg), PLA, PETG
2023.0
238

Overture
type II

187

Overture
Cardboard

176

Overture
Cardboard 2023

170

OWL
PLA, 1kg

186-190

Paramount 3D
1kg

208

Plastika Trček
1kg
2019.0
218

PlastSpaw
0,7..1kg

200g
Spool have smooth sides, Diameter=200 Width=66 CoreDiameter=50

Proto-Pasta

100

Prusa Research
Prusament 300g Mini Spool

130

Prusa Research
Prusament, PLA, 1kg

193
Diameter=200, Width=72, Core diam=50

Prusa Research
Prusament, PLA, 2kg

226-228.5
Diameter=200, Width=123, Core diam=50

Prusa Research
Made for Prusa Research

234

Polymaker
Polycast, 750g

224

Polymaker
Polyterra 1KG

187

Polymaker
PolyTerra PLA, 1 kg
2022.0
137
Cardboard Spool, printed weight 140g

Prima Value
1kg

245 g
Diameter=200, Width=75, Core diam=53

Prinsfil
1kg

Diameter=200, Width=57, Core diam=78

Printed Solid
PLA 1.75mm 1kg plastic spool

326

Push Plastic

328

Real Filament
1kg, cardboard

208

RECREUS
PETG, 750g
2023.0
232 g

Replitech
PLA 1.81kg (4Lbs) 600M Spool
2022.0
178 g
Spool size: 210mm diameter x 86mm width; Center Core: 52mm diameter

Redline Filament
1kg

200 g

Renkforce
PLA, 1kg

179

Repkord
PLA

193

Rosa3d
PLA-PETG-800g

231 g
Diameter=200, Width=53, Core diam=53

Rosa3d
800g transparente

242 g
Diameter=?, Width=?, Core diam=?

RS Pro
1kg

237 g
Diameter=200, Width=75, Core diam=53

Sainsmart
TPU 800g

187 g
Diameter=200, Width=62, Core diam=57

Sainsmart
TPU 250g

108 g
Diameter=155, Width=37, Core diam=54

Sakata
1kg HR870

257 g
Diameter=200, Width=66, Core diam=53

SIMAX3D
PLA 1kg
2020.0
202
Diameter=200, Width=74, Core diam=53

Smart Materials (Makershop)
PLA 750g

240 g
Diameter=200, Width=53, Core diam=53

Sunlu

150

Sunlu
PLA+ 1kg
2023.0
132

Sunlu
PLA+ 1kg
2023.0
155

Sunlu
PLA+ old

145 g

Sunlu
PETG 1kg

130 g

Sunlu Masterspool
1kg

200 g

Sunlu

133

Sunlu
250g spool

55

Steadytech
1kg

179

StrongHero3D

151

Spectrum

247

3D Solutech

173

SK-Honpo
PLA, 1kg
2022.0
171
Japanese distributor

Stronghero3D
Black Spool, 1 kg, 4 windows
2022.0
154
Black Spool, 4 windows (with bars)

Stronghero3D
Black Spool, 1 kg, 5 windows
2022.0
123
Black Spool, 5 windows

Stronghero3D
Clear Spool, 1 kg, 5 windows
2022.0
121
Clear Spool, 5 windows

Suntop
PLA, 1kg
2022.0
177

Sparta ABS+
ABS+
2022.0
157
Clear Spool

SOBV3D
1kg

210 g
Diameter=199, Width=70, Core diam=51

SOBV3D
1kg Démontable

152 g
Diameter=200, Width=71, Core diam=52

TecBears

133
seems to be Sunlu spool

Thumwan
1kg

192 g
Diameter=199, Width=66, Core diam=54

Tianse
PLA, 1kg
2021.0
180
Diameter=196, Width=60, Core diam=75

Tinmorry
1kg

186 g
Diameter=198, Width=65, Core diam=55

Tinmorry

184
Similar to Eryone

Torwell3D
PLA, 1kg
2020.0
185

TTYT3D
PLA, 1kg
2022.0
173
Similar to DO3D Spool

TTYT3D
1KG cardboard
2023.0
121 g

Verbatim
PETG 1kg

238 g
Diameter=200, Width=75, Core diam=52

Voolt3D
PLA, 1kg
2022.0
209
Brazilian manufacturer

Voxelab
PLA Pro, 1kg
2022.0
172

Voxelab
PLA, 1kg
2022.0
137

Wanhao
1kg

239 g
Diameter=195, Width=57

Warhorse

133
seems to be Sunlu spool

Yoyi

175g

Yoyi
TPU

169 g

Yuaneang
1kg PLA
2018.0
202 g
Solid plastic spool.

Zyltech
PLA, 1 KG
2022.0
94
5 Spoke plastic spool.

Ziro

226

Zortrax
800g

183 g

Zortrax
1Kg

178 g

Source: 3D Printing Wiki's Spool Weight page
Table created using Github:greenonline/HTMLTableToMarkdown

Following on from Sean's excellent answer, here is the (out of date) table in question:
Image: Empty spool weight table
In table format:

Brand
Size
Year
Color
Width (mm)
Diameter (inner/core/outer)
weight

3D Solutech
1kg
2015.0
Black
65.0
57/81/199
~173g

3D Supply Source Transparent PLA/PETG
1kg
2015.0
Black
65.0
57 / 81/ 199
~173g

Atomic Filament
1kg
2015.0
Black
72.0
52 / 98 / 204
~319g

Atomic Filament
1kg
2016.0
Black
74.0
52 / ? / 201
?

Colorfabb
750g+
2015.0
Clear
57.0
53/105/200
~236g

eSun Inland
1kg
2015.0
Black
67.0
53 / ? / 199
~224g

eSun Intservo PLA/ABS
1kg
2015.0
Clear
64.0
52 / 90 / 200
~253g

HanBot
1kg
2014.0
Black
78.0
40 / ? / 198
?

Hatchbox ABS
1kg
2015.0
Black
62.0
32 / 58 / 200
~226g

Hatchbox ABS
1lb
2015.0
Black
61.0
32 / 58 / 163
~157g

Honeycomb Drone
1kb
2015.0
Clear
53.0
52 / 60 / 220
~183

IC3D ABS
2.5lbs
2014.0
Black
74.0
52 / ? / 203
?

Invent-a-Part PLA
1kg
2014.0
Black
74.0
57 / 96 / 198
~227g

JustPLA Chroma Line PLA
1kg
2015.0
Black
93.0
57 / 95 / 180
~197g

MadeSolid PET+
1lb
2014.0
Black
55.0
52 / ? / 199
?

MadeSolid PET+
1kg
2014.0
Black
71.0
53 / 93 / 203
~345g

MakerGeeks Brand PLA
1kg
2015.0
Black
83.0
38 / ? / 190
?

MicroCenter Inland
1kg
2016.0
Black
65.0
?/90/?
~224g

MonoPrice PLA
1kg
2015.0
Black
78.0
39 / 96 / 194
~221g

NinjaFlex
500g
2014.0
Black
54.0
52 / 94 / 200
~329g

Octave ABS
1kg
2012.0
Black
90.0
32 / 58 / 161
~168g

Prototype Supply
1kg
2014.0
Black
69.0
53 / ? / 199
?

Reprapper ABS
1kg
2012.0
Black
90.0
32 / 58 / 161
~157g

Sainsmart TPU
800g
2015.0
Black
65.0
57 / 81? / 199
~173g

Sainsmart TPU
800g
2015.0
White
84.0
32 / 49 / 162
~153g

SMW3D
1kg
2015.0
Black
78.0
32 / ? / 200
?

Taulman Nylon / TGlase
1lb
2014.0
Black
70.0
19 / 51 / 127
~90g

Taulman PLA
1kg
2015.0
Black
84.0
38 / ? / 190
?

Ultimachine PLA
1kg
2012.0
Black
71.0
53 / 93? / 203
~345g

Up! ABS
700g
2013.0
Black
55.0
53 / ? / 198
?

XYD Filament
1kg
2015.0
Black
67.0
53 / ? / 198
?

Yasin
1kg
2015.0
Black
60.0
48 / ? / 199
?

Zen Toolworks Flexible
1kg
2014.0
Black
60.0
52 / ? / 198
?

Source: Reddit - Empty spool weights for estimating remaining filament
Table created using Github:greenonline/HTMLTableToMarkdown