What hotend designs exist as paired all-metal and PTFE-lined versions? I know that the E3D V6 hotend exists in both the all-metal V6 version, and the PTFE-lined Lite6 version with the same mount and form factor.

What other hotend designs are available like this?

Hotend Designes in General
Lined
Makerbot Mk8 & e3D Lite6
The Makerbot Mk8 seen on many Chinese machines and the E3D Lite6 are both lined hotends, which means the PTFE liner goes down into the heartbreak and butts against the nozzle. This style is very easy to print PLA with, but can't print hotter than about 240 °C.
Makerbot MK10
A variant of the lined hotend is the Makerbot MK10, where the PTFE goes a bit into the nozzle. These nozzles have a larger diameter, the melt zone is very short.
All Metal
There are mainly two designs of consumer all-metal hotend out there at the moment.
E3D v6
Stereotypical by now, the All Metal hotend typically means E3D v6. The liner ends at the end of the heartbreak, the heartbreak of the original is necked down to reduce heat creep. The design is flawed in that heat creep can't be mitigated completely. While this design can print much higher temperatures than lined hotends, the heat creep can create trouble with PLA.
E3D Hermea
The dreamchild of the v6 is the Hermea (formerly Hermes), which fights the problem of heat creep by drastically altering the coolend design: The heartbreak is even slimmer than the v6 and has very little area outside of the cooling block. This cooling block is fitted with a somewhat stronger fan. In theory this leads to much better cooling in the upper filament path and getting heat creep under control. However, due to the manufacturing stop induced by COVID-19, there are not too many Hermea out in the wild. Some early to mid development information could be gained from Joel and Thomas Sanladerer.
Among the still few reviews I have found is Thomas Sanladerer.
Slice Engineering Mosquito Hotend
Slice engineering went a different way to fight heatcreep in an unined all metal hotend: The heatsink is mode away from the filament path and serves as its own structure. As a downsize, each and every part is pretty much precision machined, making it comparably expensive: without heater, thermosensor, and extruder the bare item clocks in 145$. Claimed benefits are, that the thinner filament path (as it doesn't need to be structural) from a low heat-conducting material reduces heat creep and because we have an unlined filament path it can print at 450 °C, making it one o the highest-rated hotends.
Slice Engineering Copperhead
Currently, the same company is working on the Copperhead, in which they introduce a dual metal construction on necked heatbreak. The name Bi-Metal for this however would be a misnomer: Bimetal is a standing technical term for a strip of metals that, when heated, starts to tilt into one direction because of dissimilar heat expansion. The correct term, which they properly use on their website is Bimetallic, not Bimetal.
Because of the dissimilar thermal behavior, such a setup needs to be designed and machined very carefully, but could, help to dissipate the heat from the filament path and massively reduce heatcreep. The Copperhead as shown currently is offered for preorder with two mounting options, one of them the e3D style groove., which might allow drop-in replacement of a full hotend.
The heartbreak however alone could suffice to get some of the effects, and as the website shows, it would be available as a drop-in replacement part. However, pricing and effectivity remain still to be seen.
Paired?!
At the time of this writing in May 2020, the combination of e3D v6 and Lite6 using the same outer form factor is pretty much unique to them and their clones. The Trianglelab Dragon hotend (a review of it here) uses the e3D v6 Style connector on a Slice Enginering Mosquito Hotend design, making it pretty much paired to the two.
However the main functioning parts of the distinction is the heartbreak being either part of the cooling body and lined or a separate piece. The e3D v6 does use the same M6 threading that is also used in a Makerbot Mk8 and many Chinese clones on many machines [Some are M7, so beware!], and thus one can easily make a Frankenstein Hotend by combining the pre-mounted cooling body with a proper e3D v6 heartbreak and turn the lined into an All Metal hotend.


Two 12 V heater elements in series in a dual hotend I have ordered a dual hotend Chimera and it came with 2x 12 V heater elements (in my rush I forgot to order the one with 2x 24V).

Is it possible to run these 12 V heater elements in series?

I am planning on running this with an SRK 1.3 board.

No you don't want to do that.

A 12 V 30 W heater has a resistance of about 5 Ω (2.5 A on 12 V). A 24 V 30 W heater is about 19 Ω (1.25 A on 24 V). Placing two 12 V heaters in series means about 10 Ω, for 24 V that means that the current is 2.5 A, similar to a 12 V circuit, the power will be 30 W for each heater. So it appears that this should work.

But, the problem is that being in series, both the hotends are heated. This is not beneficial for the unused core which is prone to ooze filament and can cook filament if not used for a long time (long stand-by high temperature). Typically, unused printing cores go to a lower stand-by temperature when they are not printing. Also it would be more difficult to have filaments of different temperatures in the hotends. Furthermore, which thermistor would you use? A hotend cools down by melting filament, the temperature drop is measured by the thermistor results in the control logic adding current to the heater to compensate the loss in temperature. If you only use one thermistor (basically, from a firmware configuration perspective, the setup is similar to having a single heater in a single hotend and having the filament being changed) and using the other core (without a thermistor) to extract filament, the temperature drop will not be registered and as such not controlled. There is no default firmware solution to use 2 thermistors in a "single" heating element (in this case strand of heating elements), this will probably require some modding to the source code of the firmware.

You could test this setup, but I would not use it for a long time.


My Z-axis is limited to 15 mm at height I have a Prusa i3 and I have a problem concerning my Z axis. It stops at 15 mm even the object to print is more than this.

Can you, please, help me to solve this problem.

@Trish is right, it would help greatly to have more details, such as the model of printer, photos of the printer at the upper height limit, and a video with sound of moving the head against the 15 mm stop.

Without those details you might answer your question for yourself (and for SE) by trying these tests and considering the results.  If you have already done these things, it would help us help you if you included your results, and other experimental results, in the question.

The problem could be in the mechanism or in the slicing program.

Using the UI, can you raise the head above 15 mm?  On the Prusa3D branded i3m3 the UI will allow you to move the Z axis hard against the top stops.  If the UI can raise it, the problem is more likely to be in the slicing program.

If the UI can not raise the head above 15 mm, move has high as you can and listen carefully.  Does it simply fail to move with no noise?  Is there a clicking or banging sound as you try to move higher?

If there is a clicking or banging sound, something hard is interfering.

If it simply stops moving, does the machine reset or just stop with no glitching on the UI?  It is reset, look for a cable problem, such as a short circuit or wires pulling on the controller PCB.  If it is just a silent refusal to move, it could be the Z-axis plug is loose and being tugged by the cable bundle to the head.

If the problem seems to be in the slicing software, check that the Z-height is set properly there.  If good slicing software thinks you have only a 15 mm height, it won't try to print higher than that.


Using the end of a spool I've seen several Q&As on recycling and reusing plastic from failed prints, but what have you done with the last few meters of filament?  I've been keeping the ends of PLA (or sections I needed to cut) to maybe use for friction welding pieces together, but I only need so much for that.  I've considered just shoving the last bit in the tube and using a new roll to push it through (so long as retractions aren't necessary).

This is especially a concern for more exotic filaments where friction welding isn't useful and the price is higher for that 1m section (something like Copperfill).

Note: I have a Bowden extruder.  I imagine this is less of an issue with DD extruders.

Weld the fragment to the beginning of a new spool and use it that
way.  Most are made from metal so they aren't that easy to make
at home.  Here is another answer that lists other methods to
weld filament including using heat shrink tubing.
As you mentioned, you can use it for friction welding.
Use it for pin/studs/rivets/hinges in prints.
Throw it away.  1.75mm * 1Kg is about 330m of filament, 3mm * 1Kg is
about 110m of filament.  The leftover isn't worth much when you
consider how much is on a spool.


What modifications do I need to make to Marlin if I completely replace the heated bed assembly? I have a 3D printer built from generic, scrap parts.
It's controlled by a 2+ years old MKS GEN L board running Marlin version 1.1.x.
I want to do a complete bed assembly replacement, including:

Heated bed
Thermistor
Y-carriage

All the hardware bits, including the z-endstop are sorted and ready to be installed.
My question is:

Once I replace the assembly, what kind of software / firmware modifications do I need to do to Marlin configuration for my printer to work correctly?

I understand that I need to modify dimensions and offsets but I am unsure what else will I need to change within the codebase before flashing Marlin.

Dimensions if they differ, maybe endstop offsets and possibly a different thermistor type.


The first screen of Marlin 2.0 is showing some horizontal lines, appearing to be broken We are using the branch bugfix 2.0 and the first screen of Marlin is showing some horizontal lines, appearing to be broken.

After 3 seconds, the boot screen appears and everything works normally.

We have tried to disable the custom bootscreen:

//#define SHOW_CUSTOM_BOOTSCREEN

We have tried to disable the Marlin bootscreen:

//#define SHOW_BOOTSCREEN

We have checked the power supply.

We have wrapped the "flat cable" in aluminum foil and ground everything correctly.

We have deleted the "firmware.bin" and it did not solve the problem.

The first time the firmware is loading the "firmware.bin", those horizontal lines do not appear, but when it is loading the "FIRMWARE.CUR" it does appear.

What exactly is happening? How do I fix those horizontal lines on boot?

Something is causing your screen to get signals to display that before your board properly takes it over after 3 seconds.  It is an oddly repetitive pattern.

If it is software, you should not see it on a stable stock marlin release with minimal customizations to enable the LCD.  Usually nothing else shares pins with the LCD, but please do double check pin assignments.

Beyond software lies a realm of hardware issues:

Issue could be due to bad wiring or wires running in areas where they are picking up noise as the system boots up; LCD ribbons are not particularly noise resistant.  I say wiring but it could be anywhere along the circuit, including circuit boards.

There is also some (smaller) chance that your power supply is providing the noise at the initial boot up in which case you may be able to resolve it by adding capacitors to stabilize the DC voltage.  Not sure what check you already did of the power supply, but a DC (RMS) reading may not show anything strange on a regular multimeter even if there is a strange AC signal.


Serious safety concerns with living in same room as PLA 3D Printer? I have an Ender 3 which I primarily use for printing with PLA. I haven't branched out to other materials yet. :)

I've done some research into PLA fumes and airborne particulates which seemed to mention that PLA is mostly safe, but ABS is rather dangerous to print without proper ventilation. However, I understand that there isn't much research on the topic and that there haven't been many studies.

I have been keeping my printer in my bedroom, far isolated from flammable materials, which I sometimes leave on to print while I'm asleep. Should I be concerned with my health safety with respect to airborne particulates emitted by printing with PLA?

Other questions ask about ABS, but here, I'm asking specifically about PLA.

You are probably pretty safe printing PLA

Regarding emissions, the following recent report, Emissions of Ultrafine Particles and Volatile Organic Compounds
from Commercially Available Desktop Three-Dimensional Printers
with Multiple Filaments, indicates that PLA is a pretty low emitter (1/20th of nylon) and most of what it out-gasses is Lactide which is low on the harm scale.  That said, everybody's nose sees things a bit different and people tolerate smells differently. Note also that we used to think lots of things (like asbestos) were harmless that we know differently now.  Note also in the figure below from the report that all PLAs are not created equal.  Dremel PLA produce way more nasty stuff than FlashForge PLA did.  I am also sure additives, colorant, and fillers can change this a lot as PLA filaments aren't not all PLA.

Regarding the fire safety issue.  Note that there is a BIG difference between a kit and a "product".  Since you are the manufacturer of the printer for a "kit", the packager of the "kit" is not responsible for the fire or electrical certifications of the final product.  This does open the door to some risks.  The biggest risks are electrical safety; but, fire safety can be an issue as well.  I would say that the risk is likely higher to you personally when the printer is NOT in your bedroom as if it catches fire when you are sleeping, you will likely catch the fire faster if it is in your bedroom.
From a practical standpoint, I have heard several people complain that they can't sleep when the printer is printing when the printer is in a separate room.


Lower BuildTak adhesion I'm having a similar issue to this one: I have retrofitted my printer with a BuildTak sticker. I'm printing PLA at 60°C bed temperature - currently using a 0.3 mm nozzle, but I had similar issues with the 0.4mm nozzle before.

If I bring the nozzle close enough to the print surface to get a reasonable first layer, I need excessive force to remove the parts afterwards - so much force that I already have damaged the BuildTak in one or two places. If I lower the bed (the physical bed using the screws, not the temperature!) so that the parts come off easier, the first layer is very uneven and it takes 5-6 layers until the layers start to stack onto one another the way they are supposed to. What can I do to influence the adhesion of the printed parts to the BuildTak surface - especially to lower it in a controlled manner without changing the nozzle height?

Try printing with the heated printbed off. Heat makes the pla stick more to buildtak


When building the ramps 1.4 is it safe to use small wires to jump the 5A, 12V power input over to the 11 Amp input The idea is so you only need two long wires going from the power supply to the electronics boards. I'm sure I saw this done in a tutorial somewhere, but I can't for the life of me find the source. Also I just bought a kit and the build manual says to use four wires, but only two wires come with the kit, so I recalled that bit of advice in the tutorial and thought hmm either they shorted me those wires, or they just expect me to make do with two. Perhaps the jumping method is common practice? But then why have a plug on the ramps board with four inputs? Why not just two inputs and split it internally if need be?

I guess that the external split is at least partly done to force the user to utilize 4 wires. 16 Amps at 12 Volts is quite a bit of power and you don't want your wires or connectors to melt. If you use twice the wire cross section by using 4 instead of 2 wires, you also reduce the resistivity and hence heat created in the wire.

Put it the other way around: Using 2 instead of 4 wires raises the risk of your setup to catch fire.

Still, you can use that bridging technique, if you make sure that all your wire diameters are big enough.

I would advise you, however, to cut the wires that come with your kit in half and use the connectors in the way they were meant to. For optical appeal and less cable clutter you can still put the wires into some braided sleeve for example.


What is the best technique to improve removing PETG from the print bed? What is the best technique to improve removing PETG from the print bed?
PETG is known for sticking well to the bed; so well that it does not need a heated bed.  If it weren’t for printing other materials, I would try printing directly on the glass bed instead of a build surface. However, the build surface may help protect the glass from excessive force.
To reduce how strong the PETG sticks to the build surface I’ve reduced the bed temperature to 35 °C. It is easier to remove the skirt and brim by heating the bed up to 90 °C, so that the PETG is soft. However, if one tries to remove the printed object at 90 °C, the printed object is like to distort and ruin.
I did sharpen the putty knife on the top side only. This helps, but it still takes excessive time to remove the print job and clear the bed. The excessive force on the bed from the putty knife seems to increase the need to level the bed. It also seems to affect the flatness of the build surface.
I’m looking for techniques to make it easier and less time consuming to remove the PETG print from the bed.
P.S. Additions after input from answers.

Added keeping the initial Z-height high enough to keep adhesion to the bed from being too high.  This resolved the adhesion to the bed issue, but seemed to make adhesion between layers worse.
Set hot end to 230°C for first layer, then increased hot end temperature to 250°C for better adhesion between layers.

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.


How does wireless 3D printing work? I was wondering how WiFi based 3D Printing works since I want to start an open source project and need some information on this. I have done some research, I have now an understanding on how the printer interprets the G-code and how it acts upon the instructions. But what I couldn't find information on is how WiFi based 3D printing works

What is the communication between the slicer (such as Cura) and the board?

How are the commands sent to the printer from the slicer, line by line or the entire G-code?

How do I establish a connection between the slicer and the board?

I am well aware of the already existent Raspberry Pi idea compatible with Octoprint but I am making a much cheaper one
Thanks for any help

Slicers don't talk to the printer. Slicers analyze an STL file and generate a GCODE file, based on your parameters. A print manager sends the commands from the GCODE file to the printer board, which executes them sequentially.

They are not. Commands are sent to the printer from a print manager of some sort. This varies among printers; some printers can be managed by more than one manager, and some managers can handle many models of printer. Some printer-manager pairs are proprietary and exclusive.

You do not. See above.

Note, some programs do have an integrated slicer and print manager. - Thanks, Trish


It is worthwhile to protect electronics with a 3D printed PLA case? PLA is flammable, but a good case can protect the main board from dirt.
Is it worthwhile to protect a circuit board with a 3d printed case?

As pointed out by Ryan Carlyle, not all 3D printing filament is flammable (such as PET and PETG), and the question therefore rather becomes:

Can 3D printing be used to make proper electronic cases?

And the short answer to that is yes. 3D printing allows to make customized cases of all varieties. Also, since there is huge variety of materials available, you not only restricted to cases of plastic filaments - should this be of interest.

Then again, it all depends on what you are protecting your electronics from. If you plan on submerging your electronics into water or throw them into a fire, 3D printing might not work for you at all. If dust protection is your only concern, however, 3D printed cases should do just fine in most cases.


My print failed and looks charred I started a print on my Monoprice Select v2 and let it run.
I'm printing with Dikale PLA at 200 °C extruder and 60 °C build plate temperatures. My initial layer speed is 30mm/s then 60mm/s after that.
Although the Monoprice comes with an aluminum build plate, I put on a FYSETC magnetic bed plate which says it's suitable for PLA printing between 50 °C - 80 °C.

When I returned home, the print had been lifted off the build plate. I used a brim and even applied magigoo gluestick to help it stick but that didn't do the trick.

I also noticed it's charred at one corner. Any idea of what this might be a symptom of?

Here's what was printed

You have more than one problem going on. As for the print lifting up, that could be for a multitude of reasons. Clearly better bed adhesion is required. It also appears the printer stopped printing at one layer. Now for the charred part, I think it could've been caused by the nozzle staying in one area for too long (possibly when the printer stopped printing.). This causes the plastic touching the nozzle to overheat and burn up. The charred section can usually be pulled off pretty easily. However, since it definitely appears you have more than one issue here you should pursue some research (perhaps other questions on the site) on the matter.

Hope this helps!


After installing BLTouch and Marlin, my nozzle is too high when trying to print So I have an AnyCubic i3 Mega which I added BLTouch v3.1 and Marlin (1.1.9 due to older, Atmega 8-bit CPU) using instructions and such from https://github.com/MNieddu91/Marlin-AI3M-BLTouch.
Finally got everything moving in the right direction, got the auto-bed leveling (bilinear) going (did a 7x7 grid), saved the mesh, tuned the bed and extruder PIDs. Great! Add the gcode into Cura to load the settings and activate the mesh.
Start the printing, goes to home fine, gets up to temp, and then it moves into position to start the print and it suddenly jumps up in Z-height above the bed several millimeters. I pause the printing via OctoPi, try and use the Control tab to adjust the height, not responding. Canceled the print. Used the M114 command to get the position.
Here it is after I hit cancel.
Recv: X:180.63 Y:171.85 Z:0.00 E:9.71 Count X:14450 Y:13748 Z:2120

Here it is after I use G28 to home
Recv: X:-5.00 Y:0.00 Z:0.00 E:9.71 Count X:-400 Y:0 Z:0

Here is the Start G-Code settings from Cura
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
M501 ; bltouch mesh load
M420 S1 ; bltouch mesh load
G1 Z15.0 F{speed_travel} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{speed_travel}
G0 Y20 F{speed_travel}
M117 Printing...
G5

It's almost like the Mesh Z-Offset is wrong. I do have a Probe Z Offset of -4.60, set via M851. I set this, and then I did G29 to re-do the ABL.
With me being new to ABL and Marlin, what did I forget? Maybe I did something wrong?

In some ways, this reminds me of the pain I went through recently. I am also fairly new to 3D printing.
After you have completed the bed levelling using G29 you should have a list of mesh coordinates showing in the interface with Octoprint. (I am using Pronterface, so am not all that familiar with Octoprint) You need to save the mesh coordinates to the control board. To do this enter M500 and then M503 to check that the data has saved. If you enter G28 after using G29, but without saving (M500) the coordinates will be discarded.
When you have set your Z offset, you also need to save that too (M500).
Unless you bed is warped, a 7 x 7 grid (mesh) is overkill. If you are printing on glass or better still, a mirror, a 3 x 3 grid should be enough. I have a 5 x 5 due to may warped bed.
Best of luck and have fun.


Can model used for 3D printing be later used for mold mass production? I am working on a project that requires an enclosure that I am thinking to prototype using a 3D printer (which is pretty easy and overall awesome).

My question is simply whether this same model can be used later on for mass production (i.e. mold injection)? What adjustment (if any) need to be done to model between prototype and mass.prod. stages? What areas in design to look out for that can make model viable for 3D printing non-viable for mass production?

I respectfully disagree with the hard no answer.  There are many casting methods, some of which are not compatible with 3D printed parts and at least one that definitely is.  See investment casting, aka lost wax casting.  (Ref 1)  Also search YouTube for "investment casting using 3D printing".  Formlabs, the company that makes the Form 2 and Form 3 3D printers, sells a 3d printable resin specifically for investment casting. (Ref 2).

There is a whole world of casting, so I will describe, as an example, a very simple process that will make a replica of your 3D printed part.  I will briefly address the steps necessary for making multiple copies at the end of my answer.  First you need to add a cylindrical extension to the shape that will create a sprue.  See the two models shown in the image below.  Next make a foil cup a little larger than your 3D printed part and place your part in the cup, suspended by the sprue.  Pour liquid plaster of Paris (POP) into the cup, covering the 3D printed part, with just the top of the sprue sticking out.  Once the POP has hardened, you can remove the 3D printed part by dissolving it in an organic solvent (acetone for acrylic) or by heating the part to several hundred degrees C so it will burn out (convert to gasses).  You will now have a block of POP with a void shaped like your 3D printed part plus a cylindrical hole to the outside that acts as a sprue.  Once you have heated the POP to drive out any remaining water, you're ready to cast.  Fill the void (via the sprue hole) with, for example, copper powder and heat it to well above its melting point.  Once everything has cooled, lightly tap the POP with a small hammer or equivalent, to remove it, leaving your final part plus the sprue.   You can remove any remaining POP with some warm baking soda and patience.  The final step is to cut or saw off the sprue shape.

Please understand that the process described above is just to give you a basic idea of the process.  There are many alternate or additional steps that may produce a better final product.  Also, the process described should work of the rook model shown on the left of the image below, but not the model on the right, which has a small hole through the middle.  There are ways to solve that issue, but as I said before, there is a whole world of this stuff.

Casting is a way to create parts out of materials that you otherwise could not 3D print directly (on a home budget).  For mass production, you would need to start with an inverse of the final shape.  For example, a cylindrical slug with a rook-shaped void.  Then you would use the investment casting process to create a mold out of a rigid material that you could use to, for example, create rubber copies of the original part that could, in turn, be used as the "wax" for copies in the final material.

I urge you to experiment, maybe following one of the tutorials on YouTube.  Good luck.

Ref 1 - Investment Casting
https://en.wikipedia.org/wiki/Investment_casting

Ref 2 - FormLabs 3D printable casting resin
https://support.formlabs.com/s/article/Using-Castable-Resin?language=en_US


Ender 5 Plus - does not level, the Z axis goes down, always My Ender 5 Plus (original) does not perform leveling.
After the self-leveling command, the Z axis only descends.
I have already exchanged the BLTouch three times, and the problem remains unchanged.
I bought my E5P in December, in America, to bring it to Brazil, I had to completely dismantle it.
Machine reassembled, I start work again, everything works very well.
But, one day, I made the mistake of stopping an impression (due to problems with the appearance of the piece) and, before removing the piece from the bed, I pressed the HOME command, which caused the hotend/BLTouch to rest on the printed part, forcing the whole mechanism.
Well, I changed the BLTouch and the problems really started.
When I send the leveling command, the Z-axis behaves erratically, going down instead of returning to the beginning and, with each command, it goes down more and more.
I changed the leveler again, the problem persisted, I disassembled piece by piece, wiped a general cleaning, applied a clean solution to contacts all over the electronics, reassembled, reinstalled the firmware (Version 1.71.0 KF), and everything went back to work.
Yesterday, I sent a piece for printing (PLA nozzle 1.00 mm, layer 0.36 mm, speed 100 mm/s, infill 40 %), and left for my morning walk. When I returned, there was a huge ball of melted material, adhered to the hotend, again more problems. I disassembled the entire hotend, carried out the total cleaning, reassembled it, and let's go back to work.
Leveling OK, there was a problem with the thermistor and the heating of the nozzle, I changed the thermistor and the heater cartridge (taking the opportunity, since several times the system had heating problems, when the temperature should be above 230 °C / 446 °F). Everything ready, come on...

Leveling problem has returned.
BLTouch exchange done, nothing done
Loading the firmware again, nothing done
Review of connections, nothing done

The Z-axis continues to descend, not responding to commands, and in the Pronterface the message appears:
Error: STOP called because of BLTouch error - restart with M999
Error: STOP called because of BLTouch error - restart with M999

I've already exchanged BLTouch 2 times and it didn't work out.
I have 2 inductive levelers here, maybe the solution is to install them and forget the BLTouch, or do the leveling manually.
Questions:

Has anyone had this kind of problem with the printer? If so, what is the solution?
removing the leveler and performing manual leveling, has anyone tried this? What changes in Marlin need to be made?
Does the replacement of the BLTouch by an inductive sensor imply in what firmware changes? Is there a tutorial about it?

I appreciate any help you can get from friends

I had the same problem with my Ender 5 Plus.
There is a small set screw at the top of the BLTouch you will need to tighten this in to adjust the location of the sensor pin. Keep screwing it more and more until you see it initialize reliably that is it should move out and back twice to initialize.
When the BLTouch initializes correctly then the leveling can be completed.


Creating a two part label for storage boxes I want to create two piece labels for storage containers. The main piece would be the “badge” which would have text cut out of it (e.g. “Paint”, “Electrical” etc.). The second piece would be a positive of the text which is would be in a different colour, and would fit inside the cut out on the badge. Because of the tolerance of 3D printers, I need to make the insert slightly smaller than the cut out. Initially, I thought I could just scale the insert but that would affect the letter spacing. Then I thought it would work if I could somehow taper the letters so they are slightly smaller at the top than the bottom. So my question is, how I do that. I did the original in OpenScad but I would try Fusion360 if that’s a better solution. Any and all suggestions are welcome. Thanks.

In OpenSCAD, apply the offset transformation to inset the letter outlines before extruding them. However you may find it works better to fill the sunken letter shapes with nail polish then remove the overflow with acetone; see my question & answer https://3dprinting.stackexchange.com/a/10872/11157.


When to use an anti-backlash bolt for a Z drive gear? I am building an HEVO printer with a 300x300 build plate and the project includes two T8 lead screws, lead 8 mm ("Tr8x8(p2)").

I read that such long lead may worsen backlash issues, so anti-backlash bolts are often used. They however increase the torque required to drive the build platform (quite important, since 8 mm lead involves using microstepping for fine adjustments) and they also reduce the usable vertical travel.

Since the build plate has already a significant weight (2020 frame, 2x 2 mm aluminium plates, 4 mm borosilicate bed, 8 linear bearings, heater), I wonder what is an approximate weight threshold to decide for using the anti-backlash or to skip it.

First of all, let's look at the geometry: We have a static XY and changing Z on our build plate. This mitigates several problems we might have faced in a different setup, mainly that our lead screw has loads changing from one face to the other: all loads always go into $-Z$, so the lower surface of the Trapezoidal threads in the brass nut of the bed carrier and the upper surface of the screw will always rub against each other.

However, let's talk about your lead. Tr8x8(p2) is not a Metric ISO-Trapezoidal pattern that is commonly recognized - the only 8 mm diameter one in that standard is Tr8x1.5, very flat and very well suited for putting high loads onto it because there are several engagement surfaces in the nut and a low pitch angle - the thread only has about a 5° (+-1°)to the horizontal. Assuming a 15 mm nut, that's 10 times the projected engagement surface for a total area of about 214 mm².

A Tr8x8 is a very common oddball as in, it's not in the metric tables but available everywhere. It is considerably steeper, and with a 16 mm nut (for easier calculation) would result in 2 times the projected surfaceof a single engagement per thread. But that's only a projected area of 42.8 mm² per thread - about 1/5th of the Tr8x1.5, which correlates directly into that much less friction, because the friction is linear with the surface, which is linear to the length of the nut.

Taking an "intermediary" TR8x4 gets us about 1/2.5th of the Tr8.1.5's holding power per thread at the cost of half of the speed. From a physical standpoint, I'd  take this one, also increasing the precision of the Z-movement by a factor of 2 in comparison to the Tr8x8.

Tradeoffs

Generally speaking, we have a tradeoff here:

Pitch is proportional to the movement speed

double the pitch and you move twice as fast

Pitch is anti-proportional to holding power/torque and Z-position accuracy

half the pitch gives twice the torque and the Z-position error is in average reduced by half

holding power is proportional to the diameter of the rod and the number of threads engaging with the nut
Z-position accuracy is anti-proportional to the effective step-size of the motor

Z-position accuracy can be increased by using a reduction gearset: a 2:1 reduction gear halves the step-size and doubles the torque at the price of halving the movement speed. However, it can and will introduce slop and backlash.

Due to the geometry, the slop in the nut should not be an issue, as the relevant engagement surfaces never change. Further, the heavier the bed, the fewer problems you'll have with fast movements, as gravity will prevent the bed from going "airborne" at the end of travel towards the printhead. Travel away from the printhead, as it will do during printing, should never experience such.


How to solve spillage problem? I've done calibration test with "Concentric circle test" (https://www.thingiverse.com/thing:11895) and at specific points there are little bumped points on the print. Also Thingiverse page of the test mentions about these.

How can I solve this problem?

My printer is Creality Ender 3 Pro, I use Esun PLA+ with 210 celcius extruder and 60 celcius bed temperature.

Here is the printed object, both are same print, just took photo on different base.

We had some prints like that recently. Turns out it was caused by the bed not being "level" or "trammed". Basically the nozzle was too far off the bed when printing started for the first layer. Check yours - a piece of paper should slide between the nozzle and the bed surface, with a little bit of resistance. If it slides freely, the bed needs to be raised some. Check it at the corners and in the middle of the bed.


Power consumption of filament extrusion I'd like to calculate the power lost through the filament being extruded (or in other words, at how many Watts I'd have to run an ideal heater that loses heat ONLY through filament so that it stays at constant temperature).

Power is defined in Watts as $\text W =\frac{\text J}{\text s}$
Specific heat capacity of a material is defined as $C =\frac{\text J}{ \text K \times\text{kg}}$

When extrusion happens, the filament of higher temperature leaves the hotend while the same weight of filament of lower temperature enters the hotend.
Let's say the specific heat capacity of the filament is $C$ and the extrusion rate $r$ is given with units kg/s. The temperatures are $T$.
Is it correct then to say that the power consumption of filament extrusion is $W = (c\times T_\text{Nozzle} - c\times T_\text{Environment}) \times r$
meaning that if I would run a heater cartridge at exactly "W" watts and extrude filament with rate "r" and the block would not loose heat through any other means than through the filament extrusion, then the nozzle temperature would stay constant?

This is very simply stated, in fact the specific heat is a function of temperature and state of the material (liquid or solid). Also you need to consider which type of specific heat you use, e.g. the one for constant volume $C_V$ or for constant pressure $C_P$. Constant pressure is probably preferred considering the mechanics of the printer (pressing filament into the nozzle-heatbreak assembly).

A very interesting source of information is the PolymerDatabase.com.

This source confirms that:

  In the case of polymers, we have to distinguish between the heat capacity of liquid, rubbery and glassy polymers. The heat capacity increases with increasing temperature, therefore, a liquid or rubbery polymer can hold more energy than a solid polymer. All materials show this increase in heat capacity with temperature.

also:

  Specific heat capacities as a function of temperature have been published for only a limited number of polymers. In many cases, the heat capacity (at constant pressure) as a function of temperature can be approximated by straight lines.

In such cases you can use the value of the specific heat at a predefined temperature (in thermodynamics that is frequently 298 K) to get approximations for your thermoplastic material. These formulae can then be used to integrate over the temperature rise.

Please remember that a cartridge is of a certain value of Watt; to have a lower power, the cartridge modulates voltage to keep the heating block within a predefined temperature range.


Is there a G-code for waiting? My printer has an auto-leveling feature that works by touching the build plate with the tip of the nozzle.

I started using a BuildTak surface and BuildTak is damaged when you push a hot nozzle into it.

So I edited the start G-code to run the auto-leveling before heating up the hotend

But ABS doesn't stick to the build surface unless I pre-heat the hotend and wait about a minute.

So now I'm looking for a G-code command to put at the end of the start G-code that will make the printer wait a minute before printing

The sequence I'm looking for is:

Heat up the bed
Auto level
Raise the hotend a little bit so it doesn't touch the build plate
Heat up the hotend
Wait a minute (that's the only part that is missing, everything else works)
Start printing

Any way to insert a delay into the G-code?

I'm using Cura to slice/print, my printer is Robo3D R1+

The G-code to delay is G4.

G4 P60000 will wait for one minute. The P is in milliseconds. Some firmware also accept a S Parameter that has the seconds. So, if supported, G4 S60 would do the same thing.

The details for this and all other G-codes are documented
here.


TMC2130 External VM RAMPS 1.4 I'm attempting to replace my DRV8825's with TMC2130's on a Prusa i3 rework clone, 12 V RAMPS 1.4, motor currents have been accounted for. Since they don't work as well with 12 V than with higher voltages, I bought a 10-50 V, 10 A DC-DC converter to power the drivers (and steppers). On the RAMPS this is done simply by taking the VM pin out and soldering it on the other side to draw power from an external source.
It is stated everywhere that VM should be powered BEFORE VIO. Would it be valid to switch on a relay with the DC-DC converter and connect the VIO pin to RAMPS 5 V through it? Is it enough having both sources turn on at roughly the same time? I haven't found any indication on how much time there should be in between (or if there needs to be any).
Please tell me your own experience if you have attempted something similar, or any alternatives (aside from buying a new board, because I'll eventually build a CoreXY or something else) that may be valid.

First of all, I'm not talking on a first-hand experience: I don't own a RAMPS based printer.
If I were you and wish to be 100 % sure the setup you are describing doesn't blow up in my face I would use a spare pin on the Mega to drive the relay which, in turn, drive the 24 V source line. In terms of delay I would use a couple of seconds after power on: enough time to have the bootscreen completes and all the pins being set as per firmware configuration.


Why does my MKS Base not recognize my thermistors? I recently upgraded my Geeetech Acrylic Prusa i3 with a MKS Base V1.4 and it would not recognize the thermistors (100K {type 1}) even though they worked fine with the Arduino Mega 2560 with the RAMPS shield.

After changing the thermistors for the 4th time it began to work, but the model printed was quite distorted. Then without warning it suddenly does not recognize them again. The board does create the USB port, but does not appear to communicate with my computer.

Is the problem more associative with the board or my computer?

You should:

Ensure that firmware has proper thermistor configuration. For details see this video tutorial.
Verify that your thermistor works properly. Measure voltage on it. It should be around 5V on this particular board.
There is possibility that the board is defective. Replace it.

Temperature sensor possibilities for Marlin firmware:

// -2 is thermocouple with MAX6675 (only for sensor 0)
// -1 is thermocouple with AD595
// 0 is not used
// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
// 3 is Mendel-parts thermistor (4.7k pullup)
// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
// 10 is 100k RS thermistor 198-961 (4.7k pullup)
// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
// 20 is the PT100 circuit found in the Ultimainboard V2.x
// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
//
//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
//                          (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
//
// 1047 is Pt1000 with 4k7 pullup
// 1010 is Pt1000 with 1k pullup (non standard)
// 147 is Pt100 with 4k7 pullup
// 110 is Pt100 with 1k pullup (non standard)


Very messy prints with lots of fuzz on edges Recently my prints come out very messy. I tightened everything up and checked the extrusion multiplier.

I have an Ender 3 Pro which I use together with Cura 4.2.1 (and Octoprint). I print in PLA at 190°C. The print bed is set to 70°C. The Bed temperature is lower though, since I use a glas bed on top of the heated bed. I use a print cooling fan at 100%. The layer height is set to 0.2 mm, the line width 0.4mm from the 0.4mm nozzle. My retraction is 5mm at 45mm/s.

Does anyone have any idea what the reason could be?

I figured out the problem. I reduced printing speed and printing temperature and the print came out decent. Still some issues but worlds better then before. I will try a few more settings to determine exactly what was the actual Issue. I will also try what @Fernando Baltazar recommended and update here what exactly changed the printing quality.


Eliminating unwanted internal surfaces One of the biggest challenges with 3D-drawings is internal surfaces unintentionally formed that cause slicing not to work properly. This is using SketchUp Pro, slicing with Slic3r, and printing with a Reprap X400. Eliminating lines unnecessary to form the outside surfaces helps, but this may not eliminate all the internal surfaces which can be hard to see even with an x-ray view. It often takes deleting an external surface, looking for internal surfaces to select and delete, then adding the external surface back, being careful not to use a line that also adds the internal surface back.
This can be a huge issue when importing an STL file into SketchUP. The import seems to prefer using all triangles and thus the maximum number of lines with no attempt to see which are unnecessary, leaving it up to the user to eliminate lines.
What techniques do you have for eliminating or avoiding unwanted internal surfaces in drawings?

I am sorry to tell you that SketchUp is not a good software for printable 3D designs due to its exporting feature not properly reducing complexity. It creates unnecessary faces and vertices inside of items on a regular basis, which in the slicer creates artifacts.
To make a SketchUp created file well printable, a huge amount of careful re-engineering in a graphics program like Blender is needed, manually removing the excess vertices surfaces.


Resolution Drawbacks With an ABS or PLA extrusion 3D printer, are there any potentially negative quality differences that could occur if I try to print at a higher resolution?

I am not concerned about print time as the equipment is not under high demand.  I am, however, worried the device may be more prone to fracture, likely to have defects, or have other issues I cannot currently imagine.

The biggest effect I've see on resolution is due to plastic stress due to thermal gradients.

The higher resolution prints build up more layers of material, and each layer has a cumulative effect on thermal stress.  The upper layers pulling up more as they cool, and the lower layers curling up more strongly as the layer count is increased.

To counteract this, a heated (or even just a draft free) enclosure makes a big difference.  Having a heated print bed helps significantly, as long as the bed itself resists deformation (a sheet metal or PCB bed will bend more than glass under the same tension, for instance).

The actual plastic strength, however, appears increased.  Laying down thinner layers of material appears to increase the bond strength between layers.


Does Octoprint stop printing on Crash Detection? A corner of my model curled up, causing the head to crash into it.  The Prusa MK3 detected the error, printed a message to that effect, and moved the print head to the home position.

I was surprised when printing immediately resumed, and of course immediately went awry as it pulled the model off the print bed and dragged it around.

My questions:

Is it expected that printing stops when a head crash is detected?
If so, does Octoprint recognize this condition and stop printing?

You are describing precisely how the crash detection should work on the Prusa Mk3, so it is doing exactly what it should do. If you look into this video from Jozef Prusa you will see him explaining that in case a crash is detected (steps missed are registered because the Mk3 uses trinamic stepper drivers), the print head is homed and will immediately restart printing.

Please do read this interesting post; it describes your similar problems: after detection it resumes. He noteworthy mentions that even a few lines of G-code went missing, this is probably caused by the fact that OctoPrint buffers a few commands or something that get lost because the Pruse Mk3 crash fail safe kicks in.

In effect, OctoPrint is just a simple supplier of G-code commands and does not recognize the problem to act on it and will therefore continue sending new commands after the Prusa Mk3 crash has recovered (sending ok to OctoPrint for receiving new commands) from the crash and re-homed and got the temperatures back to normal levels.

An existing plugin for OctoPrint may help you in this case. The Action Trigger Plugin is able to detect events, but have to be implemented in your firmware. E.g. the action for filament describes:

  This trigger will pause the print and home the X and Y axis, giving
  the user the opportunity to change out the filament. The print needs
  to be resumed manually through the UI.

Maybe it can be configured to pick up the existing event and issue a pause. It could be worth looking into this.

EDIT
Looking closer to the ActionTrigger plugin I noticed that you cannot configure it and the "manual" is very terse. I guess this might involve some serious hacking...


How do I repeat the layers of Slic3r for every 3 infill layers with different angles? (Might need some programming knowledge) I'm working on developing alternative infill layers to print at different angles, using Slic3r. Using Slic3r's rectilinear infill, printing at specific angles for 3 layers then repeat.

I'm working towards finding the code in the source code where they alternate the layers and change it to alternate it for every 3 layers.

I know I will need some C++ knowledge to fiddle around with the Slic3r's source code, but if there is someone who can point me in the right direction I would gladly appreciate it!

Slic3r is available on Github.

I think the section you'd be looking for is here


3D prints keep suffering from warping I have a Prusa i3 made by Geeetech. My 3D prints keep suffering from warping when printing with PLA.

Whenever I print something with a base at about 10 cm x 10 cm, at least one corner of the print would warp up. I've read numerous articles about warping and tried all sorts of methods. My printer's bed is level, and heated to 60°C. My bed is made from clean glass. I've tried all sorts of adhesives. I tried blue tape, and used hair spray.

The only way for me to combat this is gluing the base to blue tape with 502 Glue. I used brim and the whole brim just warps up. I sometimes leave the model printing over night. For the first few hours it's perfectly flat. When I go back to it the next morning I'd find one corner warped up. This is very dysfunctional to my prints.

Is there a reliable way to stop this warping from happening?

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.


Which capacitor to change on CR-10S S500 motherboard? I have a CR-10S 500 and want to change a capacitor on it to improve and solve temperature issues. This capacitor that needs to be changed should be labeled as "C4" as mentioned on this post but it's not present on my motherboard. The goal is to replace 100uF capacitor with 220uF 16V capacitor.

This is what the motherboard should look like:

but mine looks different. Below is what it looks like:

There is no version number on my motherboard and there is no "C4" capacitor. Also, the component that's labeled "330" on the original board is labeled "470" on my motherboard. It's hard to decide which capacitor to change. On my motherboard, there two capacitors instead of one, closer to the location of the capacitor that needs to be replaced. They are labeled "C42" and "C35" instead of "C4". I do not want to replace the wrong one since it's risky enough to replace just one capacitor on these boards.

Anyone know my motherboard type or version? Also, which capacitor to change?

EDIT:

Here is a better or zoomed in section of the place:

As Trish requested in the comment, below is also the back side of the motherboard.

theSealion might be right in his answer and I did a test and it all points to "C31" as he suggested but the problem is that the capacitor is different from the one it is supposed to be replaced with like on other CR-10 boards. I am not entirely sure if this is the capacitor since the type of capacitor are different from the one I was suggested to use.  Below is the new capacitor:

My current idea is to remove the tiny "C31", solver wire to pin 4 of LM2596 and to the new capacitor but I do not want to remove the "C31" because I don't want anything to go bad.

Can I add the new capacitor parallel to the existing "C31" without removing the "C31"?

You are looking for a capacitor that must be connected to Pin 4 of the LM2596.

Maybe you could provide a better picture of that area so we could see the different tracks on the board.

The LM2596 is in the center of the right side of the board (it is also labeled  with LM2596D). The pins should be counted from top to bottom (in your picture)

My guess is, the Elko you are looking for is connected to C31, and you must look for the positive pin.

In this wiring diagram Cout is the capacitor you are looking for. The SMD Parts R1, R2 and CFF should be R31, R32 and C31 in your picture.

With the corresponging measurements I would say you do not need to replace the capacitors.

In comparison to the old board your board already has the "fix" implemented.


How to optimally make a 3D model of an object using photos? I would like to obtain a 3D model of my insoles. I tried to scan it with 123D catch but finding reference points is difficult because the insole is black.

How could I improve the scanning? I attach a photo of the insole to show its not easy shape.

I thought about placing a grid of white spots on the surface, but will it be enough?

Also, is it recommended to keep the camera still and rotate the object (I have a rotating stand) or should I move the camera? in the second case, the accuracy of the photos will be lower, while rotating 5-10 degrees the stand every time is extremely easy.

As background should I use a checkerboard or something else not repetitive?

I noticed that the insole has basically three different "levels", joined smoothly with each other. These "planes" are sloped the same way, so that if I change the pitch of the insole by about 10 degrees, they will be horizontal. Would it improve the accuracy?

Edit: the insole is perfectly new, newer worn before.

Update

I dotted the insole with white paint (the white eraser paint used in office and school) and I took a series of photos with the insole in top of a tripod, laying on a flat white cardboard support. 55 photos in total at 3 different elevations (side, medium, high). I also did a test with fixed camera and rotating object.

Photoscan did not work well in general. Keeping the object fixed produces the best results, but poor.

123D Catch did a much better job! again with fixed object and moving camera. Still, treating the resulting mesh was difficult and the accuracy could be improved.

Autodesk Remake 2017 worked VERY well, as you can see in the attached screenshot, and it allows the editing of the mesh to remove useless parts of the model. I haven't tried yet to process the photos with the camera fixed and the rotating object. I did the processing locally (it's slow!) with maximum details and resolution.

Usually, the largest variability in 3D imaging is lighting, closely followed by the color scheme. You'll probably want to heed some of the following points:

No colors in the background/stand, keep to shades (unless otherwise specified for scanner)
No gradients. This applies to poor lighting causing a "gradient" light effect
Set the backdrop beyond the range of the scanner if possible (like with Skanect w/ Microsoft Kinect)
Ideally set the backdrop and especially the stand in contrast with the color of the object.

You're right, a typical 3D scanner will have a difficult time with darker colors due to physics. However, there are no rules that say you can't change the color of the object.

In this application, I would suggest just going ahead and spray painting the object and scanning it. Scanning the insole is going to require super tight tolerances in scanning as I'm assuming the insole is naturally worn due to use.

Completely alternatively from 3D scanning, you could try using a 3D touch probe like on a CMM (Coordinate Measuring Machine). It will take longer, but a touch probe doesn't care what color the object is.

Update

The touch probe comment seems to be a hit, so I'll elaborate. My experience with touch probes comes only from manufacturing technology and can be found and in a variety of different machine tools:

Mills
Lathes
CMMs
Vision Systems
"Romer" Arms (aka portable CMM)

You could probably get away with searching for a local machine shop (or job shop) and asking if they have a machine for reverse engineering. The quickest and easiest machine for reverse engineering (in my experience) is a portable CMM, I recommend Googling it.

Alternatively, I've heard of people adding touch probes to their 3D Printers, but I haven't seen it before. In theory, a basic touch probe can easily be achieved by using a momentary switch. If you're good with programming and maybe a bit of Arduino, you could do the following:

Add momentary (normally off) switch to Arduino
Find a way of attaching the switch (below nozzles)
Connect to your 3d printer in your preferred method and preferred programming language. I've used the provided libraries in Python that come with installing MakerWare in order to connect to my MakerBot.
Write your routine to sequentially move the new probe in a grid pattern and then incrementally move the Z up until you get a signal from your Arduino that the momentary has been switched on.
For each trigger, append a simple text file with a new line containing the coordinates.
once complete, you should have a "point cloud" of your insole which, if formatted correctly, will be able to import into CAD software

There are a few file types off the top of my head that can be used including:

.pts
.XYZ
.CSV


Passing from nozzle diameter 0.4 mm to 0.2 mm causing filament jamming in heater Im using Prusa Slicer 2.1 for my FlyingBear Ghost 4.
I just changed my 0.4 mm nozzle for a 0.2 mm but it seems to jam in the heater probably due to too much filament trying to get out by the nozzle. Where is the setting to reduce the filement speed and how much I should reduce it?
Here are my settings:
Config.txt

0.2 mm and 0.4 mm are half the diameter, but the maximum flow is not just half: Flow scales with the area. The 0.4 mm nozzle has an area 4 times as the 0.2 mm one:
$\frac{A_1} {A_2}=\frac {0.2^2}{0.1^2}=4$
You need to reduce print speed or the volumetric flow by this factor or make sure your printer can handle the increased flow by reducing the viscosity of the melt - for example by increasing the print temperature.
Also note, that a 0.2 mm nozzle can't be operated with layer heights above 0.15 mm.


Linux software for laser engraver I am searching for a Linux software to control the 3000 mW laser engraver depicted below. It's a common model you'd find on AliExpress, Banggood, etc. under different brand names.

I have already tried nejePrint, LaserWeb, and EzGraver, but they don't work. Any ideas?

A program that lists as functional with Linux is Lightburn. It's new to the laser engraving world and supports GRBL type controllers as well as Ruida brand and possibly a few others. If you can determine your controller, you're a step ahead of the game.

Directly from their site:

  LightBurn

  LightBurn is layout, editing, and control software for your laser
  cutter. With LightBurn you can:

  Import artwork in a variety of common vector graphic and image formats (including AI, PDF, SVG, DXF, PLT, PNG, JPG, GIF, BMP)
  Arrange, edit, and even create new vector shapes within the editor, with powerful features like offsetting, boolean operations, welding,
  and node editing
  Apply settings like power, speed, number of passes, cut order, brightness & contrast, dithering mode, and much more
  Send the result directly to your laser cutter

  LightBurn is a native application written for Windows, Mac OS, and
  Linux.

I'm a satisfied Lightburn user, not a company representative.


Creality Ender-3 slanted nozzle I’ve just received my first 3D printer, the Ender-3 and while
assembling the unit I noticed that the nozzle is slanted and
not vertical on its holder unit.

Is this normal or do I have to try to make it vertical?
Did I receive a faulty nozzle unit?

This is not normal, the heat break (which is the cylindrical part between the nozzle block and the upper cooling part assembly is probably bent in your example) should be perpendicular to the 2020 guide beam (X-axis) so that the nozzle exit is exactly perpendicular to the (heated) platform.

You either received a faulty heat break, or too much force is exerted during assembly. You should contact the seller.

You could disassemble (after you contacted the seller) to see if the heat break is bent or something else is incorrect. Once you have the heat break out, you can measure the dimensions and order a replacement locally (for speed). It is advisable to have some heat breaks, nozzles, and even a heater block, heater cartridges and thermistors available as spares, these are pretty cheap to obtain through the regular Chinese vendor sites or auction sites.

If the heat break is bent, bending it back is not advised as this heat break easily tears open as it usually consists of thin walls.


Using multiple infill types within one model When modelling for 3D printing, can I distinguish somehow the type of infill in various areas of the model? Say there may be some areas in the model where I want 100% infill (maximum strength) but some areas where the infill can be less (maybe 25%).

I am new to 3D printing, doing my first model (enclosure for electronics - camera module). Using tinkercad.com only so far. Places where 100% infill is wanted are usually walls of the case and "threads" for the bolts but I want to make the enclosure as stiff as possible as a whole so I am thinking about using some sparse infill in the "free space" inside of the enclosure (so that it does not break so easily when it falls to the ground etc). I just do not know how to define this within the model.

To achieve additional localised stiffness, you can also insert small voids (gaps) inside the model. These become double thickness walls once sliced and can be used to support things like screw holes.

See the 'negative' parts used with a cube, and the sliced result here:


Pronterface window question I switched to a Raspberry Pi 3 to use with (Linux) Pronterface for my 3D printer.

This Pi 3 has a 3.5" 320x480 LCD display. When Pronterface is loaded, only part of its window can be seen and some of the UI elements are unreachable. I have the Pronterface source code from GitHub.

Where do I start to shrink the app window?

You can change your Pi's resolution using raspi-config or the Raspberry Pi Configuration app.

To use raspi-config, access Terminal and run raspi-config. Then navigate to Advanced Options > Resolution.

If you'd rather use the GUI, open the Raspberry Pi Configuration app and select Resolution from the resultant dialog. This may help with the rendering issues.


Adding points to a point cloud I made a scan and got a cloud point file, but the cloud point is not that good, but I need to print it in a 3d printer as soon as possible, just to see how it would look.

Basically it's missing some points that were not scanned properly due to it being transparent at those points. I'd like to add those points manually (using meshlab preferably) and create a surface with them .. something that makes this file printable.

I know I could edit this file manually since it is an ascii file with the values of xyz .. but that is a lot of trouble and certainly there is a faster way to do this with a free tool.

A good free tool for editing meshes would be Blender. Linux, Windows, Mac are supported. It has a serious learning curve, and is somewhat counter-intuitive in use (right click object to select) unless you customize it.

Plenty of online video tutorials to learn the basics, though, and if you have a membership for Lynda.com, those videos are the best (opinion).

I've used it to pull edges and vertices together, to chop out pieces that weren't supposed to be there, etc. The flexibility and power of the program is amazing, considering the price.

Many artists use the program for creating 3D animations and full length movies. Amazing talent, well beyond my capabilities, but it shows what the software can do.

The website also has links to tutorials and the manual, which is also a work of art.

If you can devote the time to learn the program, anything 3D modeling related will be within reach.


What causes ripples on part of first layer? I'm having issues with ripples on the first layer of big flat prints. The initial corner of a big flat print is fine, but then ripples begin to form as shown in the screenshot.

I'm just a newbie, so I was thinking they might have something to do with heat or contraction or something. Normally, I use the default and print with no turbofan on the first layer. When I tried adding fan 20% or 50%, nothing much changed (slight differences in the ripple pattern and area, but that pattern varies anyway).

I also wonder if one strip gets bent, then maybe the rest just follow the bends. As far as I know, my heating plate is working fine, has no serious hot spots, and I'm using a high-quality PLA+ filament. I also tried adjusting the print temperature from 205-220 (the range on the box is 205-230). Nothing seemed to help. I am running a default first layer thickness of 0.3 mm because that is supposed to help adhesion (and adhesion is fine).

The ripples look worse than they feel. They feel fairly flat, only slightly rippled, even though they look terrible! (And I don't know what that weird row with blobs is in the top left of the picture. That only happened once; almost like junk was in the nozzle or the feed gears slipped or something).

I'm running a Qidi Xpro machine, Sunlu PLA+ (wonderful) filaments, bed 50 C, print temp 205-215, print speed 30-40 mm/s on the first layer, and first layer thickness 0.3 mm (normal layer thickness is 0.2 mm). This machine has a direct drive with gears immediately above the nozzle.

Does anyone know why this rippling effect occurs, and what I might to do to correct it? Thanks

UPDATE: I'm adding this info here to respond to several comments concerning bed leveling, etc. (Thank you to those who made comments!)

1) I'm sure that the bed is as level as I can make it because I always go through the cycle twice).

2) Regarding clearance, if anything I worry that my clearance is too small since there is a fair amount of drag on my leveling card under the nozzle. So, there is definitely drag on all three level points, about midrange between the lightest drag and the heaviest drag that makes me think I'm filing off part of the nozzle.

3) I do have two nozzles, so I suppose the problem could show up on one but not the other if the nozzles were screwed into the block to give different heights. But the ripple shows up on both nozzles, always in the middle of the build plate, always in the middle of a big flat print. Corners don't usually show ripple effects. I don't want to believe that my build plate dips in the middle on my new machine, either ... :-) Adhesion is fine on small prints in the middle of the plate.

Here is a picture of the bottom of the piece. A careful examination shows an oscillation in the squished filament segments on a filament thread. Almost like the extruder was oscillating vertically in the z-axis at that frequency, or perhaps the filament squishyness was oscillating at that frequency. Looks almost like a weave pattern, since the squished parts alternate position on alternating lines.

It's worth saying again that the piece feels pretty smooth on both the top and bottom sides, even though it looks awful. I don't know what to make of that.

First layer rippling is usually caused by a too low of a first layer height (for the amount of extruded filament).

Are you sure that:

Your bed is leveled as good as possible, and
the initial height between the nozzle and the bed is correct when Z=0 (A4 paper thickness, when moved should be giving some drag), and
the bed is flat. (This is most probably your actual problem!)

To minimize the effects, you could try to:

increase the first layer height, or
set an additional Z offset in the slicer, or
reduce the filament flow for the first layer, or
install an automatic bed leveling sensor, or
perform a manual bed levelling mesh procedure (if you have Marlin Firmware).

This usually helps fighting these ripples.


Random lines are being printed? I recently got a Creality Ender-3, and tried printing a few things for some tests. I’ve printed a cube and just printed a cylindrical tube today, and I notice each time, it adds this random line on the left and a sort of outline around the actual print. Neither of these were there in my Cura file, but they’re always printed and I’m not sure why?

If the printer is printing, it is instructed to do so by the G-code file unless you are printing through an external software program that has extra G-code to print before your print starts. E.g. in OctoPrint print server it is possible to execute G-code before the print starts.
Left line = Priming
The straight line on the left is typically used to prime the printer nozzle to get the filament flow starting, this is typically seen in PrusaSlicer (Prusa's fork of Open Source toolpath generator for 3D printers Slic3r). This straight line is called priming line, purge line or intro line, and is typically (but not necessarily) printed outside or at the edge of the bed area. Furthermore, a prime line print routine will catch errant nozzle ooze, test extrusion (it is the first indication if the nozzle to bed distance is correct; if not you can abort with minimal material loss) and perform a final wipe action to avoid stringing between the prime line and start of the print. Note that this straight prime line is not a standard option in a custom profile of Cura, so this was part of the Ender-3 Preset you imported or possibly you have copied a starting G-code that includes this prime line.
A typical set of G-code lines to create a prime/purge/intro line is found in your start G-code and could look similar to:

G1 Y-3.0 F1000.0 ; go outside print area
G92 E0.0
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line
G92 E0.0

After slicing your object, you will find such lines in the generated G-code file, but they are not displayed in the preview. Further information can be found in Writing G-code : swiping at start of print
Equidistant line = Skirt
The lines at distance from the print object is called the "skirt", the skirt is an option found under the "Build Plate Adhesion" options in your slicer. The function of the skirt is similar as described for the straight prime line, but it has additional effects that can be wanted. It also shows fairly fast if the bed is unleveled as a whole or if the bed is greasy. Please look into: "What are main differences between rafts, skirts and brims?
".
Note that it is usually superfluous to use both the prime/purge/intro line and the skirt, both have a similar function. The benefit of the skirt is that you can configure it within the slicer (e.g. length of the printed skirt, height to use as a shield for draft or ooze and distance to product). The downside is, that a skirt limits the useable build area by the distance and width of the skirt.


Why doesn't PLA stick to heated bed? I have a basic Creality Ender-3 with a black rough bed cover. I'm printing with PLA.

After assembly, I printed 3 or 4 small toys sliced by Cura with basic settings. All were printed very well!

However, after that, extruded filament would not stick to the bed. I tried the following:

Bed calibration with A4 paper (each corner with a tight nozzle to paper and repeated calibration again)
Once raised up the bed temperature from stock 50 to 60 °C
Washed the bed with a soap and water (and dried)
Sprayed with a hair spray
Changed the filament

Nothing helped so far.

What else can I try?

I think you may have used the wrong substance to clean your bed. Try using Isopropyl Alcohol (IPA). You may have left some residue behind from the soap, which is now interfering with adhesion. When that is done, ensure you've gone through the steps for bed leveling again. It's amazing how much of a difference proper bed leveling makes in adhesion. If it still doesn't work, post some pictures up of your results, which will help tremendously in getting you a better answer.


Error: Dry mode when moving Z-Axis My printer just stopped working. It seems like it's working perfectly, but it gives me an error whenever I move the Z-Axis (Error: Printer set into dry run mode until restart) then, the bed temperature appears to be at 293ºC when it's actually at 95ºC.

I suspect that the bed wires short-circuited since they got stuck behind the bed when the printer was moving Y-Axis to home (the wires blocked the movement). Since then, the error appeared.

I suspect that the controller board could have been harmed by the supposed short-circuit, but despite the error, I can move perfectly any axis; I can heat the bed and the extruder; I can extrude filament; it is just the error which doesn't let me print.

Printer:
Anet A8 Desktop 3D Printer Prusa i3

Software:
MatterHackers: MatterControl 1.7

Update: The bed temperature is stuck at ~95ºC, sometimes ~250ºC, even if I disconnect the sensor wires and restart the printer, so apparently, it's failing to read the bed temperature.

Try checking the wiring on your motherboard and all of the connections to your steppers. When I first had my printer, the z-axis didn't work because a wire was loose. I took apart the control box on my Di3 and made sure everything was firmly connected, and after that everything worked fine.


Top Layer/Solid Infill Bulge Whenever the print reaches a layer with top/solid infill, it bulges out. It is not on the same layer for every print, which rules out Z-binding. Here are things I have tried:

Different slicers
Updated firmware
Smaller K value for linear advance
Lower temperature
Slower walls and top layers
More perimeters
Tightened belts
Different filaments
Different jerk and acceleration values

My problem is similar to what these people are experiencing: https://forum.prusaprinters.org/forum/original-prusa-i3-mk3s-mk3-how-do-i-print-this-printing-help/buldge-when-print-reaches-solid-layers/
These pictures show my problem. The lip in the second picture is supposed to be parallel with the body of the model, not stick out to the right like in the picture.

I'm not sure about other slicers, but Cura has an option called Skin Overlap that defaults to 5% and causes excess material to be extruded beyond what actually fits in the skin (top/bottom "solid infill" surface) area. If you only have a few top layers it probably won't push the outer walls out and will just build up a rough top surface, but with more than a couple it's likely to start making the walls bulge out because there's nowhere else for the excess material to go. I've gotten dramatically better print quality since turning this setting off (0) and doing the same for Infill Overlap.


How to add "skin" to a Voronoi shape? Suppose I'm given a shape with a Voronoi pattern, such as this lamp.  I'd like to be able to add a "skin" which covers the complete shape on the inner surface so I could print it with translucent material to produce a more-or-less uniform glow.  Here's an example of what I'd like to end up with: tea lamp shade.  Any ideas on how to reverse-engineer a Voronoi object?

I posted this to an Autodesk forum, and a fellow named "MagWeb" proposed the following solution.  I have not tried it yet.

  A possible workflow depends much on the overall shape of the voronoi
  object:
  If it's convex  all over (like an egg) or convex and planar (like a
  cylinder) e.g:

  SelectAll (Ctrl+A or Cmd+A on MAC)
  Run Edit/FitPrimitive and set its PrimitiveType to ConvexHull (CreateNewObjects checked)
  Run MakeSolid on this hull object and set its SolidType to Accurate. Accurate enables the OffsetDistance slider. Pull it down a bit and hit
  update. You want to get a result intersecting but showing the voronoi
  object. If needed adjust the offset. Finally accept.
  Now activate both the voronoi and the MakeSolid result and run BooleanUnion
  Show the FitPrimitive object again (MakeSolid did hide it before) and run MakeSolid again in Accurate mode. Now set a slightly bigger
  offset as you did before. The difference will determine the "lining's"
  thickness. Accept
  Activate the BoolleanUnion result first and the last MakeSolid result and run BooleanDifference to get a hollow object. You might use
  another intersecting object to bool-off an opening the bottom.

  Harder but doable with a different workflow on an voronoi object
  owning concave regions...

edit

Having run some trials, I can confirm this works for simple convex objects. If there are concavities, most likely the source shape needs to be chopped into sections each of which can be treated as convex.
 I played around with Meshmixer's "apply pattern" functions with limited success.  I could get a form-fitting pattern shape but with a rather uneven surface. Some fine-tuning of the pattern parameters may help. Note that the new shape tends to be as thick as the original voronoi object, so it may well be better to do something like the following:
1) create a duplicate of the original
2) shrink the duplicate by a few percent
3) align the two objects to a common origin and take the boolean difference to create a thin-wall version of the original.
4) Build the pattern object based on that thinwall object.

edit number 2

I succeeded!  For those who care, I took an open Voronoi glasses case and put a skin inside to protect your glasses.  See this Thingiverse item


Difficulty getting good precision I have a reprap printer with 0.3mm nozzle. It prints quite well, I am really surprised with quality of all the surfaces and the general precision of the parts printed. BUT I HAVE a problem: when making (for example) a 10mm x 10mm x 10mm cube with a 2.8mm diameter hole from top to bottom (to fit a screw) after I print it gets a size of 3mm diameter.

I know this is related to extrusion width but cant the slicer software (I am using s3d) know that it is using a specific extrusion width and compensate for that in order to get the diamter right?

OBS: this printer is supposed to get 0.05mm precision.

It's a generally accepted fact that FDM/FFF printers will have deviations when it comes to holes and perimeters. Typically, holes print smaller than designed and external surfaces end up larger than designed.

In your case, it seems to be the opposite: the hole is too big. It could be that you're just printing too big overall. You might want to make sure that your printer is printing the 10mm X/Y dimension in you example correctly. If it's too big, part of it may be just the typical oversized perimeter, but some of it might be due to incorrect firmware X/Y 'steps/mm' or extrusion like you mentioned.

See also: "Are you printing undersized holes?"


Additional mods for printing metal filled filament with Ender 3 V2? I am thinking about getting into the 3D printing craze and currently looking at purchasing a Creality Ender 3 V2 as an entry-level unit. I would like to print using the normal PLA, PETG, ABS, etc. but I'm also thinking of metal-infused PLA or similar for printing jewelry. The suggested modification that I have found in researching is the Micro Swiss All Metal Hotend in order to reach the higher temps for printing metals.
Am I correct with this additional mod? Are there other Hotends that would better? Any additional mods for working with metals?

There is a lot of misinformation in the 3D printing world about "all-metal hotends" being an upgrade. Some of them, especially clones, are not even all-metal but just poor lookalikes that create all sorts of problems. But even if you get a real one, it's a trade-off, not an upgrade. It lets you print materials that need a hotend temperature over 250 °C (over which the PTFE liner will begin to degrade and possibly release small amounts of harmful gasses) up to the temperature your heating element can achieve, at the cost of losing the extremely-low-friction PTFE pathway all the way to the nozzle, which aids with smooth extrusion and retraction and avoids jams. Depending on your particular all-metal hotend, it may be harder to get retraction working correctly than with a normal PTFE-lined one. Some users report very good results, others lots of problems.
There are very few materials that need temperatures over 250 °C to print that don't also need a much more expensive machine (or at least a heavily-modified one) for other reasons, such as requirement of a high-temperature enclosure. The main materials that can be printed on an Ender 3 with an all-metal hotend but not the standard PTFE-lined hotend are polycarbonate (needing 255-300 °C) and some forms of nylon (which may need up to 250-270 °C). All the other non-exotic materials, including PLA, ABS, PETG, and TPU, and even some exotic ones like POM (aka delrin or acetal) and many nylons, can be printed just fine with a stock Ender 3 (possibly with a minimal enclosure built around it).
In particular, for the purpose you want - printing metal-infused PLA - there is no point whatsoever in an all-metal hotend. Metal-infused PLA is printed within the temperature range of PLA, which is typically 230 °C at the absolute highest (and preferably much lower) and the printer you're looking at should print it just fine out-of-the-box (or rather, once you assemble it).
If you're concerned about abrasive wear from the filament, this affects the nozzle not the hotend. Technically the nozzle is "part of" the hotend assembly, but it's easily removable and generally considered a consumable item that you replace periodically. You can get hardened steel nozzles and all sorts of other exotic replacements designed not to wear out from abrasive materials, but the standard brass has the best thermal (heat conduction) properties and is so cheap you're generally better off sticking with it and buying a pack of 20 or so to have on hand when they eventually need replacement. In any case, there's no need to replace the hotend with an all-metal one to deal with nozzle wear; you can get either type of replacement to fit the original one.


Z-Axis on i3 clone won't move at all, Melzi A4982 driver problem I'm setting up a replacement Melzi 2.0 board from TRONXY for my i3 clone (a Monoprice Maker Select v2 for those curious), which according to the RepRap wiki has A4982 drivers for all the steppers. I'm attempting to configure Marlin 2.0.x for this printer and this is the last big problem I'm encountering.
The problem: The Z-axis (or any motors connected to the Z-axis driver) won't budge no matter what I try. All my other steppers work fine.
What I've tried: I've done everything I can to prompt the Z-axis to move, from Gcode commands to homing via the LCD and Pronterface. I've connected my X-axis motor to the Z-axis driver and it won't move either. Sometimes, when I send a command for them to move, they'll make a small noise - like they're getting power - but won't move. I probed the motor connectors at the board and received nothing but a few stray millivolts here and there, very different from the several volts on my Y-axis motor when I did the same thing. Bear in mind, that was just one test moving them from the LCD, and this time they did not make any noise or attempt to move. I have switched pin definitions in the firmware for X/Z ENABLE/STEP/DIR and the Z driver once again appeared to be the culprit, keeping the Z-axis planted even if it was being controlled as if it were the X-axis.
What I think the problem could be: To me, this seems like a software problem. I'm configuring Marlin for my first time and I think I messed something up somewhere. Could it be a problem with the trim pots, motor currents, motor enabling, or something else? Outside of that, maybe the driver is just dead?
My Marlin 2.0.x config.h for reference:
// These are all excerpts from various parts of Configuration.h

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 500 }

#define DEFAULT_MAX_FEEDRATE          { 300, 300, 4, 25 }

#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

#define DEFAULT_ACCELERATION          2800    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  2800    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   2800    // X, Y, Z acceleration for travel (non printing) moves

//#define CLASSIC_JERK  //left at default

// :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 150

#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  #define MIN_SOFTWARE_ENDSTOP_X
  #define MIN_SOFTWARE_ENDSTOP_Y
  //#define MIN_SOFTWARE_ENDSTOP_Z    //disabled until the driver works correctly
#endif

#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
  #define MAX_SOFTWARE_ENDSTOP_X
  #define MAX_SOFTWARE_ENDSTOP_Y
  //#define MAX_SOFTWARE_ENDSTOP_Z
#endif

//#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT X_CENTER  // X point for Z homing
  #define Z_SAFE_HOMING_Y_POINT Y_CENTER  // Y point for Z homing
#endif

// Homing speeds (mm/min)
#define HOMING_FEEDRATE_XY (50*50) //changed from 3000 to 2500
#define HOMING_FEEDRATE_Z  (4*60)

// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS

// Sorry if that was a bit much, I tried to include all the settings that could
// potentially have an effect on the Z motion.

I genuinely have no idea where to even look to solve this problem, so any guidance or advice would be hugely appreciated!! Thanks!
My conclusion is that the driver chip itself is dead and replacing it ought to fix the problem. If this works, I will post an answer to this question.

I've replaced the Z-axis stepper driver with an off-board Pololu-style A4988 driver by soldering leads to pins 2 and 3 on the Melzi board, then connecting those to the driver on a separate board. The Z-axis now moves correctly. When I encountered issues with the step pin (pin 3), I connected it to pin 12 (bed heater) instead, leaving the bed to be heated manually. This has worked so far and the only problems I've encountered were minor issues with electrical noise, which I was able to fix with a shielded cable.


What's the advantage of two z motors? Some RepRap models use only a single motor for the Z axis, others use two.

For example, there is the 3drag that has only one motor and a smooth rod on the other side. There are modifications that add a threaded rod on the other side that is connected to the motor axis with a belt - which seems to be a really good solution.

Other printers, like the Prusa i3 or the Mendel90 have two Z motors. And after playing around with a two motor model, I find it pretty annoying when they get out of sync and I need to calibrate the axis and the print bed again. So two motors seem more like an disadvantage to me.

Could someone please shed some light on why most RepRaps have two Z motors (nowadays)?

There are three main options here for Mendel style ZX gantries:

One Z screw and motor, which is similar to a cantilevered design but somewhat more stable because of the opposite smooth rod
Two Z screws and two motors
Two Z screws and one motor, with belt synchronization of the two sides

Of all of these, running two screws off one motor is clearly superior in reliability and user-friendliness. There is no risk of the two sides of the Z stage going out of sync. One motor running at higher current will generally out-perform two motors splitting one driver's current via parallel wiring, because one motor with twice the torque can push much harder when one side of the gantry binds up or hits a rough spot.

The only real downside to the single motor, double screw approach is that it requires more engineering and parts. A closed-loop timing belt must be run between the two screws, with associated pulleys, tensioner, and support bearings. In comparison, using a separate motor for each screw is very simple. It adds a stepper and a shaft coupler, but saves a lot of vitamins and design complexity.

Two-motor, two-screw solutions are lower-cost and simpler to design. That's why they're used. End of story.

One-motor, one-screw Mendel style printers are quite rare. The passive side of the Z mechanism does add a little bit of stability to the X stage, but not a lot. It's possible to rack the X stage out of square with the bed and bind up the gantry. In order to work at all, they require a very wide/tall bearing footprint on the driven side to resist torque exerted on the driven side by the weight of the X stage and extruder carriage. So it's true that they don't have synchronization issues, but additional design challenges and undesirable flexure modes are introduced. It's much more common for one-screw designs to simply cantilever out the X stage, like a SmartRap or Printrbot Simple.


Upgrading to silicone heat bed, will it burn my house down? I'm looking into upgrading my heated bed and replacing it with a silicone bed. I know nearly nothing about electronics, so I would like someone more knowledgeable to confirm if what I have theorized is correct or I'm going to burn my house down trying it.

Basically, I'm considering setting up a 200W@12V heater, and I am using this premium ramps, which reportedly has Toshiba TK72E12N1, S1X MOSFETs.

I did some basic math following Tom's guide, if that is correct, I would be pulling 16 A current. Assuming I plug the heatbed directly to the ramps, that would mean the MOSFETs are losing approximately (considering 20 % more resistance than the datasheet says as per Tom's advice) about 1.2 W, which means the MOSFET would heat up about 100 °C above room temperature, so the total temp would be around 125 °C, which is below the graded 150 °C in the sheet.

According to this math, I'm thinking I can just plug that heater to my RAMPS board without any issues. Should this cause any issues? Will it set a fire or melt down something? Anything else I should consider?

The heated bed port on your board has a 11A fuse. It will not work for a heated bed requiring 16A of current, no matter how good the MOSFETs might be. Note that the terminal block might also not be rated for that much current. You'd have to check, because often it is not the MOSFET itself that catches fire but the wiring or terminal blocks.

Also, keep in mind RAMPS only drives the gate with 5V. The value specified in the datasheet (for 10V) plus 20% is probably a bit optimistic. The datasheet doesn't specify the resistance at 5V, so you're guessing at what the resistance might be. Since you're already running the part quite close to its limits, and considering ambient temperature might rise above 25C, I'd be cautious. The designers of that board only intended it for use at 11A, probably with good reason...


How can I get a 3D model from a bunch of 2D photos? I am a physics graduate student and I want to create some 3D models for my crystal samples. We have an X-ray diffractometer in our lab. It comes with a goniometer inside it, so basically I can take as many photos as needed from any angles. (I have included a gif animation made of 10 photos taken by the machine as an example below)

My problem is, given these 2D photos, am I able to construct 3D models for my crystals in AutoCAD or similar software so that I can determine angles, edge lengths and volume more precisely.

I am new to 3D printing section. I just thought maybe someone here has encountered with a similar problem. It would be very helpful if anyone could tell me any Github codes, MATLAB scripts, Mathematica scripts or software that can finish this kind of job. I can try to figure it out myself.

YES, it is possible to make a model from several shots, if you know the angle of rotation between the pictures.
most CAD programs allow to insert a picture, for example as backdrop or to trace it. We are interested in the later use:
We insert the picture, trace it in the picture's layer, then insert the next picture, rotated around the axis of rotation of the picture, and trace that. This we repeat again and again. The resulting cloud of outlines approximates the photographed body to a good degree.
There is a big caveat though: all photos must be in the same scale and distance, the rotation of the object has to be around one axis of the item itself (no wobble) and the rotation between the pictures has to be known quite exact. This principle is pretty much used by raster scanning by the way.
With a very hard contrast between the crystal and the backdrop, software might be able to automate the tracing process (for example use a white background and a black crystal and make sure no reflection hits the camera).
Example using Fusion360
Let's assume I have a perfect crystal like this octahedron with two cut tips

To model this, we need at least a photo of the XZ and YZ shape (that is, 90° rotation to each other), which look like this:

But that shape would also match a double-cone! So we'll need some intermediary photos, in this case, the 45° shot that lies on the plane of (XY-diagonal)Z Plane

As you see, the more outlines you have, the more detailed the pseudo-body becomes - it is just a gathering of vertices and lines yet though! But, we can take 3 points and create a construction area on these, then draw the face to merge all points on these faces...

Now, we turn these construction faces into modeling faces, then create a too large object and cut out the whole thing out...

The whole workflow looked like this for 4 pictures (0°, 45°, 90°, 135°)

The actual f3D design file is here.


First move after Start gcode, to start position (but before printing) is way too fast I have a delta printer. The problem is that after the start gcode is executed and the extruder head is 15 (Pic: x0) mm above the center of the plate, the first move towards the start (x1) of the actual print is performed at (maximum possible?) speed @ infinite acceleration. After that the print is performed with regular acceleration. This can cause missing steps.

The problem seems to arise after the start gcode section. How can I fix it. I use Cura 3.5.

Start gcode

G28 ;Home
G1 F1000
G1 Z15.0
G92 E0
G1 F200 E3
G92 E0

By way of comparison, here's what Cura writes as the header of a gcode file.  You may want to adjust some of the default parameters in your Cura settings.  (this header was same for both the default Prusa and the default Deltabot  printer settings)

;FLAVOR:Marlin
;TIME:67934
;Filament used: 22.2173m
;Layer height: 0.06
;Generated with Cura_SteamEngine 3.5.0
M140 S60
M105
M190 S60
M104 S200
M105
M109 S200
M82 ;absolute extrusion mode
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F9000
;Put printing message on LCD screen
M117 Printing...
G92 E0
G1 F1500 E-6.5