Find OpenSCAD code from image I have an OpenSCAD model which I am looking at in the application, code to the left and the rendering to the right.

Am trying to modify a certain piece, and have commented out all the commands that I believed were related to that piece, but there is still one subtracted cube left, i.e. somewhere in the code there is a difference block with this cube command somewhere in the 2nd part (I believe, as I cannot see any other possibility).

It would be very nice if I could just click on the image and get the software to display the corresponding commands in the code.

Is anything like that available in any tool?

To my knowledge, OpenSCAD does not have any such feature. However, a related feature might help you: the debugging aid modifier characters. By inserting %, #, !, or * before an object (including aggregate objects), you can control how it renders in relation to the whole file; this makes it possible to do "binary search" type operations to figure out where the object you're seeing is.


What motherboard ID is appropriate for MKS BASE V1.5 in Marlin Firmware? I'm struggling with my new printer, and I just want to make sure that I have the basic configured correctly.

What motherboard ID in configuration.h is appropriate for MKS BASE V1.5 in Marlin Firmware?

Marlin appears to support older versions of the board (and possibly this one) according to this line

#define BOARD_MKS_13            47   // MKS v1.3 or 1.4 (maybe higher)

in boards.h which can be found here.

The company also has a guide and looks to provide pre-configured (but not fully configured?) downloads of Marlin.  They have different links for different displays but then ask you to change lines manually but don't mention changing the board so I have no idea what they are doing or what is different between the downloads.

It appears either way you go (Marlin from Github or from Osoyoo) you will need to change some lines to get each axis to behave correctly.


Initial auto-leveling configuration I'm near the end of a full electronics swap of a dead 3d printer.  I'm using an MKS Gen 1.4 board with Repetier firmware.  This is my first try at attempting to set up auto-leveling from scratch.

I've got the inductive probe mounted, positioned and calibrated so that running a G30 (single probe) works perfectly and returns valid results.

However, when I try a G28 (home), then G29 to do a full auto-leveling sequence, just prior to each probing, the Y axis lurches forward (roughly)70 mm, and stays cumulatively out of position by the amount it lurched forward.  Since 70mm x 3 is bigger than the depth of my bed (200x200) the Y-axis bangs and grinds against it's physical limit.  Additionally, that puts the Z-probe beyond the edge of the bed, which causes the firmware to go into error mode, because the actual z-low limit switch is hit without ever tripping the Z-probe.  Which, annoying sends the Z-Axis moving up, until it ultimately crashes into its physical limit and grinds until I kill the power.

Why is my config causing this lurching behavior?  How do I fix it?
Can the error behavior be configured/changed to NOT attempt infinite movement in the Z+ direction?  (It might not matter once #1 is fixed, but I don't like the idea of my printer going into a mode where the Z-stepper could burn itself out if the power isn't flipped.)

Here is the Z-probe section of my config.h:

(Note:  I have tried changing Z_PROBE_Y_OFFSET to -75, to see if I was entering the offset incorrectly.  It didn't seem to change the behavior noticeably.)

// #################### Z-Probing #####################

#define Z_PROBE_Z_OFFSET 0.2
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 1
#define FEATURE_Z_PROBE 1
#define Z_PROBE_BED_DISTANCE 8.0 // Higher than max bed level distance error in mm
#define Z_PROBE_PIN ORIG_Y_MAX_PIN
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 1
#define Z_PROBE_X_OFFSET 10
#define Z_PROBE_Y_OFFSET 75
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 5
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 1.5
#define Z_PROBE_REPETITIONS 5 // Repetitions for probing at one point.
#define Z_PROBE_HEIGHT 22.68
#define Z_PROBE_START_SCRIPT "m117 Autoleveling..."
#define Z_PROBE_FINISHED_SCRIPT "m117 Autoleveling Complete"
#define Z_PROBE_REQUIRES_HEATING 0
#define Z_PROBE_MIN_TEMPERATURE 150
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 00
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 00
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 120
#define BED_LEVELING_METHOD 1
#define BED_CORRECTION_METHOD 0
#define BED_LEVELING_GRID_SIZE 5
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 0
#define BED_MOTOR_1_Y 0
#define BED_MOTOR_2_X 200
#define BED_MOTOR_2_Y 0
#define BED_MOTOR_3_X 100
#define BED_MOTOR_3_Y 200
#define BENDING_CORRECTION_A 0
#define BENDING_CORRECTION_B 0
#define BENDING_CORRECTION_C 0
#define FEATURE_AXISCOMP 0
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0

Well, I´m using marlin for my printers and normally the offset is negative, this difference is from the 0.0 Z value sensor and nozzle.

For example, I have an aluminum plate, so this material is less inductive and I'm getting a height of nozzle 1.2 mm; normally this value should be above 5mm, but my printers reads 1.2mm

So my offset is 1.2mm (this values is dangerous for me) because I can bend the plate if sensor stop working.

the safety z height on G28 is 4mm and also for auto probing G29, the speed testing for Z is lower than travel X and Y.

    #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 8
    #define RIGHT_PROBE_BED_POSITION 156
    #define BACK_PROBE_BED_POSITION 156
    #define FRONT_PROBE_BED_POSITION 8

     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 2

  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 156
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 156
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID

  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets must be integers
  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.2 //-12.35

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 7000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 4    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 4  //How much the extruder will be raised when traveling from between next probing points

I hope this help to understand your settings.

I have set the values to Zero instead 25 and 29 because I pre defined the testing points manually to 8 and 156; of course the center of the nozzle is moved 25 and 29 mm from the plate center, this avoids collision to X0 and Y0. And I just the level using 4 points once, if your bed is warped so is needed more internal points

  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29


Ender 3 - Tiny strings in print Suddenly my prints start having small strings and I'm not sure what to do to eliminate them.
I have already tried to clean the filament tube, cleaned up the nozzle, and played with various retraction settings. Nothing seems to work and I still see these small strings.

Any idea how I can eliminate it?

What you're seeing does not look like stringing, which I would characterize as material that exited the nozzle after extrusion was supposed to have stopped, usually due to missing or insufficient retraction, but like the extrusions along the concave contours failed to bond to the previous layer and got drawn across to a point on the other side of the contour where some degree of adhesion resumed. This happens when the lateral acceleration force of going around the curve overcomes the bonding of the new material to the existing material it's being laid down against, and in my experience it's always the result of moisture-contaminated filament. This matches your description of the problem has something that "suddenly" started happening.
To fix it, dry your filament. If your bed is big enough, the easiest way to do this is to lay the whole spool on the heated bed covered by a cardboard filament box with one side cut out to make a heat chamber, and running the bed heater at around 60-70°C (for PLA) for several hours, flipping the spool a few times during it. You can also use an oven but I would not trust the temperature control not to shoot up high enough to ruin the filament. If you want a less hackish solution, all sorts of specialized filament drying systems are available but I don't have experience with any to recommend. I just use my bed for PLA and oven for materials that can withstand higher temperatures.


What material can I use to make my own cake molds? I would like to make custom cake molds.

I've asked about this in a few stores that specialize in cooking equipment, they said this wasn't possible.

I wonder if 3D printing makes it possible. It would require a material that is food-safe, as per Which are the food-safe materials and how do I recognize them?

However, there are two extra conditions:

The material must be able to withstand the heat of an oven or microwave, and not mix with the dough.
It should not be too difficult to remove the cake from the mold after it is ready.

The first condition is where this question is a little different from Can you use PLA material with food and drinks? - that question is about cutlery and glasses, not about things that go into the oven or microwave.

Is there a material that can be used for this purpose?

I would say that FDM printing in general is out of the question for this task, ABS and PLA would both melt in the oven, and the grooves in the print from the FDM process would make it a nightmare to clean.

My initial thought was an SLA printer ( $1000+ ) which uses a Photopolymer Resin hardened by a UV light, and based on its medical uses, I would think that it is food safe - I do not know what its melting point is however.

Another idea, one that would not too easily be done in house, is porcelain.

Shapeways offers a service that you could use for this - they say just $9 per part, 125 x 125 x 200mm maximum dimms, both food and oven safe.


Printing a building from its laser scanned exterior point cloud I have a very dense point cloud (billions of points) of the exterior of a building obtained by laser scanning it with a Leica head.
I successfully subsampled it down to around 500,000 and I'm trying to print the building by first creating a mesh.
I tried using CloudCompare, Meshlab and PDAL, using Poisson surface reconstruction.
However, the resulting mesh is full of holes, mainly in the roofs which have the lowest point density, and I cannot print it.
Is there any algorithm which could use the fact that the point cloud is precisely the exterior part of a geometric thing?

Yes there are similar algorithms, but (afaik) not as ready to use programms.
I wrote a bachelor thesis by my own, where i converted poind cloud datas of scanned surfaces into contour octrees. This based on the work of Laine (https://users.aalto.fi/~laines9/publications/laine2010i3d_paper.pdf) and the approach of using sparse voxel contour octrees, but instead of using polygons it used point clouds.
This way was intended to get fast, good approximated results for visualizing.

But there may be also other slower and more accurate algorithms.

Btw. this question is not good placed in the 3D printing forum, because it is a question about data conversion.


Platform support up to a certain Z height in Ultimaker Cura/G-code Ultimaker Cura offers a platform support type of “touching buildplate” which enables the printer to only make a raft for parts of the object that should be touching the build plate. It also offers “everywhere” for any object that might be hanging over the build plate.

I have a need to only offer support for overhangs up to a certain z height, such any overhang located at a z-point of 4 mm or below. Is there a software that will enable this, either as a setting/addition to Ultimaker Cura or just a G-code export for Pronterface?

Is there a software that will enable this?

Yes, as of Ultimaker Cura 3.3 Beta, Ultimaker Cura allows you to specify an area which will not be considered for adding supports. In your case you could define everything above 4 mm to be excluded from building support structures.

You can look here for this very new feature, it might be what you're looking for.


Bronze Filament Problem I made a torus that was 1 on the x and y axes, and 3 on the z axis in Blender. It is supposed to be a bead for a beaded necklace. It was exported to Cura as an .stl, then printed on a Lulzbot Mini. It worked fine in plastic, but when we tried it with bronze filament the nozzle clogged and it didn't start printing.
Is there something I need to add to the model that will provide instructions for the printer? The person who operates the printer says that most, but not all, of the models he prints in bronze have a border around them when they print, and this one didn't. I don't know if that makes a difference.

Since we do not know more about the printer and its settings it is most likely that the issues lies within the printer and the temperature/print speed settings. Fill materials do print differently than just colored plastic of the same type. Find valid print parameters for the type of filament that you can modify as needed for the printer that is being used (a good first gauge are the offsets the printer has for other type of filaments (thermistors might be offset for example) added to the 'literature values' of the new filament).

It might also be, that the nozzle was not clean when changing filaments and hence the clogging occured. Have you/your printing guy tried a 'cold pull'? How should I clean my extruder when changing materials?

Usually nozzle clogging comes down to knowledge about your printer and experience with the filament.


What is wrong with my first layers? I just assembled a Prusa i3 MK3 and went through the calibration process, but when I print the first layer doesn't look good and my prints come unstuck from the bed. I think it might be Z height but this was as high as I could put the probe without the paper moving on the calibration test. The layers after the first few look good but then the print either warps or comes unstuck and moves.

Judging by the images you posted in your question, the first layer distance is too far away from the bed for the current filament flow.

This could either be related to:

having an offset on the first layer like a height correction in the slicer,
an incorrectly levelled (read height adjusted) bed, (you did the paper test correctly, so this is probably not your problem, it is mentioned for completeness)
under-extrusion

slicer setting not correct, e.g. filament diameter or flow modifier not 100 %
incorrectly calibrated extruder

Your most likely problem is under-extrusion. It would be advised to calibrate the extruder: How do I calibrate the extruder of my printer? and check the slicer settings.


What is stepper motor binding? (When belts are too tight) Recently I have been getting some layer shifting starting at layer one. I have had layer shifting at higher layers due to various reasons but mainly for the belts being too loose. But now I am reading that layer shifting can also be caused by belts being too tight.

The RepRap wiki page for layer shifting simply gives the mechanical reason for this as "binding". Can anyone explain what binding means? I thought it meant that the rails were crashing into something but apparently it doesn't. Then I thought it meant that the X and Y axes weren't perfectly perpendicular.

Does it mean that the "teeth" of the belts stay "stuck" to the gear for too long when moving in one direction? Why would this happen in one direction and not the other? Because the pulleys/gears are at different heights? Or just because of the belts being tighter? Or one of these reasons?

Just trying to understand what its happening so I can debug it for my particular 3D printer.

I think the RepRap wiki is using the word "binding", which translates to "stick together or cause to stick together in a single mass" (from Google dictionary), to indicate that some sort of friction is experienced (as you experience when things are sticking together).

When there is too much tension in the belt, pulleys and bearings experience a larger radial force stressing the balls of the bearings and pulley shafts. This causes extra friction for the stepper motor to overcome (as the friction force, tangential, is related to the radial force); this means that the stepper has to work harder and can skip steps (for more insight please read below).

While ball bearings are used to reduce friction (opposed to a bush bearing), each ball has a little friction from a couple of sources according to this reference:

  The sources of this friction are: slight deformation of the rolling elements and raceways under load, sliding friction of the rolling elements against the cage and guiding surfaces.

These effects are generally captured in a single friction coefficient called "μ". The relation between friction force (tangential) and bearing loading (radial) is written by $$P_{friction}=P_{load} \times \mu$$ so the higher the belt tension ($P_{load}$), the higher the frictional force ($P_{friction}$), the harder the stepper has to work.


Y-axis layer shifting on my Ender 3 My 3D prints shift along the Y-axis on my Ender 3 3D printer. I don't know what to do. My Y-axis belt is tight, So I don't think that is the problem...

Check for wobble in the X gantry and Y gantry also your Y-axis belt should vibrate like a snare when you pull it and let go. Same goes for your X-axis belt. If that doesn't work see if going back to Cura 4.6 helps (it did for me) and lower your acceleration in Cura (advanced settings movement).


Can I use different sized steppers for different axes? So basically, I have 3 different types of steppers.

A NEMA 23 stepper for the Z-axis,
a good quality NEMA 17 for Y-axis and
another lower quality NEMA 17 for X-axis.

This setup should work right?. I'm using TMC2209's stepper drivers and all are well within the drivers rated phase current limit.

Each axis is fine using a different stepper size and/or quality. You will still need to tune their operating current and steps/mm for each of course. Make sure your motor mounts fit too.
Where it might become challenging is if you wanted two different steppers on the SAME axis. As in, a NEMA17 + NEMA23 for a dual Z axis. I don't think this is what you intend though.


Anet A8 Hotbed Not Heating Correctly For my Anet A8 I replaced the stock power supply 12V/20A with a eTopxizu 12V/30A, plus I added a fused 250V/10A power switch and mosfet.  The issue that I am having involves the hotbed, it has no issue heating up, but it doesn't heat up past 94 degrees Celsius when I try to print using ABS (not issues so far when printing with PLA).  When I originally installed the new power supply, I had the mosfet and the motherboard powered separately, but I tried powering them both with the same wire and the problem persisted.   I measured the voltage coming out of the power supply and it reads 12.44V, the voltage going into the mosfet reads 12.28V, coming out of the mosfet 10.58V, and the voltage reading on the hotbed is 10.25V.  If you need pictures of my wiring or anything let me know and I will update the post.

That is actually not uncommon to happen for the Anet heated beds, many users report this. Mine was able to reach about 100 ℃ out of the box (took a while to get there), but not beyond.

For the bed to reach higher temperatures you would need to make some adjustments. You should at least insulate the bottom of the heated bed with cotton or cork to reduce the heat dissipation by half. Note to speed up heating to e.g. 110 ℃, I often insulate the top of the plate with a removable piece of cotton or cork to remove it just before leveling and printing starts. Furthermore, replace the heated bed connector and solder the bed power wires directly to the pins at the back of the connector. That connector is NOT rated for the amount of current requested by the heat bed! E.g. due to the moving bed the connector jitters which leads to sparks; you see many pictures of burned or brown connectors on the internet. While you do that please consider replacing the wires to the heat bed also to some proper gauge silicone wire, AWG 14 should be good enough.

WARNING!

Last thing to mention of prime importance is that the stock firmware of the Anet printers has NO thermal runaway protection! I.e. if your hot end thermistor would fall out of the nozzle block, the firmware would detect the temperature drop and will keep sending current even if it does not measure a temperature rise. This leads to an overheated nozzle and is definitely considered to be a fire hazard!

Edit:

The answers to question How to increase bed temperature over 103 degrees are of great value to this question.


Build plate (PEI on glass) isn't flat after several months of use? I got a Wanhao Duplicator 6 printer branded as a Monoprice Ultimate about a year an and a half ago, 6 months after I got it I decided I hated the buildplate (I had to use a gluestick on every print to get it to stay down) so I removed the original fake buildtak, and got a piece of borosilicate glass and a sheet of PEI that I attached to it.

After about 8 months I started noticing issues with my bed being weird and never really being level no matter how much time I spent leveling it. (I level my buildplate by printing giant concentric circles, comparing the thickness based on the color in different portions, and turning knobs based on that.)  Today after an hour of trying to level my bed I decided to just print the model I was going to print anyways (a pyramid model) and discovered why it never seemed level.

It seems that different portions of my buildplate are at significantly different heights. Is there something I did wrong to cause this to happen, does it just happen over time, and is there anything I can do to fix it? My current plan is just to buy another sheet of the PEI and stick it directly to the aluminum buildplate installed on the printer. It would result in MUCH better thermal transfer between the heater and the PEI anyways, which is important because the whole point of PEI is that it sticks to PLA extremely well at high temperatures, and not very well at low temps.

If nobody knows what might cause this I'm just going to go ahead and get an new sheet of PEI and omit the glass (it was a bad idea anyways). Thanks for reading.

Looking at the picture, the first thing that came to mind was, "are you sure it's the bed?".

The height variance looks very regular, and while I'm unfamiliar with this printer's specific mechanics, my thought process trended to the Ender 3 and other v-wheel extruder mounts. If the extruder and gantry carriages are mounted to the gantry spars on V-wheels instead of sleeve bushings or other linear guides, and you've spent a lot of time printing small objects where those wheels are going back and forth over a relatively small travel distance for the entire print, you have been unevenly wearing the wheels so they've become eccentric around their rotational center, and this will cause the extruder to vary its height over the glass in a very regular pattern tied to the circumference of these carriage wheels. This happens especially quickly if you over-tighten the bearings against the gantry spars in an attempt to make the printer more precise.

If the printer uses sleeve bushings, the worn sleeve won't rotate, and any wear on the spar will be very localized to the areas in which you print, but if the printer has spent most of its life printing a grid of small objects (tokens, sets of small figurines), you can still get this regular wear pattern as the printer will spend more time over those areas of the bed.

The fix is to replace the wheels or linear bearings if the printer uses them. If it uses sleeve bushings and the gantry spars themselves are worn in this pattern, you might be able to rotate the spars to put an unworn (or less worn) band of metal on the top of the spar, depending on how the spars are mounted into the endcaps of the frame and y-axis carriages.


How do I determine the acceleration value for my printer? When the print head changes direction, the printer must accelerate and decelerate the print head. When calibrated correctly, the printer is able to do this quickly and without causing the printer to shake too much, without drastically slowing down the print process.

If I set it too high, my printer shakes violently, especially during infill. If I set it too low, print times are doubled or tripled.

What process can I follow to determine (or how can I calculate) the fastest acceleration value my printer can use without causing problems in my print?

I'd prefer a process I can follow over a formula I can plug values into, especially if the formula includes magic numbers.

As Tom pointed out, binary search is the best way. In case that term isn't familiar to all readers, here's a little more detail:

Establish an acceleration value that you're sure is too low (call it $L$), and one that you're sure is too high ($H$). It sounds like you know such values already from experience.
Figure out the speed in the middle: $(L+H)/2$.  Call that $M$.
Try printing at speed $M$. Something like a stepped calibration cube might be a good choice of object (plenty available on Thingiverse).
If $M$ is still too fast, take $M$ as your new high-speed limit (that is, reset $H$ to the value of $M$), and repeat from step #2.
If it's slow enough to work, take $M$ as your new low-speed limit ($L$), and repeat from step #2.

Each repetition will cut the range in half. Keep repeating until $L$ and $H$ get as close as you want; say, within 5 % of each other or so.

I wouldn't bother trying to get super-close, because the workable value will vary somewhat over time (friction from dust getting on various parts; slight voltage differences; different mass and pulling tension for the filament roll, temperature of motors, complexity of the object you're printing, behavior of the slicing program you use, you name it).


Customized Ultimaker 1: Extruder motor does not move I recently upgraded my Ultimaker 1. The upgrade includes a different stepper motor for the Extruder, the same a Ultimaker 2+ would use. I plugged the new motor and nothing happened.

To eliminate the problem I ordered a new PCB and stepper motor drivers, reassembled all electronics. For some reason the extruder does not move, and actually any other motor I plug into the extruder port doesn't either. I switched the driver, twice, but without a different result.

Can anybody tell me what component could be faulty or how I can find the problem? Could it be the Arduino board, even when I use the Ulticontroller? Maybe remove one of the jumpers next to the driver?

Did you heat the hotend before attempting to move the extruder?  Most firmwares block cold extrusion.  If you send the printer M302 it will allow the extruder motor to move without the hotend being above the temperature set in the firmware.  Jumpers next to drivers are used to set microstepping, no need to adjust these unless you changed to a different type of driver or want to use different microstepping.  Changing them usually requires changing the steps in firmware as well.  Also, swapping drivers or motors while the driver is powered can destroy it.


What is the simplest way to render an image of an obj exported from Tinkercad? I like Tinkercad so far for it's very simple UI. (I'm new to 3D modeling and very confused by Blender and the like.) However, I'm not using it to do 3D printing just yet. For I'd like to be able to be to slap textures on the models I make and get images of that. What is the easiest beginner way to do that (for Linux OS)?

Alternately, displaying the .obj directly in the browser with a texture would be great, too.

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

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

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

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


Would 3D printing multiple copies at once saves time? I am wondering - of course if the 3D printer's bed big enough - printing multiple copies of the same print could save me significant amount of time in a small production line, excluding minor wastage such as setup time, post-processing time, etc.

e.g. if my foo print takes 10 hours, printing 2x copies at the same time would take 2x times more, increasing linearly or it would be significantly less?

Actually no. It will take slightly more for each addition. You also then have the point of failure, where one gets knocked off and ruins all the prints.
The fastest way to print multiple objects is one at a time. In fact slic3r lets you do just that with their sequential printing feature.
The reason is, the time it takes to lift 0.5mm, travel the few MM over to the next object, lower the 0.5mm back down.. Repeat for inner shells, outer shells, infill.. all add time. Doesn't seem like much till you do it 14,000 times.
In the case of your example, it would be negligible. In more complicated or well spaced prints its another story.
For extra extra fast, look into loss PLA casting...


Monoprice Maker Ultimate Extrudes Too Much Filament At Start Today I received my Monoprice Maker Ultimate 3D Printer. It is a rebranded Wanhao Duplicator 6 for reference. I am using the default settings for a Wanhao Duplicator 6 in Simplify3D.

Here is the Start G-Code that Simplify3D has setup for me via the Configuration Assistant:

G28 ; home all axes
G92 E0 ; zero the extruded length
G1 Z10 ; lower
G1 E20 F200 ; purge nozzle quickly
G1 E10 F60 ; purge nozzle slowly
G92 E0 ; zero the extruded length again
G1 E-1.5 F400 ; retract
G1 X170 Z0 F9000 ; pull away filament
G1 X180 F9000 ; wipe
G1 Y20 F9000 ; wipe
G1 E0 ; feed filament back

The problem is that right before a print, the extruder squeezes out a bunch of filament making a nice little spiral tower. It is a waste of filament. I suspect it is all the purging in the Start Code that is doing it, but I don't know what I should change because I don't know what is necessary, so I am coming here to ask the question before I start experimenting. Has anyone had this problem? Does anyone know the solution?

Update: I tried printing one of the models that came on the SD card with the printer (I think it was created with Cura) and the Start G-code is different.

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 F4800 ;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 F4800
;Put printing message on LCD screen
M117 Printing...

It also uses absolute positioning. It got going without purging a bunch of unnecessary filament on that print. Now I am not sure how to combine these two to get the good working starting G-code. Any ideas?

Changing the Simplify3D start script to this will change the nozzle purge to the same length as what was on your SD card.

    G28 ; home all axes
    G92 E0 ; zero the extruded length
    G1 Z10 ; lower
    G1 E20 F200 ; purge nozzle quickly<---------Change E20 to E3, E is the extrusion length
    G1 E10 F60 ; purge nozzle slowly <----------Remove this line
    G92 E0 ; zero the extruded length again
    G1 E-1.5 F400 ; retract
    G1 X170 Z0 F9000 ; pull away filament
    G1 X180 F9000 ; wipe
    G1 Y20 F9000 ; wipe
    G1 E0 ; feed filament back

The rest of it is just moves to try to clean the nozzle.


"print" menu not loading on Monoprice MP Select Mini V2 I have an MP Select Mini V2 and when I turn on the printer and select the "print" menu it hangs while saying "please wait" instead of listing the .gcode files stored on the SD card.
I have been using that printer with that SD card for hundreds of prints without error. It started when I took it out and added a new .gcode file (sliced in Cura with the same settings as I always use) and placed it back into the printer to print it. When I connect the SD card into my computer (Windows 10) everything seems normal with the card.
What could be causing this issue?

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


Nema Stepper used in Flashforge 3D printer I am using Flashforge Creator Pro and a Flashforge Finder

I want to know which NEMA stepper model is used in each of these two printers, or is it NEMA 17 for both?

Their model numbers are:

42HB40F08AB-04 [W-42MM, L-40MM], and;
42HD4027-01[W-42MM, L-40MM]

Nema 17 is about the physical size of the motor, ie screw hole placement. It doesn't specify anything about the power of the motor. If you are looking to replace the motor, you need quite a bit more info than that it is Nema 17, such as the steps/rotation and the holding torque.


How to line up (x,y) print area between hardware and software? I'm trying to line up the physical print bed of my printer (Printrbot  Simple Metal) to the virtual print area of the slicer (Cura). So far, they've never been properly aligned. It was never that big a problem because, worst case scenario, my print would simply not be dead-center on the bed. But I've decided to try and fix it.

Here are pictures of a test model in Cura, and the resulting physical print:

What's the proper way to align the two? It seems I just got lucky with the x-axis here (though note that the BuildTak surface is a bit off center). But obviously the y-axis needs fixing. The print needs to start a little lower, because print-head couldn't reach the highest point, and the y-axis motor slipped to compensate.

Ideally, the fixed parameters of the print bed size and offset would be set by the Marlin firmware (EEPROM?). But I also need to be able to do a little offset tweaking on the software side for when I need to replace the BuildTak mat.

Edit: I tried M206 (home offset) commands, but the result is definitely not what we want. I cancelled these early.

The upper print has M206 Y-15, the lower print has M206 Y15. What seems to happen is that the coordinate system is not physically shifted. Instead, the area is 'cropped'. All filament that should go outside the boundaries is actually extruded 'on the edge', resulting in an ugly blob.

The problem you are experiencing is because the position where the y endstop is triggered does not correspond to y = 0, but perhaps corresponds to y = 15 (replace 15 by the offset you're seeing). You can perhaps solve this by adjusting the endstop to trigger at the correct point, but you can also adjust this behavior in software: In your start G-code, after the homing (G28) command, insert a G92 Y15 to tell the printer that the current position (reached after homing) is actually y = 15.

Another option is to use the M206 command to permanently store the offset in EEPROM (rather than needing to provide it in the start code each time).

If your printer moves towards max rather than min, the same applies, but consider that the offset may be caused by the bed size defined in your firmware not corresponding to the bed size set in your slicer.


Choose infill percentage Since I'm running a 3D printing facility of an engineering school, students are always wondering how much infill percentage affects the stiffness of the part. I know that it is impossible to get a numerical solution for this question, but maybe there is an option to simulate in software an already sliced model. I haven't seen in any slicer an option to export as .stl or .step or any other format which can be accepted by simulation software. Has anyone seen or thought about something similar?

I don't believe that slicing engines create any sort of solid model that would be useful for CAD simulation. When a slicing engine slices a 3D model, it's goal is to spit out the preferred machine paths in G-Code (of some kind). However, I've read a few articles, done some tests, and heard through the grape vine that anywhere between 10%-35% is good enough for most applications. I once watched a webinar for understanding the new MakerWare interface that explained how they chose such settings. Although I can't find the clip directly, here is the page for all of MakerBot's webinars. I think this webinar was the one I watched explaining a little bit about preferred infill percentages.

From experience, anything over 35% doesn't yield much more strength from infill side of things. Beyond 35% and you're going to want to reconsider how you're orienting the print when you print it and what you're printing to utilize the grain structure for proper strength.

However, infill percentage/patterns are not the only variable for creating strong parts. Infill is really just a way to save time and material. Here are some other ways to potentially increase strength:

Increase your shell. Shell is the number of profile patterns per layer. Typically (in FDM/FFF), each shell is about the diameter of your extruder nozzle.
Increase your floor/roof. Similar to shell, floor/roof refers to the number of layers that make up the "bottom" and "top" of the part with regard to the build plate.
Print orientation. Pay attention to which areas of the part are susceptible to strain along the "grain" of the layers. Try to rotate your part on the build plate in a way that minimizes potential failure both in print and post-print use.
Post process. Don't be afraid to do some post-processing to increase the strength. There are some 3D printers on the market that go as far as including Kevlar strands in the printing process to beef up their prints. However, it may be as simple as just coating the part in an epoxy with some basic finishing techniques. It's a bit more work, but it turns weak 3D printed parts into full production quality prints.

Update:
Based on some of the comments, it sounds like your best bet might be to find a custom application that can either convert the g-code file into a solid model (try CAM software?), or create a plugin for your CAD software (I know Unigraphics NX and Solidworks allow for this) and essentially recreate your own slicing engine that takes your solid model and generates the same infill pattern dynamically inside.

Perhaps look into the works of Simlab or similar which has a lot of 3D software plugins. I'm not promoting them and I don't work for them, this is just a reference of what to look for.


Marlin firmware question for dual extruder I've recently added a second hotend and extruder assembly to my 3D printer and I've made all the necessary changes in the firmware. I've defined the temp sensor for hotend 2, all the pins for heat and temp as well as defined extruders as 2 instead of 1.

The problem is that the printer display in the motion menu is showing

Extruder
Extruder E1
Extruder E2

"Extruder" and "Extruder E1" both control the primary extruder and "Extruder 2" controls the second extruder.

Any tips, ideas, suggestions?

There is nothing to worry about, this is a feature not a bug.

Extruder refers to the active extruder, the loaded/active tool. Based on the active extruder the Extruder controls either your Extruder E1 (this is known in the firmware as Extruder E0!) or your Extruder E2 (the Extruder E1 from the firmware).


MKS base 1.5 (E0 & E1) not working I have bought two MKS base 1.5 boards. Both extruder ports are not working. I made sure the stepper motor still works and that there is nothing wrong with the Marlin firmware that I know of.

Any ideas?

The OP has solved the problem as read from a comment on a deleted answer. So far the OP has been reluctant to post the answer; therefore his comment is converted into a community answer.

It appears that the OP had incorrectly configured his firmware considering the comment:

"I figured out what was wrong. Turns out the no extrude command was uncommented and worked fine when changed the min temp on it."


What calibration options should I look into given these defects I printed a temperature calibration cuboid for Hatchbox 1.75 mm PLA, in 1 °C increments from 180 °C to 190 °C.

I have two questions related to this image:

I'm not seeing any difference in quality across the temperature range. Am I just way off base and need to be substantially higher?
How do I get rid of the small layer shifts you can see across the board?

Printed on a RepRapGuru Prusa MK2 clone.

Your print does not suffer from layer shifts as you call them. This uneven layer deposition is typically caused by the (positioning) accuracy of your printer. All-in-all, this print does not look so bad. You would get better quality prints on a different style of a printer; most high-end printers have a lowering platform instead  of a forth and back moving platform.

Although 180 °C is at the low side of printing PLA (usually it starts at about 185 °C), the print does look okay. However, looks can deceive, it does not say anything about structural integrity (layer bonding).

Note, to calibrate the temperature using a temperature tower, you need a different calibration test print, preferably one that tests overhang. This latter is usually far more important as there is normally not much to see at the walls, you need a slanting part in the print or an overhang to determine the optimal temperature.


Ender 3 pro extruder skipping steps, tried multiple things I've already asked this question somewhere else but unfortunately I had little luck.

So... my Ender 3 Pro extruder just started skipping steps, as in the gears (and the gear pinion) will rotate but the filament won't flow. It all started when I changed PLA filament to a new roll; I thought it might have been the roll faulty so I've tried a spool that had been working fine until 2 hours before it all started. Nope, skipping with that one as well.

Here's what I've tried doing so far:

Replaced the stock PTFE tubing with Capricorn tubing.
Checked that the tubing is tight and does not have play.
Replaced the whole extruder system (except for the extruder motor) with a metal Creality system.
Performed various cold pulls.
Replaced the nozzle.
Upped the extruding temperature from 195 °C to 205 °C.
Checked that there's the correct distance between the bed and the nozzle.
Yelled at the printer.
Asked for advice to my cats.

None of the above worked, and my cats looked funny at me. Print settings as below:

Filament diameter in the slicer 1.75mm (yes I've checked).
Temperature: 195 °C, upped to 205 °C.
Print speed: from 20 mm/s for the first layers to 50 mm/s for the infill.

I've also reverted back to the old PTFE tubing as I noticed that the Capricorn was giving too much resistance to the filament. Nope, still skipping.

I've noticed that the extruder gear grips quite firmly onto the filament, so much so that when it starts slipping it actually eats away the filament until it breaks. It's almost like there's a clog somewhere but the tubing is clear, the hot end is clear (I've cleared it and checked multiple times), and the nozzle is brand new.

What else can I try? Have I missed something? Apart from the changes listed above (carried out after the extruder started skipping), the printer is absolutely stock, firmware and everything.

UPDATE: I've changed the factory hot end bloc with a brand new one, changed PTFE tubing one again, making sure it's as close as possible to the nozzle (unscrew nozzle 1/2 turn, fit PTFE, screw nozzle in) but it didn't change anything at all.

The extruder still skips steps as it can't push the filament out of the nozzle. Pushing it manually feels nice and smooth until it hits the nozzle, where I can feel too much resistance.

UPDATE 2: I've modifed the following parameters on the EEPROM to limit the filament flow:

M203 Z5.00 E25.00
M201 E1000

I've also crancked the temperature up to 220°C but it made no difference whatsoever. What I've noticed is that, after cleaning hot end and tubing, it starts skipping after 1 hour of printing, every single time without fail.

UPDATE 3: I've checked the input voltage from the PSU and it's 24V; the Vref for the extruder is 0.744V, so everything looks as expected.

UPDATE 4: The extruder idler pulley has a compression washer to hold it in place without impeding idle spinning; it is usually mounted in the order idler pulley, compression washer and bolt. I've noticed that the pulley wasn't spinning freely this way, so I inverted the order to compression washer, idler pulley and bolt. The bolt head is small enough not to stop the pulley from spinning.

I've also increased the pressure the spring arm excise on the idler pulley, so that the toothed pulley grips more firmly on the filament.

This way I've managed to improve things although not solve them. It's been printing for the last 3 and a half hour without skipping but it's not a solution, as the toothed gear is chewing too aggressively on the filament. In just one hour a good deposit of PLA shavings has formed on the extruder, and I had to blow it away, and this never happened before this all started.

Since you've said you can feel a problem at the nozzle pushing it through manually, and since you say it goes away for a while after cleaning, you probably have somewhere that molten filament is getting into that it's not supposed to, then solidifying and jamming. Check that the cooling fan for the heatsink on the coldend is working, and that the PTFE tube is properly installed all the way through the heat break and butted up against the nozzle with no gaps or irregularities, and that the pressure fitting is holding it firmly and not allowing it to back out. If you can't find anything wrong, it's possible that something is just defective/damaged inside the hotend assembly.


Gluing silicon heater to aluminium I am making a bed for my 3D printer. I have bought a silicon heater (31x31 cm) and I want to glue it to my custom aluminum bed. The tape that it had from factory was bad, so I removed it. I want to glue it to the aluminum and I don't know what type of adhesive to use, I was thinking gasket glue with silicon, but I think that it will have bad thermal conductivity. I found this product, a silicon based,  heat transferring paste, but I think that it will not stick good. What is a good adhesive for this purpose?

I suggest not gluing it. Starting from the top, make a sandwich this way:
Aluminium with holes for bolts - Silicone heater - Thin cork (the one from IKEA, 2 mm thick for office desks is fine) - Thin plywood with holes for bolts (or other stiff material holding at least 60°C)
This way you use the aluminium and the plywood to keep the silicone heater well in contact with the aluminium, and the cork insulates so that less heat is lost on the bottom side.
Also, cork is fire-retardant.
If the heater fails replacing it is simple.
Also, you can and should cut away from the cork some space for a thermal non resettable fuse at 180°C to cut power if the heater overheats.
In my case I should have used one more bolt, as you can see in the photo.


How to wire P.I.N.D.A. v2 to an SKR V1.3 board? I bought a BigTreeTech SKR v1.3 main board and a P.I.N.D.A v2 for my P3Steel MGN. Does anyone know to wire them together and which part in Marlin 2 do I need to change?

TL;DR
To answer your question how (by assuming you have a 4 pins PINDA v2 sensor) to connect the sensor to your board, you have 2 options:

Do not connect the white wire and treat the sensor as you would use a normal endstop switch (blue is ground, brown is +5 V, black is signal),
Connect the 4 wires (use a splitter cable to split out into a 3 and 1 pin connector, see image below), use the additional pin to read the thermistor value through a free analogue pin, this requires you to do a lot of code changes if you are using a different firmware than the original Prusa firmware.

The PINDA v2 auto bed leveling sensor has an additional wire, usually these bed leveling sensors only have 3 wires (power, ground and signal). The PINDA v2 probe has an additional wire that is connected to a thermistor. This thermistor reading is used by Prusa to compensate the trigger distance with temperature variation.

Wiring the fourth pin would require to reverse engineer the logic behind the temperature compensation if you aren't using the firmware of Prusa (e.g. when you are using Marlin firmware; this is not very simple!). Do note this is something engineered by Prusa printing engineers and implemented in their custom fork of Marlin firmware.
E.g. the compensation is calculated in Marlin_main.cpp by function temp_compensation_pinda_thermistor_offset. This function is called to return the offset based on the read temperature (actual calculation is done in temp_comp_interpolation(temperature_pinda)):

#ifdef PINDA_THERMISTOR
            offset_z = temp_compensation_pinda_thermistor_offset(current_temperature_pinda);
#endif //PINDA_THERMISTOR

It is perfectly fine to not connect the white wire, this is the signal needed to read out the thermistor value used for the temperature compensation. This will disable the compensation feature and will revert the sensor to a normal inductive sensor.


A4988 driver cooling specifications When exchanging the mainboard of my Ultimaker Original, I found the new (unoriginal) mainboard to have a condensator that is quite a little higher than on the original, which means the fan duct doesn't fit any more.

I read somewhere that those A4988 stepper motor drivers don't have to be actively cooled, but a heatsink will be sufficient:

After testing the theory I found the heatsinks to be really hot, but not too hot to touch. Sadly I do not have any means of temperature measurement other than my fingers...

How hot do they normally get, when should I abort printing and look for a different solution?

Are there any good solutions other than the original cooler & cooling duct?

A4988 become hot when a lot of current draw from them . If it is  more than 1.5 Amp. Also you will notice missing steps, missing layers, abnormal print and Stepper motor become hot .It automatically shutdown at max temp.


How do I keep the .stl files from being resized while exporting? I made a few models in Autodesk Inventor. When I tried to get them printed, the printer created a model smaller than the model I made in Inventor (270mm x 200mm). Is there a way to keep them from getting resized?

Here is the model in Inventor:

And here is the model being visualized by the printer driver:

.stl Basics
The .stl format has no inherent sense of which units you use. items are to scale to an ambiguous 1, which could be 1 meter, one millimeter, one lightyear or one inch. To a .stl, only the relative sizing matters. All these faces you see are compared to a line with the length of 1-unit that is
Slicer-Modeling Software interaction
The most common graphic design programs export in millimeters, but some US ones just assume inches, which is a factor of 1"=25.4mm.
Cura, Netfabb, and Slic3r expect that the 1-unit line is one millimeter long - but if it is an inch instead, then the model is shrunk by 1/25.4 or to about 4% of the right size. Scaling up by 2540% one would return to the millimeter scale.
But then there are other programs that use other choices of scales. Blender for example assumes a scene is in meters by default.
Inventor
Inventor can export .stl in a variety of scales, which all just serve as how the length of the inherent but invisible 1-unit line is drawn. The default choice is centimeters, so a scaling factor of 1cm=10mm, which would explain the models being only 1/10th of the expected size in Slic3r. to change the scaling, follow the manual:

upon exporting a .stl, click Options
under Units, choose mm


Multi-color printing with desktop 3D printer? My MakerBot printer supports only two filaments at the same time.

What are techniques to print objects with more than two colors for one object?

The most obvious solution is to pause the print and swap filament for another color.

Another option is to splice pieces of filament together, though this does not allow very precise control of when the switch happens. There is also a device that can automatically slice filament this way.

Finally, another option that uses very little external equipment is to use (permanent) markers to colorize light-colored filament.

Other options include upgrading to a printer with more hotends, or installing a hotend with multiple filament inputs and one outputs, but these options would involve significantly changing your printer setup.


Advance extrusion, extruder code help? I not sure what this code does..... I recently bought a titan extruded that needs to be calibrated with my printer (417 microsteps http://wiki.e3d-online.com/wiki/Titan_Assembly#Firmware_Calibration).

I am having a hard time understanding why they have D_Filament at 2.85 (my printer was made using 1.85mm filament) and why they used it twice in there equation. Also, what are the arc interpretations for?

#ifdef ADVANCE

#define EXTRUDER_ADVANCE_K .0

#define D_FILAMENT 2.85

#define STEPS_MM_E 836

#define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)

#define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA)

#endif // ADVANCE

// Arc interpretation settings:

 #define MM_PER_ARC_SEGMENT 1

 #define N_ARC_CORRECTION 25

The extruder advance feature is probably not enabled on your printer, so this code effectively does nothing (and you don't need to mess with it). Extruder advance is a feature that tries to compensate for the delay between feeding (or retracting) the filament and the point at which it actually starts to extrude, but it's generally not used. The fact that the manufacturer left D_FILAMENT at the default of 2.85 probably means they didn't enable this. You can check whether it is enabled by seeing if there is an (uncommented) #define ADVANCE.

The reason D_FILAMENT appears twice is because they're computing the cross-sectional area of your filament, which proportional to the square of its diameter.

The arc interpolation settings have nothing to do with extruder calibration at all, but define the resolution at which G2/G3 approximate arcs. G2/G3 are currently not supported/used by most slicers, so you can safely ignore these settings since they don't do anything that would influence regular printing.

The only thing that you should change is the following line in the Configuration.h file:

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

Leave the first three values as-is (they may be different for your printer) and change the last one to 417.

You could also avoid changing the firmware at all, and use M92 E417 to set the steps per mm for your extruder, or (if you have an LCD) use the LCD to adjust the steps per mm.


Retraction Causing Skipping I am trying to get rid of stringing on my prints, to do that I have tried turning on a retraction in Ultimaker Cura, and reducing flow.

When I turn on retraction it causes the extruder to skip on the filament. the extruder pulls the material out as it should, but when it pushes back in as it prints the next parts it goes part of the way then it skips making the bumping sound, it seems to do this almost every time that it retracts.

To stop this from happening I have tried changing the retraction distance from 10mm to 5mm, the retraction speed from 60 mm/s to 40 mm/s, the flow from 100% to 90% and the temperature from 200 °C to 220 °C.

I am using the Ender 3 running Marlin 1.1.9 with an aluminium Bowden extruder upgrade and BLTouch.

How do prevent this skipping due to retraction?

Update:

After changing the setting to what has been suggested in this answer the result of the retraction print resulted in:

It has almost completely solved the stringing problem as well.

Fighting stringing will not work by increasing the temperature of the hotend.

There could be 2 possible causes for your problem,

the first is that you still have a too high retraction speed, too high for your stepper to follow (do note that the default value in Ultimaker Cura is 25 mm/s),
the second is that you retract too far and the cooled "hot" filament tip is deformed and causes extra tension/friction in the extruded liner.


How to re-program Prusa firmware to accept a taller Z axis? Machine specs: Prusa MK3, firmware version 3.1.2.

Facts: I have designed a new Z-axis frame for my printer, so I can print models up to 360mm high in stead of the standard 210mm.  The plan has worked and the printer is functioning normally with a new, taller z frame.

However... To calibrate, the Z lead screws carry the X carriage all the way up and bump it against the top frame mounts, to make sure the X carriage is level.    On the taller frame, the X carriage stops its ascent at 220mm and descends back toward the bed.  Because the X carriage goes up farther than it was 'supposed to' and didn't bump into anything, the calibration fails.  When the X carriage bumps into something at 210mm (like my fingers) and descends from the 'normal' frame height, the printer calibrates the bed levelling normally.

The Prusa MK3 is so 'smart', it still thinks the frame will only ever be 210mm high.  How do I tell it that when calibrating, the X axis must rise to 360mm instead of 210mm?  The calibration is an integral part of the firmware... is there any way I can edit it?
I've looked at the .hex firmware file, this is the first line of a huge text file -> :100000000C947D320C94AE320C94AE320C94AE3221  It means nothing to me, but I'm guessing there's a way.  After all, a cap height of 210mm had to be written in there somewhere to begin with...

Any suggestions would be appreciated,
fairfarren.

A .hex file is of no use to you, because it consists of compiled firmware which is very difficult to edit. You need to go to Prusa's GitHub and download the source code. Then, find the header file for your model of printer, and change Z_max_pos to the correct value. Finally, you need to compile and upload the firmware to your printer following the build instructions (see README.md). You will need to have the Arduino IDE installed to do this.


How to upload firmware to reprap printer? When trying to upload firmware I get the following errors:

timeout - cannot sync, or
port is in use

What can be the possible sources of these errors?

There are mainly three reasons for that:

Arduino studio settings should be:

Board: Mega 2560 and
Programmer: AVR ISP
and valid COM port, please see below:

Please close all slicer's instances (Cura, Slic3r, Repetiter)  and host servers and other software that communicate with the printer as they lock the COM port;
Please check that the appropriate usb2serial drivers are installed and working - the best way is to start the serial monitor from the Arduino Studio Tools menu and see if there are any.


How drastic is reversing the polarity of the power supply to a RAMPS board? If I accidentally reverse the polarity of my power supply to the RAMPS board, what exactly will be damaged?

Will it harm my:

RAMPS;
Arduino Mega;
Stepper motor and/or drivers, or;
Any other electronic part(s)?

Will all or some of them be permanently damaged?

Polyfuses on the RAMPS
Fire appears to be the immediate issue, in the poly fuses.
From Reddit: reversed polarity, RAMPS on fire

Sooo I made the dumb mistake of reversing the polarity from my psu into the RAMPS 1.4. As warned the ramps did not like this and smoke began to rise from the board. I am pretty sure I saw smoke only coming from the two ptc fuses (big flat yellow ones).

Replacing poly fuses
Note: Older RAMPS 1.4 have easily replaceable large poly fuses, whereas the RAMPS 1.5/1.6 use SMD poly fuses, see 0scar's answer to RAMPS 1.4, 1.5 or 1.6?

Arduino
According to this user, the MOSFETs and the Arduino Mega's regulator can be fried as well:

it most likely fried the mosfets next to the fuses and probably the voltage regulator on your arduino.

However, the fried regulator would only affect the Arduino's operation if powered through the power socket, or VIN (which the RAMPS board uses to power the Arduino Mega). However, via the USB it should still work. See this post, on the same thread:

The voltage regulator is only needed if you supply power to the arduino via the Vin pin or with a separate power adapter. The RAMPS board does supply the Vin pin with 12V.

So, you would probably have to rely on powering the Arduino via the USB and not the RAMPS
Regarding the Arduino, on Arduino.SE there are a number of users who have fried their Arduino in this manner, and many of them suffer slightly different failures, although most are centered around the regulator. One case I remember was that of a capacitor burnout, see Is my Arduino dead? - although the use case was different. There are many other cases on the Arduino.SE.

Protection Diode
According to this post on RepRap - Reverse Polarity, there should be a reverse polarity protection diode (although it appears not to have work in the above example):

If it was a ramps, those have a reverse protection diode across the input that normally needs replaced after such an incident

Stepper drivers/motors
The stepper motors themselves should survive, as should the stepper drivers.
However, each case can be different and it would depend upon the quality of the board (is it a cheap clone or branded?), and the quality/tolerance of the components used - these factors would determine where in the chain of modules the failure occurs. Obviously, the earlier the failure's location in the chain the better.

MKS Base v1.2
As an aside, this user fried their regulator (the fuses were fine) on a MKS Base v1.2 (not RAMPS), by reversing the polarity, which caused the stepper drivers to fail. However, replacing the regulator fixed it, see this post:

Replacing the regulator chip did fix the board.

Rather helpfully the self same user has posted an Instructables of the repair: MKS Base reverse polarity repair.

RAMPSXB
There is no protection diode on the RAMPXB. From RAMPSXB:

Do NOT reverse polarity on the input pins, as there is NO PROTECTION DIODE. Reversing polarity will not only fry your steppers and FETs, but may even damage your Arduino and possibly even your computer. Triple check to make sure the polarity on your power input is 100% correct!

See also

Arduino Forum: Checking the RAMPS 1.4 for some handy troubleshooting tips for the Arduino and the Stepper.

This user on post #5 of Arduino Forum: Checking the RAMPS 1.4 did manage to fry their stepper drivers, but not due to reverse polarity, by from a loose wire:

I didnt connect the power backwards, but either I had a defective Mega2560 clone, or some stray bit of wire somehow shorted something out, and the Mega2560 literally went up in smoke (almost caught on fire !)
Every stepper driver was destroyed, but the power FET's and other components survived


Saving BL Touch settings I have an Ender 3 Pro with a BL Touch.

In my G-code should I add an M500 after the G29, to save the results to the EEPROM? I know storage size is an issue, so does storing these results cause an issue?

I believe the saved results can be activated before the next print using: M420 S1

If I do, does that mean I just auto home (G28) but don’t need to run a G29 until I think the bed has lost its level?

I was trying to clarify this after reading:
BL Touch Probing Fails Intermittently

From this source you can read:

  After a G29 the leveling data is only stored in RAM. You have to use M500 to save the bed leveling data to EEPROM, otherwise the data will be lost when you restart (or reconnect) the printer. Use M502 to reset the bed leveling data (and other settings to defaults). Use M501 to reload your last-saved bed leveling from EEPROM. This is done automatically on reboot.

The source also answers the use of M420 S1:

  After a G29 bed leveling is automatically enabled, but in all other situations you must use M420 S1 to enable bed leveling. It is essential to include the command M420 S1 in the “Start G-code” in your slicer settings. If you have no bed leveling, or if there is no leveling data, then this command is simply ignored.

So, if you're not using a G29 in your start code you must use the G-code  M420 S1 to enable the stored mesh from memory.


Would a steel, instead of an aluminium, plate be reasonable? I have a Flashforge Creator Dual.

One corner of my print bed is warped down.  I am thinking about having a steel print bed made so it would tend to stay flat.

Has anyone tried this?

I would consider getting another aluminum build plate for the following reasons:

Lightweight. Aluminum is a very lightweight metal, making it suitable for most machines that have injection molded platform arms. This reduces potential sagging of the arms and overall load on the -Z- axis stepper motor.
Conductivity. Referring to this simple Google search for heat conductivity, aluminum is significantly more conductive than steel (205 vs 43 respectively) with copper at about double that of aluminum.
Availability. Aluminum is already a widely used material for 3D printing, so finding one will be relatively easy and probably cheaper than having a steel build plate custom made.

In conclusion, I personally would not recommend using steel for your build plate as aluminum seems to have the most benefits. Yes, steel will be more rigid and durable, but I don't think that these should be variables that are significantly more beneficial over aluminum.


Cantilever snap-fits print axis I'm new to 3d printing and need to design and print a case on an Ultimaker S5 using PLA.
The case is box like and consist of a top and a bottom part. I was thinking about cantilever snap-fits to join the two parts. I read that these snap-fits need to be printed in the X-Y-plane for better stability. However with the bottom/top side down the walls will be in the Z-axis and thus the snap-fits would be printed in the X-Z- plane. If I would print the part lying in it's side I would need a lot of support in the inside. How am I supposed to do this correctly?

Also what tolerances should I use to make the parts fit well while still being separable?

Let's look at the general design.... it is a case... so a box of to halves. And we need some kind of connector...

How about splitting the connector into a separate C-shaped piece? That way the connector clip can be printed with the C to the plane, getting maximum durability out of either pice. You just need to print some short overhangs, the clip going around the central box, possibly in dedicated notches. Also, this is easily removable from the outside with a screwdriver. And easily replaceable. Also, both sides could be identical, if designed in the right way.

Or we use a slot in the lower body, and a Y shaped slot in the top, and make the connectors have a flat hook that matches into the lower body (push in from below) then the split top pushes through the top and latches in... This isn't removable from outside easily.

Third alternative: bolts. If the item inside the box - a PCB? - is going to be bolted to the lower case anyway, why not add extra long screws and have the top case be bolted to the lower case with the same screw that holds the PCB in place? Or, just use a pair of additional bolts and nuts on the corners.

Edit: Recently, Angus aka MakersMuse uploaded a video discussing snap-fit connections and how to make them 3D printable with the example of a backpack buckle.


Ender 3 BLTouch fails in assorted ways My recently installed BLTouch probe regularly fails to perform ABL properly.  There seem to be 3-4 failure modes:

Probe manages some points but fails partway through, with a "probing failed" message on the LCD screen, rendering it necessary to power-cycle the printer
Probe deploys on some point, then stows itself immediately, and treats that point as being a centimeter or two about where it actually is.
Probe completes all 9 points, then heats the nozzle in the back corner and never moves. The progress bar on the LCD counts up and eventually it claims to have finished the print, but the steppers (including the extruder) never move.
Probe flashes red throughout the cycle, which I believe means it failed a self-test probably because the mainboard started trying to speak to it before it was initialized, but occasionally when this occurs, it still works as expected.

For avoidance of doubt - sometimes it actually does work, and I get beautiful prints that adhere well during printing but are easily removed afterwards.  And I have never had any issues with the Z homing using the probe, only the auto mesh levelling.

My setup:

Creality Ender 3
v1.1.4 mainboard with non-silent steppers
genuine BLTouch v3, with official Creality pin27 kit
Marlin 1.1.9 bugfix firmware, downloaded as hex file
single iteration of probing
9 point levelling mesh
Ultimaker Cura slicer 4.2.0
Start G-code heats bed, homes G28, performs ABL G29, then heats nozzle (I don't have the actual G-code on my now as I'm away from my slicing computer)

[Related question: BL Touch Probing Fails Intermittently but answers do not apply as I am already using bugfix firmware and have checked all the cabling and connections]

You had a faulty BLTouch. Mine experienced the EXACT same behavior and replacing it with a new BLTouch fixed the issue entirely (everything else I kept exactly the same, firmware etc), I simply swapped over the probe + cable with the new one.

When connecting the new BLTouch, make sure you wire the servos connector correctly. In my case with an SKR Mini E3 v1.2 I needed to switch the red wire with the blue wire. If you start the printer with the wires the wrong way around, it may cause damage. I suspect that is what happened to my original one.


Are black filaments more brittle? I've been 3D printing for a while and I've noticed that, when printing small parts, my colored plastics (PLA, PLA+ and ABS) have better layer adhesion than black ones.

Did you notice this?

What could be the cause?

Not inherently.
There are two things at work that might cause one color to test weaker than others even as its properties otherwise are functionally identical:

A bad print among good ones.
A bad roll among good ones.

Let's take a look at both, then do a little excursus into plastics and color.
A bad print
There are probably thousands of reasons a print might fail, but bad layer bonding and squish-ability under torsion strongly hint to under extrusion. Now, under extrusion itself can be caused by a plethora of reasons: a clogged nozzle is equally as possible as too thinner diameter as is just a bad temperature. The last one is, in my opinion, the most likely culprit: filaments may look the same and feel the same and bond the same, but in different colors, they sometimes demand different print settings.
As an example, I print most of my Kaisertech PLAs at 200°C, as that offers a quite good result for all of them. Yet when I started I had a white China PLA and a crystal clear PLA from the same manufacturer, both came from the same warehouse in the same shipment. The clear one is quite more brittle on the roll, but their starting-to-print temperature differs by 5°C - the white started to extrude at 180°C decently and printed ok at 195°C-200°C, while the clear needed only 175°C to start to be extrudeable and was really printable at 190°C. Yet recently I tried the same roll again to achieve fully clear prints, and with 210°C and lots of overextrusion, I managed to go almost solid-clear. Because of such experience, I suggest tweaking the settings.
A Bad Filament
There are several reasons why one roll might resulting in bad prints, but the most prominent are that the roll has gone bad over bad storage. It might be stored too hot or too humid, making it brittle or bubble in the hotend. Aging under UV plays a role (it degrades PLA). And dimensional accuracy plays a role because it affects the whole roll of filament. This is why tests should always be performed with equally treated and measured samples to achieve comparability.
Excursus: Plastics and color
What gives a plastic its color? Pigments added to it. Now, pigments can be of varied kinds. Usually, they are embedded in the plastic (=not bonded to the carrier plastic), and the plastic polymer is often either inherently transparent(ish) or white. Let's take some examples to look at...

Yellow. Yellow can be made from a lot of stuff but many yellow pigments react to UV light by decay more than other colors, leading to yellow to fade quickly in comparison to other colors. It has varied chemical compositions, often they can become quite complex.
Black. Black pigment is typically the most simplistic coloration to achieve: pure powdered carbon is one of our most potent black pigments, and also one of the cheapest, making black plastic one of the most common plastics. In contrast to other colors, carbon can't fade. But the plastic around it decomposes and turns white, fading the color this way.

Now, most colorings are - in physical terms - sizeable. Some few to a couple dozen atoms, making them range in the Angström (~Atom diameter) to few nanometer area overall. However, even something as complex as $C_{22}H_{20}O_{13}$ (Carmine) is relatively small compared to the $(C_3H_4O_2)_n$ of PolyLacticAcid, aka PLA. Poly tells us that n is at least 100, because shorter chains are oligomers, not polymers. In comparison, our red carmine pigment is more dense, much more compact in fact. As a result, a 100-chain of PLA is not just in the Angstöm area but in the dozen nanometer to micrometer range - a magnitude of at least 2 larger. Unless we have a huge excess of pigment or a pigment that reacts with the plastic under heat, then the impact of it on the strength should be neglectible to the other fillers often used.


Can I use Creality bed on Prusa MK3S? I need a Prusa MK3S smooth bed and I am not able to get it unless I wait for a few month.
But I can have a Heated Bed Cover for Ender 3/Ender 3 pro/Ender 5 3D Printer 235X235MM shipped to my door tomorrow moring.
Can I use the above Creality bed on MK3S untill I get an original MK3S in a few month?

Heaters won't match.
The ender3 is a 24 V machine. The Prusa 3 is a 12 V machine. Heater cartridges and Heatbeds are therefore not interchangeable.
Build surfaces can be adapted.
The Ender3 has a build surface that is a little bigger than the Prusa3, and thus you can, in a pinch, use an ender3 sized build surface and install it, possibly cut down, to fit onto the Prusa.


How do you calibrate a delta robot 3D printer? I have a delta robot 3D printer, but I have no clue how to calibrate it. Any advice?

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

Whilst the answer below is for a Kossel, assuming that you are using Marlin, then the process should be more or less the same.

Calibration on any printer is difficult, but especially so on deltas, as there construction is more complex than a cartesian printer.

Have you manually calibrated the printer (at both the center and the edges), such that you can just about get a sheet of paper between the print bed and the hotend nozzle, at z = 0? This last check ensures that the first printed layer of extruded filament is actually touching and "presses on" to the print bed.

I seriously recommend that you watch this video #18:Calibration for a great explanation on the use of the paper. This video is for a Delta printer, a Kossel XL (although the Kossel Mini is also covered) and it clearly demonstrates the height that the zeroed print head should be at, and how to check using a sheet paper.

It is an hour long tutorial video, by Tom of BuildA3DPrinter.eu, and it shows you step-by-step how to calibrate the printer, and also how to deal with deformed beds (concave/convex). It uses:

Arduino IDE, and;
Pronterface

and performs the calibration by adjusting, in the firmware:
MANUAL_HOME_Z_POS, and;
DELTA_SMOOTH_ROD_OFFSET

Here is a run down of the video's contents:

0:00 Intro: The perfect first layer can be obtained, either with/without a probe (the printer is, arguably, better without probe) This tutorial is without the probe.
0:55 Arduino software loaded with Marlin firmware source, looking at the file configuration.h and in particular, the line #define MANUAL_HOME_Z_POS
2:30 - Ensure that the Pronterface USB port is disconnected as otherwise this will inhibit the Arduino IDE from connecting to the printer.
3:20 - Initial test - Gap at the center of the bed

Connect with Pronterface and use the following G-code commands
G28 Home the printer head
G1 Z10 Bring the head down...
G1 Z5 a bit more...
G1 Z4 a bit more...
G1 Z3 a bit more...
G1 Z2 a bit more...
G1 Z1 and if the head hits bed then this is too close
G1 Z2 raise the head again
Paper thickness is 100 microns, place under the head
G1 Z1.5 lower the head again, but no by so much as before
Slide the paper between head and bed. The paper should move freely, but with some friction felt (you should be able to hear the head lightly rubbing against the paper)

7:11 - Deduction of actual distance from print bed is 1.5 mm
7:30 Return to firmware, and finely tune MANUAL_HOME_Z_POS in the Arduino IDE, disconnecting Pronterface again and upload.
8:10 - Return to printer

Connect with Pronterface, again, and use the following G-code commands
G28 Home
G1 Z5 F5000 Move head down rapidly
G1 Z2
G1 Z1
G1 Z0 and the head comes to a rest at the correct distance from the bed
Retest with the paper

9:30 Final test

G28 Home
G1 Z0 Go from home straight down to the bottom

10:02 - Further calibration

G1 Z0.2 Raise head ever so slightly to give us some room
In Pronterface - Move the head horizontally
G1 X50 - Moves head 50 mm to the right
In this case, if there is a larger gap between the head and the bed. This means that the bed is curved, and convex. If the gap was smaller, or the head hits the bed, then the bed is concave

11:40 - Diagram of convex and concave print beds
12:10 - Endstops

G1 X-40 Moves the head to the left (of center) and the head is now further away from the bed than in the middle.

13:20 - This means that the endstops are not correctly positioned. So, before tackling the concave/convex issue, it is first necessary to adjust the endstops, for each tower.
13:37 - Tackling the tower positions individually

G1 Z10 For safety reasons, leave a margin of 1 cm.

14:08 - Calibrating the X tower (left tower). Note: The commands will depend on whether you have the Kossel or the Mini.

Printer moves in three axes:

X: parallel (to the front);
Y: perpendicular (to the front);
Z: height (not of interest at this point).

X tower is not in either of these axes exactly
G1 X-100 Moves the head to the side but 6 cm away from the X tower
G1 X-100 Y-60 Positions the head next to the tower correctly
G1 Z5 - Lower the head bit by bit
G1 Z2
G1 Z1
G1 Z0 and the head is still 1 mm too high

16:50 Endstop needs to be adjusted by 1 mm lower. There are two ways of doing this:

Lower the endstop itself - good for large changes
Adjust the screw - good for smaller adjustments. Turn it anti-clockwise, and raise the screw by 1 mm.
-G28 Home
G1 Z10 Bring head down 1 cm above bed
Move to the tower:

XL: G1 X-100 Y-60
Mini G1 X-60 Y-35

G1 Z2
G1 Z1
G1 Z0 Head hits the bed
G1 Z0.2
So the end stop needs to be raised by 0.2 mm, by re-adjusting the screw (turning it clockwise).
Now home it the head, G28
And bring it down G1 X-100 Y-60 Z0 and it should not hit the glass and the paper should slide underneath

21:00 Minor re-adjustment and fine tuning so that the paper slides without the need a too much force.
21:50 Repeat for each tower
22:15 Y Tower (right tower)
-G28 Home

G1 Z10 Bring head down 1 cm above bed
Move to the tower:

XL: G1 X100 Y-60
Mini G1 X60 Y-35

Repeat the above process - remember to test with G28 and G1 X100 Y-60 Z1 for safety, and then adjust the Z command
This is an iterative process

28:04 - Z Tower (rear tower)
-G28 Home

G1 Z10 Bring head down 1 cm above bed
Move to the tower:

XL: G1 X0 Y120
Mini G1 X0 Y70

Repeat above process

30:14 Re-check! each position (center, X, Y and Z towers)

G28 Home
G1 X0 Y120 Z0 Check Z tower & drop head (head should not touch the bed)
G1 Z10 Raise head (see below)
G1 X-100 Y-60 Move to X tower
G1 Z0 Drop head (head should not touch the bed)
G1 Z10 Raise head (see below)
G1 X100 Y-60  Move to Y tower
G1 Z0 Drop head (head should not touch the bed)
Calibration of the endstops is now complete

31:30 Why the Z10?

G1 Z10
G1 X0 Y0
The first calibration was the center point, but now the endstops have changed and as the bed is either convex or concave, we therefore raised the head by 1 cm, using the Z10, to avoid hitting the bed in the center. Now test it
G1 Z2 Lower head slightly
G1 Z1
G1 Z0 If the bed is concave then the head is still too high! Conversely, if the bed is convex the the head will hit the bed.

32:40 Adjusting the DELTA_SMOOTH_ROD_OFFSET in configuration.h - alter the physical parameter of the printer:

Convex: Increasing DELTA_SMOOTH_ROD_OFFSET lowers the hotend in the center
Concave: Decreasing DELTA_SMOOTH_ROD_OFFSET raises the hotend in the center
Adjust the setting in the Arduino IDE and recompile and upload (ensure that Pronterface is disconnected)

35:07 Testing the new DELTA_SMOOTH_ROD_OFFSET setting - again in Pronterface:

G28 - As the firmware has changed, we must re-home.
G1 X0 Y0 Z0
You will notice the the center point has not changed! It is the same. However if you go to the tower positions you will see that the (previously) perfect gap has changed. This is because by changing the DELTA_SMOOTH_ROD_OFFSET the center stays in the same place but the edges change instead. So, for the convex bed, we have virtually bent the surface, without moving the center point down, and moved the rim up (or, for a concave bed, down - depending upon the direction of the adjustment), thereby flattening the bed.

37:10 Demonstration of adjustment
37:51 Adjusting the height

Return to the firmware and change, again, the #define MANUAL_HOME_Z_POS line that we changed at the beginning, adjusting it by the amount that the head is from the center point.
Disconnect Pronterface and upload the new adjusted firmware.
Then reconnect Pronterface, and Home (G28) and drop to zero (G1 Z0).
The head may still a little too high.
Then move to the tower, and the head may be too close to the bed, without any gap. This means that the bed is still convex and further adjustment is required of the DELTA_SMOOTH_ROD_OFFSET and then, obviously, the MANUAL_HOME_Z_POS.
Again, this is a bit of an iterative process. Don't forget to home after any firmware updates.
Finally once the bed is flat (i.e. it has been virtually flattened in the software) and the gap between the head and the bed is the same at the center and the towers, then adjust MANUAL_HOME_Z_POS (an adjustment of 0.05 or less may be required) to get the paper test just perfect.

44:35 Check each tower (screw adjustment, of the endstops, may be required). As the bed has been flattened, mechanical sub 0.1 mm adjustments may be required. Note that the firmware does not need to be re-uploaded, when making mechanical changes - although the head will always need to be re-homed (G28) after each change.
The head should now be at the correct height.
47:14 - Extruder Calibration


Visible lines along Y-axis on Ender 3 Pro I have a model that's placed on the bed exactly like on this picture:

I have constant quality degradation as the bed moves down to print in the upper left corner (1).
Everything is fine on the X (2)-(3) side. It does not have any visible artifacts. All hell goes along the (1)-(3) curve:

Top left corner (1):

On the way from (1) to (2) lines seem to disappear almost completely.
I used Cura slicer and these printing settings:

stock ender firmware
0.2 mm layer height
supports
2 bottom & top layers
PETG 235 °C nozzle
80 °C bed
walls x2
10 % infill gyroid
ironing
seam smart hiding
50 mm/s print speed
500 / 50 mm/s^2 acceleration / jerks

It looks like a mechanical issue, so I tried tightening/untightening bed bolts. It didn't help. They are a little bit tight, but not too much. The bed does not seem to be wobbling. Also, I tried the bed for wobbling in its top/bottom position. It looks fine along all the way.
What should I try next?
Extruder steps/mm are tweaked for this filament. Extruder produces exactly 97 mm of 100 mm of filament.
UPD
I decided to change my software/hardware settings step by step. This time I changed only my software settings to these:

Speed: 30 mm/s
Acceleration: 3000 mm/s^2
Retract: 4 mm
Combing: Not in Skin (previous print had the same value)
Overhanging wall speed 100% (same as the previous print)

Corners have become much sharper and there is a lot less of bulging on the arc.

However, by X-axis (2) - (3) I see more artifacts:

Y-axis has become better:

Currently, I don't have any visible or sensible bed / X play. I tuned rollers to have enough tension not to slip if rotate them separately. So, if I rotate the roller, it moves the whole bed or X carriage. I'll try increasing the tension a little bit and then I'll share the result.
UPD2
I've made belts a little bit tighter and decided to print a new model. The layer height is 0.3 mm. Also, I tried increasing temperature up to 240 °C and changed the stock vent with a circular vent. The wall count is 50 to make the model solid. Coasting is off.

Now all artifacts are along the X-axis. There are many fewer of them at (1) than at (2). The model is a doorstep. On the build plate it's placed like this:

Now I think the problem has nothing to do with X/Y play and these two factors can be eliminated. I'll revert belt tensions back to their previous values and decrease the printing temperature down to 225-230 °C.
PS. USBASP is still in customs, so I'm doing all this on the stock firmware.
UPD3
I have finally figured out what was wrong. It was insufficient Z-belt tension on both sides. A close look at a DSLR camera shot gave me a clue: there was almost always a straight segment followed by a visible additional step down between layers.
There are still some artifacts but everything looks relatively tolerable now.

Thanks to all of you guys!

I see some possible issues at work here:

Retraction issues on the arc. You might need to decrease your retraction length a little.
Your bed might have a little play. tighten the eccentric nuts a tiny bit.
As you are at it, check your X-belt, because accuracy on the Y move is affected by the accuracy of the X-head's position.


SerialException: 'WriteFile failed ([Error 22]...' Printrbot Simple Metal using Cura 15.04.6 Disclaimer: I have read about this elsewhere but haven't found a solution.

Printer: Printrbot Simple Metal with heated bed

Slicer: Cura 15.04.6 (also tried Cura 3.1)

Printing software: Whatever Cura 15.04.6 comes with when printing from USB

The print goes well for the first couple layers then just stops.  It stays heated, fan keeps blowing, but print has failed.  Here is the error:

...
Send: N19517G1 X47.047 Y59.035 E1574.00486*126
Recv: ok
Send: N19518G1 X68.604 Y74.097 E1574.44219*122
Serial timeout while writing to serial port, trying again.
Unexpected error while writing serial port: SerialException: 'WriteFile failed ([Error 22] The device does not recognize the command.)' @ machineCom.py:_sendCommand:565
Changing monitoring state from 'Printing' to 'Error: SerialException: 'WriteFile failed ...'
Connection closed, closing down monitor

I have gotten this using Cura 3.1 to slice as well as Cura 15.04.6 (though the error above was using the Cura 15.04.6).  I've tried using a different interface for printing, but nothing helps.

Any ideas on solving this?  I feel like I am missing a small but simple detail here to making it work.

[Edit] Added printing info at top to make it a little more clear what I was using.

From the look of it, and given that you already two different slicers, it look like this may be a hardware issue.  I have had very similar error messages with my cheap Chinese printer and this is ultimately why I ended up always printing via the SD card and stop worrying.

That said, the error is about the serial connection over your USB cable.  I was about to write a list of suggestions, but I found out that your manufacturer already has a troubleshooting guide for your printer here.

Adding my own suggestions to those of Printrbot, this is the final troubleshooting guide (the linked page has detailed instructions for each step but 6 and 7):

Cycle power
Update your Operating System.
[Windows users only] run a VCP (Virtual Com Port) driver wizard
Check physical connections and swap power and usb cables.
Use a standard 2.0 USB input rather than USB 3.0, if applicable
Make sure that your printer is away from any potential source of EMI (Electro-Magnetic Interference).  Microwaves ovens, many types of energy-saving lamps and power bricks/adapters are known offenders.
If possible, reduce the serial speed of your connection (revert if this does not solve the issue, as it may effect print speed and quality).
Flash your Printrboard

To clarify what these tips are all about:

Step 1 is about making sure you don't have your computer and printer in "dirty states" (as in: with their serial buffer corrupted or stuck).
Step 2-3 are about making sure you have as many known software bugs and problems patched as you can, as well as all the latest features.  This is especially important if you are asking for help, as nobody is going to downgrade their own machines just to replicate a user' unique state.
Step 4-7 are about diminishing the possibility that the signal in your cables gets disrupted and mangled along the way between the computer and the printer.
Step 8 is like 2-3 but for your printer firmware, rather than your computer software.


What are the downsides and aftereffects of using a smaller nozzle? A lot of consumer desktop F.D.M. printers comes with a 0.4mm nozzle. I'm looking to print fine details objects and I was considering trying to use a smaller size nozzle. But before I do so I would like to establish a list of downsides and unwanted consequences.

Here are some things to look out for when switching to a smaller nozzle size:

Curling (out of the nozzle): Make sure the nozzle is clear of any debris to avoid the extruded filament from catching and therefore curling around the nozzle.
Warping: You might experience more warping on the build plate and delamination between layers as a result of the smaller surface area of the layers.
Reduce speeds: You should reduce your print speeds anyways when printing fine-detail objects. However, the smaller nozzle size will need a bit more time to adhere to other objects (see above).
Standoff distance: The distance between the nozzle and build plate, a.k.a standoff, should be a bit smaller with the nozzle size. Typically people use the paper reference (using a piece of paper to "calibrate" the standoff), which is about 0.004".
Make sure your slicing engine knows the change! Most slicing software will allow you to adjust the nozzle size. This can also be used to fine-tune your machine.
Beware of clogging: Clogging is usually a result of poor cooling between your heater block and your drive gear, poor filament quality, and/or incorrect extrusion rates. You might want to perform a benchmark print with the new nozzle to "rediscover" which temperatures work best with the new "basin" volume in the nozzle.

I'm sure there are many others, but this should help get you started.


3D printer and design software for creating propellers for a toy airplane/drone I would like to begin designing and 3D printing propellers for both a toy airplane and drone that I own. I want to do this for experimental purposes.

I have never used a 3D printer nor have I used any 3D printing design software. So as a beginner to both of these things, I would like to know what would be the best type of 3D printer to use to create propellers for toy aircraft and I would like to know what is currently regarded as the easiest-to-use 3D design software for creating objects such as airfoils.

Also, at this time, the most I want to pay for a 3D printer is $500.

First, welcome to 3D Printing SE.  This is a great place to ask questions and get answers from people who have walked the same path.  I see from your profile that you are not a stranger to StackExchange and the available sites.

This question may be too broad for this SE Group, as it is asking for opinions rather than facts.  We try not to ask questions about "what is the best printer", or "what software is the best".  We avoid it both because it will change frequently, and because the answer needs to be gauged in your context, not the answerer's. We have some tools and community guidelines that suggest how to formulate the best questions.

Never-the-less, it is very hard when starting to even know how to make the first step, so with the indulgence of the group and your patience, I will make a suggestion or two.  These come from my experience and your's is surely different.

To try out 3D printers you may have resources the don't require buying one yourself.  It doesn't seem that 3D printing is the end goal for you.  You want to use 3D printing as a way to manufacture several experiments.  To access a 3D printer, it could be productive to check for local makerspaces, public libraries, or high schools with 3D printing capability.  You may find a friend you 3D prints who would be happy to run some objects for you.  You might even find it cost-effective to send designs to a service bureau such as 3D Hubs.  Note: I have no relationship with the company, although I did use their services once.

With the printing side temporarily in abeyance, you can focus attention on the design side.

If you are familiar with programming, you might be able to use either OpenSCAD or SolidPython as a design tool.  If you want something graphical, it might be worth trying OnShape.  NOTE: I know at least one of the founders of OnShape, but have no investment nor role in the company.  There are many design tools available.  For designing technical parts, I think you want tools more focused on technical than aesthetic content.

I would avoid purchasing a printer unless you want 3D printing and 3D printers to be part of your project.  People have mixed stories with many brands of printer, and lower-cost printers often become projects in themselves.  They can be satisfying, rewarding, and learning-driven projects, but can distract you from your prime intention for a long time.  In my case, I wanted to print boxes for projects, and prototypes for larger wood carvings.  I designed a printer, acquired materials, built it, and spent 3 years playing with it.  Along the way, I made some useful prints.  Eventually I was tired of not having a reliable 3D printer, and I wanted to reliably make things.  I needed a printing appliance.  So I bought a mid-range printer (which works very well for me), and I don't mess with it (much).

So, a broad answer in response to a broad question.  Welcome to 3D printing, the hobby and the StackExchange site.


How does a layman get a 3D printed replacement part? A plastic gear of an older DVD player broke. I always read about being 3D printing a "repair revolution". So I looked for a template to give to some printing service, but I found none (and nothing close to it).

Could you please explain me, what steps a layman should take to get the gear piece replaced using 3D printing?

If you have the remaining pieces of the gear and enough remains to determine certain measurements, one can either engineer the gear using a number of gear modeling designs, or one can take measurements directly from the parts and engineer a raw design.

If the gear you have is not particularly peculiar, it is possible to use a gear generator plug-in, template, or library to make the "foundation" of your gear. The modeling software would then be used to add the appropriate bosses and key ways required to complete the design.

If you are considering to create the part yourself, you have a wide selection of programs from which to choose. I'm fond of OpenSCAD, and it does have a number of gear libraries. Simple bosses and key ways are easily accomplished using OpenSCAD.

Another package available on the internet which includes the option of using a gear generator is Tinkercad which has a reputation of being easy to use. You'll find many tutorials for this program as well.

Tinkercad requires an "outside" program to generate the gear design which is then imported to the model workspace. Even a program as simple as Inkscape can create gear profiles to be imported into many design packages.

Fusion360 is available free for hobby or non-commercial use, but may not be the easiest to learn in a short time.

So many others as well. Use your favorite search engine for "gear generator modeling software" or similar wording and be overloaded with links.