Do I have to buy all new components if I were to get a RAMPS 1.4 that supports 24 V power?

You need all components that are supplied voltage by the RAMPS board to be able to deal with a 24V input. Some of your parts are most likely compatible, as the stepper drivers. Others get the 5V from the Arduino, as the endstops. Some will most likely need replacement, as

the Hotend heater cartridge. It will need to be exchanged. You can easily buy those in 12V and 24V versions and a 12V version should not get 24V.
the fans. Chances here are about as close to 100% as it gets that they need to be replaced. They are directly connected to the 12V, some are PWM regulated but that doesn't change that they need to be replaced with proper 24V fans.
the heated bed. Since it gets direct power from the board you cannot use your old 12V bed. This is unless you had your old bed switched by a solid state relay (SSR) before. Then you'd have to check the SSR's switching signal tolerances.
anything else you might have hooked up to your power supply directly (lights for example) should be checked for input tolerance.


How to use an Anet A8 control board with a damaged AVR IC?

This post was taken from Tooniis's comment.

I've been doing #2 for a week now. I swapped ports of the nozzle and hotbed. Now I have a functional nozzle but the bed cannot be heated. The new hardware should arrive soon though. As for #1, it would be very hard to do since the ATmega chip is an SMD package.

In sanguino.h there are two lines which define the pins for the hotbed thermistor and the nozzle thermistor. One of them is 6 and the other is 7, and I just swapped those two. The lines are next to each other.


What are the advantages/disadvantages of using synchromesh cables instead of belts?

Looking at the specs for both the GT2 belt and the Synchromesh I'm very hesitant to recommend a Synchromesh over a belt.

The first thing that sticks out is that there are both error and cumulative error specifications for the Synchromesh. For a device like a 3D printer, I don't like the idea that of my axes can accumulate up to ±0.16 in. of error over 100 pitches (the pitch is between 0.12 in. and 0.25 in. so that is 12 to 25 in.).

Contrast this to a belt where the only way you have a cumulative error is if you skip a tooth and I think the winner is the GT2.

Looking at the non-cumulative pitch error both products are comparable but again the belt wins. For the Synchromesh we have an accuracy of ±0.002 in. versus ±0.0003(1) in. for a 2 mm GT2 belt and ±0.0012(1) in. for a 3 mm GT2 belt.

Note: I can't be certain about exact values for error since there are no numbers for the GT2 - only a stupid chart. I also have a hard time believing that error is not a function of total length for both the Synchromesh and the GT2 belt but I'm not the manufacturer. However, since both products are made by the same company I wouldn't be as concerned about them trying to oversell one product over the other.

In conclusion, I don't see of any reason to choose a Synchromesh over a belt if your physical layout is compatible with both. As pointed out in the marketing material for the Synchromesh, it can be routed along 3 axes whereas a belt works best along a single axis. The Synchromesh seems to be a product designed for a very specific application...

Sources

http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf

http://www.sdp-si.com/PDFS/Synchromesh-Cable-and-Attachment-Inch.pdf


Unable to load new filament FlashForge Adventurer 3

First thing I'd try is making sure the nozzle is hot enough and carefully try to feed the new filament where it will be pushed - sometimes there's melted filament that just isn't hot enough to flow out and the new filament is pushing on it, jamming and making your motor make that sound.  Usually getting it hot to the point where the old filament is practically dripping out before attempting to insert the new filament will work.
If that doesn't work I might let the thing cool, disassemble the nozzle, and remove the jam mechanically (and reassemble it).


I had the same issue with my X5S when I first got it assembled. Because it's CoreXY, if one pulley slips, you'll skip steps in the diagonal. Check both set screws on your pulleys for the X and Y.


Creality Ender 3 printer power consumption?

I'm currently measuring the power usage of my Ender 3. It used about 0.5 kWh for 4 hours of printing. With 2 heat ups (about 280 W each). So approximately 120 W average.
Or 0.12 kWh per hour.

Assumed your printing 12 h a day you're using 1.5 kWh a day. That translates into a cost of 0.43 € a day in electricity (0.3 €/kWh).

When you're using your printer every day for an average of 12 h. You'll be using about 525 kWh a year or 157 € in electricity at 0.3 €/kWh.


because the extruder gear doesn't really push it. It doesn't seem like it's stuck, but it just won't move.

It looks like stepper issue.

Did you check stepper connections? Maybe there is a loose wire?
Maybe your extruder is assembled incorrectly? Please check google images to see how extruder should be assembled and/or give us some photos of your extruder.
Maybe your printer is setup wrong, there is small potentiometer on mainboard which sets stepper current, I had problems when it was rotated slightly too far. Try commanding your printer to extrude slowly for several seconds and in this time turn pot at least one time (it wraps around) until it starts to extrude (do not move printhead during this, turning this pot WILL make motors skip and crash into home/end). If you don't have problems with other motors, this may not be your issue but is worth checking.
Try homing your axes first, sometimes after startup motors won't work correctly until homing axes.
Try pressing reset once after starting printer.

How to find that pot? It's just to the side of capacitor which is near "Z-Motor2" connector.


Why can't I use PLA with ABS in a dual extruding 3D printer?

First of all: PLA is not water soluable.

Second: You want the melting points of the plastics to be as close as possible. PLA is printed between 180 and 200 °C. ABS is printed at 220 to 240 °C.

PVA on the other hand is water soluable and is printed in the same temperature range as ABS.

The setup is dependant on your slicer: you need to select one extruder as being the support structure one, the other as the main body one. Then you assign the filaments to them. Without knowing your slicer, I can't asnwer this better.


Building new Repetier firmware for a delta printer (D-force)

You, obviously, do actually have a Z-probe, but in case another user does not, or you decide not to use yours, I will cover both cases (with and without a Z-probe).

Z-probe not present

If not, then in configuration.h set the FEATURE_Z_PROBE to false, like this:

#define FEATURE_Z_PROBE false

or

#define FEATURE_Z_PROBE 0.

Then you also need to set

#define DISTORTION_CORRECTION 0

as this requires the FEATURE_Z_PROBE if otherwise set to 1 or true. However, thereafter, upon recompilation, I then get a lot of other errors...  but these seem to be more to do with selecting the correct board, #define MOTHERBOARD, in pins.h, than the disabling of the Z-probe. This error:

fastio.h:29: error: 'DIOORIG_FAN2_PIN_WPORT' was not declared in this scope

is due to, from Can't compile firmware:

  You are using ORIG_FAN2_PIN in your configuration but apparently your boards pin definition does not define that pin. In that case check board description and use the digital pin number instead for that function.

Actually that is not entirely true1.

NOTE: It might be easier to just define Z_PROBE_PIN to something other than -1, which is what it is defaulting to, as set in configuration.h:

#define Z_PROBE_PIN -1

Z-probe present

If you do have a Z-probe, then trace the wires to see where they go on the controller board, determine that pin number on the board and then enter that pin number into configuration.h. For example, if it is connected to pin 63, then:

#define Z_PROBE_PIN 63

and leave DISTORTION_CORRECTION untouched.

Where to plug the Z-probe in

If your Z-probe has become unplugged, then you need to choose a pin to connect it to. This is easy... you simply connect it to any free pin. Now, you probably only have three end stops, at the top of the delta frame. These are the MAX end stops. So, you can simply connect the Z-probe to any of the three MIN end stop pins, on the board. Obviously, you will leave the three #defines for the MIN end stop, in Configuration.h, un-configured, and then specify the pin, that you did use, in

#define Z_PROBE_PIN <your pin>

See Is there a complete step by step manual for building Z probe - comment 1950

  Put the zprobe on any free pin you have but do NOT set it in endstops. It is not a endstop it is a zprobe.

  Then set it in zprobe section with pullup enabled so it is drawn to high internally until you connect the pin with gnd. Then G31 should also be consistent. I guess you missed the pullup part making it a random result.

and Is there a complete step by step manual for building Z probe - Comment_1952

  Not sure why this is a problem. You have 6 endstop pins and need 3 for
  endstops + 1 for zprobe = 4 pins. Still 2 endstop pins free.

  When I said not in endstops I meant not in the endstop configuration.
  There you only put switches that work as endstop.

Highlighting the connections

The green PCB, for the fan and Z-probe, does not appear to have any logic on it (I can't see any), so it is just a collection of tracks (i.e. wires). As there are no logic chips on it, you can trace the circuit from the Z-probe to the controller (either visually, or using a multimeter set on continuity check). I assume that the PCB is connected to the controller board somewhere/somehow... Via the 10 wire grey ribbon cable that goes to the second green PCB next to the main board, next to LED3, as shown in the first photo? This ribbon cable transfers signals to/from the Z-probe/fan PCB to the secondary PCB, which appears to be a power related PCB (i.e. heaters). Somehow the secondary, power, PCB then connects to the main controller board.

One of the three unused MINIMUM end stop pins should be used for the Z-probe. This is assuming that:

you only have three physical end stops (at the top of the three axes) and;
they are connected to the MAXIMUM end stop pins.

If you have six end stops, (one at the top and one at the bottom), then that changes things drastically. Assuming that you only have three, then the three unused MINIMUM pins will be used for some other purposes (Z-probe, servo arm, something else?).

You need to confirm that you only have end stops at the top of the printer and not the bottom, i.e. only MAX_ENDSTOP (or X+, Y+ and Z+) pins. If so, then you should have three (sets of) (MIN_ENDSTOP) pins with nothing connected to them (in theory). So, one of those three MIN_ENDSTOP pins will have the Z-probe connected to it. If you are having trouble locating the MIN_ENDSTOP pins, trace where the 3 physical (MAX) end stops are connected to, those will be the MAX_ENDSTOP pins. Then from that, the MIN_ENDSTOP pins should be relatively easy to identify. Hopefully that makes sense.

Looking at the schema then it becomes obvious. You see X+, X-, Y+, Y-, Z+ and Z-. The physical endstops should be connected to the three + connectors. The three - connectors: two of them are hopefully not connected. The one that is should be the Z-probe. Looking at the photo, unfortunately, it seems as if all six (or just five?) are populated.

Personally, to save time, I would get a multimeter, unplug the X, Y, Z +/- connectors (actually only the - connectors) in turn and test each one, to see which is connected to the Z-probe.

To check the correct pin is used, you really only have two (sensible) options: either visually, or; multimeter. Multimeter would be best, and the most certain. However, there are two other options open to you (one risky, and one laborious):

As we have whittled it down to two connectors (X-min and Z-min, there are only two pins (for the Z-probe and servo) to worry about, you only have a 50-50 chance of getting it wrong, so you could guess, code it up and see if it works - if it doesn't, then change the pin defined, and recompile...

IMPORTANT: After a rethink, it is best not to just take the 50-50 chance, as the servo pin is probably configured as an output and the Z-probe pin will be an input. You could end up damaging the control board.
Finally, you could, in theory, test it programmatically, but that would require writing some test code for the controller, which (as we are having enough trouble as it is with the configuration.h file) would be a nightmare, to put it bluntly.

Schema

Photo of control board

It is probably a good idea to read this, lengthly, article: Repetier - Z-probing.

Footnotes

1 I have finally managed to get Repetier.ino to compile. The problem lay with the Configuration.h file that came with the googledrive download, that you provided. Trying to either manually configure Configuration.h, or pre-loading it into Repetier's configuration tool, always resulted in the same compilation error, see DIOORIG_FAN2_PIN_WPORT error. The simplest solution is to create a Configuration.h file from new, using the Configuration tool. When you do that, it will compile ok.

Or, if you really want to do it manually, either:

Set NUM_EXTRUDER to 1 and not 2 as the FAN2 compile error comes from the second extruder's set of #defines, or;
More precisely, if you do have two extruders, then change the line #define EXT1_EXTRUDER_COOLER_PIN ORIG_FAN2_PIN and specify a pin, i.e. 65, en lieu of using ORIG_FAN2_PIN.


For ABS it will warp unless you build a heat chamber.

That said the tricks to reduce warping come down to:

Material, i.e. PLA is less likely to warp;
Use a fan, it helps so much;
Make sure you have temps calibrated well - Too hot is more warp;
Use a raft. The Makerbot uses a raft and no heated bed;
Make sure the room is not drafty. Having it by the window will result in warping;
Adding a large brim also helps;
I find good ol' glue sticks work the best at keeping the print to the bed;
SMASH the first layer. This one is controversial. I personally do first layer at 130% and print speed of 30%. You get elephants foot sure, but it's on the bed real good.

Tom is right. It is very very hard to print that big of a piece without warping. That said I have done very large pieces on my Ultimaker, using a fan, glue stick, MatterHackers PRO PLA and no raft. But again that's on an Ultimaker.

Note you can build a heat chamber pretty easily. Specifically a passive heat chamber.


What should I pay attention to after taking a 3d printer from extended storage

The main thing that might have changed is the bed level, so you should level the bed again. If your printer is sufficiently sturdy, this may not even be necessary (but this should become apparent during your first print). The remaining calibration parameters (steps per mm for all axes, PID tuning, etc...) should not have changed.

You should perhaps also check for any bolts/nuts/cables that might have come loose during transport. This is not particularly likely to have happened, unless something was loose to begin with.


Sending G-code commands to Hyrel System 30M using python

If the one in your question is your complete code, a possibility is that your computer is just buffering the output for the serial port, withholding it in memory.  Try to add

ser.flush()

after your last line.  This command will... well... flush anything into the buffer through the actual connection.


How can I test that my stepper motors for functionality and compliance?

For the AliExpress part, open a dispute and attach pictures to the dispute and ask for a partial, reasonable discount. It always worked for me.
As for how to test the motors themselves, it depends on what other hardware you have.
For example, you could wire the motors to your printer board, and try to issue a G6 command to that motor.
If you find issues while testing the motors, that could be evidence for an even bigger discount, or even full refund if the motor doesn't work.


How to avoid collisions with already printed objects?

The problem was twofold:

Lack of bed adhesion due to the small contact surface
motion into the already printed objects.

The quick and dirty way was to change two settings:

Print with a small (3 mm) brim to stick the supports to the print and provide more surface. Other materials than PLA may need considerably more brim!
Activate Z-Hop to force the nozzle to lift over the print when traveling

These tricks don't solve issues with very thin structures or in all cases. In those cases, it can be mandatory to increase the structure's (support) thickness or change the alignment.


Does anyone know how Slic3r determines its infill adjacent strand spacing, instead of using fill density?

This answer should have been a comment, except I have included the relevant code.

To answer question 2, at a guess, bridge is simply a boolean (bool) that specifies whether there is a bridge or not.

From Flow.hpp line 32

/// Represents material flow; provides methods to predict material spacing.
class Flow
{
    public:
    float width, height, nozzle_diameter;
    bool bridge;

    Flow(float _w, float _h, float _nd, bool _bridge = false)
        : width(_w), height(_h), nozzle_diameter(_nd), bridge(_bridge) {};

Additionally lines 68-73, may also be of interest:

    private:
    static float _bridge_width(float nozzle_diameter, float bridge_flow_ratio);
    /// Calculate a relatively sane extrusion width, based on height and nozzle diameter.
    /// Algorithm used does not play nice with layer heights < 0.1mm.
    static float _auto_width(FlowRole role, float nozzle_diameter, float height);
    static float _width_from_spacing(float spacing, float nozzle_diameter, float height, bool bridge);

However, your best bet, to get an accurate answer to both of your questions, is to contact Alessandro Ranellucci - alexrj, and ask him - as he is is the designer of the Slic3r code. When you get a reply, maybe you would like to post the answer here... it may be useful for someone else.


Parts printing out bigger after changing controller

A quick search for your specific controller brought up the following link:
hictop wiki page
in which a reference is made that some printers were shipped with incorrect firmware, specifically in error by a factor of six. If your prints are about six times larger, this may apply to you. The same page contains a link to the firmware.

You should also be able to "look inside" the firmware using any number of programs providing terminal access to the controller. Pronterface is one, Simplify3D (not free) is another. I'm fond of using OctoPrint, but it requires some "gymnastics" to install.

Once you've installed your selected software, open the terminal feature and type M503 to display the current settings. You may have to turn off some automatic terminal display features, as some controllers will repeatedly send data to the screen, causing inconvenient scrolling.

I attempted to locate the correct code sequence for your printer, with limited success. Consider to scan over the wiki page for the appropriate information and correlate it to your specific controller and printer:
Firmware reprap codes

You'd want to confirm a specific M-code to change the stepper figure to match that which is for your printer. I've done my extruder steppers recently, which is M92 for my controller. My quick scan of the codes in the above link shows M350 might be the one for you, but don't take my word on it, get a confirmation from another source specific to your printer.


What is the simplest way to render an image of an obj exported from Tinkercad?

For your purposes, consider that Meshmixer (free) can open .OBJ files and display them in any position you desire.

I use Meshmixer quite a bit for model editing, but have not used it for .OBJ files with textures. I searched my drive and found quite a few .OBJ files, but was not able to present or add textures, due to my own ignorance, I'm sure.

I found a useful link to a support page on the 'net which indicates that there has to be a texture file as well as a definition file (.MTL) in order to display the textures in Meshmixer. Using that reference, I was able to add a randomly selected .PNG file and apply the texture to a test model.

If your creations do not include those support files, this may not be a good answer. There's little to lose, however, as the program is free and you may find use for it in the future, or you may find that it works as you require.


Hanging up the Bowden system won't fix the problems with printing flexible filament: the filament will still press into the bends of the tube and thus lead to under extrusion. Another issue is, that the flexible filament can compress - and the longer way it has to the melt-zone, the more filament it can "store" on the way to it. These bunched up zones will release suddenly, resulting in pulses of high output and between those under extrusion.

Direct drive (like in a Prusa i3) is pretty much the only way to reliably print flexible materials. You could, with some engineering, move your existing motor to the carriage and turn your Bowden into a direct drive.


How to ease the process of removing support for miniatures

Let's look at the factors that can help us get support parts printed and removed:

access
dimensions/size
bonding
debonding

access
Support structure has to be accessed to be removed. Tree support could help in this. An alternative would be soluable support, which is still accessible if buried deep in a part - as the solvent would be all that needs to access the part.
dimensions/size
Support structure needs to have some crossection to be printed at all. if it gets too small, it will fail to print and fail in supporting. You might alter the support angle to support even 40° or 30° surfaces to the vertical to forcefully increase the supported area and thus dimension of the support structure.
bonding (to bed)
To make sure the part and its supports don't shift from one another, it is best to print with a brim that makes sure all support trees and the base of the model all share a combined first layer.
debonding
Debonding means, we need to remove the support structure from the printed part. Ultimaker Cura allows to define a gap from support structure to the part, usually 2 layers. With these settings removing supports can be as easy as removing the brim and careful cleanup.
Other things
No support?!
Some miniatures have lots of unsupported areas. For example this knight needs support at the hilt of the sword, the arm and the helmet overhang. This dwarf might need support at his dagger in the back and on the left arm (and was resin printed).
However, with the proper design, there is sometimes no support needed. For example this pirate has no areas that need support for overhangs or free hanging areas.
Printing speed
Printing miniatures and intricate parts is hard. I have set up an older, small TronXY with a 0.2 mm nozzle just to print small and detailed items, usually engineering models. I print them slower than normal (ca 40 mm/s, 20 mm for the outer shell).


You can use kapton tape, small PTFE tube, or silicone tape. I use PTFE on my delta printer (I do have a silicone tape wrapped around my heat block, but that's to help with keeping the heat in the block, not for eletrical insulation (although it would work for that)). These will all handle the temperatures of your heat block fairly well.


Based on the information from a Quorra question about what the difference between Nylon 6,10 and Nylon 6,6 is and a ULprospector article, we can establish:

6,6 is a smaller molecule than 6,10.
Base materials are different - hexamethylene diamine and adipic acid (6,6) compared to hexamethylene diamine and sebacic acid (6,10)
6,6 has a stronger tensile and compressive strength as it is more densely interlocked, but it also has a higher melting point. This means also that 6,6 is more heat tolerant.
6,6 is also known to have the least degradation of strength under moisture, compared to other Polyamides.
HOWEVER, 6,6 has a lesser resistance to weak acids compared to 6,10, it is also the most sensitive to UV-light and degradation from air exposure.
6,10 also bests 6,6 in regards to absorbing less moisture (a large problem with 6,6), but is more expensive than it.
Recently 6,12 is replacing 6,10 for it has very similar or better properties while being cheaper.

While I see no problem with the technical ability to make a Nylon 6,10 or Nylon 6,12 filament and print with it (the lower hygroscopic of the larger molecules might make that even easier), you will make a compromise in other areas of the material, most liekly cost and availability - to my knowledge no filament that claims to be Nylon 6,10 or Nylon 6,12 is on the market at the time of this writing (April 2019), and as such there are no known benchmarks for print settings needed are available. I would expect the print temperature to be slightly lower than that of Nylon 6,6 though.


Connect to 3D printer via internet without router

There are a few solutions, but each one needs to match same criteria: an open network socket visible outside the local network.

So from TCP/IP protocol theory, we don't even need to have an IP address to send a packet to another computer as we can use layer One which is just the MAC address to identify the receiver. But things become more complicated when we have to provide a link to two separate endpoints.

Basic requirements:

We need to know public accessible IP address and port that server is exposed (listening) on
We can have a DNS entry that will be translated to public IP, but that assume that public IP is same all the time (or we have a dynDNS service)

Solutions:

Have the RPi exposed with public IP address and routed properly;
Create a VPN bridge from RPi to your home/cloud network and connect Android to the same VPN;
Do a port forwarding to RPi from public IP and expose that in the firewall.

So at this point, if you don't have admin access to network devices then only solution '2' is viable, IMHO.


I solved this problem by change EEPROM value to "2" in Configuration.h:

#define EEPROM_MODE 2

Now ZAXIS_STEPS_PER_MM value load from firmware, not EEPROM.

#define EEPROM_MODE 0

— does not result in my case.


XYZ DaVinci 3D Printer constantly jamming

The clicking sound typically means the drive gears are slipping on the filament because there is a jam in the head/nozzle.
First thing to do is clear the nozzle. You can use a small drill bit to clear the chamber, but if the extrusion hole (at the tip) is clogged, you'll need to get a set of fine wires designed for extruder clearing.  Then heat the head above melting point and slip the wire in (if possible).

In general, I find it easier and faster to replace clogged nozzles.  They're cheap, and more often than not clearing the exit hole enlarges the diameter (bad thing).


The Prusha I3 design uses two rods to guide the Y axis, which moves along the rods on linear bearings.  If the rods are not strictly planar, there will be movement of the bed as it moves to and fro.  You would not be able to correct this with the leveling screws.

Be sure that the rods are planar, and that there is no torque on the bed from uneven rods.  Even if the bed doesn't flex, the frame may flex if the rods are not planar.


Does the Inverse-Square law apply with SLA Printing?

Yes, of course it does. The same amount of light is being spread across a wider area, so there's less light per area. Once you're past a few 10's of filament diameters, a point source is a highly accurate representation of most light bulbs. Even more so when there's a lens setup that causes the light to go through a point focus.


What printer should I consider for printing microfluidic channels?

"What Printer?" Let's look at your options:

FDM is the cheapest route into 3D printing, and may be cheap enough to buy just as a learning tool, as many of the concepts of 3D printing are fairly universal. It will not however likely have high enough dimensional accuracy for consistent 200 µm holes, and parts are not usually considered water tight (They may be most of the time, but pinholes are somewhat common).

BinderJet binder jet is the cheaper of the options for printing with powder, where basically glue is deposited onto layers of powder to solidify a part. I have personally used one to create a sand mould to cast metal into without having to create a positive with which to make the mould (ie lost wax casting). It can also be used to print ceramics or metals that are then fired in an oven into a more solid part. In general the dimensional accuracy is going to depend on not only the precision of the glue deposition, but the input powder as well. It may be possible, but I've never seen a water tight part come out of a binder jet.

SLM (SLS, DMLS, generally any metal printer with a laser (even sometimes an electron beam)) Can print quite high quality parts, but a 200 µm hole is pushing into the realm of difficult to achieve. Metal printers produce parts with a fairly rough surface (compared to a machined part), which is dependent on a lot of things, but primarily the input powder size distribution. Typical SLM printers use powder anywhere from 20 - 60 µm in diameter. With very small holes, you'll have to begin wondering about the likelihood that a hole will be sealed at some point by the random surface roughness exceeding the diameter of the hole. This also translates into a path with a lot of resistance, so pushing a fluid through it will require a lot of pressure. Again, I'm not in any sort of biological field, but I'm aware Titanium is pretty bio-compatible, and that is a *fairly commonly printed alloy (the current list of alloys that are pretty easy / standard to print isn't terribly long). Finally price: you can't afford it. I work with a relatively small (though somewhat high end) SLM tool at work, and I believe the final cost went up somewhere in the neighborhood of 500k.

SLA will likely be your best option. I don't have any experience with bio-compatibility (I'm a metallurgist), but there are many uv curing resin systems out there that are made for SLA printing. This is also likely the only type of system that can meet your dimensional requirements (water tight, small features, clear material, etc.) as well as your price target. Nothing can replace doing the research on your own, but this would be my choice. As for which SLA... (Note I'm fairly biased in this opinion) I'd look into Formlabs and possibly in particular their clear dental resin.

*PolyJet I don't know much about this one. It seems like a cross between SLA and FDM, but it seems likely to be out due to cost.


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


Delta Printer: After Calibration X and Y Axis are slightly different

I think that you probably need to adjust the following two parameters in the Marlin firmware, in configuration.h:

MANUAL_HOME_Z_POS, and;
DELTA_SMOOTH_ROD_OFFSET

See my answer to Delta printer nozzle not moving square with a perfectly level bed (as if the bed is bent... but it isn't).


How to build this part using 3d printing

The photo is too small to be clear about the entire objective and there are no dimensions provided. A quick google search returns nothing 3d printer related to "black vera plastics" other than a reference to vera bradley, vera wang and an obscure reference to a woven black carpet with white spots of increasing size.

Even within those limitations, one can certainly print a strip of black with white dots. One method involves a dual extruder printer, enabling two colors to be printed, one layer at a time. The black layer would be extruded with suitable holes and the white layer would be place within those holes.

Another method involves printing the black layer with holes, swapping out the filament with white and creating white plugs of appropriate sizes for the necessary fit.

You've used the term calibration plate, which implies some level of precision. Is the precision related to spacing, dot size, dot color, or a combination of the above?

Such requirements may make the cost slightly higher, but not excessively. I can print up to to 290 mm long strip, possibly longer by going diagonal on my 290 mm print bed, with or without the two colors done simultaneously.

If you require crisp edges to the white/black transition, the holes-and-plugs method will give best results and require a bit of post processing. It may be necessary to ream the holes to correct diameter and sand the plugs to fit. Dual extrusion rarely provides sharp delineation from one color to the next.


How does a 3D printer software/firmware work

You appear to be asking about rate-limiting the stream of G-code provided by the computer, but some more context in your question will help if this is not the case.

Printers tend to work in two ways.

Read G-code from local storage as a text file. Here, the parser/control engine is in full control.
Stream G-code over a serial port using an 'ack' handshake.

The reference for G-code used in 3D printing is the RepRap Wiki. Here you will find responses such as ok resend and fatal, these indicate when a previous command is processed and something else can be sent, if the previous message was identified as corrupt, or if recovery is impossible.

The basic rule for this style of handshake is that after every host to slave transaction, the host must wait for some response before sending another transaction. The slave could send either ACK responses, or other asynchronous transactions if you can design the system to avoid or not care about overrun in the slave to host direction.

When designing a handshake like this, you can consider all possible ways for something to go wrong (assume the interface is imperfect). How can you handle a request being missed and no ACK ever? When there is a timeout, can you make a 'benign' request to see if the printer is still connected, etc.


No that will not be necessary.

However, you could use calipers to measure the diameter of the filaments (e.g. at 5 positions over a few meters) and calculate the mean diameter, if there is a significant difference between the new and the currently used filament you could change the diameter in the slicer (or the flow modifier), you do not need to calibrate the steps per millimeter every time you change filament.

You only need to calibrate the steps per millimeter if you change something in the extruder hardware setup, e.g. different extruder, different stepper driver, a new gear, etc. As long as the hardware is not changed a calibrated extruder setup will move a certain amount of filament regardless of the diameter variation (per rotation of the extruder gear an amount of $2 \times \pi \times (gear\ radius)$ mm of filament.


Free UARTs TX and RX pins on CR-10S motherboard

Not answering the question directly which pins you can use I would like to propose an alternative solution for your problem, to explain why you should not use RX/TX pins.

An alternative solution includes the use of a small single board computer like the Raspberry Pi (RPi) which is connected over USB with the printer board. E.g. the latest range of RPi (Raspberry Pi 3 Model B and B+) have onboard WiFi, or alternatively an older RPi (Raspberry Pi 2) could be used in conjunction with a USB Wifi dongle. On the RPi you could install a print server that talks directly with your printer over USB. One such an application that is frequently used is OctoPprint (the complete installation/image is referred to as OctoPi).

You can then interface with the print server application using a web browser on any mobile device in your network, and if configured as such you could do that potentially from over everywhere over the world. The major advantage is that you then are not communicating G-code over WiFi as you would if you used RX/TX pins. Knowing that WiFi connection adds issues with latency and the possibility of a disconnection during the print, your fail rate would increase over a single board computer approach.

With an RPi the print will continue regardless of the Wifi connection.


Delta printer not responding to changes in DELTA_RADIUS

OK, so a little more poking around finds that it does seem to be loading values from EEPROM and ignoring the configuration files. So that's not Repetier-firmware-specific.

...and I found M665 in G-code which lets me just set a value for it, then M500 saves it to said EEPROM. And it's making a difference (so much of one that I may need to reset Zmax before I can actually adjust it all out as the endpoints on the bed are now off, but they are all 4 much closer to being off by the same amount!)


This is not "loosing details". What is is is this:
You can not print on air. So, certain things (like the backpack) require SUPPORTS that are removed after printing. Another example is the gun.
Your support setting force the slicer to set up quite a lot of supports and that is what you see - start removing them.
There ALSO is a problem with possibly you using too large a nozzle. Depending on that one you may loose details, but there is not even the basic form visible on your picuture because all I see are supports.
https://all3dp.com/1/3d-printing-support-structures/#:~:text=3D%20printing%20support%20structures%20are,added%20cost%20to%20the%20model. exokauns supports.


Let's start with the obvious: this printer would need to be really big. Not because of a large print volume, but because it needs to collect a lot of sunlight or needs a really big focussing array. The linked question states that the array there, about 0.6 m² large, has roundabout 600 W of power to focus on that one point.
Power draw needs
What powers are we dealing with?
A typical laser cutter uses a laser tube that at least 20 W for thin material and up to 300 W for thicker material. But we need to weld steel, so we need to be roughly equivalent to a cutting laser for the same material. We are not talking mere hundreds of watts, we are talking an industrial 2000 to 20000 W in a laser of less than a millimeter in diameter. Why do I say the later? Well, power need scales with the area, which scales with the square of the radius.
Let's use a ballpark, a nice round 10000 W Laser with a somewhat large 1 mm² crossection. We're talking about the ballpark of 100 Gigawatt per square meter.
$L=P/A=\frac{10000\ \text W}{0,001\times 0.001\ \text m^2}=10^{10}\frac{\text W}{\text m^2}$
Solar power harvester size
Luckily, we don't need to illuminate a whole square meter, so we only need some 10 Kilowatts of sunlight for our application. But we need this number to calculate how much sunlight we need to harvest in our smelting machine.
At the stratosphere, Earth gets about 1400 W/m², and on a sunny day, about 1 kW/m² makes it to the surface, we call this the solar constant $S$. Now, if we compare the ballparks, we get to quickly see the ballpark size of our machine:
$P/S=A=\frac{10 \text{ kW}}{1 \frac {\text{kW}} {\text m^2}} = 10\ \text m^2$
10 square meters of harvesting area gets us the same power. Incidentally, this scales linearly with the item discussed in the linked question, as that one already uses square meters.
Sizing down
But 10 square meters of mirrors into a focal point and then lenses to a focal point is huge, can we make it smaller? And to that I must say somewhat. First of all, we could get our focal point smaller: We need to get 10 Gigawatt per square meter for our $L$, but we can turn two screws here: what if we get from 1 mm² to only 0.1 mm²?
$P=L*A=10^{10}*(0.0001\times 0.0001)\ \text W=100 W$
100 Watts focussed on 0.1 mm² is a sixth of the power that array can deliver, so totally feasible in terms of power, as long as you can achieve such a small focal point.
Conclusion
Yes, with a focussing array good enough or a mirror array large enough you could achieve the powers needed to melt metals on a spot focus. Note though, that you need to have a really good focus setup that creates pretty much a solar-powered laser, which means that such a machine will be extremely expensive due to the high precision machinery needed for that - and that this focusing aperture will be most likely the largest part of your machine. We're talking building-size scale. I'd be cheaper and easier to just put lots of solar panels onto the roof of the building you run a conventional metal 3D printer in.


Altering the print bed temperature at different layers

The actual problem you are facing is bed adhesion, the proposed solution (in your question) shouldn't be the preferred solution to get your parts to stick to the plate/glass as plastic shrinks as it cools down. Note that a 5 °C temperature drop after the first layer usually isn't a problem, but larger temperature differences or shutting off the heat completely will cause your parts to come off the glass.

Note that PLA requires a temperature of about 60 °C (for adhesion as this is close to the glass temperature where the plastic is soft; however, note that PLA can be printed on cold bed surfaces on suitable bed surfaces). The slate of glass is an insulator, so it is perfectly possible that you need to set the bed at a higher temperature to get 60 °C at the surface of the glass plate. When the lower layer deforms the bed temperature is too high.

As you are using Cura, there is a plugin available called TweakAtZ, nowadays this is a default plugin. How to use this is described in this anser (on question "How does one use a heat tower?"); instead of changing the hotend temperature you will need to modify the bed temperature instead (using M140).

To solve the actual problem, you need to prepare the glass by cleaning it properly, use a level bed with a correct initial nozzle to bed distance for Z=0 (usually thickness of a plain paper sheet A4/Letter) and an adhesive like hairspray, glue stick or a dedicated adhesion spray like 3DLAC or Dimafix. I'm using 3DLAC for several years (for PLA and PETG; Dimafix is supposed to be more sticky at higher temperatures, so for ABS for instance) and never had any problems with adhesion on properly levelled beds. See this answer for another user's experience.

An OctoPrint solution using event as you suggest is not recommended. This is the config.yaml, e.i. the configuration of the print server, not a print instance option file. Furthermore, there are yet no plugins that can handle additional code when the head reaches a certain (layer)height. This is pretty tricky if you use Z position detection when the head also can hop, such code should be inserted by the slicer instead.

Related to your question are the answers on question: "Why keep the bed heated after initial layer(s) with PLA (or PETG)?".


Resources/methods to construct STL files using disparate parts using OpenSCAD

I'll offer up the following options, without waiting for an answer to my question.

One can import a specific STL file into OpenSCAD and perform rotation, translation and scale, but it would be "clunky" as you'd be making miniscule changes to the parameters for those actions. Each imported object would have to be manipulated individually via the changes in the code. If your imported objects have quantifiable dimensions, that is, if you know specific measurements, you would have an easier time of the project.

If you are not limiting yourself to OpenSCAD, I'd recommend the easy-to-use MeshMixer. I recently "assembled" the parts of a cosplay "weapon" for a friend. All the parts were individual STL files and were positioned in 3-space using MeshMixer to make the parts appear as if the project were printed and assembled.

The transform tool in Meshmixer is a graphic three-arrow/three-axis manipulator icon. Grab an arrow tip and the model moves in the direction of the drag. Grab an arc between two arrows and the model rotates. If you want five degree rotation increments, move the mouse outward after the grab and get a calibration circle. When the mouse is on the circle, you get snaps to five degrees. If you need smaller movement, move the mouse out even farther from the center.

The 3-space presented in Meshmixer gives you the ability to align pieces/parts in all three dimensions, to your satisfaction. There is a model hide and a model-ghost feature as well, to assist the placement.

I expect that one could use a program such as Blender, but the learning curve is more like a chasm or cliff-face.

One could use an engineering-focus program such as SolidWorks, Fusion 360 and so many others, but I think your head, arms, legs, torso reference means you aren't using orthogonal models more suited to those programs.

Meshmixer, like OpenSCAD is free. I use both and approve this message.


Why aren't fixed build platform 3D printers popular?

Why is this so rare?

Such kind of printers usually harder to assembles, calibrate, and maintain because 3 axes machine is a bit more complex than 2 axes. For instance, it's can be tricky to move an entire extruder among all 3 axis and some of such printer's designs may require even dedicated exruder's design like Bowden Extruders.

Are there flaws in this design?

The key disadvantage of such kind designs is complexity with moving of an extruder among all 3 axes. Moving platform by at least one axis simplifies that.

Will print quality be affected by using this approach?

It depends on the exact printer's design, so, potentially you can have issues with ease of assembling and maintenance due to more complicated construction and as a consequence higher risk of low printing quality due design, assembly or configuration mistakes.
On the other hand, if you already have some device with precise enough 3 axis machine, like CNC milling machine, you can upgrade it to 3D printer by installing an extruder, however, it would also require update of software and, probably, electronics.


How can I avoid that a small bit of filament sticks out of the nozzle during heating?

I normally print a skirt. This acts as a quality check for: flow rate; bed adhesion; bed level; and proper zero position in the Z.


How to replace the nozzle in my hotend assembly?

The exact procedure depends on the design of the printer.
After unloading filament, remove and install the nozzle at the highest temperature you will run.  Otherwise, you will not get a good seal between the nozzle and heat break if you depending on tightening at lower than operating temperature.  A bad seal allows the filament to leak out (oozing).    Tighten and untighten the nozzle with wrenches on the heat break and nozzle.  The heat break is easily damaged if tightening too tight into the heat sink, but you need a tight connection between the nozzle and heat break.  This means the nozzle must tighten against the heat break and not tighten against the heater block; thus space between the nozzle flange and heater block when tightened against the heat break.
Note: If you had oozing, it will glue the nozzle and heat break to the heater block.  Heating the hot end will often allow you to remove the nozzle.
Note the electronics of some printer models can be damaged by shorting the nozzles to heater leads, thermistor leads, or even a metal bed.  Check for your model.
Running the hot end at 250 °C or above requires an all metal hot end (a heat break without Teflon) or the Teflon will degrade.  This also applies to Boden tubes that run all the way to your nozzle.  Look for instructions related to your Boden tube.  Go to max. temperature for operating with Boden tube, then you usually clamp the Boden tube in place so that it forms a good seal.


I have two theories to offer.

It is really dripping.  If this is the case, the likely culprit is a loose part in the hot-end, namely the nozzle/heating block coupling, or the heating block/heat break one.  If this is the case, you should be able to see it by visually inspecting the part.  The solution in this case is to fully disassemble the parts, clean them thoroughly of any remaining plastic, and reassembling them while hot.  This is essential, as parts that are assembled cold have the tendency to come loose when heated (due to thermal expansion).

It is overextruding, and the nozzle collect and drag around the excessive plastic, until the blob is big enogh to detach and remain on the bed.  If this is the case, then you should calibrate your extruder, and the nozzle height.


How to attach bowden tubing to other side of extruder?

There are several ways to mount a PTFE tubing to the extruder's feeding side.

Connector solution

You'll need a pair of PTFE tubing couplers, a length of PTFE tubing and tapping tools for the mounting, and the lever should be metal:

Disassemble the extruder
Take the intake side lever
open up the intake hole to your PTFE tube connector's inner diameter (that is the diameter, where you cut the thread from!)
tap the hole
screw in PTFE coupler
connect to intake tube
Repeat 3 to 6 for the drybox side, possibly add a nut from the inside
Feed filament through the tube

If you have a plastic side, it reads like this, and you will need an insert that fits your adapter's screw:

Disassemble the extruder
Take the intake side lever
open up the intake hole to a bit under your insert's outer diameter
use a soldering iron to melt the insert into the lever
screw in PTFE coupler
connect to intake tube
Repeat 3 to 6 for the drybox side
Feed filament through the tube

free "inner" side

Instead of using 2 connectors on either end of the tube, the one on the extruder can just be "slid" into the block and then fastened.

disassemble the extruder
take the intake side lever
drill open till the PTFE tube can slide in snugly into its rest position against an inner ledge.

For REALLY hygroscopic material, drill through
drill a side-hole and use a small screw to fasten the tube in place
alternatively, use hot glue on the outside and secure the tube.


SLS uses a high powered laser to smelt the binder of a ceramic or the metal itself. We are talking about at least a 40 W laser which focuses its power on a circle of about 50 µm. How much power are we talking about with that lowest viable laser for plastic SLS?

$\frac{40\ \text{W}}{\pi \ 62.5\times 10^-9\ \text{m}^2}=640\times 10^6 \frac{\text{W}}{\text{m}²}$

A typical SLA/DLP machine like the Sparkmaker runs on 48 W in total. Assuming that's 40 W for their $55\text{ mm}\times98\text{ mm}=0,00539\text{ m}^2$, so the total projector power of the Sparkmaker is

$\frac{40\ \text{W}}{\pi \ 0,00539\ \text{m}^2}=7.421\times 10^3 \frac{\text{W}}{\text{m}²}$

That's about 5 orders of magnitude too little to smelt a layer in the same time. To get a DLP-like projector doing SLS work, you'd need a light source that runs at about a similar power per square meter - wich would just melt the moment it turns on.


How to improve very poor quality prints on my Ender 3

i would suggest to start with something simpler

there are many test objects to print and see the results
please take a look here

the idea is to recognise issues (one by one or at least the most basic) and point them and eliminate them directly

looking at your printout i could of course suggest many things
but it would be better to make this process more clear... for you

so you could manage it on your own

to be somehow constructive

i would say there are 3 main issues on the picture you've presented

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

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


Setting up UBL for the first time on Marlin 2.x on a Prusa i3, how often should I level the bed using G29?

This is more of a personal preference type question rather than something with a hard and fast rule.

You should not need to relevel your bed very often unless you have some external force that regularly changes the bed level.

I regularly print objects that take 24+ hours to print, so a 10 minute process prior is not much so it might be worth it to set it up every time if your prints run very long. If you mostly print smaller or quicker to print objects, 10 minutes might matter to you.

I have noticed that my prints fail pretty quickly if I have a leveling issue, and it's not hard to stop the print, clean the plate and relevel at that time.

What should you do?

If 10 minutes doesn't matter that much, go ahead and relevel with every print. If it matters, wait until you start to have issues. See how long it takes for your bed to become unleveled and use that as a guide. E.g. if you can print 10 times before having issues, then try setting it for every 6 or 7 prints.


You can test different print settings. Trying to visualize, but I believe you can increase the perimeter lines, since there is a hole, this will increase the resistance in that area. Or try to change the orientation with which the part will be printed


Is it possible to print an object that has a "roof" without anything under it?

Sometimes a "roof" can be accomplished using the bridging feature of the printer. Depending on your slicer and on your printer's capabilities, the filament can extend from one edge of a structure to another without using support. The slicer will "recognize" the endpoints and the distance between and speed up the travel and possibly increase the fan cooling, allowing minimal sag between points. There are resources available on many model sites to print bridging test pieces to help determine the limits of your printer.

Expect some sag on the first layer, with a reduction for each successive layer. If you have, for example, five layers for the top faces, the last of the five may cover the sag of the previous ones.

Support is commonly used when there is no opposing endpoint to handle the bridging or when the distance exceeds the capabilities of the printer.

An example of a bridging test piece can be found on Thingiverse, although there are many to be found with a simple search.


How do I remove a 3D print stuck to the glass build plate

It's useful to know what material you used for the print. Also, you've referenced the glass that broke in the vise, which implies a glass bed, but did you use any adhesive spray or other application?

Allowing for all of this unknown information, there may be a solution for your release. Our library makerspace has a small bottle of 50-50 water/denatured alcohol, although isopropyl alcohol should also work if your glass is not coated with a special film such as PEI. Heat up the surface of the glass to your usual temperature (50-60°C) and apply a few drops of the mixture to the edge of the print.

It will evaporate pretty quickly, but some of it will work under the glass/model interface. Apply a bit more while the glass is still warm. Continue to apply until the the evaporation is no longer accelerated.

Considering the difficulty you are experiencing, it may be necessary to repeat the heating sequence multiple times in order to get enough wicking of the liquid to effect a release.


Cura grey large grey area, almost nothing fits…

I had mistakenly left the setting "one at a time" in print sequence. This meaning the printhead needs a lot of room since it will go back and forth in z.

Cura allocates this extra space even if there's only one object.


Creality CR-10 Clogs and Underextrusion - Filament at fault?

Not all filaments are created equal. Even with the very same manufacturer, the addition of colorful pigments can change the needed printing temperature a lot! I have had a white china PLA that was giving ok quality at 200°C, but the same brand's clear PLA only took 195°C to print. My white Kaisertech prints better at the 200°C while orange needs a little more, something about 205°C - this is the same brand and manufacturer mind you. The matte "natural" PLA I have even needs some more heat, 210°C.

As a rule of thumb: Printing temerature is filament dependant. Test around (there are temperature tests - use them!) to find the ideal one for each brand and color combo you have.

It is also a goood idea to replace the claps on the Bowden tube, if the plugs appear more often.


How do I compensate in cura for thinner filament?

In cura (if you are not in the quick print mode) you can dine the diameter of your filament. Setting the filament diameter to a smaller value will give you more plastic coming out of the nozzle. You can also set the flow percentage to more than 100%

You should also try to use a skirt. Some nozzles need some time until the flow is like it should be.

Another reason for this might be that the distance between bed and nozzle is too high. Try to level your bed so that the distance is less than before.

If all this doesn't work then it will at lest give you new ideas of where to look.

Best luck!


Is a heated bed an essential component for printing (difference between Creality Ender 3 or Anycubic Mega Zero)?

I used to print PLA with my heated bed turned off, since it was deforming when heated.

It works perfectly fine, only detaching the print was terribly difficult.

I would not buy a printer without it, because even a weak bed reaching only 50°C gives you many more possibilities.

I mean, you could use it to keep your coffee warm while you work at the computer, or to warm up chemical solutions to make them react faster. You can also use the bed to shake the solution!

Go for a heated bed.


If you properly define your own machine with a delta_wasp.def.json file you can fill in the acceleration and jerk settings of your printer, so that Cura will use the correct values for print time estimation.

For example, take a look at how the Ultimaker 2 is defined.

Exposing these settings to the Custom FDM Printer wizard hasn't been implemented (yet).


Advice for 3D modeling peg for sprinkler dripper

I examined and sliced your STL file, and the profile of your threads looks very strange.

It's definitely possible to do very strong, perfectly-fitting threads down to small sizes (at least down to M4 or slightly smaller) using modern inexpensive 3D printers, and contrary to widespread belief (there's a well-known YouTube comparison with a major test fallacy claiming otherwise) they should usually be stronger than threaded inserts against being pulled out. But you need to get the thread profile exactly right.

Most real thread profiles are trapezoidal, but yours peak at points and have round bases. This is unlikely to match the external thread on the part you're trying to fit to it, and it's going to have major dimensional accuracy issues because of the sharp point which can't necessarily be represented in the layer resolution.

I'm not familiar with Fusion 360 so I don't know how to tell you exactly, but most CAD software has libraries for generating threads conforming to standard thread profiles. If you want to do 3D printed threads, you should look at those and figure out which one you're trying to match. Or, if you want to replace the pegs with your own design anyway, just pick a reasonable one for both.

Generally, most modern threads use the basic ISO metric thread profile, even if they're not standard metric diameter or pitch:

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


Awful answer, I know, but it depends... on where you are going to employ them:

are they are all, or just some, of the axes, or;
just for the extruder?

If they are for use in translating movement of the axes, then the weights of:

the y-axis plate;
the x-axis carriage, and;
the print head,

will all come into play - amongst many other things.
With a torque of just 32 N • cm1, they seem, at first glance, to be a little underpowered - a torque of 44 N • cm (4.5 kg·cm) is the recommended minimum. Also, the current, of 1.2 A, seems to be a tad on the low side, 1.5 - 1.8 A is recommended.
There are some great resources on the RepRapWiki. See:

NEMA 17 stepper motor, and;
Stepper motor

The minimum (recommended) specifications, for a Nema 17 stepper motor, are:

1.5 A to 1.8 A current per phase
1 to 4 V
3 to 8 mH inductance per phase
44 N·cm (62 oz·in, 4.5 kg·cm) or more holding torque
1.8° or 0.9° per step (200/400 steps/rev respectively)

You may be able to get yours to work, but is it worth the hassle, just to save a few quid? Best to get the recommended, and most popular steppers, which are:

Kysan 1124090/42BYGH4803;
Rattm 17HS8401, and;
Wantai 42BYGHW609

Obviously, you don't have to use one of these three motors - other stepper motors can be used. On the Nema 17 Stepper motor link, above, there is a table of a number of stepper motors, of various makes and models, that have been proven to work.

Further Reading
Motors, a thread on the RepRap forums - specifically for the Prusa Mendel v2, so not entirely related to the i3, as the steppers for the z-axis are less than those for the x and y axes, but it is a good informative read nevertheless.

1 I assume that you actually mean either 32 N • cm, or 3.2 kg • cm.


"print" menu not loading on Monoprice MP Select Mini V2

Too many files on SD card
I removed some files and now it works, it seems like the menu would not load if the SD card contained more files than the printer could display on the print menu (they didn't take up a lot of space in memory, though).


I was having the same issue as you and know what you are talking about and there is a file that you should print that will help you (I have printed this).

While the file says for the Anet A6, I think the extrude are the same on the Anet A8. It goes under the gear and bearing and guides the filament to the hole. Should work well for you.

Other things that you can do is straighten out the filament. That is what I do, it helps that much more. You can also cut the end at a angle to sharpen the end with a pencil sharpener, also helps find the hole.

So try the file, I think it will help you would.

File --> https://www.thingiverse.com/thing:2242903


How is a J-Head Extruder Head attached to the Prusa i3 rework?

It looks like the hotend may not be all the way in, are you sure it's not stuck?

If it's stuck and you can get it in further, those holes should go directly through the smaller ring on top of the J-Head.  You just need to run a machine screw into each hole to secure the hotend. The screw will need to at least be flush with the other side to work correctly.


Hotend is oozing out the sides and getting in the way of my print

Looking at the picture of your nozzle, it appears to seal against the heat break and not the Bowden tube.  (A nozzle sealing against the heat break will have an entry hole of about 2 mm dia. for 1.75 mm filament.  A nozzle will have an opening large enough for the Bowden tube to slip into if it seals against the Bowden tube.)
If your heat break is all metal, you have an all metal hot end that can extrude above 250 °C.  If your heat break has a Teflon tube inside it, your hot has a highest temperature below 250 °C to avoid degrading the Teflon.  Both follow the same procedure below, but you highest temperature for making the seal will be different.
To see if your nozzle is OK (not clogged), try pulling the filament out with the hot end at temperature (same procedure as unloading filament).  Trim the irregularities off the filament while leaving a sharp end.  Then, see if you can push the filament through the nozzle at extrusion temperature.
If still clogged, remove the nozzle (you will need to tighten it later anyway) and see if the filament will go through without the nozzle.
After camera piture: unless your hot end is all metal, the Bowden tube likely forms the seal to the nozzle.  See if the length of the tube going into the hotend goes down to the nozzle.  The end of the tube needs to be smooth to make the seal and the seal surface to the nozzle needs to be clean or the filament material soft enough to push out of the way.  Pull up to release the tube.  When you push down to lock the tube in, it should push the tube against the nozzle.
For an all metal hot end follow the procedure below.
Before camera picture:
Sounds like you lost the seal between the nozzle and the heat break.  For most hotends (unless you have a plastic tube that pushes up against the nozzle) heat up to the maximum hotend temperature, then tighten the nozzle tight against the heat break in the heat block, to form a seal between the two.
If the nozzle tightens against the heat block before the heat break, you won't get a seal.  You should see some threads of the nozzle exposed and not in the heat block.
Take care not to over tighten the heat break in the heat sink because the heat break is thin going into the heat sink to minimize heat conduction and will easily break.
If your seal to the nozzle is with a plastic tube, investigate why you don't have a seal.
Looking at picture:
Follow the above procedure while the heat break to the heat sink is of less consern since it appears that separate screws tighten it into the heat sink.


Why do I have to lower my Z axis steps per mm?

Your leadscrew probably is a 2 mm pitch, 4-start leadscrew. This means that there are actually 4 separate grooves on the leadscrew, each with a pitch of 8 mm. Confusingly, this makes the total pitch 2 mm, since the distance from one groove to the next is 8mm divided by 4 grooves. However, one revolution of the leadscrew will still move the nut by 8 mm. Thus, in the Prusa calculator, you should enter a pitch of 8 mm/revolution. Since you entered a pitch of 2 mm, you ended up with a figure that is 4 times too large.

The reason leadscrews are made like this is that if you just had a single groove with an 8 mm pitch, the nut would need to be made very long to enable it to make contact with a sufficiently long portion of thread. By increasing the number of grooves, you can get away with a shorter nut. With lower pitch (lead-)screws you don't need multiple starts, since the lower pitch means the same length of nut is in contact with more thread.

For the relative advantages and disadvantages of the various leads (8/4/2 mm), as opposed to pitches, see also Would using a leadscrew with 1 or 2 mm lead, en lieu of 8 mm, result in a better printer?


Not Heated Build Plate Glue Amount and Dry Duration

As a fellow Flux Delta owner, I can answer this question with certainty. Two layers is sufficient. Be sure to consider the size of the model being printed and the additional area covered if you are using skirts or rafts.

If you apply the glue stick at the moment you turn on the printer, it will be dry enough to work properly. The printer "uses time" to initialize and to calibrate which provides enough drying time. You will also "use time" to load the software and import the model.

It is not necessary to remove the glue from the plate after a print. For succeeding model printing, ensure that you've filled in the areas missing glue from removing the previous model.

You will want to remove the glue (hot water works good, but the build plate gets hot!) when you feel that the glue build-up changes the texture of the bottom layers.

You may have already learned from the forums that you print on the non-grid side of the build plate.


They have a webpage by now   www.flsun3d.com


Homing a stepper motor as an extruder using E0/E1 with an limit switch and end stop

The edited question appears to mention that the actual extruders of the print head need to home / limit themselves. The answer is that this is not required. When operating direct or Bowden driven extruder setups, you know (or you can measure or find out experimentally) the distance that the filament has to travel from extruder entry to hot end (e.g. to load new filament). If already loaded, because you have printed before, you also know where the filament is (filament could stop after printing, personally I retract the filament en few mm after a print). When a new print starts you usually reverse the retraction at temperature and extrude some extra filament to prime the nozzle to counteract oozed out filament for instance. At that point, the nozzle is primed and the gcode G92 E0 is then used to tell the extruder this is the start at zero length, sort of the home position of the filament. All this is usually done in the start code of your slicer, similar to  disabling bed and hot end temperature or final retract is done in the end code of your slicer.

This answer below addresses the initial question, this question was not quite clear. It was phrased as of the head containing the extruders needed to be homed correctly. The normal end-stops (can be mechanical or optical switches) already ensure that the printer head (containing the extruder or extruders) is homed correctly (if correctly configured in your printer firmware). The home offsets you define in the firmware define that you start at the origin (0,0,0).

Your question does not state what firmware you use, but e.g. in Marlin firmware these settings are found in the firmware configuration file.

In this file the following is defined:

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0

These values must be changed according to the offset between your switch and the origin of the heat bed (e.g. Prusa style printers have the origin at the front left).

For my Prusa clone printer I have defined:

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -35
#define Y_MIN_POS -12

What this says is that the homing switch for the X axis is 35 mm left of the origin, etc.


Your manual is in another Castle!
The manual you look at is for Cura (1) 15.04. You are however using Ultimaker Cura 3, most likely the most recent 3.6.
Quick references
The machine setup is for the physical settings of the machine - build volume, nozzle diameter, coordinate system and such.
The other settings you refer to are all set in the right bar, but you will have to switch from simple to advanced mode, and possibly activate the settings you need.


What is the best technique to improve removing PETG from the print bed?

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


The foundation of any 3D printer is the controller and the firmware. Many devices are based on Arduino type controllers, with stepper motor driver boards either integrated or added as a plug-in component.

Some manufacturers will use in-house or outside resources and develop their own boards and firmware.

You can search for 3D printer controllers and get a pretty comprehensive list of the various devices available for purchase.  Smoothieboard is one device, Raspberry Pi and Arduino as noted above, and others.

There can be found varying "flavors" of firmware to load onto these controllers as well.

The field is exhaustive.

To address your focus regarding the printing aspect, that's one stepper motor per print head/nozzle (usually) and involves calibrating the amount of filament dispensed from the nozzle per unit steps, or more easily understood, amount of steps per unit of filament movement. My stepper motor for the extruder has a planetary gear and moves 100 mm of filament for about 5000 steps.

All of the parameters you've noted are integrated with the firmware. Motor calibration requires movement per step or steps per millimeter to be entered, unless you purchase a turnkey system with the values loaded.

You can adjust many of the parameters from the slicing software, but it's more practical to determine the calibration settings, enter that information into your slicer and proceed with model management.

Look into instructables for others' build projects to see what they've accomplished and the steps involved in such a build. This can give you a starting point for your efforts.


CTC i3 Y-axis thin / no filament deposition

I can see a couple of problems in your images:

Your bed is clearly and awfully unleveled. Check on Youtube some manual leveling using a paper.
Though I think your problems will be solved by correct leveling, if not, check this thread where I explain a little bit about E-step and flow rate calibration. Having these parameters right is crucial for a good first layer.
I don't know what you are using for layer adhesion but if after doing steps 1 and 2 the problem persists I would heat up a little bit the bed and change the adhesion material (glue, hairspray).


Turning off heatbed for the last few layers. Good idea or not?

It's not a bad idea, and you should try it. But only on prints with some height, because:

The goal of the heated bed is to ensure adhesion for the first few layers. Without the heat on the bottom side of the layer, the layers above will pull those layers with it as they cool, causing the warp that you see. When your bed is warmer than the layers above, those first layers stay with the warmth. This continues as the layers above are pulled into adhering to the bottom layer instead of going rogue.

Print some objects that are taller than 10 layers, and see. When you succeed, get scientific and dial down the amount of layers until you see warp. Then you'll know which object height you can employ this.


I can not really connect successfully to my printer via USB

The Simplify3D support site mentions to disable the "wait for startup command" option in the firmware configuration for S3D.

This allows me to make a rudimentary connection to control the printer, however e.g. during the bed levelling wizard of S3D, the connection still breaks off.

It works reliably with Octoprint. I'll consider that good enough.


3D Builder is Saying "One or more objects is invalidly defined"

How thick are those walls? 3D printers cannot print zero-width surfaces (and slicers cannot slice them). 3D Builder has tried to make your model printable, but obviously not in the way that you might have hoped for. You need to go back to Sketchup (or some other CAD package) and give the walls a definite thickness (and one big enough for a 3D printer to handle).


What resolution (pixels/mm) should I use in SVG for CNC?

I found one of those printer things that puts ink on dead trees and tested to print a simple SVG file.

<svg xmlns="http://www.w3.org/2000/svg"
     width="400px" height="800px">
  <rect x="10" y="10" width="72" height="72" fill="#999999" />
  <rect x="10" y="100" width="378" height="378" fill="#999999" />
</svg>

As I suspected 72 pixels came out pretty much exactly 19mm. (72/19.05)*100~=378 came out 100mm.

Given this I am going to assume that 72/19.05 is the de facto best pixel to mm ratio to use for CNC projects.

EDIT:

Found this documentation: http://w3.org/TR/SVG/coords.html#Units

<svg xmlns="http://www.w3.org/2000/svg"
     width="400px" height="800px">
  <rect x="10" y="10" width="19.05mm" height="19.05mm" fill="#999999" />
  <rect x="10" y="100" width="100mm" height="100mm" fill="#999999" />
</svg>

Much simpler to use mm as units right away


How to combine difference with concatinate object

The union syntax addresses this:
translate([-40,-40,0])
difference() {
    union() {
        cube ([90,28,12]);

        translate([20,0,20])
        cube([12,12,12]);
    }

    translate([12,-.01,5])
    cube([12.7,28.02,14.02]);

    translate([65,-.01,5])
    cube([12.7,28.02,14.02]);
}

It supports creating an object before the difference syntax is applied.


Avoiding stringing with flexible filament

You could enable combing in the slicer. Combing not only prevents retracts, it also uses already laid down paths for movement from one to the other location and as such reduces the amount of stringing.


As far as I know there is not a workbench capable of producing the design you want with a single click "new worm gear".  But it is a rather simple affair to create the part you want from scratch.

What you want to do is to sweep a sketch along a helix.  It is a very similar process to the one you would follow to create a thread documented in the official tutorial (it's the "method #3" on that page).  This is how it should look like:

Since helices are subject to a few limitation in FreeCAD, I recommend to read the section called "tricks to success" and the following tips, as it is very likely you will incur in problems otherwise.


CR 10 mini not detecet as Serial interface (Win 10)

I use linux, so I am not familiar with Win10 stuff. But, it seems that the device driver has asked the USB device for its identifying codes (PID and VID) and got no recognisable response. Could be a bad cable, but you seem to have checked that. Could be a fried USB interface chip, so check whether you have any luck trying to connect to any other computer. If you can find someone with a linux machine (or you have something you can run linux on), the logs will tell you a lot more about what has been tried and what failed (or not).

Note that the parent USB device is VID=8087 (being Intel Corp.) and PID=0024 (being the Integrated Rate Matching Hub) - see https://devicehunt.com/search/type/usb/vendor/8087/device/0024.


Extruder motor does not stop after G1 E5

If the printer is in absolute positioning mode (which is used almost exclusively), then the extruder will either wind back or wind forward to the last 5mm point. Effectively, the firmware treats the extruder like any other axis, and you can set the origin whenever and wherever you like (it doesn't have to be the home position). Use G92 to reset the extruder position as follows:

G92 E0 ; Set the extruder position to 0 (origin)
G1 E5  ; Extrude 5mm of filament
G92 E0 ; Set the extruder position to 0 again

This is the usual way to purge filament in the slicer's start and end code. Note that you cannot rely on the current position being zero.


The steps per mm in firmware is the link to the hardware configuration/setup. Reducing by half must reduce Z advance by half. If your prints are twice as tall, you must have serious under-extrusion problems as when the printer is laying down molten filament for e.g. a 0.2 mm layer, in effect this is a 0.4 mm layer. If this is not the case, you should also calibrate the extruder.

Please re-calibrate your machine Z axis in firmware (most firmwares allow command M92 to set the steps per mm), not in Simplify3d, and then the extruder.


Technique for removing support from Ultimaker 2+?

The Ultimaker 2+ is a single extruder 3D printer. Without changing the PLA spool and PVA spool continuously during the print you practically cannot make water soluble supports on the Ultimaker 2+ which can be done on the Ultimaker 3. Note that PVA (from experience) is strange material to print, the filament is very hygroscopic and will form bubbles during printing when moist. Also, PVA is prone to clog the nozzle (it cooks easily) it therefore has its own printer core (nozzle assembly) on the Ultimaker 3 (still it clogs easily). Furthermore, it takes a while to dissolve in water.

If you have a single extruder and nozzle, your best option is to use the same material for support, but modify the support settings as such that it can be easily removed. E.g. on thin layer heights (0.1 mm) I usually increase the gap between support and product over the default value, see this answer.

On dual extruder printers, e.g. on the Ultimaker 3 and S5, my colleagues have better experience using Ultimaker Breakaway filament rather than using PVA. As with the PLA supports, you need to "break them away" from the actual product; I use a Leatherman Charge or FREE P4 as these tools have fine pointed pliers. Note that there are removal tools available that are best described as soldering irons that can aid in the removal of support structures:

Note that I have mixed feelings about this product; it is hard to neatly remove supports using these small soldering irons, but it sometimes works.


Can't create image to G-code software for CNC to process

Generally, movement in a CNC, FDM-Printer, laser cutter, and Plotter has the XY plane decoupled from the Z-axis in most operations. As a result, the path in the XY plane is in 2D. But how to get to a path? Well, we have 2 variants:

Pixel

Most pictures store information as Pixels: each pixel on a grid has a color assigned to it. Scaling the picture does alter the grid size. These pictures are very hard to plot, unless you have your machine interpret each pixel of a given color as a specific movement operation. For example, each pixel of black color in a monochrome picture could be translated as a square-movement of a certain size, using the top-left corner of the square for the operation's reference. In G-code, drawing a line around the Pixel X=10 Y=10 with a grid size of 1 mm looks like this:

G90 ; absolute mode!
G1 X10 Y10
G1 X1 E1
G1 Y1 E1
G1 X-1 E1
G1 Y-1 E1

Vector

proper 2D-Pathes are stored only in Vector graphics. If you can, Vector graphics can contain the exact path you want your machine to follow. A typical format is .svg. It contains already the start position of path and how to follow it. Going from Vector Graphic to G-code just needs you to add G1 before each part of the path instruction and E commands at the end to operate whatever tool you due - be it spinning the drill in a CNC, extruding filament in a printer, turning on a laser or pushing down the printhead in a plotter.


How to attach a metal bearing to a print

Ball bearings are usually fitted in one style, no matter what is the material that they are embedded in: press fit.
Press fit
To get a good press fit, the part will have to have a hole that is the diameter of the bearing (22 mm) plus a little margin that depends on your printer and filament. From my own experience, a design with 22.1 mm to 22.4 mm diameter resulted in a near-enough 22mm hole that gave decent fit. Your design will need to be adjusted depending on the material and resolution of the printer.
Note that in the case of machined metal parts, the hole usually is not exactly 22mm but a coupe thau (=1/1000 inch) smaller as the bearings get pressed into the hole with a hydraulic press. They do deliberately deform the bearing and workpiece a tiny bit to sit perfectly. If you make the hole too much too small, the printed parts could break under the stress such treatment puts them under. However, if done just right the ring itself will deform just enough to fit the bearing's casing, as long as it is flexible enough. I have experienced prints of 2 wall thickness with 15-20% infill to allow a little bit of flex, which resulted in them applying quite some tension on a set of three screws: the Slider for 2040 Openbuild V-slot by FabianFriethjoph does use this effect from PLA to force the wheels into the guide rail just enough to prevent wobble.
Since most filaments shrink, you might still need to use a larger-than 22 mm hole in design to get just a couple thau under the 22 mm you want for the perfect press fit.
Adjustable position
In some cases, ball bearings are fitted into larger holes, and then fastened and adjusted with a set of 3 setscrews - their seat can be changed slightly to compensate for warp or shear of the whole item. However, printed plastics are bad at holding a thread, and it would be a very good idea to include a metal insert with the thread. For example, you could include a nut in the middle of the ring holding the bearing, or you might use metal inserts.
Capping
Even if one uses a snug press fit or adjustable position, it can be a good idea to use a cap that makes sure the bearing can't fall out of its area without removing the cap first.


It looks like possibly a combination of too high of extruder temperature and poor retraction.

First, try reducing your extruder temperature. PLA ideal extruder temps range from about 185C to 225C; depending on purity, quality, and climate. This can help prevent additional oozing and clogging. If your extruder clogs easily, you probably have too high of temperature.
After you've verified you have correct extrusion temperature. Try finding/adjusting retraction settings in your preferred slicing engine. Here's a good troubleshoot page from Simplify3D's website.


Can the da Vinci Jr 1.0 print in 100 microns, if so how?

I will attempt to answer your question, as it stands.

Dealing with the first part, according to the product specifications, the resolution, or layer thickness, is indeed 100 μm, when printing using the Fine setting.

  Resolution

  Fine 0.1 mm (100 microns)

  Standard 0.2 mm (200 microns)

  Speed 0.3 mm (300 microns)

  Ultra Fast 0.4 mm (400 microns)

With respect to the second part of your question, how could I do this? You simply put the printer into Fine mode, and the resulting print will be printed with 100 μm thick layers.

If this is not what you wanted to ask, then please clarify your question.


Boolean operation on two objects in Blender

Check your settings in the slicer software you use: if you look at the sliced print carefully, you see only one line in each layer that crosses the inner section. The lines are also yellow, not green. This strongly hints that these are movement commands, not actual print commands.

On the other hand, you might want to carefully check in blender: at times, the normals in places get swapped inside out and then mess up the whole geometry without being visible in blender. Recalculate Normals can fix that at times, other times choose the messed up vertices and flip normals.

Make sure not to include voids in the model.

The model in question

Looking at the model, I also spotted that there was a lingering solidify modifier. Applying that resulted in this:

This is a particularly bad thing. Fixing is easy though: remove the offending inner vertices.

Atop that, the center points are a clustered mess of vertices - surely you want to merge them into just two vertices.

Applying the Boolean modifier now created a solid shell.

Before exporting, all other items had to be removed (deleted), then the export gives this nice model:


Not knowing the type of inductive sensor you are using, the most common, an NPN type sensor (like the LJ18A3-8-Z/BX) is assumed (in relation to your previous question). NPN type sensors imply that the signal is held high at a certain voltage (the supply voltage ranges from 6 V-36 V, but are reported to work on 5 V also) and is actively switched down to 0 V when triggered.
Basically the sensor always produces a high signal until triggered. Why is this the preferred option? If somehow the wires break or some issue occurs that triggers the sensor, movement is stopped to prevent damage to occur.
The signal from the sensor needs to be "high" and the switch needs to cut the power by opening the circuit. So make sure what your sensor signal is outputting in the first place. The depicted switch is a powered switch as it uses an LED, but the switching component on the circuit board itself has three pins, COM (COMmon), NO (Normally Open) and NC (Normally Closed). You need to put +5 V on the white wire to power the right side of the optocoupler and connect the switch as such that the COM and the NC are connected (most probably S and U in the depicted switch).


How can I add an extra fan, controlled by a microcontroller, to my board?

The MKS Gen L v1.0 Board you are using does support microcontroller controlled fans without doing some surface level modification to the board via the D9/FAN. The port you marked FAN is not a controllable port, it runs a direct 12/24 V all the time and should be used for the Hotend cooling solution. The ports D7/HE1 and D10/HE0 are for two hotendes, corresponding to E0 and E1.

Variant A: Swappy Fans

This is the more tricky variant and does need both coding and wiring expertise.

You'll have to run both hotend cooling fans via that one port in the top left corner. Make sure they are running fast enough to keep the heatsinks cool and prevent heat creep!

Your custom Firmware will have to define D9 as a microcontroller controlled Fan instead of a 100 % running fan as the normal firmware is most likely.

Without extra hardware, you can't get 2 individually controllable ports from D9, but you can use, the fact that you don't want part cooling for a hotends in 'resting' position. So a pair of couple Normally Closed switches cab achieve disabling of the resting hotend's part cooling fan:

make a wire splitter for D9, so that you have both + and both --wires connect to the one +/--pin on the board. You'll have the part cooling fans in parallel now.

Do the same for the Hotend Cooling Fans!

connect each +-line to a Normally Closed switch, which is installed on the hotend in a way so it triggers and opens the line if the hotend is in the resting (homing) position.
As the line connects when the hotend moves into the build volume, the part cooling fan on the currently active hotend starts to spin while the one of the non-active hotend is isolated.

Variant B: MOSFETs and Safety

An alternate source for the part cooling fan signals might be the SERVOS1/SERVOS2 group, where D4 to D6 and D11 are accessible. This leaves the FAN and top-left 12 V pinnings free for the hotend cooling. The downside is, that these pins don't likely provide 12 V but at best a 5 V digital output. However, a 0 to 5 V signal can be used to control a separate MOSFET which outputs 0 to 12 V, which then can power the part cooling fans. Due to the power draw of the Fans, a simple step-up converter is not a solution it needs a separate power supply.

The Main benefit is, that this does draw less power from the board than Variant A and does not re-pin D9. The "Cooling Fan Board" could use a 6-line ribbon cable to connect to the SERVOS1 pins, using the 5V as reference for the MOSFETs, D4/D5 as the trigger signal and GND as return lines.

A pre-assembled board that could serve in this position would be a L298N Driver. Due to how it is set up, one could run both part cooling fans, if their speed is set up to be always equal.


Threaded rods to create frame/axis connection. Which improvements can be made and are they needed?

If I understand you correctly, compared to a Mendel RepRap you are using:

M8 threaded rod (the same kind of rod used in the Mendel RepRap frame)
roughly the same lengths of rod as in the Mendel, and
cross-braced with more diagonals than the Mendel design.

So I expect less vibration and the same print quality as a Mendel.

Rather than put one block of wood at each corner with holes drilled at a bunch of weird skewed angles,
the "1X2 split vertex" looks like it is a lot easier to construct.

I've heard several people claim that lots of threaded rods and associated corner connectors can be replaced with a few big sheets of wood in a 3D printer.
See Mendel90, RP9, SGBot, WolfStrap, etc.

Looks like a very educational project. Good luck.


Cleaning IPA with the help of Mercury wash-and-cure?

Based on the frequencies of most UV cure resins, your suggestion has merit. Other factors come into consideration, however.
These illumination devices have a limited life span. Running the UV diodes for the purpose of curing out the resin from the IPA will "use up" the portion of time otherwise useful for curing models.
Additionally, the UV light which would otherwise be "applied" to the surface of a printed model now has to pass through the IPA. While the IPA is perfectly transparent to the 405 nm used to cure resins, there could be attenuation and refraction by impurities in the liquid.
Sunlight is mostly free, broad-spectrum, and (on a sunny day) far more powerful than most affordable UV illumination systems.
In a pinch, sure, use the curing feature, but the sun is your cheap friend.


How can I determine the current value of a #defined variable?

"#define" is a feature of the compiler preprocessor and isn't a feature of Marlin. So there is no general way to recover the value of a "#define variable" (which isn't actually a variable at all) unless Marlin explicitly provides the option.

In the current version of Marlin M851 will report the X and Y offsets. It appears you have an older version which does not do this. In older versions there appears to be no option to recover the value.


Do the TW, THW and THHN or THWN wire insulation types matter in terms of powering RAMPS 1.4 or the MK2a Heat Bed?

THHN wire is thermoplastic high heat-resistant nylon coated wire.
THWN is thermoplastic heat- and moisture-resistant nylon coated wire.

"T" stands for thermoplastic insulation covering the wire itself.
"H" stands for a heat resistance of the insulation max 167°F.
"HH" stands for a heat resistance, but increased max 194°F.
"W" is for moisture resistant.
"N" is for a nylon coating make the insulation oil and gas resistant.

In my opinion the Wire Storehouse is good for simple stuff, but I would not use it for something I consider important.   It's quality is poor on the insulation rating and the number of strands is low.  Higher strands number allows for more flexible wire.

If you get high end audiophile type speaker wire it could be considered as you can find high strand number with good quality insulation properties in heavier gauges.

Or your local auto parts store will carry 8 and 6 gauge wire with better insulation properties.


I want to use my 2 extruders simultaneously

To print with 2 extruders simultaneously you need a firmware that supports that. Luckily, there is a firmware called Sailfish that is able to do that. The feature you are looking for is called Ditto printing.

Sailfish firmware is found here


Your limit switches are not working properly - they should always hit.

Do the following steps:

Move axis in all possible directions, both positive and negative;
Check limit switch wiring;
Limit switch output.


From A4988 Stepper Motor Driver Carrier, the rear of the breakout board, is identical to yours:

Note the two square pads for the GND, whereas the others are round. Now looking at the top side:

and note the position of the square GND pins/pads, in relation to the trim pot.

Now look at this hi-res photo of a populated MKS board

Again, looking at the position of the trim pots, one can see that the A4988 breakout boards need to be oriented such that the side with GND pins need to be nearest to the top of the board. That is to say the GND on the corner of the breakout board, needs to be pointing North East, as it were.

Here is a schematic of the MKS 1.4 as well, although it is not much use, from MKS Gen 1.4 circuit and pinouts:


Parameterizable customer object in Tinkercad

Yes, there is such a way in Tinkercad. It is called a shape generator and it is very well hidden. you can find it here:

Open Tinkercad and select a model to Tinker or create a new one.
select the "Basic shapes" pulldown on the right and choose the last option: "shape generators".
choose "create shape generator"
choose "new shape generator" and select a template to start from
Here you have the javascript code to create a shape with parameters like basic shapes.


Best/Simplest/Easiest way to secure a lid

Don't know how big your parts are, but if repeated use is a concern and you need pressure that screws can deliver, consider screwing on some toggle clamps if you have the real estate.

You could also make a 3d printed version of one that's sized to your needs.  There are some models available.


Constant under extrusion and filament grinding

Grinding is due to attempts to advance filament faster than it can be melted and dispensed. Try one or more of the following:

Raise the head temperature (to meet current throughput demand)
Lower the print speed (to reduce throughput demand)
Slice for thinner layers (to reduce throughput demand)


Printing temperatures for ABS on a Flashforge Adventurer 3

The most commonly used print temperature range for ABS is 220 to 240 °C with the major bulk around 230 °C. Some filaments are blended with inhibitors or PC, increasing their print temperature to up to 260 °C. Note that the color of the filament just as the brand can have an impact on the print temperature!

The most commonly used bed temperature for ABS start at least at 80 °C. MatterHackers suggest 85-90 °C.

If your bed is particularly bad at getting adhesion, you might want to clean the bed of residues and fingerprints and relevel the bed. If that is not enough and you use a glass bed, a slurry of ABS in Acetone could come in handy. If you have a glass bed, the slurry is pretty much the best option.

Print cooling is a bane on ABS - the stuff shrinks too fast if cooled, resulting in the parts breaking loose!


Does moving the z-endstop upwards affect the maximum height of the printable object?

If you move up the end stop such that it raises the nozzle with respect to the build platform you lose height, so basically the answer is yes. But, as seen in your referenced question, your nozzle location is determined by the mechanical layout of the printer and the end stop had to be raised in order to print at all. This means that although you have less height to move the Z gantry, it can now actually print the full range the printer is designed for (the max Z to print is fixed in the configuration of the firmware of the printer and is always smaller than the maximum Z of the mechanical layout). Theoretically, if you ever make a lower profile hotend head, you would be able to lower the end stop and gain a little in height and adjust the firmware maximum Z height.

E.g. in Marlin firmware, for an Anet A8 3D printer,

#define Z_MAX_POS 240

in the Configuration.h file defines the maximum print height of 240 mm. If you would deliberately increase the Z end stop height and platform by let's say 50 mm, the printer thinks it still can print 240 mm, but in reality the gantry will crash against the top mounts and thus limit your printing height.


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