Different brands and blends of PET filaments seem to do this to different degrees. Esun's PETG is definitely one that tends to glob onto the nozzle. Basically, the nozzle plows through the top surface of the filament and lifts up some plastic, much like the bow of a ship lifting up some water at high speeds. PET's viscosity and stickiness seem to amplify this effect more than other filaments.

Some things you can do to minimize the globbing:

Calibrate extrusion volume on the low end of what you'd normally use for other filaments (how you do this depends on your slicer)
Use your slicer's "Z-hop" or "avoid perimeters" feature so you don't do travel moves across printed surfaces
Invest in an anti-stick coated nozzle, such as are sold by Micro Swiss or Performance 3-d (these don't eliminate globbing, but they do reduce it and make the nozzle much easier to clean)
Play with slicer settings such as extrusion width, layer height, and infill/perimeter overlap to reduce the amount of "excess material" that sticks above the print surface

Again, this is a common problem with PET blend filaments. Anecdotally, some brands seem to glob more or less than others, so switching to a different vendor may be worth trying if you want to do a lot of PETG prints.


Has anyone applied four 200 x 200 mm PEI sheets to a 400 x 400 mm bed?

I haven't tried such a thing, but a speculative answer covering the constraints and expected failure modes may suffice here.
Unless the sheets have squared (rather than rounded) corners, the corners will almost certainly be a problem. In particular you'd end up with a hole right at the middle of the bed.
If the sides aren't entirely square (perpendicular) with each other then you'll have large gaps at one end or another.
As Trish noted in a comment, it's also possible that you may hit problems due to mismatch in thickness between the different sheets, although I'd expect these are fairly well-controlled in the manufacturing process; otherwise I'd expect bed leveling issues even with just a single sheet. If you do hit this kind of issue, it may be possible to avoid it with shimming of some sort.
Assuming you can avoid all of the above potential problems, I would expect what you've proposed to work reasonably well, especially if you're ok with very minor surface defects at the seams.


I think you will find that it will be necessary for you to tune your own printer to a specific resin. Even as important, you would expect to have different parameters for different colors of resin, as each will absorb the UV to a different degree.

You haven't provided parameters in your request for which resin to use. You will consider availability and cost of the material you select, as well as the UV light frequency for which a particular product is specified. Temperature range of use is another critical detail.

You'll want to avoid resins for which the manufacturer does not provide specifications of that sort.

If you pursue this route, you'll find and learn quite a bit.

Regarding the resin additives for non-hardening: I have not seen such a product and I would not be surprised to learn that it is a proprietary substance and as such, a company secret.

There is a recent development of a similar note, a positive one, in my opinion. There is a silicone compound that forum posts have indicated allow the resin to release with minimal or no difficulty and the clarity lasts weeks of use. Current use of Sylgard or the equivalent means frequent re-builds of the vat due to cloudiness of the silicone or tearing of the surface due to excessive stickiness.

Breakable Glass Silicone has developed quite a following on the B9Creator forums for solving (or substantially reducing) those two factors. That alone justifies the immense expense of shipping from Australia, in my opinion.

The easy release of the layers of the model from the surface would mean far more reliability in printing. You should/could consider this product for your project as it removes the requirement for questionable additives.


Ender 3 Y-Axis Stretched (I don't believe it's layer shifting)

If an axis doesn't print the sizes you command it there are basically 2 options causing this.

The printer is incorrectly configured,
The printer has an hardware issue.

To find out which of the 2 is applicable, you need to look into your setup and into the firmware settings. E.g. from the printers display you can read the amount of steps the stepper needs to make to move the axis 1 mm. Alternatively, send M92 through a terminal and look at the steps per mm. If X and Y are the same, the firmware is correctly configured and you are facing a hardware issue. Note that for the stock Ender 3 the value for X and Y needs to be 80 steps/mm. Do not alter these values!!! These values are based on the mechanical layout and the micro-stepping used by the stepper drivers.

Since you have flashed a stock hex firmware file it is highly improbable that the firmware contains the incorrect steps per mm value for the Y axis (unless you accidentally changed this through the interface/display). This leaves you with a hardware issue. Common reasons that could identify the source of the problem are:

Loose grub screw of the pulley on the stepper,
Missing steps, e.g. due to too much friction (if dimensions are smaller, in your case this is not the problem, it is added for completeness),
Loose, under tensioned belts,
Stretched belts as a result of over tensioning the belts.

Considering the stretched Y dimensions, the most logical explanation would be that your belts are stretched, you cannot fix this by changing the steps/mm value, it requires mechanical attention; i.e. replacing for new belts.


The problem was in the wiring of the motor. According to different sources it says to check wiring, everything seemed ok, but I've found one wire was damaged.


You print too hot and probably with not enough cooling. These typical defects are caused by too much heat input into your model. You see this best at the overhang of the bow of Benchy, it should be smooth like the bottom part of the side of your Benchy. It clearly shows heat induced defects. Lower the temperature at least 10 °C. Know that PLA usually is printable at about 190 °C, also 65 °C for the hotbed is quite high, Depending on the surface you could aim for a temperature between 50 - 60 °C,


How do I enable Expert mode in the Craftware slicer?

I figured it out, you must click the slice button, then among those options, there is s button to switch to Expert mode. Hope this helps someone in the future.


This is a sheet of glass you'd most likely need to acquire as a replacement part for your printer's manufacturer:

The dimensions of the glass, especially with the rounded corners, are usually very odd and make buying a spare from a glassmaker really expensive.
Some printers like the Elegoo Mars have an LCD mounted as part of this sheet.
Printers also might have this plate coated for different properties, for example, to reduce reflectivity and refraction inside the printer.

In this case, we have a DLP setup that uses a projector. You best inquire at the manufacturer itself using their website, E-Mail or facebook about a few spare pieces - that will get you the same quality as the bed you already had (save for the scratches) and they usually have such items in stock.


When you command a move such as G1 Z10, you are omitting the speed at which the tool head travels. Without specifying the speed, the speed from the last command or speed setting is used. Frequently, after levelling the bed, the tool head is raised in Z direction with a low speed (movement in Z direction is always much slower than in X or Y direction), if you command a movement after raising the tool head it uses this speed. For faster movement you must include the feedrate, e.g. G1 Z10 F600, now it will accelerate from the initial feedrate (e.g. 300) to 600 during the move. If you want instant speed you set the feedrate first and then move the tool head:

G1 F600
G1 Z10


Ender 3 Pro + SKR mini E3 1.2 + BLtouch doesn't work with downloaded bin file

A) it tries to exceed the X limits and makes the loud clicking sound while performing the bed leveling. it even tries to move past the X end stop switch.

This tells me that the firmware you use is faulty - it has a faulty bed-size or home.

B)when printing, it moves to the far right rear corner and extrudes off of the bed.

This can be intended in the G-code, or bad homing, again, firmware home position.

C) octoprint can no longer connect with the printer.

This, again is a thing that happens if the firmware is not configured properly or flashed correctly.
You might have accidentally chosen the wrong firmware distribution - your config points to the Ender 3 - SKR Mini E3 v1.2 - BLTouch, not the Ender 3 v1.5 or v2 (slightly different hardware), and possibly adjust the proper homing position.


Printing with White pla, problems while printing a benchy boat

Even from the same manufacturer different colors of filament have (slightly) different properties requiring different settings of your slicer.
But here it seems you have some underextrusion at this hight. Have you tried again the same file with the same filament and the same settings? It could be a fault in the white filament at that spot that (temporarily) clogged your nozzle.


How can I calculate volumetric speed for Slic3r auto speed?

Auto speed is calculated from maximum volumetric speed in mm3 per second. If you normally print at 80 mm/s, your extrusion width is 0.5 mm and you are printing 0.2mm high layers, your volumetric speed would be 80 * 0.5 * 0.2 = 8 mm3/s, which is the volume of plastic extruded by your printer every second when printing at that speed (not accounting for any die swell).


How do I convert point cloud data to DICOM?

This answer is actually based on combining answers from 2 other questions (this and that).

The process isn't a single step and would be to as follows:

The point cloud data needs to be converted to a 3d mesh.
Convert the mesh to STL.
Slice the STL into SVG.

For step one, the type of point cloud data would decide the software to use (for example, if it is GIS point cloud data, or 3D scanner point cloud data). A good end result of step 1 would be a VRML file. As you've not specified the type of point cloud data, I cannot suggest a software for it.

Step 2 would be to convert the mesh to STL which is easily doable using  Meshlab.

For step 3, Slic3r itself will work just fine to generate the SVG output you're looking for.


How to upload my works to Thingiverse without making my real name public

To change your displayed name (as opposed to username) in Thingiverse:

Go to your profile page
Click "Edit Profile" on the info column on the left
At the top, next to "Thingiverse Settings" is another link/tab called "Makerbot Settings". Click that.
Change the First Name and Last Name fields, and save.

Note that neither First nor Last Name is required; if neither is provided, your username will be displayed in place of your display name.


Marlin is restarting when pins 5 Vcc are enabled and has a servo motor connected (RAMPS 1.4)

PSU is only feeding 12 V into RAMPS, but (if I remember correctly) RAMPS is using Arduino's onboard regulator for converting 12 V to 5 V. That regulator can not provide much power.
If you connect some significant load to any 5 V pin (like servo, LCD backlight, or BLTouch), the regulator will be overloaded and its output voltage will drop (too low or unstable voltage will prevent Arduino from running correctly).
You can prove this hypothesis by measuring the voltage on any 5 V pin when Arduino is in "infinite restart". It will likely be far below 5 V.
Connecting USB helps because it provides additional power for 5 V rail (but you may be overloading the computer's USB port by doing this).
The solution is to get an external 12 V to 5 V regulator (with enough power, something like 3 A should be ok) and connect it between PSU and some 5 V pin on RAMPS. (Or get PSU that has both 12 V and 5 V output)
If you get an external 5 V supply, it may be a good idea to then completely disconnect RAMPS from Arduino's 5 V regulator. Have a look at https://reprap.org/forum/read.php?219,799595
Also, the regulator on the Arduino board will likely be overheating and may get damaged (But regulators usually have some overcurrent protection so it probably will be OK)
The regulator is located somewhere near the power connector on the Arduino Mega board, Google "AMS1117" if you don't know how it looks. Replacement is possible with intermediate soldering skills. The regulator is only used when powering Arduino from power connector or Vin pin (RAMPS uses the Vin pin). If powered from USB or 5 V pin, it can run without it.


I see four points of error:

The heatbed could be faulty.
The lines could be faulty.
The trigger signal could be faulty.
The power supply could be faulty.

So, how to check what it might be? We need to measure, but we need to measure in a setup of 12/24 V circuits while they are live. While not necessarily considered "dangerous", take extra precautions! Remove the parts you will need to access from the machine, ground the power supply, and use your utmost care! Make sure the heatbed is not connected to the Power supply, so we can measure it in the safest way.
Ruling out the Heatbed
The first step can be done without power: the resistance of the heatbed should be non-0, non-open line. It's best to measure directly at the input pins to the bed. If it shows close to 0 (some milli-Ohms), open line (OL), or no continuity (NC), it has a short or is burned out and needs to be replaced.
Ruling out the Power Supply
Once we have reached a safe setup, take a voltmeter and measure the voltage (potential difference) on the pins you reserve for the heatbed. If it is 12 V with some tolerance, it's good, otherwise you might need to get a new power supply or have a professional fix yours.
Ruling out the trigger signal
Next, move your measuring to the output of the board. Now order your board to heat up the bed. Make no illusions, we will trigger TRP, as the bed is disconnected. This will need us to reset the board between tests. You should see a 5 V trigger signal. If not, your board or firmware might be faulty and require different investigations.
Ruing out the lines and switch
Next step is to swap to Resistance mode on the multimeter and measure the resistance of the switch, best with the whole power line. Under "heating", the setup should show a close to 0 Ohm resistance, if not it should show an infinite or open line.
What now?!
If it is neither of the 4, reassemble on the test stand, reconnect the bed to the power supply and investigate all connections between the elements we just checked. Now order a heating procedure - as all components should be ok, it has to be one of the interfaces between the parts.


What could be causing my y axis to slip?

(source: all3dp.com)
Your printer is skipping steps in the y-direction. This can have several causes. Take a look into Shifted layer guide on RapRap.org which lists 29 possible problems that can cause this issue and how to fix them.
First items of the list:

Driver current is too low
Driver current is too high
Belt too Loose
Belt too Tight
Loose Set Screw/Grub Screw
Belt or Bearing is binding
Speeds are too high
Acceleration is too high
...

When I was dealing with this issue on my RepRap I had to increase current to the particular driver.


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

Directly from their site:

  LightBurn

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

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

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

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


The answer to this specific instance appeared in the comments:

  Also, a thorough cleaning of the nozzle/hotend might also be a good idea to get rid of all the stuck ABS residue inside. – 0scar Mar 26 at 8:44

  The problem solved !, my ABS is stuck in nozzle !!! – 3ORZ Apr 25 at 6:52


Depends on your definition of "available" and your definition of "suitable for general use."

The cheapest 3D printers are mostly Kickstarter promises that take a year or more to ship, if they ever do. For example, the Peachy 3D printer Kickstarter just imploded and failed. There have been many other failed low-cost 3D printer crowdfunding campaigns. Another low cost Kickstarter printer, the 101Hero, is ongoing now (May 2016), but most competent observers I've talked to don't believe it will succeed at delivering working printers to all backers at that price point. If they do deliver, it will be painfully low-cost components and the printer will not perform well or last long. Stay away from crowdfunding campaigns for your first printer. At best, you get a beta product with lots of kinks to work out. At worst, you get nothing and lose your money.

For actual products you can purchase today, there's a wide spectrum of quality/cost tradeoffs.

Under \$200 there's nothing credible. The Tiko (\$179) might deliver, but post-Kickstarter units are widely expected to cost more.
Around \$200-300 you get into low-quality Prusa i3 kits from China. These aren't a great value -- most people end up spending another few hundred dollars on upgrades to get them working reliably and with high quality.
Around \$300-400 you can get an ok 3D printer, often with "chipped" proprietary filament so the vendor can make high profits on locked-in consumables. ("Razors and blades" model.) For example, the XYZPrinting Da Vinci Jr is \$350 but locks you into high-cost chipped filament. The Wanhao Duplicator i3 is currently a community favorite for value-for-money at \$399. The Printrbot Play is much higher quality/reliability but much smaller at the same price.
If you get up around \$600, a big range of decent printers opens up. But this is no longer the "least expensive" option, so I won't get into it.

If you want to tinker, the Duplicator i3 is a good choice. If you want a machine that just prints, the Play is a good choice. There are other printers and cheaper printers, but most of what you'll find below $400 is going to end up causing pain unless your goal is simply to tinker with printer troubleshooting and upgrades.


Warping. Especially with materials like ABS, you want the plastic to cool down as gradually (and slowly) as possible, to prevent the print from warping as the cooling plastic contracts. On small layers, cooling is usually mandatory: with really small layers, you just end up with a big glob of molten plastic if the previous layer hasn't solidified enough before the next layer is put on top.

You want just enough cooling that the plastic holds its shape, but no more than that. On a large layer, the plastic cools enough naturally without help from a fan.


I have found that normal measuring devices are not particularly helpful with accurately measuring nozzle diameters. But you're already off to a great start.
What is helpful is to take them somewhere that has a wide assortment of drill bits, and find which two adjacent sizes will and will not fit in the (clean) nozzle; then convert the diameters to mm (if needed), and your nozzle is larger than the small bit, but smaller than the large bit. From that, you should be able to narrow it down to a standard dimension.


What's the best stepper motor for BMG with very high extrusion rates?

A BMG extruder can be used in conjunction with the E3Dv6 hotend, the Volcano and the Super Volcano are upgrade parts for the E3Dv6 (see e3d-online), they are just differently sized heater blocks you can use to replace the normal heater block to increase the volumetric flow. In fact, it is just a v6 with a different heater block (and heater cartridge, longer nozzle threading, and often and a larger nozzle diameter). The increased heater blocks will allow for an enlarged melting zone. Although this increased melting zone, the extra length of walls will not significantly increase the resistance, most resistance comes from compressing the filament diameter to the nozzle diameter.
Note that the BMG is a similar direct extruder type as the Titan, which is produced and sold by E3D; this extruder is capable of using the Volcano upgrades using their standard pancake stepper motor (according to E3D website). You can buy these stepper motors at their website. The reason a pancake stepper is recommended is because of weight reduction (direct drive extruders carry the extruder stepper on the X-axis carriage), these extruder types gear down the speed and thus increasing the torque, a normal stepper would be too heavy and too powerful. Note that this may be a different case for 2.85 mm filament; this requires more torque anyways.


Troubleshooting printing layer squashing?

Well, for a 0.6 wall thickness using a 0.6 nozzle you should have one line for the whole wall. But I´m seeing in your prints walls of 0.1 and 0.4 as infill, Why?
I´m using simplify3D and I can see the results about walls and infill prior to send to the printer. On this kind of parts avoid infill and give priority to walls.

So the main problem with your gcode is that wall thickness, is too much difference between the filament extrusion 0.6 vs 0.1 this is 16.6% of the printing flow, so you need to set print flow to 16.6% or 20%, not 80%.
You must need to use retraction to avoid blobs and set a lower temperature.

I saw this video to control Coast issues, but is explained how to set settings on Simplify3D; I hope you can visualize your issues before printing.
https://www.youtube.com/watch?v=WWpdGY0V-gM


Tell tale signs bed tape has given up the ghost

Obviously, if the tape is torn or gouged in area that you intend to print on, you will need to replace it to have a good surface. If the damage is well clear of your first layer and will not risk snagging on printer mechanisms during movement, you may disregard it.

I can't really tell you how much bubbling is acceptable. If your prints still come out in with an acceptable quality, then it's OK. If it causes defects that you don't accept, or failed prints due to a loss of adhesion, then it's not.

When I started printing, I used painters tape, and would change it every few prints. To be honest, I was not very careful about protecting the tape when removing a print, and would often damage it. I also often found it easier to just peel the tape from the print bed as a way to remove a print. I don't even think I finished a single roll of tape before I eventually switched to glass/hairspray.

I never used isopropyl or other things to clean it between prints. If you are concerned with cost and waste, I would think this would be even more than simply changing the tape frequently.


Danger in 3D printing over a lithium ion battery

I would have to see your design to comment more but why not just change your model with the lid or top that can be either fused on later or attached in some other fashion?

It is possible to turn off the heated bed after a certain layer. It looks like there is a discussion here with the G-code: Can Cura Turn Off a Heated Bed Partway Into a Print?

I would personally avoid exposing the battery to the heat generated by the hotend or the build plate. Printers alone can burn your house down. Why combine it with the awesome power of a lithium ion battery?


The controller interface board (that being the RAMPS 1.4 you ask about) should be up to the task and not care WHAT it's printing. You'll probably be creating your own hotend design to pull this off, and if you make it open source, then it will be. I'm envisioning stainless steel, careful temperature control, lots of mixing, perhaps some sort of screw-feed extruder (or batch-fed plunger with the melting and filling under close control on a separate machine, then the hotend on the printer doing a fine and careful job keeping the temperature right at 91.7 °F around the plunger.) You'll have design work to do on the mechanical hardware side, but the electronics and software should be easily adapted.

Read up some on food equipment design to make sure whatever you come up with can be cleaned appropriately for food handling, and uses only food-safe contact surfaces and lubricants/bearings.


Unable to upload Marlin 2.0 to Melzi 2.0 board

Okay thanks to @towe for helping me I figured it out.  my Baud Rate was set to 115200 but my board is using the old bootloader so it needed to be 57600.  I Changed my boards.txt file to that but the verbose console printed:
Overriding Baud Rate          : 115200 turns out you need to change it in the serial monitor as well (the little magnifying glass in the top corner of the IDE)
after that everything worked great thanks for all the help!


i bet your towers are not standing straight (vertical) or
your bed is not clearly horizontal

i've recreated your picture with some assumptions (for example that your SW calculates properly and your steppers and motors act well)

take a look here

if you deliver your printer dimensions

tower height (from the base)
tower distance from the center
bed distance (height) from the base

i can calculate what is inclination angle on all towers but i suppose it's not really important

the important thing is to set them straight ;)

we can see from the picture that towerA is the most inclined to the center or
the bed highest point is next to towerA
(and i bet one of those or both cause the issue)

EDIT

i've made some calculations based on imagined assuptions of the tower height
here are details

    towerH | inclination
-----------+----------------
    300mm  | 0.11deg
    400mm  | 0.08deg
    500mm  | 0.06deg

seems to be quite small but in fact your differences in dimensions are also small

inclination of towerB is bigger as there is bigger difference in dimensions
so maybe the issue is more in bed "horizontality"

would be good if you would check and measure these params

EDIT2

here goes the explanation why bed inclination causes dimension distortion

of course it's exaggerated but it's just to show the issue


What G-code commands tell the printer to change nozzle on a dual extruder printer?

No, M108 does not do that. You are looking for T#, where # is the tool position you want:

T1 ; switch to tool position 1

T3 ; switch to tool position 3

This tells the processor to send all heating, cooling and flow commands to this tool until another tool change is specified, and invokes the X/Y(/Z) offset for the new tool position.

See http://reprap.org/wiki/G-code#T:_Select_Tool


No extrusion when trying to resume failed print with manually edited gcode

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.


This has nothing to do with speed, temperature, adhesion, and whatever you do, DO NOT extrude more material per line (increase flow rate), as this will make the problem that much worse.

This is a fairly simple problem with an even simpler fix: you're over extruding.  Reduce your flow rate by 5%, and see if that fixes the issue.  It will definitely improve it, but you might need to lower your flow rate a little bit more.

What can often happen when your flow rate is set too high is the extra plastic will concentrate at areas of relatively high acceleration (corners and the start/stop spot for a perimeter of a given layer), but depending on the size of the thing being printed and the degree of overextrusion, it won't concentrate at every spot like this on a perimeter.

Usually, I see this happen where the perimeter moves start and stop each time, which (again, depends on the slicer and settings) tend to be the same spot for certain models, often a corner.  I couldn't say for certain the exact mechanism, except that it seems like the plastic, given the right conditions, prefers to lay down evenly while the excess over extruded plastic builds up (probably carried by the nozzle, since it is hot and the plastic will want to stick to it) until too much has built up for the nozzle adhesion to keep it from sticking to the print, or the nozzle begins to decelerate (late at a corner or the end of a print move), causing the extra plastic to 'scrunch' up, like something that shoved in a distance too short for it.  Knowing this, if you examine the corners, it should be quite obvious that this is what is happening.  The perimeter is being extruded with more plastic than it should be, and the extra has a tendency to collect all in one spot each time.

Sometimes it is one corner, sometimes it is every corner, sometimes it is corners that are maximally distant from each other (since it takes some time for enough excess plastic to build up to over power whatever effects are preventing it from adhering immediately.  So in this case, the two good corners were just where not enough excess plastic had built up yet at the nozzle to cause problems).  Another possible explanation is that those two corners are simply where the perimeters were started and stopped, but some layers it was one corner, and other layers the other corner.  But you can see over extrusion artifacts lower down on the feet (or whatever they are), and your first layer as well.

Do not increase flow rate.

Do not increase infill.

Do not lower your speed.

Do not increase your temperature.

None of those will help, and increasing flow rate further could cause the nozzle to catch on the print, potentially damaging your hotend.

Just reduce your flow rate by 5%.  You should see an immediate improvement, or even elimination of the issue.  If it is still there, then reduce your flow rate a percent or two until it does go away.  And remember this number, because you'll probably want to use that flow rate in general for your printer.


How can I program a 3D printer to move using Arduino?

Yes.
Look up Arduino Ramps 1.4

http://reprap.org/wiki/RAMPS_1.4

Following the programing is all done for you in the firmware. That said you can edit it. Just open the firmware files -- it is compiled when you upload them. Generally however one usually sticks to the preferences header alone..

http://reprap.org/wiki/List_of_Firmware

Over all you are trying to reinvent the wheel. When I started 5-6 years ago it was barely a thing. Now you buy a proven kit and get to the printing. That said if you are truly interested in designing check out.

https://www.facebook.com/groups/cncbuilddesign/

If you want help on picking a kit. Or what I really think you are looking for. A good place to start. This is one of the larger 3d printing groups. Full disclosure I run this one, but at 6k members I don't recruit.

https://www.facebook.com/groups/3DPrinterHobbyists/

I got my start in reprap IRC

http://reprap.org/wiki/IRC

Be aware there are trolls that now camp the IRC looking to sell you a printer. I would not engage with them, their printers are usually overpriced and sub par.

Best of luck.

Most of all I think you need to know it's Reprap all the way. Reprap forums, Reprap printers, Reprap kits, Reprap community. All the commercial printers started off the reprap project. Even if you buy a makerbot (don't) it's Reprap in it's roots.

https://vimeo.com/5202148


How do slicers convert an STL file to G-Code?

Slicing in General
An STL is a set of triangle surfaces. A Watertight STL - for slicing purposes - has surfaces that always create closed outlines if cut parallel to the XY plane.
A Slicer does exactly that: it creates plane-cuts at the indicated Z-heights, takes the plane-cut's outline(s), and decides a direction and order in which to follow the generated path. Then it uses this outline to generate the infill pattern, for example, as explained here.
The more paths there are and the smaller the triangles that are cut up, the more complex the solution process becomes and the longer it takes.
Support calculation
A slicer usually identifies areas that need support by calculating at which angle an STL Surface cuts a given plane cut. Under standard settings, this would be about less than 60° to the XY-plane with the normal of the surface having a negative Z-component - which means that a needle poking out of that surface points towards the bed.
The most simple form of support generation simply generates a grid pattern between such areas and the bed or next surface below. Tree support on the other tries to generate a support structure that bends around the object without intersecting and only relying on the support of itself.
Build Plate adhesion
A skirt and brim are just taking the outline of the build-plate intersection and surround that with outlines.
A Raft is generated like the simple support case, but taking the whole base of the object, adding a little edge around it and then generating the support grid there.


Air flows from places of higher pressure to those of less.
Minimal setup
I propose to look at a very simple setup which works for short lengths of pipe:

Choose if you want a radial fan of a direct passing fan. get one, measure the intake and the outlet side holes
cut a fan inlet-sized hole directly into the back of the enclosure.
mount your fan onto it, most likely with some kind of foam to keep the airstream in.
get a flexible air vent hose (I have seen ~$10/10€ for a 100mm one) and measure the inner diameter.
print an adapter from the fan outlet to the vent hose.
mount the adapter, then the hose, use clamps to secure it.
lead the air vent hose to the window and out or into a wall through.

Even if the airstream doesn't seem to be very fast, you could test it with smoke to see that it will blow out the air on the other end of the hose. The large diameter lets quite some air out with just a "gentle" airstream. This is not a very efficient system though, as we build up a pressure in the pipe the fan wors against.
efficiency gains
To gain efficiency, we should move the fan away from the machine and closer to the outlet. That means, we need to increase the fan power. If you can get your hand on, for example, an in-pipe motor, that would be a solution, but usually an expensive one. If you are good with electrics, you could use a blower from an electric cloths-drier. You might get a clothes-drier to strip the motor from really cheap, for example from a renovation, recycling facility or Craigslist, e-bay or any other auction or classifieds-page.
Or you build your own from an electric motor (you could use your machine's power supply here), a housing made from wood and an impeller, which you can get as a "Dryer Blower Wheel" spare part for under $50. If you connect the power for its motor through a regulatable resistor, you could even control its spinning speed.
To cope with the suction, we need to use aluminium flex pipe on the arm between machine and exhaust.
go big
If you want to go industrial like if you want to run a laser cutter, you will need to go industrial in the vent size too. You use pretty much the same diameter aluminium flex pipe and a much stronger motor than the drier one, and you don't mount the motor directly to the machine back but somewhere downstream as it's rather loud. For what to look for in that case, I found a very good article here. Note though, that this is not a small setup, but you could possibly vent a whole batch of printers through one pump, using some airstream cutoffs to control which ones get currently evacuated.


My printer is printing a messy ball. CTC prusa from Ebay

Looks like you need to adjust the print bed level. When z=0, the nozzle should be 0.1mm above the printing surface - and that needs to be at every point of the printing area. Instructions on how to adjust this should come with your printer.

Essentially, the procedure is as follows (you should be able to issue these commands directly on your printer, so no gcode is needed):

auto home, i.e. all axes go to 0.
disable steppers, so you are able to move the print bed and the x-axis
put a sheet of paper on the print table. The thickness of ordinary paper is around 0.1mm, so that's good for calibrating.
now move the nozzle around the print bed. There should be a slight (!) friction between the paper and the nozzle and this friction should be the same everywhere. If not, use the screws on the four corners to adjust the level of the print bed. Do not attempt to fully correct any deviation at once, because this might bend the print bed. Make several rounds and adjust the screws by 1/2 turn only on each round. This is a tedious procedure but it is really required.

Finally, when the nozzle is at 0.1mm above the print bed in z=0, you should be able to print and the filament should adhere to the bed.

A heated bed also helps.

P.S.: For generating gcode files, you need a slicer. For the very first steps, I found Cura quite easy to use: you feed it with .stl files and it will slice it internally. Currently, I am using slic3r (and pronterface for controlling the printer itself).


Cleaning E3D hotend and tuning with Cura?

Usually there is no need to clean the hotend, as filament sticks well to itself rather than to the inside of the hotend. If there are remains - the simplest way to clean it up is to extrude 5-10 cm of new filament, which will gather all remainings clean the hotend.

The above concerns changing filament in the same group of plastic. So if you print PLA you can switch colors/manufacturers and so on without issues. The same goes for ABS.

There is also usually no problem when switching from PLA to ABS.

The worst scenario is to switch from ABS to PLA. This is because the extruding temperature of these two materials is different. Unfortunately ABS can have such a high melting temperature that the PLA will burn. So having a dirty hotend with ABS remainings, there is no way to extrude PLA to clean the hotend because the PLA temperature will not result in melting ABS. It can eventually lead to total plug of HE.

So what can you do when you are in such a situation (ABS -> PLA)?

You can clean the hotend first with ABS. Extrude some, wait until it is cold, ease the springs and pull or tear out the filament from the hotend.

If you are stuck you can use special drills to clean the nozzle.

But to totally omit the issue you can have two hotends :) One for ABS and one for PLA ;) But I think you can manage cleaning if you apply what I've written above.


The answer is yes; and it's a normal thing to do.

https://www.igus.com/info/linear-guides-butting-rails-together

Basically you should only do it with rails from the same manufacturer and you might have to file the mating surfaces, but butting them is altogether trivial. This method works with Drylin and UHMW-PE bearing surfaces as recirculating balls could get caught in the small gap that is left behind. This would cause the carriage to "jump" as it passes over the joint.


Damage to bed surface from heat or chemical or..?

The build surface on the Ender3 is a BuildTak clone. The picture is a bit unclear, but given my experience with BuildTak (clones) this certainly damage because of heat. You can, as suggested before, replace the bed surface, but I do not think it is necessary at this stage.

Normally these surfaces do not get damaged that easily but to prolong the life try to keep the following points in mind:

Correct height between nozzle and bed.
Don't let the nozzle heat up/cool down close to the bed (for example after a failed first layer).
When using sharp tools to remove prints be careful nut to dig into the surface.
Don't use too high of a bed temperature (my BuildTak clone once had bubbles forming because the layers separated)
Clean/degrease the bed, although this is more to ensure proper bed adhesion.
I found out that if the bed stops sticking you can revive it by sanding it a bit.


Are there any metals that exhibit a large glass state?

A few things are required for effective extrusion-style 3d printing materials:

It must stay where placed by the nozzle long enough to harden (or, alternately for pastes and such, have a shear-thinning or thixotropic viscous profile so it will not flow under its own weight).
If using a filament extruder, it must have a wide range of viscosity that varies gradually over a considerable temperature range. This is necessary to develop the proper "cap zone" semi-melt shearing behavior that allows the incoming filament to act like a piston and generate pressure upstream of the nozzle. Pellet extruders have a similar requirement but related to screw/wall shearing rather than filament/wall shearing. If using neither filament nor pellets, such as clay printers, the material must be pumpable by a positive-displacement pump. (It is possible to pump molten metal, but the cost is quite high.)
It must form some kind of bond with previously-deposited solid material, without needing to be in a state that will rapidly flow and lose shape.
It must have some combination of low shrinkage, the ability to creep at the printer's ambient temp, and/or low stiffness that allows consecutive layers to be stacked without an unacceptable amount of warping.

Liquid metals tend to have a conflict between "Staying where you put it" and "bonding with the previous layer." In order for deposited metal to fully bond, the interface material needs to reach the melting point so a true fusion weld occurs. And in order to supply enough heat to remelt the interface without an additional heat source like an arc, the deposited molten metal needs to be very hot. So it will tend to run while it cools. High density and high heat capacity makes it run fast and cool slowly.

Pretty much every DIY metal 3d print (such as made by wire-feed MIG welders) ends up looking something like this:

https://3dprint.com/29944/diy-metal-printing-garage/

In comparison, polymers have long molecular chains that allow them to "diffusion weld" and adhere WITHOUT fully remelting the interface. Molten liquid plastic will stick to solid plastic quite effectively. The interface only needs to get hot enough for appreciable diffusion to intertwine the molecular chains. This will occur between the glass point and melting point, without true fusion occurring. So you can print molten plastic at a temperature where it will stay in place long enough to harden, and still get good bonding.

Metals also tend to be very stiff, which encourages warping. It is difficult to build a heated environment of sufficient temperature to properly stress-relieve the thermal contraction stress as the print progresses, whereas with plastic a heated build plate and warm enclosure can permit warping stresses to start relaxing as the print progresses.

It is possible to "FDM-style" 3d print filament/wire made of metal alloys that have a wide range between solidus and liquidus. It has been done using solder and similar alloys. However, between the warping stresses, poor layer bonding from inadequate interface re-melting, and use of soft low-melting alloys, the resulting printed parts will usually end up being weaker than if they had simply been printed in a strong plastic. For example, PEEK is nearly as strong as aluminum, and carbon fiber or fiberglass composite plastics can exceed metals on various performance metrics. So what's the point of printing with weak, brittle metal alloys?

Over the years, lots of people have tried FDM-style metal printing, but no one has found it worthwhile to pursue in the long run. More typical DIY metal printing approaches like 3D MIG welding following by cleanup machining will produce better results.


The first problem is solved by removing  the tick mark at Origin at center. Most printers have their origin at a corner (not Delta's, their origin is in the top center).

The second problem is a little more difficult to solve. Please note that a kit should be loaded with preset values that should be fair enough to print, your picture does not appear to print the calibration cube correctly, so you should try to eliminate each possibility one at a time. As said, your picture is not very clear, but it does not appear to be a cube, it looks more rectangular (also note that a raft is only interesting when printing difficult, read prone to warping, filaments like ABS).

What you could do is print simple squares (no raft, but use a brim or skirt), e.g. 50 x 50 mm (only 1 or 2 walls in width and a few layers high), and measure the printed size.

If these squares do not stick to the heated bed, calibrate the Z height to nozzle distance and re-level the bed or increase the heated bed temperature;
If the X and Y sizes  are different, you should calibrate the steps per mm for the direction that differs (M92 is the G-code to set the steps per mm; M500 to store the value to memory; these codes can be given over USB using specific programs that interface through a command line interface e.g. Pronterface, Repetier-Host or OctoPrintor alternatively in a .gcode file and loaded through the printer user interface);
If extrusion does look weird, measure the filament width at various sections of the filament with a vernier caliper and calibrate the extruder stepper and set the correct amount of steps per mm;
Finally, print the 20 x 20 x 20 mm cube and measure the height and adjust the steps per mm for the Z direction.


How do I calibrate the extruder of my printer?

Basic process

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

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

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

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

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

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

Measure the thickness of the wall and adjust your slicer extrusion multiplier accordingly. The rationale behind this is that the extrusion of a hot polymer through a nozzle suffers from an effect called die swell where the extruded polymer diameter is larger than the nozzle diameter (see figure below); decreasing the multiplier counteracts this effect.

Now your extruder and slicer should be optimally fine-tuned!


I have this printer and used this board many times over USB.
The genuine Arduino boards use the FTDI FT232RL to convert USB signals to UART signals.
The problem with these Arduino based clone boards is that they do not use the FTDI chips as these are too expensive. These boards use a CH340G chip which is a Chinese clone which requires a specific driver to be installed before you can communicate with the board:

Image shows a close-up of the CH340G chipset on the Anet A8 controller board.
When you bought the printer, the SD-card contained the driver that you need to install on your OS. I remember that this driver was for the Windows OS. However, you can download the driver for many platforms (Windows, Mac and Linux) directly from the manufacturer.


Which 3D design softwares make multi-material amf or other design files that slic3r will slice?

A Scriptable Process for Generating Multi-Material STL Files:

I am now using interactive CAD software to define the more complex features of the object I am printing (in the current case, clock faces), and then using OpenSCAD to do the boolean volume operations.

To print the composite object, I need three STL files, one for each material I am using.  The three parts are the clock body, the translucent optics to conduct the LED lights, and the clock numbers.

I need:

one STL for the body minus the LED optics and minus the numbers.
one STL for the numbers minus the LED optics, and
one STL for the LED optics.

The CAD package supports the operations, but every time I change anything, I have to jump through several hoops to combine the three parts, manually and recreate the three objects.

I had used OpenSCAD to make the optics and the numbers, and they were never in the same coordinate system as the clock body from the interactive CAD package.

So, I scripted it and used OpenSCAD to read the clock body STL and being it into OpenScad.  I transformed it into the common coordinate system.  I then did, one by one, based on a command-line parameter, the boolean operations, rendered the result, and exported the resulting STL file.

When I read the three files into PrusaSlicer, the lined up perfectly and everything worked simply, without and precision hand-eye coordination, and with no drama.

Scripts and command lines work for repeatability far better than squint, drag, and guess.


E3D themselves specify this on the product page:

Our high precision heater cartridges feature a rounder cartridge with more consistent diameter and surface quality, ensuring greater surface area contact with the heater block for more reliable heat transfer. With the quick change principle in mind, the high precision heater cartridge uses a Molex Microfit 3.0 connector enabling quick HotEnd changes.

E3D also provide a datasheet on the precision heater cartridge which can be compared to that of the regular heater cartridges.
From an electrical perspective, the are identical. They will put out the exact same amount of heat. The main difference is in the dimensional specifications, which for the precision cartridge is guaranteed to be a diameter of 6.0 mm +/- 0.2 mm and a length of 20.0 mm +/- 0.5 mm, while for the regular cartridge no tolerances are specified though they have the same nominal dimensions.
Apart from this, as we can discern from the product description, the precision cartridge comes with a connector to enable swapping and a better surface finish.


Make sure that the bed is level. As the saying goes, a level bed is next to godliness or something like that. Pay extra attention to the direction the nozzles are offset by (if one nozzle is offset on the X-axis, pay extra attention to the bed leveling along the X-axis). This can be done with just one nozzle and a business card or piece of paper.
Use a bubble level to get the nozzles about right. Move your z-axis up a bit and put a bubble level against the nozzles. Adjust as necessary so it's exactly level. The nozzles should be level enough that the bubble stays in the middle.
Fine-tune it with a business card. When you home the z- axis, you should be able to just fit a business card under both nozzles with a moderate amount of resistance. Don't force the card. If sliding the business card under produces a different amount of resistance for one nozzle than for another, adjust the nozzle a tiny amount. You can also use an index card or playing card.
Once it passes the card test, try a test print. If it doesn't work, make sure your bed is level, your nozzle offset is correct in the slicing software, and try calibrating with an index card again. If the nozzles become way off, try the bubble level again.

As for physically adjusting the level, another answer suggests shims made from aluminum foil, which work well. Personally, my extruder was off-level by almost exactly 1mm, so a pair of washers worked nicely for that.

Happy printing!

Leveling with a bubble:


Smooth transition between a PTFE tube and the back of a push-fit coupler

The solution might be to countersink the opening at the threaded portion within the tube. There are various angles available for countersinks, although the more common angles are 82 degrees and 90 degrees.

Drive the countersink to the point where the wall thickness is zero, unlike the drawing below showing some material outside the beveled area.

For your purposes, you'd want the steepest angle possible, the 60 degree tool.  If you decided to purchase a countersink, pick a diameter slightly larger than the outside diameter of the wall thickness of the coupler. You could use a countersink of the same diameter as the outside diameter of the threads.

Center drills are available with 60 degree angles as well:
Amazon specific item

The second smallest center drill listed here has a 1.5 mm center point with a 4 mm drill point. If your coupling is larger than 4 mm, the next size up will not work as well, as the center point is 2.5 mm. You'd have to resort to a countersink only.

If you are near a machine shop or have a friend with a mill or even a decent drill press, those resources may be able to perform the countersink for a minimal (or possibly zero) fee.

I have a mini-mill and a collection of countersinks as well as center drills. I found my bag of unused couplers. They are for 5 mm tubing and were flat on the threaded end. This is the result after a quick trip to the mill. It appears in the close up that I could have driven the center drill deeper into the fitting, and also cleaned off the swarf a bit as well.


What's so special about cleaning filament?

You may discover that "cleaning filament" is also described as nylon filament. Nylon requires higher temperatures than most commonly used filaments. As you raise the hot end to the required temperature to melt the nylon (typically 250°C, all of the other debris has either carbonized or melted.

The hot end is allowed to cool (30-50°C) at which point the nylon filament is pulled out in the reverse direction. Some 'net references suggest a hard pull, but I disagree with violent mechanical forces being applied to delicate mechanical devices. Perhaps that's why my cleaning process takes two to four attempts. Some net references also suggest to start the nozzle heating after reaching the cooling point and to begin applying force upward during the re-heating.

My Sigma 16 uses the above method and also suggests a "strong pull" which is a translation from "sharp yank," in my opinion.

This will collect the debris from the nozzle and heat break and may completely clean the filament path.

I use "natural" clear nylon for cleaning and perform the sequence two to three times, until the heated portion of the nylon no longer has contamination visible.

Even nylon filament that is not dry enough for printing works for cleaning. The moisture bubbles turn the filament into flimsy punctured nylon thread, but it causes no problem with the cleaning process.

FilamentOne website references most of what I've posted.

The above image resembles my experience, although the severely "dirty" image is much more excessive than my cleanings. The worst is to have PVA support material that has been "cooked" at ABS temperatures or higher for long periods. An almost guaranteed nozzle clog is the result of those conditions.


Irregular adhesion on Creality glass bed

The only time I've seen lifting, away from the edges of the part like this, is when the bed is contaminated with something which will stop the print sticking, like fingerprints and such.
A thorough wipe-down with IPA on the heated bed is usually enough to stop it.


Thanks to the comments, I was able to narrow down the specific issues in the firmware. The firmware version was really out of date, so I recommend finding the latest stable version.

Therefore, I found the latest stable version of Marlin, downloaded it, and created my own edited version. I went line by line in configuration.h and configuration_adv.h, with the old version I had side by side to the newer version, making any and all appropriate changes. Below are the lines I found most important to evaluate when setting up a second extruder.

Make sure the you have the right board selected from boards.h:

#define MOTHERBOARD 34

Make sure the # of extruders is specified:

#define EXTRUDERS 2

Make sure the sensor is active:

#define TEMP_SENSOR_0 6
#define TEMP_SENSOR_1 6
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 6

This should be considered:

#define HEATER_0_MAXTEMP 240
#define HEATER_1_MAXTEMP 240
#define HEATER_2_MAXTEMP 240
#define BED_MAXTEMP 90

Everything under this comment should be looked at:

// Preheat Constants

These would allocate the second extruder for other motors:

#define Z_DUAL_STEPPER_DRIVERS
#define Y_DUAL_STEPPER_DRIVERS
#define DUAL_X_CARRIAGE

I'm sure there are other parameters I may have missed, and these are specific to my Prusa i3, but I hope this helps out anybody else in the future.


Write a few pieces of gcode to do this. Place it on an SD-card (I assume you have a reader) and select the file you want to execute.

Home all:

G28
G1 Z0

Do you really want to home it directly? I would say you want to take it down slowly and adjusting end-stops incrementally.

First:

G28
G1 Z10

Then

G28
G1 Z3

Then

G28
G1 Z1

etc etc

You can also move it around in the X and Y plane:

G28
G1 Z5 X50 Y30


While heating, BLTouch mesh data gets worse and worse the more times you probe

It looks like the changes are always going in the same direction for a given probe point (each point increases steadily or decreases steadily, there is no oscillation).
This means that the bed is not warm yet and you should wait longer.
In theory the heating of the BLtouch itself may affect the readings, and the air surely gets progressively warmer around it, but since some values increase and other ones decrease, that's not the cause.
The values change because the bed is still adapting to the temperature increase.
For a more systematic and scientific approach, do the following.
With the bed cold, heating off, probe a single point 10 times without any delay, then put the data in a spreadsheet and calculate the standard deviation, to know how accurate the sensor is.
After that probe the whole bed every 5 minutes during heating for half an hour and then plot the values on a graph (each point separately). At a certain point you will see that the values will oscillate about as much as they did when the bed was cold. That is the time you need to wait for proper bee heating. Different parts of the bed may reach the temperature in different times, that's why each probed point has to be graphed separately over time.
If you use an enclosure, as you do, the continuous change of BLtouch output can also be dependent on the overall heating of the printer frame and structure: instead of heating only the bed, in an environment which stays the same, you are heating the whole environment through the bed. It becomes more complex. The BLtouch may be fine, but you may need to keep heating it until the readings stabilise.


If you have tried every trick to remove the print, you probably need to replace the build surface. If the PLA is "engraved" into the build surface, your surface is damaged anyways, just replace the surface, or remove the top surface and buy a sheet of glass, preferably borosilicate.


I don't know if this is the case with all FLSUN QQ printers, but mine was indeed set to 220v as the instructions/user manual indicated. First I needed to remove the bottom of the printer. Then there was a switch on the side of the power supply with the following label:

I know the picture is terrible, but the lighting inside the base of the printer was less than optimal. It should be pretty easy to find once you know what you're looking for.


Why does Cura insert G0 commands between G1 commands while Slic3r doesn't?

Formally, G0 is a rapid move and G1 is a coordinated move. A G1 will cause the printhead to move in a straight line from the begin to the end position, whereas a G0 allows the printhead to move in any curve, so long as it ends up in the target position. Because of acceleration and deceleration constraints, it can sometimes be faster to move in a curve rather than a straight line.

However, I don't think any actually firmware implements this, and a G0 behaves in the exact same way as a G1.

What the piece of G-code you posted is doing is creating a solid infill, which consists of a bunch of parallel lines, each slightly offset from the next:

It makes sense that no material is extruded when it moves from one line to the other, as otherwise too much material would get deposited at the edge.


Anet A8 - first couple of layer are trash

I think your issue is bed leveling.

I recently got my Anet A8 and the biggest kill for my print quality is bed leveling. If its too far from the nozzle, I get something like your picture. You might want to try the paper test where you manually move the nozzle to each corner of the bed and adjust the bed till the paper cannot move freely between the bed and nozzle.


3D printing using OctoPrint on Linux Ubuntu desktop

I just discovered that OctoPrint only reads .gcode files for printing (apparently, unless you have a slicing software embedded in it), so I installed Slic3r separately, and ran

./slic3r mystlfile.stl

to generate a .gcode file (in the executable directory).

Then I uploaded the .gcode file to OctoPrint and things got moving.


How to block UV light (transparent material)?

I contacted the manufacturers of curing stations directly and got some interesting feedback. Not all of them were keen on sharing their information, but two responded:

Elegoo is using Polypropylene
Creality is using polycarbonate

I am sure they are using some additional UV blocking on the plastics with a coating, but thats all I could find out.
Thanks to @Greenonline for pointing me in the right direction!


Change 1.75 mm 3D printer to 3.0 mm printer

First it really depends on your printer / extruder. That said generally 1.75 mm is cheaper and much more common.
If one were to change the hotend, likely you will need to replace most or all of the hot end. In the case of my personal hot ends, when I did this conversion I had to replace both the tube and the PETF lined mouth. I did not have to replace the tip, core, or the thermsister.
My advice is to pick a different printer. You see 3 mm on older extruders like J Head direct gear from around 2012-2013 and Bowden style (like the Ultimaker) use 3 mm (actually 2.85 mm).
Possible yes, advised, no.


Would a steel, instead of an aluminium, plate be reasonable?

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

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

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


Strange behaviour x and y axis - corner of print

After one further check (stepper driver current/VREF), which I didn't think could be the problem due to not adjusting to cause the problem; it turns out this actually was the problem.
All stepper drivers have been reset back to correct VREF for their respective motors minus 10% as a safety margin and everything is printing well again.
I have no idea how VREF could have changed by itself, however thermal expansion on the boards due to constant use may be an explanation.
For anyone else experiencing similar issues and who have discounted the stepper drivers as the problem, I suggest resetting VREF to see if that helps.


Apply / find / create a stainless steel coating to apply to a PETG or PLA part to make it react to a magnet

The surface won't work
The only true-metallic surface treatments I know to be actual metal in large enough amounts to conduct electricity would be leafmetal, akin to leaf gold, and electroplating. However, you can't use the procedures for stainless steels, and even then, the thickness is in the tenth of a µm area and lower. Not only would that be far too thin to adhere a magnet to, it also would be super easy to damage with rubbing.
Filling?
PLA itself does not block magnetism - I have printed a PLA holder for a magnetic GPS device, into which I inserted a simple 0.5 mm steel plate for a magnetic surface with 0.5 mm of PLA acting as the container and seal against water.
If the prints can be done with one end open and no infill or have a dedicated area that a cheap piece of steel can be inserted into, this method can be used too. The only requirement is that there is a cavity on the inside that at some point is accessible. This also can be during the print.
This cavity could either take a piece of shaped steel sheet or be filled with a different magnetic filler, for example, simple iron powder. The powder could be bound in a non-oxidizing polymer, for example, epoxy resin. This method has been used to create cast stators for electro motors. It's not the most efficient, but might work in your application - if your walls are thin enough.
With the correct mixture, such a material can be used to coat or fill the inside with enough magnetic material to give the magnets something to stick to and not rust away - the shell and the resin together would shield the iron from any air that could rust it. Indeed, a quite stuffed Resin-Iron-mix and a strong magnet have been used in 2012 to create furniture by the name of "Gravity Stools" or other art pieces like in this video


Layer bending with first layer not sticking

Try a Brim (the model is rather tricky on FDM), which can help with bad adhesion.
Your first laser appears coarse and not "smooched" as it should. This hints that you leveled either high, or you hit the portal off-angle. If it is just high leveling, a tiny turn "up" can help a lot.
The model has some rather flat overhangs, like the mouth, chin, under the tails and lower body. I suggest printing that with support turned on.
For PLA Filament, I use 200°C nozzle with 60°C bed, so unless you go far beyond that, your print should work.
Last words: that the model you chose was made with resin printing in mind, so you will use some details.


You can as PLA is not affected by Limonene (the chemical used to dissolve the HIPS) but it is not recommended as the print temperatures for each material (~180C for PLA and ~230C for HIPS) are quite far apart and the PLA may not stick to the HIPS.

A better choice would be PVA which prints ~185C and dissolves in water but this material has its own set of fun issues.

*Temperatures are estimates, different vendors may have different temperatures.


What does "Uses Mains Voltage" mean on this 200*200mm Square Silicone Heater Pad?

"Mains voltage" is the alternating current provided by your wall outlets (eg 120v in USA). In order to use a mains voltage heatbed in a 3d printer, you will need to wire up your controller to switch an AC SSR. That way, your low-voltage-DC RAMPS board can control AC current.

If you plug a heatbed directly into a power supply, it will never stop heating, and may burn itself up or even cause a fire. Don't do that.

Because mains voltage has enough voltage to kill you, it should only be used for STATIONARY components, such as the PSU supply wiring and Delta heatbeds. With moving beds, particularly Mendel/i3 style Y-beds, wire fatigue and rubbing can expose the electrical conductors and create a serious safety hazard.

200x200mm is a very reasonable size for a DC bed heater, so there's really no good reason to use an AC heater here. It's more complex and less safe. I recommend getting a different heater.


SHORT ANSWER

You're not supposed to do the single-wall perimeter thickness test to calibrate Simplify3D. That screws up the extrusion volume. The correct volume calibration procedure for S3D is:

Measure actual average filament diameter and input that
Print a 100% infill calibration cubes
If the print is over-extruded (top or sides bulging), decrease Extrusion Multiplier by about 0.05 and try again. If the print is under-extruded or looks clean, increase Extrusion Multiplier by about 0.05 and try again.
Repeat as needed to dial it in. The correct value of Extrusion Multiplier is the largest value that does not produce over-extruded prints. This produces minimum void volume and strong parts.
In the future, that specific material+extruder combination will always have the same extrusion multiplier. You only need to measure and input filament diameter and you will always get accurate volume output. (And if you use high-quality filament with consistent diameter, you don't even really need to measure the diameter.)

If you really want to measure perimeters, you can do 3 perimeters and divide the measurement by 3. That takes into account most of the overlap and will be much closer to accurate than a single-perimeter measurement.

COMPLETE ANSWER

The goal here is to fill the print volume as completely as possible (at least in the "solid" parts of the print like perimeters, roofs, and floors). Empty space between strands doesn't contribute to part strength. In fact, voids act as failure initiation sites by concentrating stresses. Because extruded strands come out with rounded edges, they have to be overlapped to squeeze plastic into gaps and minimize "corner voids." That looks like this:

Where the bulges overlap, the excess plastic gets pushed into the corners to mostly fill the voids. It's very difficult to get 100% packing density, but you can get pretty close if you calibrate volume correctly.

You DO NOT want to space the strands without overlap. That makes very weak prints and looks like this:

To get the right amount of strand overlap, the slicer has to do some math and make some assumptions about how you're calibrating it. This is not uniform between software packages. So it's important to understand what "extrusion width" means to different slicers. For a couple prominent examples:

Slic3r treats "extrusion width" as the measured outside dimension of a stack of strands. Adjacent strands are then positioned closer together than the nominal width according to a somewhat complicated equation to get sufficient overlap for bonding.
S3D treats "extrusion width" as the average width of the stack of strands, which is the equivalent width if the plastic strands were extruded as ideal rectangles instead of a stack of ovals. Adjacent strands are positioned 1x nominal extrusion width apart. That provides the correct amount of overlap without any extra math. But each individual strand is really somewhat wider than the nominal "width."

Both of these techniques can produce the exact same output if calibrated properly, but they require different calibration techniques because they calculate the plastic volume and adjacent strand spacing different ways.

It's important to understand that S3D spaces its strands 1x extrusion width apart. When you use the measured perimeter thickness to calibrate Simplify3D for extrusion width setting = measured thickness, you get under-extruded prints with no strand overlap. S3D's strands must measure wider than the "width" setting to get the correct overlap.

In practice, S3D's code is smart enough to know how this affects print dimenions, and will adjust perimeter positions to get accurate overall dimensions. But single-wall test boxes will be thicker than expected.

The downside to the way Slic3r calculates volume is that it is only accurate for strands that are shaped like ovals. And that is only an accurate assumption when [extrusion width > nozzle width + layer height]. The strand must be wide enough for molten plastic to flow sideways and develop the circular bulge cross-section. So people almost always print with wider strands in Slic3r than is strictly necessary. The volume calculations don't work all that well with thin strands. Whereas S3D's volume calculation method works fine with pretty much any extrusion width greater than layer height and greater than nozzle diameter.

There are pros and cons to both systems. You just need to understand the correct calibration technique for each.


How to wire for AC mains voltage relay, when printer board is connected to AC-charging laptop computer?

In effect, the ground (from mains) does not need to be connected to the relay, the relay interrupts the "hot" or "neutral" (preferably the "hot", but that is not possible for all plugs, e.g. some European plugs can be inserted 180° turned into the sockets). You connect one of the interrupted wires to the COM, the other interrupted wire (that goes to the lamps) to the NO (or the NC, depending on safety, the logic and/or preference). The ground wire from the mains power socket is not necessary at all (some lamp amratures require this to be connected though). See a schematic below, it uses an Arduino Uno, but you can think of it being the printer board. Note to never connect the ground from mains to the printer board directly!

Image based on source: osoyoo.com

The logic (low voltage side of the relay) needs to be wired as follows:

DC+ is the voltage power supply of the relay module, this is frequently +5 V, but some modules use +3.3 V (sometimes there is a jumper cap to select the voltage)
DC- is the ground from the printer board
IN is the trigger that needs to be connected to the port on the printer board that electronically switches the relay


As you may already know, ABS is one of the trickiest materials to print with, partly because of its high thermal coefficient, which in turns leads with warping and cracks when not dealt with properly.

The keys to successfully deal with this aspect of ABS are two: cooling it slowly and cooling it uniformly. Typically you achieve this by using an enclosure.

Enclosures can range in quality and price dramatically: there are professional grade ones that are fire and sound proof, maintain a negative pressure, filter the exhaust air and cost a few thousands euros... or you could get away with something as simple as using a cardboard box.  Probably, one of the most common solutions is to use an IKEA lack table and some acrylic or wooden panes as it provides a durable, effective solution at a very low cost.

Anyway: the reason why an enclosure works is because it traps the air that has been heated by your heating bed, thus "immersing" the full print (not just the bottom layer) in it.  In turn, this means that:

The difference between the extruded temperature and the final one is less.
The gradient of temperatures across the height of the printer volume is also less.
The print is shielded by random air drafts, like the one you would generate by approaching the printer to check it
When you stop applying heat (print is over, heating bed off) the print will cool very gently.

Now, about that fan...  Using a fan actually increases the speed at which your part cools, so - intuitively - one may believe a fan is a bad idea with ABS.  However a fan is essential if your print has any type of non-trivial overhangs, and - in general - prints done using a fan (in any material) have better details.  Again, with an enclosure, using a fan is seldom a problem as your fan will cool the ABS rapidly but only down to the temperature of the air in the enclosure (most commonly somewhere between 50°C and 80°C).

If your print is very small (like a benchy) and you don't want to try with an enclosure, you could still try to improve your situation by:

simply reducing the speed of the fan (so to only "partially cool" the part)
using a fan duct that distributes the air jet more heavenly around the extruded filament.  Typically these are 3D printable parts that you find in forums and groups of a given printer model users.  Here's a semi-circular one for the Anet A8, for example.


There are other factors besides temperature. Certain "soft" filaments won't go well through all extruders, and some other filaments with wood/metal particle additives don't go well through every extruder type and can cause clogging. Even people who do tend to print a lot of these materials will often use a specific nozzle just for those filaments.

That said, you still might be able to print even with something like ASA that seems unsupported. You can do this by taking additional measures for bed adhesion, or upgrading or swapping your nozzle or hot end.

If you can print PLA and ABS, you can probably also print so-called PLA+ and PETG, at a minimum.


Geeetech GT2560: Electronic safety and power source

Whether 350 Watt is enough depends on the amount of Ampere can be generated over the 12 V lines. Computer power supplies add up the power of all the voltages! A nameless or cheap 350 Watt PSU may not deliver enough power (in the sense that they may never reach the given power), you should check that out. The high-end PSU's are usually well fabricated and can usually deliver more power (but should not be taken for granted!).

a typical (214x214 mm) heatbed is about 12 V/1.5 Ω = 8 Amperes (about 100 Watt),
a typical hotend is about 40 Watt,
steppers and board could draw another 5 Amperes (about 60 Watt)

This totals to about 200 Watt, which your PSU should be able to generate without a problem.

Those green connectors plug in and out of the board don't they, usually with those small pins, transporting up to 10 Amperes is not recommended, you should look up the ratings of those connectors.


What do I do when I have a little filament left?

Heat the extruder up first, then remove the filament. You can remove the filament either by reversing the extruder using a command such as G1 E-100 F200, by using your printer's controls/LCD (if it has one) or simply pull the filament out by hand. To this end, most extruders have a lever that you can push to disengage the drive gear to make it easier to pull the filament out.

You can just heat the extruder up to printing temperature, but a perhaps better approach is a cold-pull, where you heat the extruder up just barely enough to be able to remove the filament (to, say, 120-180°C) and then pull the filament out. This has the advantage of removing more of the old filament and perhaps also taking some debris that may be stuck in the nozzle with it.

Trying to print it all out won't work because once the last bit of filament goes past the drive gear, you won't be able to extrude the rest of it. Feeding in a new bit of filament might push the old filament out, but it could just as easily get jammed.


The Materialise Mammoth printers seem to be the predominant choice for manufacturing car body parts. However, any sufficiently large printer (e.g. bigrep) could work. That said, car body parts are quite a challenge to 3D print given how excruciatingly long such large parts take (exacerbating the probability of failure). You will have to very carefully consider whether 3D printing is right for your application (it probably is not).

The licensing part is extremely complicated. You'll have to deal with patents (perhaps the body part incorporates some clever patented feature), trademarks (you generally can't reproduce manufacturer's logo's) and copyrights (if the part is very "artistic" it might be protected by copyright, but this is unlikely). A simple, functional part such as a body panel would generally not be protected by any of these but these three things are the main reason why you might need a license.

In addition, you have to be careful as to which materials you use, as these will (most probably) not be as strong/durable as those that are produced by car-parts-manufacturers. Furthermore, if you print the parts yourself, install it in a customer's vehicle, and the vehicle malfunctions, as a result, you may find yourself being sued.


XYZ DaVinci Mini W "jamming" after exactly 5 layers

Mini W has both a sensor that checks if there is filament, and a second sensor wheel that checks that the filament is actually moving (so it can deduct available filament length on the NFC tag).
If the moving sensor is not detecting anything for some time, the printing will stop and the LED will go red. I do not know if that will show up as a "jam error" in XYZware or if this is what you experience, but it is my best guess.
I guess the same would happen if you remove the NFC-tag mid-print.


PLA filament not feeding correctly with Ultimaker 2+

The photograph and your description indicate that the drive gear is eating the filament because the filament has stopped moving. The least likely problem would be that something is jammed at the spool or between the spool and the entry to the drive mechanism.

The more likely problem is that your nozzle is clogged. It is simple to determine if that is the case. If you have a direct drive mechanism (not a bowden tube type), remove all the filament and release the wheel or bearing that presses the filament against the hobbed pulley, which is the part connected to the motor or driven gear if you have a geared mechanism.

Heat the nozzle up to correct temperature for PLA and attempt to push filament through the nozzle. If it does not move, your nozzle is clogged and has to be cleared.

A nozzle clog can be caused by a too-low temperature or a too-high temperature resulting in burned material becoming jammed in the nozzle.

If you have a 0.40 nozzle, find that size of nozzle tool or use a 0.40 mm drill bit and carefully push and turn it into the nozzle.

Also consider to use nylon cleaning method. This involves heating the nozzle to the correct temperature for melting nylon filament, forcing it into the hot end, then allowing it to cool. Reheating it while pulling on the filament will remove some of the debris. Eventually, it will pass through the nozzle and will also pull out clean, with no debris on the end of the filament. It is suggested to research "nylon cleaning method" to learn correct temperatures.

I have used the nylon cleaning method and have removed debris from overheated filament in the past. I have been able to shine a bright light from below and see the open nozzle after completing the process.

The above steps are identical for bowden type systems and require to remove the bowden tube to access the hot end more effectively. The tube can be removed from either the hot end or the drive end, but force is more effectively applied if the tube is removed from the hot end.


What are the most common 3D printing file formats?

3D-Model Exchange Files
The most common file formats to exchange models for 3D printing are STL, OBJ, FBX, COLLADA, 3DS, IGES, STEP, and VRML/X3D.
Of these, STL, OBJ, AMF, and 3MF are the most popular formats according to All3DP. Pointing out which is the best is a subjective interpretation and not fit for SE sites. However, for many of the model sharing sites, like e.g. Thingiverse.com, many people share the STL file format.

STL file format is short for “stereolithography” and is a 3D rendering that is containing a single color.
OBJ file format, this format stores information about your 3D model. It encodes surface geometry of your 3D model and is also able to store color and even texture information.
AMF file format stands for Additive Manufacturing File Format, this is a relative new format for 3D printing based on an XML open standard. Like OBJ it can store color information. When compressed, the size can be reduced significantly to about half the size of STL files.
3MF file format stands for 3D Manufacturing Format. It is also a relatively new file format that aims to be a new standard for additive manufacturing. According to the 3MF consortium, it allows higher inter-operability between 3D modeling software and other applications, services, platforms, and printers.

Actual Printing Files
In the end, all these formats store the models of your products which eventually need to be transformed into 3D printer understandable instructions. These instructions are called G-code commands.
Lately I also noted that Ultimaker Cura stores sliced models in GZ file format for my Ultimaker 3 Extended, which is a compressed archive from the GZIP compression utility containing the actual G-code file.


Knocking/Clicking sound when Y-Carriage passas trough the middle of rods

I don't think the sound is coming from nuts and springs.

I can think of 3 possible sources.

Y axis rod bearings

Those four bearings that are mounted onto your bed frame may be binding through rough spots on the smooth rods. Usually printer kits don't give you the best quality stuff and those rods may not be perfectly the same diameter throughout its length or may be bent so slightly. Your best bet to test if this is the problem is to remove the belt from your bed and slide the bed back and forth and see if you can recreate the sound trying different speeds and pressure while doing so.

Y axis pulley/idler

I think it's probably this because I have heard a similar noise and this part has failed on me. Usually these are either a plastic pulley, two bearings, two bearings inserted into a plastic pulley, or one larger bearing inserted into a plastic pulley. If your printer uses a bearing here, I recommend taking that part off and inspecting that bearing. I've had mine destroyed and the little balls went everywhere. You can test this by just trying to hear for it. Turn off the printer motors and move the bed manually, see if it sounds like it is coming from the idler.

Nozzle hitting print

I doubt this but sometimes when prints are over extruded or curl up, the nozzle hits the print as it passes over so maybe your hearing individual collisions clicking. Again I really doubt this.

Will this break your heated bed? Probably not. Will it cause problems in the future? If it is a fault with the bearings, most likely they will fail eventually but nothing else should get damaged in the process. But no worries, parts are cheap and readily available online or even at some hardware stores.

Note : My mechanic taught me this when trying to figure out which bearing was making noise in a car. Take a long screw driver, preferably with a wooden handle, and place the tip on the part you think is making noise and place the handle to your ear. Usually this amplifies the noise when your making contact with the faulty part. Using this I was able to figure out which bearing was squeaking among the half dozen points where the belt would spin. Not sure how well this works for a printer and be careful not to have the mechanical moving parts(such as your printer bed) hit the screwdriver into your face.


Reprap variants with servo motors rather than stepper motors?

You can get "stepper replacement" servo drives that supposedly put all the needed control in the drive, and accept ordinary stepper inputs. Those should make the servo-drive a "drop-in" option on anything that uses stepper drives.

That said, I've seen an affordable CNC router system based on steppers turned into a much more expensive system based on servos, and I still have the "obsolete" stepper version, as the servo based system is MUCH more expensive and I could not keep up with the "upgrades" and never would have bought it at the price it now goes for. I'm in fact considering changing that to a reprap control system (still as a router, not as a printer, as I currently think.)

Given some practical limits to printhead speed in additive 3D printing based on the material solidifying, there may not be a lot of benefit in the considerable added expense of servos. They can move faster, but how much of that will translate to actually printing faster? How fast can you melt and pump plastic and have it stay where you put it?


Note: The question has changed after posting this answer. This answer answered the previous question, but is now out-of-date with respect to how the question has changed; I'll update it later, as it is possible what is asked now.

You can change the Z-min and the Z-max pin assignment in Marlin Firmware in the pins_<boardname>.h file, you basically exchange the Z-min and the Z-max. Note that the switch connected to the old Z-min port now becomes a Z-max sensor if you enable that in the firmware; you should therefore remove it (the actual switch) from the minimum Z position.

To enable a BLTouch sensor you require 2 pins free on the microprocessor. One registers the signal of the trigger, the other triggers the servo to stow/deploy the sensor.

You can connect the white/black to the Z-min signal (Z-min pin) and ground of the Z-min connector (or if pins are swapped in the firmware to the Z-max). The other wires need to be connected to +5 V (red), ground (brown) and orange/yellow to a free analog pin (PWM pin):

  BLTouch can be operated in the following condition.
  - One I/O for control (PWM or Software PWM)
  - One I/O for Zmin (Z Probe)
  - GND and +5 V power

The PWM pin should be defined in your pins_<boardname>.h file, e.g.:

#define SERVO0_PIN         5 // RUMBA board

or

#define SERVO0_PIN         27 // ANET board

The Z-max signal pin is no PWM pin for the servo.


I just plugged the ends of tube and soaked it in real warm water for 5 minutes then stretched it out on a table. That helped then the hard part I spooling it up against the arch and soaked it again. This seem to work the best.


How to post-process G-code to make prints faster using splines and arcs?

I would have liked to answer linking to credible official sources, but I cannot add references either on direct B-spline printing. So I'm writing down my thoughts. I've familiarized myself in B-splines to understand what they are and read into the 2 references given by the OP.

Basically, the printer software only allows printing of straight lines. Yes I know we can give orders to the printer to print a curve (using G2 or G3), but these eventually will be converted to printing straight lines. There is no ready made printer firmware available to print cubic curves directly to my knowledge. If it would be possible, these curves should eventually be translated into smaller straight lines by the firmware of timed stepper rotational output. These extra calculations would demand a considerable effort of the printer board processor, most probably far more an 8-bit processor would be able to handle.
Comparing the paper released in 2017 to the G-code pre-processing software reveals that although both seem to refer to B-spline techniques, they are implemented differently. For example, the pre-processing software aims to reduce the linear travel moves by replacing these with B-spline curves (and not affect the actual print object), while the paper focuses on the optimization of the actual printing curves being optimized by B-spline curves (also using a pre-processor). Both eventually would need to create a multitude of small straight lines to have the printer be able to actually print the object as there is no 3D printing firmware solution to print curves. Do note that the method in the paper has been questioned by the RepRap community, which demonstrated that they could print the same object way faster than the B-spline optimized example. Furthermore, do note that the Marlin community is probably moving in that direction as can be seen from e.g. this feature request and this G-code meta overview; G-code instruction G5.
So, both methods rely on pre-processing G-codes by identification of sliced coordinate (print) moves, translation into Bézier/B-spline curves for (print) moves, which eventually are translated into normal G0/G1 (print) moves. It does not appear that the Marlin community/developers are aiming to implement Bézier or B-spline curves soon. This implies that if you want to pursuit printing B-splines, you need to make your own pre-processor, or dive into Marlin C++ development; an 8-bit based printer board would not be sufficient indeed like the OP mentioned, up-scaling to 32-bit or interfacing with USB might be the only solution.