How to print at low temperatures (filament melting at about 70 °C)? I'm using Cura to slice prints from a biodegradable polyester called PCL (Polycaprolactone).
I need to print @ ~70 °C but extruder does not run until nozzle reaches 175 °C.
Which setting to change so extruder will turn on when nozzle temperature has reached 70 °C?
Here are my settings for the material:

70 °C is a specialty filament. It is well below the MIN_TEMP defined in any sane firmware. In Marlin, you can't turn on the extruder in any way, while this is online.
You do need to define your firmware to allow such a print - either by dropping the value in the firmware or disabling Mintemp-protection and then flashing that firmware. That is quite invasive.
To temporarily disable the MIN_TEMP, you need to run the G-code M302 P1 or M302 S0 - M302 on its own does nothing. However, some firmware distributions might explicitly prevent these two commands of turning off the check.
In that case, you might use M302 S65 or similar to drop the MIN_TEMP.


Why do 3D Printers Suck? Please share your user experience I'm working with a group at the MIT Launch startup accelerator for high school and I was hoping to do some market research regarding some of the current problems with desktop 3D printers. I was hoping to get some feedback from all your experience with 3D printing and the hours of troubleshooting you've likely encountered.

What workarounds and aftermarket modifications are the most useful? If you could change one thing about your printer what would it be? How do you troubleshoot issues and how long does it take? What would make you more likely to 3d print more often (ie never clogged, didn't have to watch first layer, etc)? In your opinion, what are the biggest issues the desktop 3D printing industry faces? Just share any wishes, thoughts, hopes, dreams, etc about 3D printing

Thank you so much for your time and sharing your experience!

First, regarding "Why do 3D Printers Suck?" - The answer is They Don't!

Every tool has its limitations and you need to work withing the limitations of the tool.

Second, there are A LOT of different types/technologies, manufacturers, and price points and all of these have specific limitations.

I live in Tigard, OR and both my boys are in High School.  Our High School has a pretty advanced Technologies Department.  We have had a 3D printer for a several years and use it for printing parts for our after school programs (we have three FTC teams, one FRC team, and one (underwater) MATE team).  This last year the school introduced a CAD class and added about 15-20 new Afina printers so that the students can print what they design.

I talked to my sons (they have both used the printers) and they said the only problems they ran into were mistakes they made.  Two examples of that are:

Printing with ABS and having it warp (probably bed temp)
Trying to print a design with too thin a wall

I think there is a BIG opportunity for improvement here.  Having a "Slicing" program that doesn't require tweaking and would warn of likely print problems would help A LOT.  I like the idea of the new PrusaControl.  If this idea could be extended further as Thomas Sanladerer suggested in his video review

I know the Head of Technologies Department (I help mentor several of the after school programs).  He has been responsible for getting printers and I recall he was concerned about more high-level things:

Service, Maintenance and Repair
Fumes (this is a lot of printers in one place with students in the same room)
Network interface and driver compatibility with school computer/network standards.

I believe there is another opportunity here.  If you could provide some sort of a "printer farm" where the students could send their print to the "farm" and then have a highly visible indicator on the selected printer would their name/ID when their print starts.  That way you can get more efficient use of the printers and the space they consume.


Ringing with Ultimakers, what is the cause? At my work, we have 3x Ultimaker 2+, 1x Ultimaker 3 and 1x PRUSA i3 mk3s. The Ultimakers have been used quite a lot for the past three years, but the belts and bearings seem ok.
I got heavy ringing with all Ultimakers, but the print on the PRUSA is neat even at a higher speed.
I have a Ultimaker 2+ which I use together with CURA. I print in PLA at 210°C. The print bed is set to 60 °C. I use a print cooling fan at 60 %. The layer height I set to 0.2 mm, the line width 0.8 from the 0.4 mm nozzle. The Printing Speed is set to 30 mm/s for walls and 50 mm/s for infill.
Is this a known issue with Ultimakers?
How can I fix it?

The comparison with what I get with the PRUSA is uncanny:

EDIT
I have tighten the screws on the extruding head and cleaned the machine, but I still notice a mechanical play. Therefore, the result is not satisfying...

            .

have been used quite a lot for the past three years

The problem, even if belts and such seem ok, might be that other parts start to wear out. The part that contributes te most to ringing is the motion system. Grooves in rails or worn out bearings are a classic way that introduces some freedom in the system that can result in rattle and ringing. A photo of the rails and bearings might help to identify wear. Remember that most bearings need some sort of lubricant to work properly and reduce the wear in them, which should be part of the maintenance cycle!
Another source for the errors could be found in the extrusion system. For example, there might be an increased play in the gearing as springs under constant pressure can lose some tension, resulting in too little pressure on the filament, which typically would show up as under extrusion if the pressure is lost completely. On the other side, the hobbled gear that pushes the filament might be worn, resulting in a lack of responsiveness of the filament movement, again resulting in under extrusion after some point. Once more, photos of this area could help to indicate wear and tear.
Another source might be the mounting of the printer - it has been shown beneficial to put printers on a slab of concrete that itself is dampened on a medium density foam, resulting in even dampening that is usually better than the rubber feet of many printers.


Need help to only print one small part I'm in dire need to reprint a small chunk of a print that got messed up during print because the support for it broke which I cannot explain whatsoever.

Anyway. I need to edit the STL file and I don't know what tool to use since Blender is definitely not user friendly for just a simple cut and past.

Anyone got an idea on what I should try to do? Reprinting is definitely out of question since that would take at least another 20 hours, that I haven't got, to reprint the whole thing and I would also just waste a lot of PLA.

Alright so I asked in my facebook group and a friendly fellow game me the tip to use Meshmixer from AutoCAD and then check a video on Plane cut. I only needed 3 simple cuts and the piece I needed was all ready to print. :) 40 Minutes to print and only 3g of PLA to spend :)


How to wire 5 V proximity sensor Ender 3 V2? I’ve got this proximity sensor which is a 5 V, it doesn’t say it can be used over 5 V. Can I use a buck converter or is it possible to wire it up direct to a 5 V source on the Ender 3 V2?
What I don’t understand is where to wire it direct to 5 V on the printer or if I use a buck converter then where does the 3rd wire go to on the printer?
If it goes to the signal wire on the Z endstop then which one is the signal wire?

That part seems dubious
Your part is labeled LJ18A3-8-Z/BX. That is a Z/BX type sensor of the LJ18A3-8 series - that first part dictates an M18 outer thread and thus dimensions and a triggering distance of 8mm. Z/BX indicates NPN NO, so a normally open sensor of the NPN type. However, that labeling indicates an inductive sensor with a required supply voltage of 6 to 36 V and a power draw of 10 mA between the supply and ground line and a digital output signal of 300 mA.
There is a variant in existence, that has a 5 V supply voltage, but its part number is different by 3 characters: LJ18A3-8-Z/BX-5V - the appended -5V is crucial to show it differs from the standard!
The Ender-3 Board
The Ender-3 board has a 24 V input from the power supply and runs its end-stops on 5 V logic. That would suffice to connect the output of a LJ18A3-8-Z/BX-5V sensor directly to a sensor pin.


Sizing belts and rods for a Cartesian printer Assuming a Cartesian printer with a belt and smooth rod design in which one axis moves another (i.e. the X-axis rails 'sit' on the Y-axis rails), what are the main considerations in sizing the rods and belts?  For example, given a base design using 8 mm diameter rods and 6 mm belts (assume these are the limiting factors of the printer and that the frame, etc. can handle whatever you throw at it), what is roughly the maximum load, print speed and build size that this should be expected to support?  If you were to increase the rod diameters to 10 mm or even 12 mm on one or both axes (assume the steppers could handle the increased load), what would the increased rigidity buy you in terms of maximum speed and/or build size and would 6 mm belts still be appropriate?  Ballpark calculations or rules of thumb are fine as I understand the variables are likely not trivial and am looking more for a rough range of guidance to understand the trade-offs involved.

8 mm rods and 6 mm GT2 belts are generally accepted as a good tradeoff between price and performance, an exact calculation is possible but might not be very relevant if another part is flexing. Also, generally speaking, the smaller the part the sooner it will wear out of specification. Thus your service interval might be higher compared to an over-engineered printer.
In short, it depends on what your goal is, if you desire low maintenance and accurate machine, you might be better off with heavier gauge parts. Obviously, this will also affect the speed of printing.
A 6 mm GT2 belt might have a higher stretch factor compared to a 10 mm belt, but can be mitigated by adjusting the acceleration. In addition, a 10 mm belt has a larger pulley reducing the number of steps per mm, lowering precision. As such you might be better of using two 6 mm belts.
Increased rod size for the print bed will not affect printing speed much but might help with accuracy since the bending modulus is lower. Play around with the calculators below to get an idea of the force your beam will have to withstand. That said, there are a lot of other factors that will flex under load, for example, the bed leveling springs. You can replace them with solid spacers, but that might warp the bed when it heats up.
https://www.engineering.com/calculators/beams.htm
https://www.omnicalculator.com/physics/acceleration
To conclude, I would use the calculators to figure out if the 8 mm rods are within tolerance for the intended speeds and load, but don't forget to look at the overall picture. The quality of parts you choose is one such thing.


Small Z axis step: Repetier-Firmware Z axis length for my printer equals 120 mm. When I manually pass this length, from display controller menu, it's about few millimeters. Then I set the resolution (ZAXIS_STEPS_PER_MM) at 1600 steps per mm. And nothing changed, step still very small.

I use Repetier-Firmware, Arduino Mega+RAMPS 1.4, standard Nema 17 steppers and Prusa i3 like cartesian printer.

This is hardware or software problem? I checked the steppers, they're fine.

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

#define EEPROM_MODE 2

Now ZAXIS_STEPS_PER_MM value load from firmware, not EEPROM.

#define EEPROM_MODE 0

— does not result in my case.


Why are my layers messy and curling off the print bed? I use an Ender 3, with cheap Amazon "Eryone PLA", which states a range from 190-220 °C, 1.75 mm dia. I have had this for about a year.

I use the rough build plate, not the glass. I have tried my best to level the bed but I am an amateur

I was originally getting poor adhesion so I cleaned the bed, levelled it, increased filament temp to 196 °C and heated the bed to 40 °C, with no fans in a house around 20 °C with not much airflow.

This helped adhesion, but my layers are very messy - the first perimeter may adhere correctly, but subsequent layers curl off, meaning the inner passes lift off the build plate. Attempting to persevere, pulling out these regions causes the blobby, ridged mess shown below. This is still the first layer.

I have noticed the extruder makes a knocking noise every so often, and the edges of prints can be so thin they are translucent.

I've browsed the web for common 3D printing errors but nothing I've found or tried has helped.

This is clearly overextrusion relative to the volume the material is being deposited into, but that doesn't necessarily mean your extrusion rate is wrong. It could be:

Nozzle smashed down into the bed (bed way too high) but somehow still extruding
Problem in Z axis movement preventing the head from moving up the right amount for each layer (possibly not moving up at all?)
Extrusion (flow) increased significantly above 100% in slicer
Wrong extruder steps/mm setting (usually controlled on printer not slicer, though you can send a setting in the start gcode)
Misconfigued filament diameter (unlikely since there's no common setting smaller than 1.75 mm; larger setting would under-extrude)


3d Print pops off before complete I recently got my first 3D printer, however when I print taller objects, sometimes the piece pops off the build plate and moves around before the print is finished, the piece then is missing the top few layers and is burnt from the nozzle, Just wondering why this happens and how to fix it...

Here are some pictures:

The issue you are having is with bed adhesion.  Basically your print is not sticking well enough to the printer bed for it to resist the mechanical forces the part is being subject to during print.

This the most common issue in FDM 3D printing and you can find a lot of material online on how to mitigate the problem.  Just as a "teaser":

You need to ensure your printing bed is dead flat and at the right distance from your nozzle.  Search online for: "3D printer bed leveling": the procedure is normally the same for most printers, but if your model is a common one, chances are you will find a video/how-to/blog post for it.
You should use print settings that facilitate bonding of the plastic to the bed (typically: slow speed, no cooling fan, a bit of overextrusion...)
You can tell the slicer to add a brim or a raft to your part, to increase the amount of material holding down the print.
You have the option to cover your printing bed with some material that increases the bonding of the plastic (this is type-of-plastic specific but typically: PVA glue or painter's tape work well for PLA, and kapton tape or ABS sludge for ABS).
If you have a heated bed, use it (each filament brand has their own recommendations, but typically 50-60°C works well for PLA).

As for why your problem is happening towards the end of the print, there are a series of factors contributing to it:

The tallest the print, the more mechanical advantage (leverage) the nozzle has over the adhesion surface.
It looks like your top layers are progressively small, so they print very fast and this in turn the does not allow for the plastic to completely cool down before going to the following layer, so when the nozzle prints on top of it the still-warm layer is "pulled up" by the action of the nozzle, creates a blob that sticks to the nozzle and that only makes situation worse.  Snowball effect.  Most slicers have an option "minimum layer time" that delays the print of a layer until X seconds have passed from the start of the previous one.
It may be possible that the Z axis is inaccurate and the nozzle catches on a previous layer.  Most printer have some kind of accuracy issue with the Z axis the furthest up the head is, especially if the Z-axis has only one threaded rod (as for example in the Creality CR-10).  Another source of inaccuracy (see comments below) could be the movement multiplier for the Z being slightly off, causing the nozzle to dig into the print if there's overextrusion and enough cumulative error.  Z axis inaccuracies are however unlikely to be the primary source of troubles for you, but it's a "nice to know" thing to know about 3D FDM printers, nevertheless.


how to get infill on self created stl via onshapes I created my model in onshape then exported it to stl file then imported it to simplify 3d to convert to gcode.

However my model didn't go any in fill, it just continue to print layer after layer in the same fasion as the 1st layer.

Correct me if am wrong infill is used so that the middle of your model isn't completely solid hence saving on filament.

Is there something special I need to do in onshape or simplify 3d for it to use infill? To me it looked like it was just filling it up with pla

I don't use either of the two piece of software, but the first things to pop to mind:

Inspect the slicing preview: it should be self-evident if your GCODE is being generated correctly.  In my slicer the infill is red and you can discern the typical pattern within:

Check your settings: your shell thickness should be something reasonable (like 0.8mm / 2 shells) and your infill should also be below 100% if you don't want to print it solid.  For maximum strength, it doesn't help go much over 60%, typical values for light-duty parts are 20% and 30%.
Check your STL file: your mesh should be a closed surface, a "shell". Or the slicer won't be able to know what is "inside" and "outside".  Many slicers verify this for you automatically and have a built-in utility to attempt to "repair" a broken mesh.  I use slic3r Prusa Edition and this information is visualised at the bottom right:

Let the print finish: the wording of your question is ambiguous, but it sounds like you may have stopped the printer before the part finished.  Certain combination of settings can be deceitful.  For example, a layer height of 0.05mm and a shell thickness of 2mm means you will see the printer making 40 (forty!) layers of solid printing, before starting to create the infill.
Try another slicer: in case your slicer went berserk because of a bug (unlikely but possible), this should fix it.

On an unrelated note: the use of infill has a lot of different reasons besides "saving filament", for example:

relative to an empty print, even a very light infill (5%) provides a lot of added rigidity,
relative to a solid print, infill reduces weight and relief the tensions that are trapped in the FDM/FFF printing process
certain infill patterns allow to provide different responses to stressed in different directions (like for example a crash box that needs to give way in one direction but bear a load in another, or a wing that need to flex on its length but not on its chord)
infill provide support for top layers and other concave structures that may otherwise be non-printable
...


No extrusion when trying to resume failed print with manually edited gcode I was in the process of printing a 16 hour print, but I must have failed to copy the G-code correctly, because the print stopped after 107 of 223 layers. Looking at the G-code, It also stops there.

However, I had the full G-code on my computer, and decided to try and resume the print from layer 108. It seemed to work, with the exception of a little excess extrusion at a single point in the beginning, but after three layers, i noticed that it wasn't extruding anymore. I am not completely positive that it isn't due to nozzle jamming, but I have a strong feeling that the problem is the G-code itself, as it does extrude some plastic just before printing starts.

Here are the first lines of my manually edited G-code. Can anyone see why I get the blob in the beginning, or why I don't get anything at all later on? Or does it look good, and my problem is probably the nozzle?

;FLAVOR:UltiGCode
;TIME:60308
;MATERIAL:119047
;MATERIAL2:0
;NOZZLE_DIAMETER:0.400000
;NOZZLE_DIAMETER2:0.400000
;MTYPE:PLA

;Layer count: 222
;LAYER:109
G0 F9000 X208.213 Y107.948 Z16.610
;TYPE:FILL
G1 F3600 X210.390 Y105.771 E4104.65185
G0 F9000 X210.390 Y103.170
G1 F3600 X168.331 Y61.111 E4107.77457
G0 F9000 X167.074 Y61.111
G1 F3600 X120.237 Y107.949 E4111.25208
G0 F9000 X121.695 Y107.949
G1 F3600 X74.857 Y61.111 E4114.72962
G0 F9000 X73.600 Y61.111
G1 F3600 X26.763 Y107.948 E4118.20709

According to the RepRap.org list of G-Code commands, see G0 & G1: Move:

  The Ennn command is The amount to extrude between the starting point and ending point.

However, according to this a discussion, that is now deleted from GitHub, about the Cura slicing engine:

The E values are in absolute mode, so perhaps the firmware is attempting to move the stepper motor to the absolute position (which is almost 50% through your print). This may lead to clogging or skipping depending on how hot your extruder is at that point.

As a last resort, you can perform a Boolean subtract on your model of the section that's already printed and re-slice the model to print the remaining bit. Then glue, or ABS weld, the remaining piece to the main print. I've done this in the past, it's not super glamorous, but it gets the job done if the part doesn't require a lot of structural integrity.

I was incorrect with the following statements with regard to the Cura slicing engine:

It's been a while since I've looked at 3D printer G-Code, but from what I remember, E values can be the bane of any manually written G-Code. Usually the slicing engine generates the E value as an incremental step value throughout the G-Code (at least this was true for Skeinforge and early MakerWare, please verify this). So, if the value is incremental and depending on the controller, this value could be lost or corrupt if a new print is initialized.

I would hope, that if you're using a slicing engine's custom G-Code input, that the software would be able to compensate situations like this and reformat your provided G-Code to match the value of E or any similar command.


Ender 3 under extrusion I have a new Ender 3, it was printing fine using the Ultimaker Cura 4.1 slicer. I printed about 1/2 a roll of blue 1.75 mm filament through a 0.4 mm nozzle. All my prints were Ender 3 mods (plus one cover for a device I had).

Then it stopped printing 1/2 way through printing a bracket for the Y-axis to allow for a damper.
After several days of under extruded parts that I aborted I discovered that the extruder motor was stopping intermittently and that turned out to be a bind in the motor. I replaced the motor, but it continued to under extrude. I replaced the stock extruder feed with Anpro Upgrade, MK8 Extruder Aluminum Alloy Block Bowden Extruder 1.75 mm Filament for Creality 3D. The same problem remained.
I did the extruder test with 120 mm marked on the filament and only about 60 mm went through.
By increasing the flow to 150 % I can print usable parts, but that seems like a bandaid covering up the real problem. Of course, I have cleaned the hotend, changed the nozzle and the feed tube.
I have assumed that during the feed test of 100 mm you should preheat the nozzle before the gcode G1 E100 F100 ; Extrude 100 mm at 100 mm a minute is issued.
Is there any point in removing the nozzle or the feed tube and issuing this 100 mm/100 mm command?

I have ordered a new hot end, but I'm beginning to suspect the board itself is not feeding correctly. Help?

I removed the Bowden tube from the hot end and issued the 'G1 E100 F100` and it feeds exactly 40 mm. Do I possibly have a second bad motor? I currently have no way of modifying the code on the board. Is there a factory reset for the Ender 3?

OK, I have my Ender 3 back to printing nice looking objects. It turns out at some point since the original bad E-stepper I must have pushed the "load settings" menu item. I set my E steps to 98 from 93. and then did a "save settings". I have no idea why going from 93 to 98.03 increased my extrusion from 40mm to 100mm (trial and error, because the formula said I needed to go to 232.5!).
For those that don't know, the "save settings" stores the current settings in EEPROM. These setting override the factory configuration setting when you reboot. If while you are messing with setting and you lose track of things you can do a "load settings" to get your previous settings back to start again. The "initialize EEPROM" reloads the stored configuration settings including the settings that you saved.
More intelligent explanation here:


How to control 3d printer printing in metal? I have a question. Home printers are controlled via open-source software such as Pronterface. These printers print mostly in plastic, but how to control the "metal" printer. The principle of the printing here is a little different. Is it possible to use, for example, Pronterface for this task or the completely different software is needed?

Pronterface would control the printer, but you would need a slicer that could give you g-code that works with said metal printer. Being it would be using metal, most of those are powder based, using a laser to sinter. The slicers for FDM based machines would not create the correct g-code for the application. I know there has been some effort around powder based printers (both metal and plastic) but I do not know of any software that has resulted from these efforts.

This wiki index for powder printers may be of some help to find out what software they are working on, most likely a custom solution.
http://reprap.org/wiki/Powder


What's the best way to clean PETG residue from a magnetic steel sheet PEI? I have the MK3 with a magnetic PEI and some PETG residue is stuck on the surface. How can I remove it? Does acetone work?

Thanks

First you will want to verify that what you are seeing is remaining PETG and not a loss of PEI on your bed. In many cases, when PETG is used without a separating agent (window cleaner or glue stick), the PETG forms a stronger bond to the PEI than the PEI has to the bed. This causes the PEI to lift off the bed. You can often recognize this by seeing a spot of higher smoothness where the print was stuck rather than the more matte look elsewhere on the print bed.

If it is truly PETG left on the sheet, first try a firm use of a fingernail. If that does not work, you can attempt to use acetone or 1000 grit sandpaper (which also work to restore PEI). A careful use of a spatula can also be used to remove the material.

In subsequent prints of PETG, you will want to add a separator when printing PETG.


Which endstops are most precise? I have seen mechanical (micro switch), optical  and magnetic(magnet + hall sensor) end stops.

Are there any differences in how exact they switch at the right location? If so which are the most precise?

There are some different criteria that we should use to select a switch type:

Precision / repeatability: does the switch trigger at the same place every time? How much spread is there in the trigger position? Do environmental changes or machine setting changes affect the trigger position?
Contact distance: does the switch register with enough clearance to its hard-stop that the homing axis can stop before colliding with something?
Noise-rejection: does the switch ONLY trigger when it is supposed to?

It's important to ask, how much switch precision do we actually need? A typical 3d printer drivetrain using a microstepping stepper motor can only accurately position the moving load within +/- one 1/16th microstep (even if using finer microstepping than that) due to error-inducing effects like friction torque and magnetic detent angle error. That's around +/-0.01mm for most printers. The homing switch only needs to be as precise as the motor's positioning! Nothing is gained by having, say, 0.001mm precision endstops.

This precision of +/-0.01mm is achievable for all types of endstop switches, with proper switch selection and configuration.

Then there are three "standard" switching types in use in consumer/hobbyist 3d printers:

Mechanical switches, typically dual NO/NC limit switches, which either pull up or pull down a signal pin by connecting an electrical circuit when triggered
Optical switches, which use transistors to detect when an obstacle ("flag") is blocking the window between the emitter and sensor
Hall effect switches, which use transistors to detect when a magnetic field exceeds a particular field strength cutoff

Mechanical Switches

Precision/repeatability depends on the switch quality, length of lever arm attached (longer increases contact distance but is worse for precision), and impact speed of the carriage with the switch. It's possible to have a good mechanical switch or a bad mechanical switch. This is typically a reasonable default choice because it is simple and cheap.

A small mechanical switch with a short lever arm (or the lever arm removed) will generally achieve the required +/-0.01mm switching precision. Very cheap switches, high contact speeds, and long lever arms may provide inadequate resolution for Z homing or probing, but will still be adequate for low-precision X and Y homing purposes.

Where mechanical switches tend to cause issues is in noise rejection. Different controller boards use different ways of wiring the switch: some use two wires and only send a signal when triggered. When not triggered, the signal wire is left floating or weakly pulled up by the microcontroller, while attached to a long wire that acts as an antenna to pick up EM noise. It is VERY common for heater or stepper wiring to emit nasty EMR due to the PWM current control. Two-wire endstop cables should always be run away from stepper and heater wiring. Shielding and twisting the conductors is a good idea too.

A more robust approach is to use three-wire switches that actively pull the signal line high or low depending on the switch position. These will tend to reject noise better.

Very cheap mechanical switches may fail within the life of the printer. However, most limit switches are rated for millions of cycles, which is unlikely to occur over any normal printer's lifespan.

Mechanical switches are easy to align and easy to trigger by hand during troubleshooting.

Optical Switches

These rely on a flag blocking a window between a light emitter and a detector. This is non-contact and can be quite reliable, but introduces some challenges. The exact trigger position (and thus precision) may depend on ambient light levels in the room, because the sensor is monitoring for light to decrease below a specific intensity. So it may be very repeatable/precise in the short term but have some drift if the sensor moves in and out of the sun through the day.

Switching tends to be more consistent and reliable if the flag enters the window from the side, rather than the top.

Optical switches will actively pull the signal line high or low, and thus have good electrical noise rejection.

Hall Effect Switches

These measure the intensity of the nearby magnetic field and trigger when it exceeds a certain amount in a certain polarity. This is highly precise/repeatable (better than +/-0.01mm) and extremely resistant to noise and environmental conditions. (Unless your printer is next to something that emits large magnetic fields, anyway.)

The hall switches I've seen have an adjustable trim pot to tune the trigger distance. That's a nice feature when trying to manually calibrate a Delta or a Z-bed for first layer height.

The primary downside to hall switches is that they need a magnet to trigger the switch. This can be difficult to trigger by hand during troubleshooting, and requires attaching a magnet somewhere on the moving carriage. Glue works fine... but don't glue the magnet in place backwards!


How do I do multi-colour printing? Printer: FDM printer  (FDM == Fusion Deposition Modelling).

Raw Material: Thermoplastics.

How do I do multicolor printing? What changes should I make to the printing process/to the raw material used?

(Answer in the context of printing a basic 3X3 Rubix cube)

Bonus: What are the best practises while doing multi-colour printing?   (<-- This is opinion based and/or broad, so pl add an answer to this point as an extra to your answers if you can. It would greatly help people getting started/practising with multi-colour printing)

There are a few different approaches I've seen which you could look into.

The easiest and most common is multiple extruders, each with a different color of thermoplastic. Tools like Pronterface and Slic3r have built-in support for multiple extruders. With multiple extruders you can get one color per extruder; there's no clear way to mix colors and get a color between the input materials' colors.

Another, more complicated approach is to use a single extruder with three inputs, like this one, where thermoplastic from the three inputs can be mixed in varying amounts to get color gradients between the input colors. With red, yellow, and blue filament, you could get a rainbow of colors...albeit without any control over value (white to black) or saturation (bright vs dull color).


What setting do I need to change to get rid of this gap between the shells and the inside? I've noticed that some of my prints (mostly square-ish objects) are coming out with gaps between the outside shells and the inner parts. This gap is visible even in the 2D sliced preview of the layers so I think it must have something to do with slicing settings, but I'm at a loss for what I need to change to fix it.

See below for images of the issue. On the orange piece near the right hand side you can see light shining through the gap. The black cube has it at the top, though it's not deep enough to let light through like with the orange one. There is also an image of the layer preview which shows the same gap.

I have a Rostock Max v2 (stock hot end). I am using Matter control using mostly stock settings, I've tweaked around layer height, speed, and temp but I don't think those are the cause.

.

Images of the issue:

It's generally called infill overlap.
In terms of first layer it's good to set extrude rate to 120% or even more so infill will overlap perimeters and itself. There is also the issue of "overlapping" layers which is not managed by any specific parameter. it's the issue of layer thickness and HE temperature.

Unfortunately Matter Control has kinda bug or at least an issue with extrude rate. If you set higher  extrude rate then overlap will be automatically reduced in some way. So it's good to increase extrude rate manually during printing and then set it back to normal. this will cheat slicer.


What type of kinamatics is 3D Gence One using? I was looking at some end high 3D printers (drooling just a little bit) when I found this.
Now, this was a 3500 \$ printer when new back in 2016. I'm relatively to the 3D printing (well... kind of) and have not seen this type of design before. What is it? Cartesian? CoreXY? This style, from my limited knowledge, looks like a best of both worlds kind of scenario because if you look at it - it has that traditional simple Cartesian design, but with a light head of a CoreXY type printer (Exclude the circuitry behind the stepper, that is something else). This was designed to be used in a mechanical application, so it has to be precise. Is this a good configuration and does Marlin support it?

I'm can't say for sure, since this is my first time seeing this type of 3D printer configuration too, but I think this is a cartesian style printer. If you think about it, it is similar to a Prusa-style printer, but instead of an x-gantry being raised and lowered by a leadscrew, the heated bed is being lowered and raised with two leadscrews. Software-wise, the printer you mentioned should be configured exactly like a Prusa-style printer, but with a reversed Z-axis, since to make the heated bed move closer to the hotend, it must be raised instead of lowered.
I personally do not think this printer is a CoreXY configuration since a CoreXY printer relies on two motors that work simultaneously to move the X and Y axis, while the printer you showed has the X and Y-axis moving independently of each other (as can be seen by the belt under the heated bed and the belt that moves the hotend left and right). At least, in my opinion, the way the X and Y-axis operate on a CoreXY is what makes the CoreXY unique, instead of the raising and lowering of the heated bed.
You can read about the variations of Cartesian 3D printers here. If you are interested in other styles of 3D printers, you can check the Delta and Polar style printer section of this article.
Hope I piqued your interest in 3D printing :D
Feel free to comment on this if you have more things to ask, and I'll get back to you as soon as I can :)


How important is the minimum layer height on a 3d printer? I know the minimum layer height will effect how detailed of an item you can print and the amount of time it takes to print something, but is it necessary to have an extremely low minimum layer height if you plan to print only larger objects?

I believe the Slic3r Manual summarizes this quite nicely:

  A thicker layer height will provide more flow, and consequently more heat, making the extrusion adhere to the bed more. It also gives the benefit of giving more tolerance for the levelness of the bed. It is recommended to raise the first layer height to match the diameter of the nozzle, e.g. a first layer height of 0.35mm for a 0.35mm nozzle.

In other words, larger layer heights for the first layer typically gives better adhesion, and makes inaccurate bed leveling (and auto leveling) still work.


Nail polish remover that won't dissolve ABS? In Finishing sunken text in 3D prints, I found that nail polish works great for filling sunken lettering in 3D-printed parts, but the procedure for using it requires removing the excess from the non-sunken surface using nail polish remover. For PLA, acetone works fine, but with ABS the acetone will obviously dissolve the ABS too (and from my experience trying to get polish off plastic toys made of ABS, it mixes the polish with the ABS really nastily in the process).

Is there an alternate nail polish remover that's suitable for use on ABS? Ethyl acetate based ones, maybe?

First of all, Nail Polish comes in 2 types: Acetone based, and acetone-free. The latter is based on Ethyl Acetate filled up with alcohol and water. Sadly, Ethyl Acetate also dissolves ABS, so it is not an option. However, the acetone-free nail polish remover can be used to smooth PLA to some degree. Anyhow, we look for something that is putting Nail polish into solution but not ABS, so it can neither be among the able ketones (like acetone), nor an acetate ester, nor be aniline.
Next up, Turpentine. Turpentine is a crazy mix of chemicals that we know to be able to turn most glues to goop and remove nail polish too. Sadly, Turpentine too can dissolve ABS, and it has been used in this fashion to create ABS Slurry/Cement as a bonding agent.
But what do we actually have in nail polish that needs to be put in solution? Well, to a good part, most nail polishes are a Nitrocellulose lacquer. To keep it in solution, Ethyl Acetate (already ruled out) and Butyl Acetate are used. Sadly, that is an acetate ester, so nope, no gains here.
So, we are left with one way: Mechanical removal. Nail polish is known to bond quite ok, but conventional nail polish lacquer (not the gel stuff) also is known to chip, and we can use that. Letting the lacquer harden and then using a sharp knife o remove most of the surplus, then polishing it up to very fine 1000 grit sandpaper is a possible way to go without needing to open the chemical toolbox. For the last postprocessing step, very short exposure to acetone vapor should restore the surface and put it to shine, including the lacquer.
Other fillers?
An alternative might be other filler materials. For a white filling, white Valejo putty might work, which is an acrylic bound marble dust filler, which can be wiped away with a wet cloth. It doesn't shrink, so gives flat surfaces. It could be colored with other acrylic paints, but the base color is marble-white.
Tamiya Basic Putty is based on Ethylbenzene and often used with ABS models as a gap filler. It is available in several colors. As a downside, it does shrink a little during bonding. Ethylbenzene is not a solvent but incidentally, the same stuff that is used for making ABS so should be safe for the model.


How should I clean my extruder when changing materials? I often switch my print material, i.e. ABS / PLA / Wood / Flex,

How can I best clean out my extruder between them to ensure I don't contaminate my next print?

If you feel you need to clean the nozzle the best approach is a cold pull.  You can perform this procedure with many printers, however, you should seek advice from your printer manufacturer before attempting this process if you have any doubts.

With the previously filament still loaded and the tool head cold:

Begin to raise the temperature of the tool to the printing temperature of the next filament you intend to load
As it begins to warm up perform any tasks you normally perform during filament unloading (open the idler, for example). You should not be fighting against the extruder drive gear or any other part of the tool during this process!
With a fair amount of pressure begin pulling on the filament
The old filament should eventually release from inside of the tool leaving the end of the filament roughly in a nice molded shape of the inside of the tool.  Begin loading the next filament you intend to print and manually feed some filament through as the tool finishes heating

Anything left over from the previous filament including pigment or other residue should be stuck to the end of the filament.

You can perform cold pulls as many times as you wish by loading new filament, extruding a small amount, letting it completely cool and repeating the steps.


Cura G-code Printer G-code settings vs. Extruder G-code settings I am configuring my Cura G-code settings, and I'm not sure if the Printer G-code settings (printer tab of Machine Settings) should be the same as the Extruder G-code settings (extruder tab of Machine Settings). Does one set of settings override the other? Should they be different?
I'm using the following for Printer Start G-code:
M140 S{material_bed_temperature_layer_0} ;Start heating bed
M104 S{material_print_temperature_layer_0} ;Start heating extruder
G28 ;home
G90 ;absolute positioning
G1 X-10 Y-10 F3000
G1 Z0 F1800
G92 E0
G1 E20 F200
G92 E0

Printer End G-code:
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G90 ;absolute positioning
G92 E0
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G28 X0 Y0
M84 ;steppers off

If your printer has only one extruder, leave the Extruder G-Code empty. This setting is useful for multi-extruder printing (e.g. multicolor). The extruder G-Code runs each time you switch to and away from that extruder, and can be used for stuff such as retracting a filament when switching.


Ultimaker Cura is not always retracting in exported G-Code TL;DR: Upper layers of a stringing pyramid test are missing retractions in the G-code.
Edit 1: added printer info and additional settings.
Edit 2: Clearing up confusing wording.
Update:
I wrote a program to parse the G-code and count the retraction-extension pairs between layers. The first 17 layers (base) and 18-95 (pyramid start) have the appropriate number of extruder calls. I expect an extension at the start of the layer, retraction before moving to the second tower, extension to print the second tower, and a retraction before moving back to the first tower.
After layer 95 of 391 the number of retraction pairs starts to decrease from missing a pair every other layer to eventually almost no retraction pairs. The last 70-ish layers have a retraction pair every dozen or so layers.
Perhaps this is related somehow to the shrinking width of the pyramid since the missing retraction-extension pairs increase as the pyramid comes to a point
Disabling Z-Hop shows no difference in this behavior
Original question:
After switching to a 0.2 mm nozzle I starting printing some calibration tests to find my stringing pyramids end up looking like a pair of trees. I suspect I've always had this issue, but it's much more evident now with a smaller nozzle that likes to ooze.
This is on an Ender 3, so using a Bowden tube, with a MicroSwiss all metal hot end and the extruder mechanism is aluminum with a pair of toothed drive gears. I'm seeing the problem in 1.75mm PLA of multiple well regarded manufacturers.
Relevant Settings (let me know of other settings I should list):

enabled retraction
combing mode 'off'
enabled z-hop when retracted
retraction distance 3.5mm
retraction speed 50mm
retraction minimum travel 1.5mm
Infil 100%

Looking at the G-code, sometimes I see a retraction paired with the Z-hop, but sometimes it's missing. It seems pretty random for when it's missing, but the first quarter or so of the layers do not show the problem. Originally I thought it had something to do with extruder drift over time, or something crazy, until I looked at the G-code and saw it was missing commands.
Snippit of retracting for Z-hop:
G1 F1200 X204.632 Y161.781 E77.9224
G1 F3000 E74.4224
G1 F300 Z7.08
;MESH:NONMESH
G0 F9000 X190.179 Y161.901 Z7.08
;TIME_ELAPSED:2354.891407
;LAYER:171
;MESH:string_test_fast_pyramid.stl
G0 X190.179 Y161.901 Z7.12
;TYPE:WALL-INNER
G1 F300 Z6.92
G1 F3000 E77.9224
G1 F600 X190.179 Y161.555 E77.92356

Snippit of not retracting for z-hop:
G1 F1200 X204.473 Y161.666 E78.0239
G1 F300 Z7.12
;MESH:NONMESH
G0 F9000 X190.182 Y161.898 Z7.12
;TIME_ELAPSED:2359.620803
;LAYER:172
;MESH:string_test_fast_pyramid.stl
G0 X190.182 Y161.898 Z7.16
;TYPE:WALL-INNER
G1 F300 Z6.96
G1 F600 X190.182 Y161.558 E78.02503

Test on the left is done with 'Equalize filament rate' enabled, on the right side is  done with the option disabled.

Any advice you can give as to what settings I am missing or misconfigured would be much appreciated.

It's likely that you're hitting Cura's Maximum Retraction Count (retraction_count_max) within the Minimum Extrusion Distance Window (retraction_extrusion_window). This is a misfeature supposedly designed to avoid grinding/flattening the filament, but of course acting on it will ruin your print in exactly the same way you're seeing. I think setting the window to 0 or the maximum count to some ridiculously high number like 1000000 will fix the problem.
Note that it's exacerbated by the thin nozzle making the number of retractions needed take place over a much smaller extruder-axis move distance than what you'd have with a normal 0.4 mm nozzle. This is probably why nobody has noticed and complained about the badness of Cura's defaults here.


Is iron oxide a suitable material for use in SLS/SLM 3d printing? I recently asked a question in the space section of stackexchange as to if Martian soil, with its decent iron oxide content, could be mined (with magnets) for its iron oxide and the iron oxide used as building material for an SLS/SLM 3d printer.

Is this possible? The final result doesn't have to be pure iron, I'm just looking to see if iron oxide is a suitable building material for a SLS/SLM 3d printer.

First of all, let's start with the basics:
Iron oxide aka rust
The University of Illinois hosts a "Ask the Van", where the question "is rust magnetic" has been asked, and I will quote from Tom J. and Mike W.:

There are several different oxides of iron, with different fractions of oxygen. They are Fe0, Fe2O3, and Fe3O4. Rust consists mostly of Fe2O3, with additional water molecules attached. There are several forms of Fe2O3, and a common mineral composed of Fe2O3 is called hematite, which is a shiny-blackish mineral. Hematite is not ferromagnetic, but it does still respond to a magnetic field and will be attracted to the poles of a permanent magnet.[...] FeO is also not ferromagnetic, but it is pulled about twice as much as Fe2O3 towards the poles of a magnet. Magnetite, Fe3O4, is ferromagnetic, and is about 1/4 as strong as pure iron.

In a followup answer by Mike W., it gets more explicit:

Rust (a collection of some iron oxides) is virtually non-magnetic, unlike plain iron or most types of steel.

This means pretty much, that unlike pure iron, you can't pick up (most) rust particles with a magnet. From all that we know about the Martian soil, we know for sure that it has a very fine grain, so the particles in itself are tiny. This again hints that any exposed iron on Mars has been thoroughly rusted through over the last million years, leaving only non-magnetic rust dust on the surface - dust that is not suitable to be mined with magnets.
We have an analysis of the chemical composition of Mars from some landers, hinting that Martian regolith indeed is colored from its high content of iron in various bonds. So, what we do with that data? We create Maritan regolith simulant, which has been checked back against the findings of the probes. And low and behold: there is not a single percentile of iron in either the findings or the probes or the regolith simulants. Just about 16-18 % rust.
Regolith for SLS?
Now, we have regolith with a somewhat even distribution of rust in it. And we have a stimulant that can be acquired from Huston. To my knowledge, it has not yet been tested for SLM, but it has been used in powder based extruders, as explored in How does this Martian habitat 3D printer built for NASA work?
With the lack of testing and the relatively low iron oxide content, I am hesitant to say that it will work to print in the usual way. However, with the addition of some polymer, one could create a fast regolith-plastic compound that shows similar behavior to concrete. This material could be made suitable for 3D printing in SLS machines. Another idea might be to go from SLM (selective laser melting) to the older SLS (selective laser sintering) or even simple sintering, in which a compound is pretty much "baked" into shape without fully melting it. We understand well how to sinter materials we have trouble with melting otherwise, and one of the prime examples is tungsten carbide.
Conclusion
While I see problems with mining iron from Martian regolith without a chemical refining process or refining it akin to iron sand, I don't see how martian regolith can't be refined into a suitable SLM or SLS material by addition of some kind of polymer or a thermal and mechanical process to achieve sinterable material. Instead of a polymer, a pure metal (magnesium or aluminium) could be added as a binder too. With the availability of regolith simulant for research, it only takes a research group that is interested in researching the suitability of this material for such applications.


BLTouch Stopped Working I was five hours into a six hour print and got a 28 mm X direction layer shift. No idea what caused it. I stopped the print cleaned the bed and (via Pronterface) went to home the bed (G28). The gantry homed X and Y and then I got the following message:

Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. >Set it after restarting)
[ERROR] Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is >reset. Set it after restarting)
Error:!! STOP called because of BLTouch error - restart with M999
[ERROR] Error:!! STOP called because of BLTouch error - restart with M999

Entering M999 followed by G28 just reproduced the error. I powered down and then checked the BLTouch connections. The white signal wire seemed a bit loose, so I tightened that. All other wires are secure. Powering back up, the BLTouch did not do its normal probe up and down routine. The main red light flickered for about three seconds, it then flashed 7 times and then came on fully. At the end of the flashing, the blue LED on the circuit board also came on. Testing, the black and white signal wires gave a reading of 0.975 kΩ.
I had homed and levelled the bed (G28, G29) then saved the data (M500) prior to starting to the six hour print print earlier with no problem.

Printer: Hypercube Evolution (CoreXY) with KFB2.0 board running 24 V.
Genuine Antclab BLTouch v1.0.

Anybody any idea what has happened?

Turned out that the BL Touch had packed it in. Replaced with a new BL Touch v3.1 and everything works.


Bad layers in otherwise good prints I can print a reasonably high quality print, but then there will be a millimetre or two of rubbish.

This can happen at the start of a print, in the middle or at the end.

It doesn't seem to be bad G-code as I can reprint with good results.

There seems to be a correlation between the bad layers and walls.  They seem to occurs when there is a transition to printing a horizontal wall.

The latter if there two images if the tail end of a thirteen hour print.

What's causing this?
Is it something I can fix or is it that the (new) printer is failing?

This can be caused by various problems, of which an aforementioned filament diameter is only one of multiple possible causes.

The observed phenomenon is called under-extrusion. Temporary under-extrusion can also be caused by filament friction on the spool, too low or too high filament extruder gear friction (pressure on the filament by the roller), or friction in a Bowden tube (dust particles).

Please ensure your spool unrolls freely (not entangled; entangled filament is audible like "ker-chunk" when the filament is rearranged on the spool by force of the extruder pulling) and check the extruder for friction or slip. If the extruder gear slips, this is also accompanied by an audible "click" that is called clicking. This generally implies that there is too much friction in the hot end, or an obstruction/clog.

Considering that your print recovers from the problem, and that it occurs randomly, the best guess is that your filament in entangled now and then.


What is a good way to estimate the impact on material strength different printing methods will have? I'm going to 3D print a part that needs to meet certain strength requirements, due to its usages. I know how strong a particular plastic (eg. comrpessive/tensile/shear strength) is when dealt with in a solid chunk, but not when it is 3D printed. What is a good way to estimate the change?

It's hard to tell without actually testing the part. There are many ways you can 3D print a part, even on the same machine, that can yield different results.

Here are some tips to help uphold strength requirements:

Identify where your stresses are and avoid allowing the natural "grain" of the print (i.e. each layer) to coincide with the stresses of the part. For example, I just printed a part with hinges today. I set my part up to ensure that the circular profile of the hinge on each layer, instead of having the machine "bridge" the circular profile.
Make your part more solid by increasing the infill. Note that somewhere around 35% won't really provide much more strength than say 50% with a standard infill pattern (i.e. hexagonal, diamond, catfill). However, I would imagine that if a spherical infill pattern was ever designed, that would be the strongest.
An easy way to beef up small areas of a part is to increase your shell variable (how many profile layers for each layer). Again, referencing my hinge design, I made sure that my hinges were completely printed using shell instead of shell/infill.
Don't be afraid to do some post-processing such as adding epoxy/epoxies in high-stress areas.

If it's not an expensive part to print, I would suggest playing with some of these ideas yourself and conduct controlled tests to see what setups work best for your application(s).


How to edit STL model files The slicer included with my printers (ChituBox) has no STL editing capabilities. How to edit STL models?

I think it depends on your use case.
As Bobt already commented, Meshmixer is a common tool for editing STLs.
But also a lot of CAD-Tools should be able to import STLs.
Then there is also of course Blender.
As you didn't specify what you want to use it for, I would guess you just want to do some quick fixes to the mesh.
The tool I use is Meshmixer. It's pretty powerful, but I personally never really used a lot of it's capabilities.


OctoPi (Octoprint) time lapse quality issues I'm trying to squeeze a little better quality out of my time lapses generated by OctoPrint.

I'm using the Raspberry Pi Camera Module V2 with a Pi 3. I've already edited the Octopi config to get 720p resolution, but the encoding during time lapse rendering is horrific. Blocky as hell.

Right now the encoding is set up at 5000k.
What am I doing wrong here?

That bitrate is pretty low, which might explain the blockiness (is that a word?).

From YouTube's upload guidelines, you are encoding at the minimum recommended bitrate for standard 720P video. Maybe you should boost to 7500K (7.5 Mbps) and see if that helps.

Also, it appears that Octopi is merely calling ffmpeg locally and returning the video. The encoding that is being used might be resulting in blockiness. If you have access to the raw photos, you could just dump them into a directory on another machine and generate a video using a less-lossy video codec. Of course, this would only work if the photos you are taking are high quality. Assuming that they are, here is a nice resource for producing videos from image sequences in ffmpeg.

Good luck!

P.S. Alternatively, if you prefer a lightweight video tool with a GUI, you could use ImageJ.


How to switch firmware from 12 V heated bed to 110 V SSR heated bed? According to the instructions I have read, you use the same output on the printers mainboard to control a 110 V heated bed with a solid state relay, as you do to power the 12/24 V heated bed that comes with the printer.

The relay's datasheet states that its max input current is 25 mA, obviously a 12/24 V heated bed would draw a lot more than that.

How does Marlin know that the heated bed pins are controlling a relay now instead of a bed directly, and therefore should limit their current output?

In other words: I am worried that if I just drop in the relay, it will burn up since the board still thinks it needs to supply high current to the bed.

How does Marlin know that the heated bed pins are controlling a relay now instead of a bed directly, and therefore should limit their current output?

Marlin does not (need to) know this. Simply put, all Marlin does is switch on/off the voltage at the heated bed output. The amount of current that will flow is a function of the voltage and the device connected. If you connect a heated bed to a 12 V voltage, a high current will flow. If you connect your relay to 12 V, only a small current will flow.

  In other words- I am worried that if I just drop in the relay, it will burn up since the board still thinks it needs to supply high current to the bed.

You do not need to worry about this. Your question is essentially equivalent to this: "if I replace my 100W incandescent lightbulb with a 1W LED one, do I need to replace the light switch in the wall?" The switch (i.e., your printer board/Marlin) does not care what load is connected to it, so long as it does not exceed the maximum rated current.


Z axis Control of Prusa i3 I have modified my Prusa i3 MK2 printer so that the existing extruder motor has now been attached to a 5mm lead screw with a 1mm pitch. What is the easiest way to control the extruding of the printer now.

For example is it possible to change the settings in slic3er at all for the extruder? or would I have to download and edit the marlin firmware?

The firmware of the printer reads the g-code, in this instance, for z-axis movement. The g-code provides only (primarily) millimeters of movement and direction, along with speed.

The firmware reads those figures, figuratively speaking, and knows from the values stored in the firmware, how many steps to rotate the motor, in what direction and at what rate.

I suppose if you were a glutton for punishment, you could write some code to convert the existing measurements to ones that are adjusted for the new screw, but that's just crazy. Imagine that your new screw provides for 3.729 times the movement that the old screw did per unit of rotation. You'd have to find all the z-movements in the code and apply that factor to those numbers. I suspect rounding errors might make for a less-than-satisfactory print.

As you've mentioned in your question about editing the firmware, one may expect that you have an idea what is involved. If not, that may be the topic of another post.


Basic Spinning Top Prints Fail in Same Location My attempted prints on my Creative Ender3 of model:

https://www.thingiverse.com/thing:23686

The print uses support structures (generated by Ultimaker Cura) failed in the same location twice. It is printed in PLA (1.75 mm) first print at 200 °C, second print at 196 °C.

To me, it looks like your G-code induces an incomplete layer of support on the still standing piece, which later down leads to the print failing.

Re-slice the whole thing.

As a matter of fact, I would cut the model in its widest place and print both with the large face flat on the surface and glue the two pieces together after printing. That way I can achieve:

no need for support material
maximum adhesion
no surface problems on the transition from the support to the print


Are there many differences between Ultimaker Cura and FlashForge FlashPrint slicers? I recently bought a 3D printer called Dreamer NX from FlashForge. The dealer told me to use FlashPrint software that belongs to the FlashForge printer manufacturer. But, many people advise me to use Ultimaker Cura. Are there many differences between these two software packages?

The commonality of the 2 slicers is that both are developed and maintained by a printer manufacturer. The largest difference is that FlashPrint is closed/proprietary software, while Ultimaker Cura is released in source (so-called open source project) to the public; this is valid for both the frontend (Cura) (Graphical User Interface) as for the slicing core (CuraEngine). Basically this implies that there is a larger community developing and bug fixing the software. Also, FlashPrint is exclusively available for the FlashForge printers while Ultimaker Cura can be used for different brands as well.

Statement from www.3dprms.com:

  The Flashpoint software is an in-house software program developed by FlashForge for use exclusively with the FlashForge 3D Printers

Statement from the Cura wikipedia:

  Cura is an open source 3D printer slicing application. It was created by David Braam who was later employed by Ultimaker, a 3D printer manufacturing company, to maintain the software.

As FlashPrint is proprietary, it has no shared source repository and can therefore not be based on existing forks of software that are released under e.g. some version of the LGPL license as this implies that you need to share the amendments you made to the software, otherwise you would be in violation:

  ...any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license..

Note that discussing the exact differences in features between the 2 software packages (e.g. implementation differences of model support structures) would be more fit in a forum style discussion board rather than on a Stack Exchange site.


Problems with Z step Recently I bought a Prusa i3 pro W (from Geeetech) and I've been struggling with something that is ruining all my printings. I attach a photo with what was supposed to be little "boxes":

As you can see the Z distance is doing weird things, I think may can be fixed through this configurations, as it seems the Z axis is moving too much:

On the other hand, the form the printer is doing the skirt is also bothering me, I've tried a lot of configurations and I think it's a problem of over extrusion, but I'm a newbie and I don't really know what more could I do...

I'll really thank you for every answer because I've been a lot of days with this and I begin to feel really disappointed with all.. Thank you!

as per base of the pink printout it looks like the bed is far below the nozzle (level the bed)
to check the Z steps/mm setting, the best way will be to home it, then from menu move Z by 50mm and check with a ruler or meter traveled distance.
then using a formula (requestedMove/measuredMove) * currentSteps set new value in to Z steps/mm setting. After that repeat the exercise until you will get no difference.


Aggressive resin solvent For the purpose of cleaning, I need an aggressive solvent for cured or partially cured resin that will degrade resin down to its liquid state. I'm looking for one that would eat out specifically resin (I'm using regular Anycubic green resin) in a rapid fashion but would leave painted / metallic parts and screen of my 3D printer without damage.

Wear Gloves.
Returning is impossible
Resin does not just harden, it polymerizes into shape from monomers in a chemical reaction. That means to break it down, you need to destroy the whole chemistry. There is no solvent that can simply reverse it.
Wiping is easy
As long as the rein is still liquid, you can wipe it off. Then clean the parts with Isopropylic alcohol.
Manual work
Destroying Resin-Polymers is incredibly hard for most solvents. The most simple solution is usually oddly enough to use physical force. Resins are super brittle and chip off, but might damage the paint coat in the worst case.
Thermal shock
If you can, you might put your printer in a cold environment and see the resin gaining cracks, as it shrinks slower and less than the metal. Then, putting it back into the heat adds more.


ABS prints consistently splitting in the same place I am printing ABS in an enclosure and most of the prints have worked out well with minor tweaking. However, the top layer always seems to split or skip a step (not sure which).

The cube is sliced in Ultimaker Cura 4.3.0 with 0.2 mm layer height, 0.4 mm nozzle, 80 °C bed on lexan and a 235 °C hotend.
The G-code to the calibration cube/chep's calibration cube is attached: PI3XL_CHEPCalibrationCube.gcode.
While I'm on the subject of slicing and calibration my calibration angle is coming out as before in Simplify3D, this time the layers look great but the onion skinning within the print itself so I could actually separate the calibration angle like an onion.

Personally, I have dealt with this problem myself! I messed around with the slicer a little bit, and I found that if you make the print layer height 0.15 or 0.10 mm, it will be better. The image you attached looks as though the printer was splitting a step and only printing that part. I can't think of a reason why it would do that. I also can't find anything online, so I would just play with the print settings or change the layer height until it comes out how you want it.


Good alternative to HDPE for FDM A while back, I had worked on building a Yostwerks Sea Cruiser. Now I'm thinking of trying to create a 3D printable (or 3D millable) version of the plans.

The original design uses cross-sections cut from a half-inch thick HDPE sheet. However, I am considering changing this out for one of the easier to print materials, but I cannot find any comparative information about stiffness HDPE versus other 3D printing materials.

Can I get a suggestion for a alternative to HDPE that is as stiff or stiffer as well as same density or lighter. The Kayak frame is expected to be compressing the cross-sections.

An example set of cross-sections is as below:

Please note that I have also considering changing the shape of the cross-sections to make stiffer yet lighter cross sections, but that will require some trade-off between portable sized cross-sections versus the stiffness of the cross-sections.

According to the chart on this page HDPE has a flexural modulus of between 0.75 and 1.575 Gpa; meanwhile PETG has a flexural modulus of 2.20 Gpa, meaning PETG is the stiffer material.

HDPE, by definition, has a density greater than 0.941g/cc.  PETG has a density of about 1.25g/cc.

So while PETG may be denser (depending on the HDPE used), it is more rigid, while not being too rigid.

PETG is quite printable using FDM.  If you were printing at a higher temperature and high % infill, I could see it holding up well enough.  I've printed heavy duty parts with it using a 0.8mm nozzle.


Why is the center of my glass print bed lower than the corners? I have a new Creality Ender 3.

I suspect that I have not adjusted the eccentric nuts correctly, on the X-axis head carriage mounts.

Even after a glass bed upgrade, using the Level Corners routine of the TH3D firmware, I can get the head to scrape a sheet of paper all 4 corners but that same sheet of paper does not then scrape the head in the center, unless I fold that paper in half.

I could understand this if the rail on which the hot end travels is very slightly higher at the side opposite the extruder.  I have tried turning the eccentric nut on that side until the head does trap the paper, but when I then repeat the Level Corners routine, the gap at the center has come right back.

I already adjusted the eccentric nut on the extruder end because the wheels on the hot end carriage were showing an accumulation of brown dust in a ring around each wheel, which I heard was likely a sign that the carriage was "too tight."
So basically, I am messing around with the eccentric nuts at both ends of the X-axis rail, chasing two problems at the same time, but I don't really know what I am doing.

Recommendations?

This seems to be a common problem with ender-3 and cr-10 printers from Creality. Mine is the same way but not enough to keep prints from adhering.

Typically the aluminum bed is not perfectly flat. If it’s not the glass may be able to flex enough that it can make a difference. There are a few ways to try to fix it.

Shim the low spots in the aluminum bed with aluminum foil or another thin material. Then the glass will sit on a flatter more well supported surface.
Bend the aluminum bed until it is flat.
Add a 5th leveling point under the middle of the bed. You could either make it adjustable which would be tricky to get to or create a support piece accurately or get one close and shim it.

The shimming process is probably the easiest and the one I may end up doing. But whether you shim it or do the other trick you need to measure for points that are out of flat.

If you get a decent straightedge and some feeler gauges and/or or shine a bright light from the other side and look for spots of light between the straightedge and the aluminum bed you can see where you need to shim or otherwise adjust it. You’ll need to move it at various angles through the center and other spots on the bed. That way you can see whether it is just the middle or if the edges are an issue too.

Also, once you check the aluminum bed, check the glass as it may not be flat either.

There was a YouTube video on the cr-10 I think that showed part of the shimming process and checking for level. I’ll try to see if I can find it to add a link here.

I still didn't find the video I was looking for, but here is a useful related one that talks about tramming the bed (what 3d printing people call leveling)
https://www.youtube.com/watch?v=CcAmZqb-ZEE

And here's a reddit thread about the issue. Someone incorrectly says the glass plate can't flex that much but it certainly can. We're talking small tolerances. Even granite slabs flex small amounts.
https://www.reddit.com/r/CR10/comments/7d7gyh/aluminum_bed_warped_cant_get_it_to_do_anything/


Top layers failing/underextruding on Creality CR-10 For some reason the only the top layers keep failing or underextruding on my prints, for no clear reason. Here are my settings:

Slicer: Simplify3D
Filament: 1.75 mm Black PLA from Filamentive
Resolution: 0.1 mm on a 0.4 mm nozzle
Temperature: 200 °C nozzle and 50 °C bed
Speed: 45 mm/s and 50% outline speed
Infill: 15%

The prints were going perfectly fine on a 0.2 mm resolution and only seemed to fail when I changed to 0.1 mm; which is strange considering the rest of the print goes fine, apart from the top layers (which I have 3 of).

My only thought is that it could be a bridging issue and is somehow underextruding, and getting caught on the infill as that it where it is centred around. I wouldn't know how to fix this.

If anyone could give me any information or tips I would be very appreciative, thanks.

The pictures are taken after some light sanding.

If you decrease layer thickness, you should increase bottom and top layer amount, or set it to a fixed shell thickness. The thinner the layers the more difficult to span over the infill (there is much less filament extruded).

You could try extra part cooling, higher percentage infill, reduced hotend temperature and slower top layer printing. But, best results are reached with more top layers and higher infill percentage.

See e.g. this answer by user "dnewman":

  That said, with very low layer heights (e.g., 0.1 mm), there's a tendency to use very sparse infill to speed up printing time.  However, very low layer heights bridge over voids very, very poorly.  So poorly that you can have the print nearly finished only to find that the top won't close up.  Thus, don't make the infill too sparse when doing low layer heights.  MOREVER, you definitely need more top layers to get the final finished top to look acceptable.  The thin layer heights will take many more layers (many more in physical height, not just layer count) to give a nice top.  At issue (again) is how poorly low layer heights will bridge voids.  With 0.2 mm on up, you generally get a nice, thin strand extruded which can stretch across voids. But at 0.1 mm layer heights the printer is just doing tiny, discrete squirts of plastic which it spreads like cake icing across the lower layer.  There's not a single, fine strand extruded and instead tiny little beads.  When there's a solid layer below, these squirts have something to be spread against by the extruder nozzle.  But when there's a void, the squirts just build up on the nozzle and then come off in a big blob when the nozzle next brushes over a non-void space.


Anet A8 mainboard dimensions and hole offsets I'm trying to get a clean set of measurements of the Anet A8 mainboard and determine the exact positioning of the holes in both the board and frame.

The frame and the board are cut to accommodate an M3 bolt.

Here are the measurements I have currently:

Mainboard

Overall Width 100 mm
Overall Height 95 mm

Frame (main board holes)

Lateral (measured with calipers)

Hole (3.4 mm) Distance +
Inner edge hole to hole (83.07 mm)
= ~86.4 mm

Vertical ~90 mm (not measured 100 % correctly)

I was hoping to just find a PCB layout for this board with the measurements and offsets but have found nothing.

I am attempting to provide a mount adapter frame for a PSU with a 50 mm x 150 mm mounting footprint.

Why don't you download one of the many casings that are found on Thingiverse that house the Anet electronics board and take measurements from those cases.

I measured it from my own casing I designed a while ago:
Hole distances are 86.3 mm and 91.3 mm (center to center)


Printing files over USB drive (Ender 3 Pro) Is this possible? I know that the controller board of the printer is normally controlled (when using USB) by an active computer sending data, but I was wondering if it could be reversed so that the board retrieves files from a USB flash drive? My SD card keeps failing and is overall frustrating to work with, so USB would be a nice option.

Unfortunately, no.
There are two types of USB devices: host, such as a PC, and device, such as a thumb drive. (Actually, there is a third type, on-the-go, which can act as either.)
The Ender 3 mainboard is a USB device which means that it can only connect to a USB host. You cannot directly connect two USB devices, such as the Ender 3 and a thumb drive) and have them work.
One option would be to set up OctoPrint software on a Raspberry PI single-board computer and connect that by USB to the printer.


Why did my power supply fuse blew out on my Anet A8? So yesterday I got my power supply in the mail and I thought, let's check it out!
I put all the wires in correctly (as shown in this YouTube video, Anet A8 power supply unit fuse blown, I just searched really quickly, this person has the same problem as me) and "BANG", it blew.

Luckily the only thing broken on it is the fuse, for which I can get a new one, but my main question is .. why? why did it blow out? Did I wire it up wrong? The 12 V output goes to a RAMPS 1.4 board which is working correctly.
It worked the first time I plugged it in; the little green light went on. The second time a nice "big bang". When I tested it the first time, I didn't add the 12 V wires to the RAMPS board yet. When I did, the fuse of the PSU blew out.
The board is a RepRap RAMPS 1.4, which works fine when connected via USB to laptop.
Upon closer inspection I found a burned out resistor in the circuit of the power supply, maybe this caused the bang?
BIG update!
I opened it up and flipped the board, and noticed that there was a big ol' blob of tin connected to one of the pins I connected my wires to. I am very sure that this blob shouldn't connect to that pin at all, hence shorting my board.
Is this the cause?

Here is a link to the webpage I bought it from: Anet® 12 V 20 A 240 W Power Supply Dual-input Centralized Power Monitoring For 3D Printer
Here is how I wired it up at the PSU side:

At the RAMPS side:

This shows the internals of the PSU, it clearly shows burn marks:

You need to closely look at how to connect to the output connectors. In this case it appears that you have wired it correctly according to the stamped in markings above the connectors. You have chosen not to connect the earth, this is strongly advised.

Did you check if the power switch matches the voltage of your country? If you are in Europe the switch should be set to 230 V, not 115 V (which is used in America).

E.g. for the following power supply you see such a switch on the side:

If a PSU is connected without load and works, and short circuits when externals are connected there are a few options:

there is a short in the connected printer board,
the load that the board takes is too large for the PSU,
the PSU cannot deliver the load,
the PSU was faulty to begin with.


Short circuit on RAMPS 1.6 board? I have a RAMPS 1.6 board. After soldering my stepper drivers, I probed them for bridging and found a short where none should be. Digging deaper into it, my multimeter shows continuity between the 12V +/- connectors (on occasion).

I have scanned the whole board repeatedly for solder bridges, but could not find any. Are there any known weaknesses that I should look for or any specific place I should look at to repair it?

Your multimeter showing continuity doesn't necessarily mean there is a short.

All your multimeter is doing is applying a small voltage and then, if the current that flows is over a certain threshold, reporting that there is continuity.

The components (stepper drivers, microprocessor) on the board, draw current. That's normal. The current draw might be enough for your multimeter to report continuity. Because the multimeter is only using a small voltage to test (and not the required 12V), the current draw may be intermittent (not enough voltage for the microprocessor to actually start working), and capacitors getting (dis-)charged may also affect things.

The multimeter not reporting continuity is a guarantee of no short. However, the multimeter reporting continuity does not mean there is a short. The only way to find out is to apply 12V. If you use a current-limited power supply the possibility of damage if there is a short circuit is limited.


Beginner FreeCAD question on axes when sketching I am a raw beginner at FreeCAD and 3D draughting. Watched some tutorials and designed 2-3 simple items. Aiming to use it for 3D printing.
My question relates to 2D sketching. As I understand the workflow, one draws 2D items that one can then extrude, cut etc. So one picks the drawing axes (eg X and Y), and the sketch is then at Z axis zero. After extruding, one can place another sketch on a face for further extruding etc.
But the sketch is always at relative Z/3rd axis zero.
Consider a fairly large block extruded 10 mm thick. Say I want (example only, never mind  why) to cut a 20 mm disk from the interior, 3 mm deep, 5 mm from the bottom surface therefore 2 mm from the top.
If I place a sketch on the top surface, make a 20 mm circle and use that to cut a hole, the cut will always start at the top surface - but I want it to start 2 mm down. I.e. it seems to me I need to be able to offset the sketch from local Z/3rd axis zero, in this case to -2 mm.
Can one do that, or have I missed the point somewhere?

This answer assumes you're working in the Part Design workbench.
So you want to adjust the starting height of a pad or pocket. There are two ways I can think of to do this easily.

Adjust the Z attachment value of the sketch to lower the sketch below the surface.
Use the "two dimensions" option in the pad/pocket operation and set the second value negative.

By the way, it is highly suggested not to attach a sketch to a surface. The current development version (0.19) and previous versions have an issue ("topographical naming") where editing a previous feature can change the internal name of a face causing the attachment to break. There is a solution under development but it doesn't loom like it will get in earlier than 0.20. You should instead simply adjust the Z attachment value to match the face you want.
Also, there is a very active (and very helpful) forum here. I'd suggest asking further FreeCAD questions there.


Trouble uploading Skynet3D to my Anet A8 via Arduino program I'm in distress here fellow people. I'm a noob to 3d printers and want to become an expert. Everybody has to start at the bottom right? Like the title says I'm trying to upload Skynet to my printer and for the board, I'm selecting V.1 even though my arduino board says V.1-5. And for port I'm selecting COM3, which is information I found in device manager, and the file I'm selecting to upload is SkynetV.1.?alfa.ino. After all of that is selected I click upload and I get the following error messages:

Sketch uses 114,230 bytes (87%) of program storage space. Maximum is 131,072 bytes.
Global variables use 4,470 bytes of dynamic memory.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd6
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x80
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xbf
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xae
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd6
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x02
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x21
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xcc
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xd6

Please help me.

Skynet3D was a very old fork from Marlin firmware, all functionality (more specifically for the odd LCD screens used by Anet) have been merged into Marlin firmware. Just get the latest version of Marlin. The current and final release of branch 1.1.x is 1.1.9 further development will be done in 2.0.x. Version 1.1.9 works perfectly fine for the Anet A8.

These error messages are displayed when you have either selected the wrong COM port or wrong Arduino board or have faulty or no drivers installed.


Bigtreetech upload stalled after uncommented REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER I recently bought a BigTreeTech SKR V1.3 and uncommented REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and clicked the upload button but faced an error that says:

Marlin\src\lcd\ultralcd.cpp:767:9: error: 'touch_buttons' was not declared in this scope
if (touch_buttons) {
^~~~~~~~~~~~~
Marlin\src\lcd\ultralcd.cpp:767:9: note: suggested alternative: 'buttons'
if (touch_buttons) {

^~~~~~~~~~~~~
buttons
Marlin\src\lcd\ultralcd.cpp:805:5: error: 'else' without a previous 'if'
else wait_for_unclick = false;
^~~~
*** [.pio\build\LPC1768\src\src\lcd\ultralcd.cpp.o] Error 1

I am not sure what above message means, but can anyone else shed some light on why I am receiving these errors?

FWIW, I am using Marlin 2.

There is a temporary solution which I have found here, on the reprap forums, Re: Upload to the board failed after LCD enabled:

  An official fix has been posted. Grab the new ultralcd.cpp from [github.com]

Apparently the sources contained a bug which was fixed later, a new version download fixed the problem.


Is there an engineering/physics foundation for application of airbrush nozzles? Lately I noticed that there is a new type of nozzles (called airbrush nozzles?!?) available; typically found on those online overseas vendor sites. The nozzles are advertised for usage in E3D hardware, but are not found amongst the E3D genuine nozzles.

These nozzles look like this:

What are the basic physics principles or what is the engineering relevance for application of airbrush nozzles? (Gimmick or actual product improvement?)

An obvious drawback is the lack of a flat surface around the opening, resulting in a severe limitation of the extrusion width to exactly the nozzle width (plus some percent). This nozzle cannot efficiently push the filament against the nearby perimeters because it cannot constrain its height and it cannot flatten the top of the already extruded one. So layer adhesion may not be a big problem, but perimeter-to-perimeter likely is.

Also, the thinner wall and extended length will reduce the filament temperature, however I don't know whether a simple compensation would do, since cooling will depend on filament speed and travel speed.

Regarding the cooling, you can check also the original designer's goal:

  A big problem with small. hot and slow prints is the heat radiation of
  the hotend and nozzle itself. To get as little as possible heat into
  the print, the nozzle needs to be as long and pointy as possible. The
  longer the nozzle, the bigger the distance between heater block and the
  print. And the more pointy it is, the less heat radiation can affect
  the print. A nice side benefit: the cooling fan can blow better onto
  the print and "around" the nozzle.


Horizontal faces not generated in Cura I've never used a 3D printer before. I'm trying to print the calibration cube  found on Thingiverse. After the process finished, I noticed that the face pointing up that forms the inset at the base of the letters Y and X was not printed and I could see a hole. The same for the faces pointing down at the top of the letters. At first I thought that it was a printer issue, then I checked the relevant slices and I found out that those faces are not built at all in Cura:

If I do the same in the Prusa slicer, I get the necessary base:

How do I get the same in Cura?
How is this setting called?

Cura has several settings that can cause it to erroneously omit small top/bottom surface "skins". Look for preshrink ("Skin Removal Width"), expansion ("Skin Expand Distance"), and particularly the limits on when expansion takes place ("Maximum Skin Angle/Minimum Skin Width for Expansion").
Normally Cura shrinks then expands skins by the same amount, proportional to line width, to avoid generating skin (which is slow to print and harms layer adhesion when mixed with walls) in places where the walls will already cover it. But the recently added max-angle/min-width settings cause the expansion to be skipped in certain places, leaving just the shrinking, and thereby serious gaps in the surface. This feature is just misguided and should be disabled by setting the min width to 0.
If you still have problems after that, you can try lowering both the shrink and expand, possibly even all the way to 0, but this will harm print quality and shouldn't be necessary.


Change Slic3r settings for left handed coordinate system I made my printer to have a left handed coordinate system (it homes to the back left corner of the heatbed), I did this because it happens to make working on the printer easier for me. This, however, causes the objects to be printed mirrored. In Slic3r I manually mirror objects every time I load a new objects. From time to time I forget doing this which is really annoying. I was wondering if there is a setting in Slic3r to automatically do this. Something like mirroring on import, or changing the axis in Slic3r itself.

The direction of the end stop is set in the firmware of the printer. Even with different setup end stops, you should be able to get a correct coordinate system without mirroring axes in slicers. This would be the preferred method to fix your problem!

E.g. my Ultimaker 3 Extended homes the Z on Z max having the platform at the bottom of the machine, a calibrated offset determines the actual Z=0.

Not knowing which firmware you are using, in e.g. Marlin Firmware this is set by code lines in the file Configuration.h:

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

Your end stop triggers at the maximum of the Y axis, so you need to configure it as a MAX end stop, i.e. use the Y_MAX pins by defining (search for the Endstop Settings section, note to also disable the YMIN endstop):

//#define USE_YMIN_PLUG // This disables the YMIN endstop
#define USE_YMAX_PLUG   // This enables the YMAX endstop

and change the homing direction (Y_HOME_DIR) to 1:

#define Y_HOME_DIR 1 // This tells the printer where the endstop is located: positive for YMAX direction

Otherwise when used at Y_MIN endstop and the homing direction set to -1, the axis is reversed as you experienced.


Extruder is running backwards? I have a (HIC) version of the Prusa i3. I have recently installed the E3D v6 hotend and titan extruder. After fixing some other issues, I noticed that there is no filament being extruded. In addition, the gear looked like it was going in the wrong direction. How can I fix this?

You can either flip the connector for the motor around (i.e. plug it in backwards) or (if you are using Marlin firmware) look for the following line in configuration.h:  (using the Arduino editor open the Marlin file For your 3D Printer,  one of the tabs is labelled "configuration.h" click on that tab to bring it to the front for editing.  use the Edit, Find and put E0 in the find box, click find.  When you find the line below

#define INVERT_E0_DIR false

change false to true (or vice-versa). Note that if you go for the connector-flipping route, make sure that you only do this when the printer is turned off.


How can I have a large 3D printed object? I have a concept that's roughly 18"x30" (about 457x762 mm), and I just realized that the Makerbot and similar printers only allow dimensions around the size of a piece of paper. What are other options? Are there large 3D printers I just don't know about? I looked up TMC injection mold, but couldn't find anything on size (most links go to PDFs with printer images).

Is injection even in the same "world" as 3D..? Sorry for confusing the two.

As Trish states, a print service would appear to be your best bet. Building a printer large enough may work out costing more than the print service, especially if it is only for one print of a proof of concept.

Anecdotally, I visited a 3D Printing shop in Bangkok, JWH High tech Garden, that had a huge Delta printer that had, reputably, cost a million baht (~£20000) if my memory serves me correctly, and was capable of producing prints up to 1000 mm x 600 mm (39.37" x 23.62"):

However, the print service was not cheap at all. In May 2017, I was quoted 68000-100000 baht (~£1360-2000) for some printed parts (the proteins) for a Wilson II 3D printer, which are about only £70 on eBay!

However, it is worth taking into consideration that, at the moment, Thailand is very expensive for 3D printing in general, as it is relatively new there, and so prices for both printers and print services are high.


Connecting OLED 128x64 LCD; dogm_lcd_implementation.h is missing for patching I'm trying to install a MKS 12864 0.96 OLED for my DIY 3D printer (see this other question).

It's not listed in Marlin's LCD section of configuration.h and according to some instructions, I need to do some modification to a file  named dogm_lcd_implementation.h which is missing in Marlin 1.1.9!

Where is it? How can I install my LCD module?

Question History
An answer on your previous question discusses patches for installing the LCD module in your Marlin printer firmware. Note that these patches are very old (around 2015). Many things have changed since then (as is acknowledged there). That answer does not work for recent versions of Marlin source code!
Answer
Yes, your observation of the dogm_lcd_implementation.h file being missing in the 1.1.9 version of Marlin is correct. But, I believe it is not lost, all code and further development can be found in ultralcd_impl_DOGM.h. There are some older versions of the file wondering over internet, e.g. here or from this older Marlin cloned repository.
I believe that your 2nd patch:

/*---------------MKS OLED patch_2-----------------------*/
#elif defined(U8GLIB_SSD1306)
U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25); // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
/*---------------MKS OLED patch_2-----------------------*/

should be placed in ultralcd_impl_DOGM.h just under:

#elif ENABLED(MINIPANEL)
  // The MINIPanel display
  //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
  U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes

and before:

#else
  // for regular DOGM128 display with HW-SPI
  //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0  // 8 stripes
  U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0 // 4 stripes
#endif

to create:

#elif ENABLED(MINIPANEL)
  // The MINIPanel display
  //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
  U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
#elif ENABLED(U8GLIB_SSD1306)
  // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
  U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);
#else
  // for regular DOGM128 display with HW-SPI
  //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0  // 8 stripes
  U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0);  // HW-SPI Com: CS, A0 // 4 stripes
#endif

Do note that there already exists an entry for U8GLIB_SSD1306! This has to be deleted, or you need to put the code in that section (un-commenting existing code)!
E.g.

#elif ENABLED(U8GLIB_SSD1306)
  // Generic support for SSD1306 OLED I2C LCDs
  //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);  // 8 stripes
  U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes

could be altered to:

#elif ENABLED(U8GLIB_SSD1306)
  // Generic support for SSD1306 OLED I2C LCDs
  //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);  // 8 stripes
  //U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes
  // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
  U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);


How to 3D print an object with variable printing speed? I have a object to print for which I want the base to be printed very rapidly because it's just a cube but as the print reached around 70 % a complex circular structure needs to be printed at a slower speed. Is there any way I could control the speed at the given percentage of job done?
I want the cube to be printed at 50 mm/s and the complex circular structure at 40 mm/s.
Printer Type - FDM

As @fred_dot_u mentions, Simplify3D has the capability to do this, but you can achieve the same effect by slicing the file twice, once at 40 mm/s and once at 50 mm/s, and then manually combining the generated G-code using a text editor. You should be able to find the point where it transitions from printing the cube to printing the circular structure by looking at the Z-height, and you can simply copy-paste the G-code from that point onward from the 40 mm/s file into the 50 mm/s file.
For instance, you might look for a point like this in the G-code (Cura):
G1 F3600 X113.543 Y94.098 E105.96969
;LAYER:25
G0 F7800 X113.743 Y91.369 Z2.700

or this (Simplify3D)
G1 X175.981 Y74.019 F2880
; layer 25, Z = 1.869
; inner perimeter
G1 X162.982 Y57.870 F7500
G1 Z2.069 F900

Note that the both include a comment line (a line that starts with ;) to indicate the layer. Everything before that you should copy from one file, everything afterwards from the other.


Filament clogging just above feeding tube - Duplicator 6 I have this clogging problem on my 3D printer that I am having a really hard time to solve. I am a hobbiest so in no way am I a professional with regards to 3D printers. I also know that this is a popular issue and I have tried a lot of the proposed solutions (going through a lot of PLA filament and failed prints) to no avail. I will try to describe the problem and what I have tried to solve it.

First the issue:

This shows how the filament clogs. The next image shows the assembled printer head for reference.:

This is how the print looks when it fails:

I have tried the following:
- Adjusting the temperate between 190 up to 220 for the PLA filament. Everything trying a print with it.
- Doing a thorough cleaning of the nozzle (Acetone soak, wire brush, guitar string etc.)
- Checking the Teflon pipe inside the tube if it is clear and ensuring that the edges allow the filament to pass through.
- Check if the cooling fans work well to ensure cooling of the whole assembly (they work, they aren't jammed etc.)
- Dissambling the printer head and putting it back together.

I have printed with the printer before without a problem. I printed PETG a few times to get that working and the results were decent. When I returned to PLA this issue started and no matter what I change on the profile it won't work. I have tried adjusting feedrate, flow rate, retraction amount and speed, temperature, fan speeds to name but a few things.

I have a Cura profile I can upload if that will help. Any advise would be much appreciated. I have been struggling with this for a while now and really need some options.

Sometimes the filament quality itself could be the culprit. Have you tried printing with a different spool of PLA?