What are some conductive filaments that can be used in printing electronics? I'm very new to 3D printing, and I am very interested in printing electronics. I want to be able to print out circuits, so I've been trying to find a conductive filament. What sorts of conductive filaments are available to the consumer (me) and are of acceptable quality

Edited for clarity: I am not seeking a product recommendation, but rather am looking to know what sort of variety I can expect and more specifically which filaments are useful for printing electronics.

At this point conductive filaments are a very new thing. All the filiments on the market are PLA based that have been infused with Carbon or Graphine

However I worry you over estimate what you can do with this. You will at most be able to 3d print a simple wire and power a LED. You will not be able to run a microcontroller, and honestly I would expect a complicated print to have too much or too little resistance, maybe burst into flames.

You really should look into the Voxle 8 and other printers. The printer is really the driving factor. Using a conductive filament will not be enough. Note this printer uses a syringe not PLA plastic.

Here is a Voxle8 print.


How are infill paths connect to form an efficient path that respect the object's geometry? I am attempting to write a basic slicer for some objects I am working with. I need to write a custom slicer as the objects are not polygonal based (they are implicit objects) and therefore cannot be plugged into slic3r. I can easily obtain the perimeter/shell of the objects I am working with and have a few successful prints. What I am having trouble with is how to add infill. I think the biggest hurdle is simply my inability to frame the question properly. How do current software tackle this problem?

I don't know of my current approach is feasible but if I have a collection of vectors that represent the path around the outside of the object and a collection of vectors that represent an arbitrarily large infill pattern is there a way to union the two paths together to from an outer path (the object shell) and an inner path that is the infill pattern cut out in the shape of the object?

EDIT:

Sorry for the lack of clarification. So lets say I cut out the infill pattern to match the inside of the object. How do I then intelligently connect all the broken infill segments together to form an efficient path that doesn't cross gaps or mess the object up in any way?

The answer to this is pretty much basic algebra: The software tackles the problem by using a set of functions that generate the infill pattern for ALL the build volume, then discard anything outside the shells. Which is determined by algebra:
Basics
Outline Function
Assume the outline of the body is a function $O(l)$ that has a parameter $l$ for its length. This function can be calculated into XY coordinates, giving us $y\mapsto O^{xy}(x)$, that is parameterized after $x$, and should give us the values of $y$ for a closed function $O(l)$.
Infill Functions
Now, let's generate a function for infill pattern. Let's make it easy for us and use a diagonals pattern: $I_n(x)=x+n\times d$
where $d$ is a fixed parameter for "distance to last line" and $n\in\mathbb Z$ is the number of the line with 0 passing the origin.
Comparation: Outline=Infill
Now basic algebra! Let the computer solve for each $n$ the term $O(x)=I_n(x)$. The result should be (in the best case) paired points, all on the linear function $I_n(x)$. Sort these points by their correlating $n$ value first, then the $x$ values.
Dealing with the results
Let's assume we have some banana shape and our solutions for n=0 are like this: $P_{i=1 \to 4}=\{\{1,1\},\{2,2\},\{3,3\},\{4,4\}\}$
Modeling starter
On the most simple cases, we hope to only have paired results - the outline is closed and thus each line passing it has to cut it in multiples of two. Because we don't allow geometry to be below $\{0,0\}$, the line in this example will pass into the body at the first solution of these points and pass out of it at the second and so on. Generally: It moves in at odd and exits at even i. So our infill lines in the example need to connect $\{1,1\} \to \{2,2\}$ and $\{3,3\} \to \{4,4\}$.
Enhancing the Modeling
checking for tangents
Now, we might have an odd number of points that solve O(x)=In(x) for a given n. Let's assume $P_{i=1 \to 5}=\{1,1\},\{2,2\},\{3,3\},\{4,4\},\{5,5\}$.
Now we need to be careful as one of these points is guaranteed to be a point in which $I_n(x)$ is a tangent at of $O(x)$. So, we need to know the first differential of $O(x)$ in the points, which is the tangent at $O(x)$. But we don't need to solve all the points: We know the first should enter and the last exit the body, so we need (for most cases) to only solve this for the points $P_i$ with $i=2 \to i_{max-1}$. When $O'(x)=I_n(x)$, we got a tangent and remove this point from the list of points to connect with infill lines.
Because we could have several tangents in a set of points, this check has to be done for all sets of points to eliminate these points.
Also, I used the "usually" there by intent: there are cases where the first or last point is a tangent, and because it is easier to cose, we should run the elimination process over all  $P_1 \to P_{max}$!
The new, reduced set of points will be a paired list: $Q_{i=1 \to 4}=\{1,1\},\{2,2\},\{4,4\},\{5,5\}$. The Infil connects $Q_1 \to Q_2$ and $Q_3\to Q_4$.
Turning Points into vectors
Now, we have our points $Q_1$ and $Q_2$ (or any other pair of $n \land n+1$, where n is an element of the odd numbers), both on $I_{n=0}(x)$. How to connect? Easy! $I{n=0}$ is a function, most likely a linear one. Along this line has to be our connecting line from $Q_1\to Q_2$, so the movement we have to plot is the function of our pattern between the points. For a simple, linear pattern this would be:
$L_1=\frac{I(x)}{|I(x)|} \times |\vec{Q_2}-\vec{Q_1}|+\vec{Q1}$
Optimisation
Sorting properly
Now, we have a set of Lines $L_n$, where, as established in the last paragraph, n is an odd number declaring it has the lower-end $Q_n$, and the upper-end $Q_{n+1}$. How do we sort these lines smartly so we have the least movement? Let's take a look at our lists:

The list of Pi, which contains all tangential points and end points. Not very helpful.
The reduced list of $Q_{n}$, which contains all the start and end points; it is sorted in a way that odd numbers are starts, and even ends.
The list of $L_n$ with i always being an odd number, that contains the movement paths (=lines) from each $Q_{n}$ to its corresponding $Q_{n+1}$

Shortest movement between prints?
Now, let's do some math again: What is the closest $Q_{a}$ to the $Q_{n+1}$ we did end at after doing the $L_n$ movement? Well, first of all, we need to make sure we don't get back to already moved paths so let's make a new list $R_{i}$, which contains all the $Q_{i}$ we have not yet moved to.
So what is the closest $R_{i}$ to the end point of the path $L_e$ we just moved? Well, easy! Solve $min|R_i-L_e|$ with i being all the odd numbers in the list of $R_{i}$ and $L_e$ the point where the printhead was sent to at the end of the last movement
fewest direction changes?
Always moving just the shortest distance might create a large number of direction changes. So it might be a good idea to keep the point-lists sorted by the parameter n of the function $l_n(x)$ that created the points in the first place, and run down that list from minimum n that generated points (which can be below 0) to the maximum n that generated points.
optimizing direction changes & movement paths
Now, we have 2 approaches that pretty much only follow the pattern. However, we might make our average movement paths more efficient by using a simple trick:
Up to now, all our line functions $l_n(x)$ had the same vector and just a different starting point to one another. So all the starts were on one side of the body, all the ends on the opposite. With a very simple trick on the infill function we can generate a group of functions that alternate the sides of the end-points between each line, jsut by adding an inverse element:
$L_n(x)=-1^n\times l_n(x)$
Now, after all the movements with the same $n$ are done, check for the closest starting point (which should be on the same side, but is not necessary the neighboring line), and go down that line fully, eradicating these points from the list of remaining points $R_{i}$. Once back on the side we started first at, we look for the closest unused point again, run down that line, rinse and repeat.


Reprap prusa i3 Y and Z axis swapped when printing GCODE files I'm having an issue with my new Prusa i3. (This one: https://www.amazon.co.uk/gp/product/B01DLIRDFW/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1)

For some reason the Y and Z axis are swapped when I print Gcode files, even though all the axis move correctly when I manually move them with the interface on the LCD. Also, if I try to print an STL file, the Z axis moves in one direction more than it is actually limited to, and then does the same again in the opposite direction when the print starts.

Anyone know the solutions?

Sounds like your slicing program is not set up right.. Or more likely your printer isn't.

I would use Pronterface

I use simplify 3d, but the best free software is Slic3r.

Try those then report back. Honestly I think you might not have it wired correctly. With pronterface tell it to move X. Then try moving it and manually holding the endstop. Then if it does not stop try going tho incorrect way with that endstop still pressed. If you find that your reversed you will need to correct this with your firmware. If I knew this was a ramps board you could reverse the wires, but lets do it in firmware as I am not buying you a new board.

After that you should work. Software wise we just made sure your interface and your slic3r work and talk the same language. Those two I know will not be doing anything funny. After that report back if it is still not working.


Limit to extrusion volume Assuming heat transfer to melt the filament is not an issue, what’s the bottleneck in pushing more filament through the nozzle? Is extrusion volume per time proportional to applied extruder torque?

The molten plastic in the extruder becomes a hydraulic fluid effectively when it gets melted. You're pushing on a fat piston (1.75 mm or 2.85 mm, depending on filament type), and shoving fluid out through a 0.4 mm or so hole. There's a limit to flow rate at a given pressure, but the bigger issue actually tends to be friction. Molten plastic really loves to grab on to metal, and the ratio of surface area to volume is fairly high in the long, skinny tube that is the inside of an extruder. To make matters worse, the not-quite-molten section of the melt zone up at the top normally doesn't make a lot of contact with the walls due to lower pressures not deforming the plastic all that much, but at higher pressures you get much more deformation, increasing the linear distance that the plastic is dragging against the tube walls, and the pressure with which the two surfaces are bonding together. Especially in cheapo clone extruders you'll find roughly bored inner surfaces with many circumferential grooves which exacerbate this issue - this is why most extruders have a PTFE lining as far down as they can go. I had this issue in my $3 "all-steel" extruder barrel, where even printing PLA was an issue because of how readily the plastic formed huge plugs and grabbed the inside of the extruder.

So what you end up with, is that increased torque mostly linearly translates to increased pressure, which results in linearly increased friction inside the barrel, plus a little bit extra due to extra deformation in the top of the melt zone. You can polish the inside of the barrel (heatbreak? seen both terms) to help alleviate internal friction somewhat.

To make things even more fun, there's obviously a limit with how much force you can exert through the mating surface of a single hobbed bolt and the side of the filament. Too much force and the teeth will simply rip off the side of the filament and then you'll have no feeding torque whatsoever. To get much higher torque you'd need to design an extruder that both supports the filament much better than modern designs do, and spreads the force out over a larger surface area, either by using a much larger diameter feed gear, or multiple tightly-coupled feed gears.

I went into some degree of detail on the feed mechanism in this answer that another user asked about using a commercial extruder for plastic injection molding, which overlaps somewhat with your question here.

I know the original question assumed perfect heat transfer that was not a limiting factor to the process, but how that actually works is relevant to the question as well. E3D took one approach with their Volcano design, simply by making the melt zone much longer to increase heat transfer; the downside is there's obviously substantially more friction when you've got 4x the linear distance of molten plastic against metal, assuming you're not using a PTFE liner. This does have the advantage of letting the plastic take its time to reach the target temperature, decreasing how far over your target plastic temperature you need to have the heating element. One thing not often discussed in 3d printers is the fact that the plastic asymptotically approaches the temperature registered on your thermistor. If you're printing very, very slowly, your plastic will nearly be exactly at the target temperature. If you print very quickly with very high volumes, you'll tend to have slightly cooler plastic than intended because it simply wasn't in contact with the heater long enough to come up to temperature. The solution for very small designs might be higher temperatures, but the drawback there is that if you slow down even for a moment, say moving to thinner line widths or picking up and moving the extruder, you'll overheat the plastic. So there's practicality questions that need to be answered to determine how you'll actually heat that much plastic to the right temperature. Increased distance improves reliability at the cost of increased friction (and therefore extruder torque required), and increased temperature mostly bypasses that question at the cost of reliability.

TL;DR Increased extrusion speed requires increased pressure, which increases friction dramatically and in a non-linear fashion and results in stripped filament.


Ender3 printing tilted layers I bought an Ender 3, and after assembling it following the description and some YouTube videos and after correct leveling, I printed the test dog gcode on the micro SD card that comes with the printer. PLA 1.75 mm. Attached the image of the printing result. What went wrong? I didn't change or modify any settings what so ever, I just assembled the printer, and printed the test dog. Please help me, I am a beginner in 3D printing.

This is an extreme case of repeated layer shifting in the Y-carriage, which can come from some pieces related to the carriage. Luckily for you, they are easily fixable.

The Ender3 Y-carriage has an eccentric nut to adjust the force the wheels press down on the V-slot. Adjust it (most likely loosen them a little) so it moves smoothly when the motors are off, but keep it tight enough so it does not tilt.
The belt in the Y-carriage might be loose. Tighten it till it gives a nice ring when struck.
Check if the gear on the Y-motor is tightened down correctly. If it slips or wriggles, the backlash results in the layers shifting.
The Ender3 has the cables to the gantry and the bed running across each other and quite open. Make sure nothing can be caught in them.
Make sure the gantry is parallel to the bed and stays so in moving upwards - adjust the wheels as needed.

To ensure this, make sure the lead screw is orthogonal to the gantry. Level the bed afterwards. You might need to adjust the motor mount, possibly by shimming.


What and how much does coloring in the filament affect in the print? Are there general rules on how much a colored filament vs. vanilla filament affects the print results, what is affected and how those values should be changed in the slicer to achieve more similar results between different color/colored vs. pure filament spools?

At this point in time I don't think there is a need to be concerned with purity of filaments based on pigmentation.

For the most part, variations in filament quality due to coloring should be the least of your concerns compared to some of the other variables such as quality of the pellets, extrusion temperature (when manufactured), cooling rate (after extrusion), handling/storage, etc.

Also, assuming your focused on consumer 3D printer use, the typical hardware components aren't equipped to be accurate enough to make fine adjustments with regard to the quality range driven by filament color. Even if there were capable, accurate extruder(s) installed, I think you would need a well designed feedback loop to ensure that you're reading temperatures along the full extrusion process (drive, melt, extrude, etc).

I believe what you're asking involves more material science expertise, from a design aspect.

However, I believe that the more "color" you have obviously reduces the purity of the material and thusly the material properties can suffer. Such properties as thermal resistance found in PLA and ABS. So theoretically if you have Black filament, you'll want to extrude with a lower temperature than you would with a natural "White" filament. I would think that the necessary difference in temperature would be a few degrees (Celsius). However, there are many other factors, such as moisture and manufacturing techniques that can take precedence over color differences.

My advice, figure out how to "cheaply" analyze your material and ensure you have an accurate temperature feedback loop. If can you do that, you'll be able to drastically change the quality of consumer 3D printing.


Marlin 2.0 - set stepper drivers? I have an Anycubic Delta with a Trigorilla board. I have swapped out the A4988 drivers for DRV8825.

Currently, I am assuming it is using the A4988 drivers as the steppers are making a quiet growling noise. Kinda like a grating, coarse hum.

When I put the A4988 back in they are as smooth as always.

Where do I tell Marlin 2.0 that the assigned board has the DRV8825 drivers?

In the configuration.h file of Marlin 2.0.x you can define which stepper driver type is used to drive the stepper in the Stepper Drivers section.

You can choose to use the following constants from the array to configure the correct driver:

['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']

And update the section that links the steppers to the stepper driver by updating the following section of the configuration.h file.

//#define X_DRIVER_TYPE  A4988
//#define Y_DRIVER_TYPE  A4988
//#define Z_DRIVER_TYPE  A4988
//...
//#define E0_DRIVER_TYPE A4988
//...

by removing the // in front of the driver specification and update the constant of the correct stepper driver:

#define X_DRIVER_TYPE  DRV8825
#define Y_DRIVER_TYPE  DRV8825
#define Z_DRIVER_TYPE  DRV8825
//...
#define E0_DRIVER_TYPE DRV8825
//...

This results in the use of specific timings for the specific drivers. To be honest I have never set these constants when I used DRV8825 stepper drivers on my RUMBA board and my motors are operating smooth without these settings.

What you do need to look out for is when you replace stepper drivers is whether the micro stepping jumper settings on the board are correct for your stepper driver! I needed to set the jumper switches in a certain position to enable the 1/32 micro stepping functionality for the DRV8825 drivers. Knowing that the maximum micro step for the A4988 is 1/16, you also need to look out for the steps/mm; with more micro steps, you need twice as many steps per mm when you go from 1/16 to 1/32; e.g.:

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

would need to be changed to:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 1000 }

Also, did you tune the new stepper drivers correctly? When you receive the stepper drivers, they are usually not tuned and the position of the potentiometer on the driver board is undefined! You need to calculate the correct $ V_{ref} $ for your stepper driver in use for the specific stepper you have (max current that the stepper can handle). For DRV8825 stepper drivers, the maximum current is defined as:

$$ A_{max} = V_{ref} \times 2 $$

For example, if you have a stepper motor rated for 1.4 A, you limit the current to 1.4 A by setting the reference voltage ($ V_{ref} $) to 0.7 V. More details are found here.


Convert a 3D NumPy array of voxels to an STL file Given a 3D boolean array representing voxels, how can it be converted to a 3D-printer-ready file?

The end-goal I would like to achieve is to print the 3D shape that the numpy array represents (True coding for fill this voxel, False for leave it empty).

For example, the array

[
    [
        [T, T, T],
        [T, F, T],
        [T, T, T]
    ],
    [
        [T, F, T],
        [F, F, F],
        [T, F, T]
    ],
    [
        [T, T, T],
        [T, F, T],
        [T, T, T]
    ]
]

would encode a level-1 Menger sponge.

I agree with the use of OpenSCAD, but since it is difficult to program in OpenSCAD, I would use SolidPython, which is a front end for OpenSCAD with the full programming capability of Python.

In the alternative, you could use any programming language to decode your arrays and generate the OpenSCAD code for the little network of cubes (or voxels).

The final possibility is to generate an STL file directly.  I've helped someone do this, but we found the rules to be a little non-intuitive.  We used mesh tools to check out results, both by looking for error messages, and by displaying the result to see if it looked as we intended it to look.


Why does a raft adhere to the bed while skirt does not? I'm experimenting with my new Ender 3 V2 using PETG filament on the textured side of the included glass bed without any additional adhesives.
I'm been having trouble with adhesion until I found out that enabling raft on my prints helps solve the problem. However, I can't help to wonder whether skirts work any different than rafts.
In my test prints, all settings are identical except for the raft vs. skirt setting (using Cura as my slicer). However, the outer line of a raft adheres perfectly to the glass, while the outer line of a skirt fails to stick completely and moves around when the nozzle goes "around the corner".
Is there any difference between the outer border of a raft and a skirt as produced by Cura?
EDIT: I've managed to upload a video comparison of raft and skirt in the same project.

The raft base (initial layer) is usually printed with very wide lines. Cura's default is double the nozzle diameter, so 0.8 mm with standard 0.4 mm nozzle. This is ridiculously high flow, especially with the default 0.3 mm thickness, which is why the raft base lines are (and must be, unless you have a seriously overpowered hotend) printed so slowly. So, each line has significantly increased (double) surface contact, more pressure against the bed, more forgiveness if the bed clearance is too high (since it will still smash against the bed, just spreading out less than the whole 0.8 mm width), comes out slower (giving it better opportunity to adhere), and does not involve any curves (where the nozzle may "pull" just-extruded material that's not yet adhering).
You may be able to get a lot of the same benefit with skirts (or brims) by increasing the "Skirt/Brim Line Width" setting and slowing down its speed.


Cura 3.5 doesn't launch repeatably When I was notified by Cura that 3.5 was out, I looked at the changelog, and I installed the new version. It worked normally for a time, until once when I went to launch it and cura.exe forever sat idle in task manager doing nothing. I reinstalled Cura 3.5 and tried again.

That then worked for some time, maybe another couple days, and then the same thing happened again. Rince and repeat, maybe for a few more cycles. Now, Cura 3.5 doesn't like to do anything even fresh out of the box. Restarting the computer does nothing.

I've looked at the cura.log file in AppData/Roaming/cura and found a peculiar line:

...
2018-10-10 21:49:33,591 - INFO - [MainThread] UM.VersionUpgradeManager._upgradeFile [369]: Upgraded .\fdmextruder+%232_user.inst.cfg to version 4000005.
2018-10-10 21:49:33,605 - DEBUG - [MainThread] UM.Backend.Backend._logSocketState [178]: Socket state changed to Listening
2018-10-10 21:49:33,650 - INFO - [MainThread] UM.Backend.Backend.startEngine [74]: Started engine process: C:\Program Files\Ultimaker Cura 3.5\CuraEngine.exe
2018-10-10 21:49:33,652 - DEBUG - [MainThread] UM.Backend.Backend._backendLog [94]: [Backend] Calling engine with: ['C:\\Program Files\\Ultimaker Cura 3.5\\CuraEngine.exe', 'connect', '127.0.0.1:49674', '-j', 'C:\\Program Files\\Ultimaker Cura 3.5\\resources\\definitions\\fdmprinter.def.json', '']

It looks as if the issue is when the Cura GUI tries to connect to its backend slicing engine. Is my analysis correct? Is this a known issue/is there a known fix?

I'm going to try to report this to Ultimaker if nothing comes up here.

Issues like these are not new, I have experienced similar issues (see e.g. this topic, but more can be found) with an installation of an older version. At the moment of writing there is already a reported issue with Ultimaker Cura 3.5.

It is generally best to mention problems with a specific software application at the developers own forum or tech support. This will catch a more specific type of users as well as the developers themselves.

A workaround, but not a definite solution, is to remove the settings (on the Windows platform these files are located in AppData/Roaming/cura) that Ultimaker Cura uses and remove prior installations and do a fresh re-install of 3.5 and see if this works. Just rename the directory to e.g. AppData/Roaming/cura_old, this way you can always go back.

The drawback of this solution is that all material profiles and printer setups are lost as you start completely new. This is not a problem if you have a single printer and no custom materials defined, but in my case it was a lot of work to get all profiles back.

These issues could be related to the profile settings and storage model, which, at the time of the older installations was not very stable. A new material model was required, if that has been replaced is still a question.


Weird bumps cylindrical hole Not quite sure what's happening here. I printed it as a single ball and had this effect. I thought it might be a cooling issue so I printed 4 at once but the issue still occurred. If I size the ball up, the problem reduces.

Note that the hole is supposed to be a cylinder.

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

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


First layer lines don't stick at all My Ultimaker 1 with a heated bed doesn't print good first layer lines at all. The single lines keep detaching from the printbed, no matter what nozzle or bed temperature or the height of printhead from printbed. I cleaned the printbed thouroughly, too. It worked a while ago, I don't know what I am doing wrong.

Data:

Ultimaker 1 with Heated Printbed (Glass)
PLA @ 200°/60°

This is how it looks like after removing a print (one and a half layers) from the printbed.
It is quite thick though.

This looks a bit like your build plate isn't level. I'd suggest re-leveling using feeler gauges.


Is a 3-D printer made from 3 CD Drives practically somewhat decent, being DIY and less expensive? I want some indication to all the workings of 3D-Printers and the basics of design.
All links regarding DIY 3D-printer are welcomed.

I would guess that a printer made in the following way would be both poor quality, and annoyingly frustrating, as well as requiring constant tinkering/re-adjustment. Also, if the chassis of the CD/DVD drive is incorporated into the design (as below) then the print volume is rather small, given the inherent limited movement of a CD/DVD mechanism.

If the steppers are used without the CD/DVD chassis then it might be possible to increase the print volume but then you would need to spend extra on the rods and support structure for the X gantry, the Y-axis print bed, and the Z-axis movement. If you do that, then the steppers from the CD/DVD drive probably would not have sufficient torque to move the additional weight - by incorporating the CD/DVD chassis the inertia of the movement has been kept to an acceptable minimum.

By using the CD/DVD drive's stepper motors you are only really saving the cost of buying three or four actual, more powerful and useful, stepper motors (as well as the cost of the additional rods and support).

That said, it could be quite amusing to make, and show off, and also provide some satisfaction if you do manage to print a tiny frog, parts for another printer, or whatever, with it.  However, I wouldn't expect it to print anything to any great accuracy/tolerance/precision/etc., but it would maybe give you something unusual to talk about at dinner parties.

An example

There is this (IMHO unjustifiably1) popular (i.e. well linked-to) Instructables guide: EWaste 60$ 3DPrinter, which describes making a 3D printer from old desktop computer parts2.

  $ 3DPrinter"> 3DPrinter" title="EWaste 60$ 3DPrinter">

According to E-waste printer looks nice, prints really, really small, it has an awesome print volume of  37 mm x 37 mm x 18 mm.

Apparently, all you need is to salvage:

2 DVD drives (Matsushita stepper datasheet)
1 floppy disk drive (ensure it has steppers and not simple d.c. motors)
1 PC power supply

Then purchase these standard 3D printing components:

RAMPS & Arduino Mega or RepRap Gen6/7 - Capable of running Marlin/Sprinter frimware
Nema 17 stepper motor for the extruder - Either this, or better still something from RepRap Wiki - Nema 17, i.e. Kysan 1124090/42BYGH4803, Rattm 17HS8401, or Wantai 42BYGHW609.
MK7/MK8-type direct drive gear for extruder
PTFE tubing
Hotend (throat, heaterblock, nozzle)
Heater
Thermistor
Cables, female connectors, heat-shrink tube.

To make the frame, you need a 325 mm x 362 mm, 5 mm thick acrylic sheet, and use this template (missing files):

or this one (cnc-calisma-yalniz.dwg):

You will also need to 3D print these parts (the links to which have died):

Extruder idle
Extruder body
Hot end holder

Once you've gathered all of the parts required, you can then try to work through the incomplete assembly steps of the Instructables guide.

Other links

A very similar printer also made from an old DVD drive, Instructables: Curiosity 80\$ EWaste Educational 3D Printer. See also An E-waste 3D printer for every child?
A very complete, and IMHO, a much more doable E-waste printer, Instructables: Complete Newbie Step by Step, 3D Printer With All Parts Lists
Other Instructables, that I've not really looked into:

Super Cheap 3D Printer From CD-Rom Drives
Cherry- 60€ 3D-Printer
Poor Man's 3D Printer
Chimera: \$60 DLP High-Res 3D Printer
3d Printer for Less Than \$100 USD!!!
A Low Cost 3D Printer With Basic Tools

Thingiverse: \$65 3D printer made from recycled electronic waste

Footnotes

1 Most, if not all, of the links for the printer above are dead (this variant, mentioned above in Other links, is much more complete). However, with a bit of knowledge, and common sense, it should be possible to work through those omissions:

Marlin software - easy enough to find on Github
The frame laser cut - the original file is missing but an alternative is still available
The 3D printed parts for the extruder - as the links have died, you'll either need to find reasonable facsimiles on Thingiverse, which shouldn't be too hard to find, or buy them from cheap Chinese suppliers:

Extruder idle
Extruder body
Hot end holder

2 Funnily enough, whilst searching around looking for information to fill in the gaps in the above answer, I found this question on 3DP.SE: Missing print steps in e-waste 3d printer


Which is the right filiament type to print breakable children's toy parts such as small gears Probably the question sounds a little strange; however, I am looking for a filament which is breakable and not so steady and reliable as PLA. I want to print parts similar to the following gears for instance (They are from Lego, a children's toy).

They should break after some time or in any way become unusable after an accidental period (1 minute to several days) of use. Yes, you read right: I want to print parts that are frangible and probably will break! I plan to use Ultimaker 3 as 3D printer. So I'm looking for a suitable filament. Maybe I can merge two types of filament?

Could Ultimaker's TPU filament (https://ultimaker.com/en/products/materials/tpu-95a) be useful for my purpose? Or can anybody recommend me another filament that can be useful for my intended use? The primary purpose is that the printed part is not stable enough to serve its original purpose for longer than a foreseeable time (1 minute to several days). I appreciate your advice and ideas.

Note: I don't want to sell them; I want to use them for my private project. So please no legal issues. They are not helpful for my question. I don't ask for legal advice.

deliberate/planned obsolescence is the term you look for
If you design parts that break after some time, you plan their obsolescence. That you do by a deliberate choice of material and working conditions. Designing a part that will break after a certain time can be done by choosing the correct stresses that will make your chosen material break.
In a gear that is meant to break at certain stress, one can weaken the teeth or the sprues, so that normal operation stresses will very likely break the safety margin and destroy the gear.
is it a material choice?
Any material is suitable to make a planned break, as long as the design is suitable. Performing a stress analysis of your part will tell you where to weaken it to enforce it will break - if the part was solid. As printed parts in FDM aren't solid, take the result with salt - it will tell where but not when it fails. Do the experiment for actual numbers.
is it a print setting thing?
Besides deliberately under-engineering some part of the gear, a usually perfectly fine gear would lose a lot of strength by deliberately reducing how massive it is: the stability of a print is affected by the form and amount of the infill just as much as the number of shells. Some random setting examples:

1-shelled, 1-bottom/top-layer, 5% infill piece is very likely so fragile you might not get it off the build plate
these parameters at 2-5-10% results in a somewhat durable piece.
2-5-20% is more than twice as strong as 2-5-10%.

To find the exact breaking point of a setup, one might need to toy with the parameters and experiment. It might be interesting to use no top- or bottom-layers and thus turn to create all the spokes of the gear in the shape of infill and outer shell. Also, some infills are better at withstanding forces than others - for example, Gyroid or Hex infill is rather stable on pressure while spaghetti is quite weak.
Other parameters also can change the infill stability: speeding up the print of the infill compared to the shell and using a thinner line considerably weakens the infill, thus reducing the needed load to break it. This is a somewhat easy parameter to tweak if you want to go for breaking the spokes (see below).
planned obsolescence and how to under-engineer safely
Sometimes, planned destruction is good for safety: a safety valve is supposed to break under overpressure to release the pressure in a safe way.
But planned obsolescence can also be a safety risk: If a toy breaks under normal use, it is a safety hazard for the broken off parts can be swallowed by children. Another factor to look at is where broken off parts end up in the machinery - they might jam other pieces that are not meant to self-destruct and destroy them.

Design the pieces to break in a safe way - the larger the chunks, the better you prevent them from going into places they should not.
Design the teeth to deform or melt rather than shearing off
Design the axles to sheer free by losing their keying
Design the spokes of the gears to break, separating gear rim from axle & hub, either of which goes nowhere due to the other gears and the mounting
Encase the self-destruct gears in some sort of gearbox to prevent the pieces from going flying

Industrial machinery design usually goes the melting way: Let's take a hand mixer. It contains a gearset that has one drive gear connected to a second gear, so that both mixers spin opposite. Under normal use, these spin pretty fast, creating heat from the friction. In a good design, these two gears are made from metal or a high heat tolerant polymer. But if one plans for having them break, these gears are made from a material that will heat under the friction in such a way, that after a set time (around 5 minutes), the teeth will be sufficiently weakened to deform and grind away, destroying them in the process.
Preferred Material
I would actually deliberately under-design the gears for the expected loads and then go for a solid material printed in SLA or SLS from either a resin (which will break with pieces and bits going flying, so a gearbox is mandatory!) or a polyamide (nylon).  These parts would match the stress analysis fully.
If FDM is the only option, the material choice depends on the failure mode you opted for:

In case you opt for destruction from heat on the teeth or axle, a low melting material like PLA is perfectly fine, but make sure to engineer the chance of breaking teeth low. ABS can perform a little better but needs more heat (and thus more RPM) to self destruct.
In case of designing for a breaking failure of spokes or keying, PLA is an excellent choice, as it is sufficiently brittle.
PETG is a good compromise between ABS deformability and PLA's printing ease.

Footnotes
Gear DesignWhen designing your gears, keep in mind that gears are rather complicated. I actually advise to take a look on the gross oversimplification of This Old Tony because it allows you to see where you can make teeth break very easily by design!
planned obsolescence and consumer rightsWhile planned obsolescence can be an important safety factor, planning obsolescence in consumer products for sale to break them after a calculated time is unethical and can be a consumer rights violation. Remember, that legally demanded warranty and a right to repair exist in a lot of countries.
LEGO is Copyrighted, Patented and TrademarkedCopying Lego designs would be a Trademark Violation, Patent infringement and a copyright violation by using their designs. They protect them.


Tips for not burning out my Arduino Mega or catching something on fire when wiring a Prusa i3? I'm reading about wiring up the electronic components to my Prusa i3 using an Arduino Mega 2650 and Ramps 1.4.

I have step sticks, a heated bed, and a Switching Power Supply 12v Dc 30a 360w  (more details on that later when I can add which ones to the post).

I've heard that if you wire it wrong and plug it in, you can do anything from starting a fire to burning out your boards.

What are some tips of things to check before plugging it in? Are there any common mistakes that I can avoid?

Polarity matters, sometimes. Be especially mindful of the wires from your power supply to the board, as getting those the wrong way around will definitely cause damage. Heated beds and extruders are not polarity sensitive, and can go in either way. Fans are polarized, but will probably survive if you get them backwards - they just won't run. Stepper motors don't care about polarity, flipping the connector around just makes them run backwards.
Take special care with endstops. The endstop connectors have 3 pins (VCC, 5V and signal), endstops with 2 pins are usually connect to GND and signal. Putting a 2-pin endstop across 5V and GND will destroy the 5V regulator.
A common cause of damage is wires not being clamped in their respective terminals properly. The offending wire will arc, melting and destroying the connector. Tighten down screw terminals properly, use proper crimps if you have them. Soldering the ends of wires going into screw terminals is not encouraged, but if you do solder the ends then make sure to check after a while and tighten the screws again.
Put the stepper drivers in the right way around.
For things like the heated bed and wires going to your power supply, use sufficiently thick wires. Especially with the heated bed, a lot of current flows through the wires and flimsy wires will heat up and melt.


Unable to upload Marlin 2.0 to Melzi 2.0 board I need to set the HOME_POS manually since it isn't printing in the center of the bed. But whenever I try to upload it to the Melzi 2.0 board I get an out of sync error.
I am using Arduino IDE on Manjaro Linux, I was able to upload Marlin to the board on Windows 10 but I have since removed that OS.
I have the correct settings for the board: Sanguino Atmega 1280 or 1280P (16mhz)
Here is what I have tried to get me this far:

Running Arduino IDE as root (administrator) which fixed the
permission denied error
Changing the Board and the processor settings
Uploading a fresh Marlin firmware with no changes
Uploading a simple program to my Arduino UNO which worked
Changing USB Ports (USB 3.0, USB 2.0)
Changing the Baud Rate from 115200 to 57600

Here is the (verbose) error message
Arduino: 1.8.12 (Linux), Board: "Sanguino, ATmega1284 or ATmega1284P (16 MHz)"

Sketch uses 107854 bytes (82%) of program storage space. Maximum is 130048 bytes.
Global variables use 4054 bytes (24%) of dynamic memory, leaving 12330 bytes for local variables. Maximum is 16384 bytes.
/root/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/root/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega1284p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:/tmp/arduino_build_963029/Marlin.ino.hex:i

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/root/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/root/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x73
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x63
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x68
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6f

avrdude done.  Thank you.

An error occurred while uploading the sketch

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!


Why is my filament pressed together at the nozzle When I wanted to take out the filament from the extruder, it didn't wanna come out, it was stuck (even when I heated up the nozzle). So I unscrewed the nozzle and it looks like the filament is all pressed together at the top of the nozzle (see picture). What does this mean? I am heaving issues extruding filament from the nozzle, the filament barely comes out and the extruder motor is clicking. Can someone help, please.

As per attached picture I can see that the issue source could be:

the ptf tube is not inserted to the end of heat-break, or it is not straight-cut at the end - see this video for help
the cooler on the hotend is not working properly/not installed and heat goes up to the throttle and melts the material
an object in the nozzle that blocks the flow (usually a ptf tube particle that probably melted) - clean/replace the nozzle


What grade of wire is required for the heating element on a J-Head extruder? I have a large resistor that goes in my J-Head extruder. It's grey, and it came with the extruder.  I'm uncertain as to what grade of wire I need to solder to it.  It being one of the elements of the system that heats the hottest, I would think that it would be important to find out what sort of wire is the correct kind to use on it, since heating elements require a lot of electricity.

Also does the solder type I use matter?

There are a number of things to consider:

Wire Gauge: a typical 40W, 12V heater draws around 3A. 24 AWG or lower would be appropriate (copper wire, CCA will require thicker gauge).
Insulation: the part of the wire close to the resistor leads might get too hot for conventional PVC installation. Consider using silicone, teflon or glass fiber insulation instead, especially near the heating element. If the resistor's leads are long enough they might stay cool enough for regular PVC insulation, but make sure you insulate the part of the leads closer to the resistor appropriately.
Solder: if close to the heater itself, the solder might melt. Consider using silver solder, or using a mechanical connection (ferrule/crimp) instead. Again, this might not be a concern if the leads of the resistor are long enough.
Flexibility: given that the extruder (probably) moves a lot, use flexible wire (stranded, not solid core) and provide strain relief (especially near the connections, and avoid creating too sharp bends).

Finally, resistors have fallen out of favor compared to ceramic heating elements. Since they are inexpensive and solve all of the above problems (the leads are already attached and appropriately insulated) consider using a ceramic heater instead.


How can I determine the current value of a #defined variable? I previously set up my Ender 3 with a precompiled binary of Marlin that already had the correct X and Y offsets for the attached BLTouch. Now I'm compiling my own, and rather than measure for myself I'd like to just use the same numbers.

When I send M851 through the terminal, it gives me the current value for the probe's Z offset from the extruder. I know I can also use M851 to set the X and Y offset, but there doesn't seem to be a way to read the current values.

Is there any way to query the printer for the current values of X_PROBE_OFFSET_FROM_EXTRUDER and Y_PROBE_OFFSET_FROM_EXTRUDER? Or, ideally, for any other arbitrary variable?

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

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


Do all 3D printers allow the printing of flexible material? Are there any specific type of FDM 3D printers that I should look for?

Not all printers are suitable to print flexible filament. E.g. 1.75 mm filament printers with a Bowden extruder/hotend combination will not work (you may have more luck using 2.85 mm filament, which is stiffer because of the increased diameter). For 1.75 mm filament you require a direct drive extruder, e.g. with the stepper mounted onto the hotend, even then some additional guide parts need to be printed to make it work. This also depends on the amount of flexibility of the filament, some are more flexible than others.

E.g. Ultimaker 3D printers use 2.85 mm filament with a Bowden setup. They also sell a flexible filament that can be printed with these printers. Even for direct drive extruder printers like the Anet A8 (a cheap Chinese Prusa i3 clone) inserts exist (e.g. this or this one) to even better guide the filament to prevent it to buckle.


How to stop objects with "floating" parts from breaking So, I'm having this problem where almost anything I print with a section(s) that is not directly connected to something below it breaks when I try to pull the small filaments meant to hold it up during printing off. For example, I 3D-printed a Rayquaza(this one) from Pokemon for my little brother, and as I was carefully pulling the filament from under the mouth, the whole head just snapped off. Does someone have a recommendation as to a way to get the small filament off without breaking the object? Would a solution just be to print it bigger and see if it holds up better, or is there something else I can do? Thanks.

The small filaments you remove that hold the parts up are called supports. The one model I located on Thingiverse clearly requires a number of supports, as the model is not easily designed for 3d printing with FDM printers. It would be better printed with SLS, but that's not the focus of your question.

You don't specify how large you printed the model, but certainly a scaled-up version will be stronger at the weak points. You will want to use sharp non-shearing cutters to clear away as much of the supports as possible, without torquing on the model.

Another option which also reduces the forces on the model body is to use a soldering iron to smooth and clear/cut the supports. If you are able to use cutters and not damage the model, the soldering iron can remove and flatten the remnants of those supports.

Please note that if your careful work has resulted in a model that snaps to pieces, your little brother will soon destroy the successfully cleaned up model just as easily.

If you have skill with 3d modeling software (Meshmixer and Blender come to mind for such organic models), you can add insignificant items to the model to provide functional support. Would the Rayquaza look fiercer if you 3d printed a cage as an integrated part of the model, using the bars of the cage to provide support?

I successfully printed a model that was created by an artist unfamiliar with 3d printing restrictions. The support material was wash-away PVA. I provided the model to the "owner" who washed away the support material and snapped the legs in two. It's sometimes impossible to solve poor designs. You have a good chance if you build a cage for this one.


What are main differences between rafts, skirts and brims? I would like to understand the differences between rafts, skirts and brims. They appear in the software which I'm using to edit my 3D objects.

Can anybody elaborate what are these and what are the main differences between them?

Rafts:

Rafts are a few layers of plastic a placed on the printing surface before the object is printed.  If non water dissoluble filament is used, a bit of an air gap will be placed between the raft and the print itself so it can be removed easily. A raft can help a print stick to the printing surface as it normally has a larger surface area than the bottom of the print.  It also allows the bottom layers of the print to contact another layer of plastic so there is less spreading compared to printing on the printing bed itself.

Skirts:

Skirts are loops of plastic that are extruded around the object that is being printed.  On the first layer this allows the filament to get pushed through the extruder so that a steady flow can be established.  A multiple layer skirt can be used to create a blockage around the print so there is less air movement on the print and the print can cool slower.

Brims:

A brim is a layer of plastic that is placed on the first layer of the print go allow for better adhesion to the printing surface.  It does not extend under the print as a raft does, but only goes from the edge of the print to a set distance away.

Credits: Images from Slic3r


G-code commands gets multiplied by random number The G-code sent from Octopi to my printer gets multiplied at the end of every row.
The corresponding code out of Simplify3D do not have that multiplication.

This results in a always Max speed print.

1 month ago all worked perfect.

Have anyone seen this problem before? How to solve?

I believe that everything after the "*" is a comment.  From the random variation, I speculate that the comments for Octoprint are a check code.  For other host programs, it is a sequence number.

@oscar linked to a previous answer in a comment which shows that it is a checksum.  I will need to check the next time I run Repetier Host, but that seemed to be a sequence number.  Please see Oscar's comment (and upvote it).


Printer with two extruders but one as a backup I'm trying to make a printer that will have a second extruder as backup for when the primary one clogs or runs out of filament. It is an ongoing project I'm doing to make a 3D printer as reliable as possible. How could you implement this.

You could use a "filament runout sensor" and combine it with a "filament running sensor". If either fails the controller needs to be notified by a signal. If you configure the Configuration.h filament runout setup such that it doesn't call M600 but instead a series of codes to park tool 0, activate tool 1, home tool 1, prime tool 1, and commence printing, you are near a solution.


CURA doesn't want print bridges I made a model for my 3D clock. Model has few vertical holes so I made one layer thick bridge for every hole. In Fusion 360 everything looks fine, but CURA (version 3.6.0) doesn't want to print those Bridges. Why?

The Full Wall is 1.68mm thick(in Fusion), infill is 20%, wall line count is 1, layer height is 0.28mm, the support-bridges are designed to be this thick too.

I'm not sure will be material stable above holes without Bridges.

Nomenclature help

A Layer is everything that is printed between the print head moving upwards.

Layer height is how tall each line is. It is in Quality.

A Wall is made up from lines put down next to each other.

line width is how thick a 1-perimeter-strong wall is in the XY-plane. It should never be smaller than the Nozzle Diameter. It is in Quality.

Nozzle Diameter is what is the physical diameter of your nozzle. It is located in the printer configuration.
A Bridge is printing horizontal layers that connect to walls at the sides but otherwise not connected to the printbed or print.

Ultimaker Cura does ignore too thin walls

Your walls are 0.28 mm thick and your nozzle is most likely 0.4 mm thick. That can't be printed at all, in fact, you are way too thin to be printed: a printer should never print any object that is thinner than its nozzle as that is a perfect way to generate clogs.

Atop that, slicers ignore also what is thinner or exactly as thin as the line width. If the line width is 0.4 mm, and the wall is 0.4 mm, it gets ignored. If the wall is 0.45 mm, it is not. This can be remedied by setting the option print thin walls, but you still need to have one line nozzle-diameter as minimum line width - actually it is common to go about 10% larger for better extrusion.

Solution

Strengthen the walls to one line width (usually 0.4 mm) in your CAD-design and activate print thin walls under Shell.


Are silicone socks safe? It's fairly common for E3D to sell silicone socks for their hot ends. There are also other companies that sell these silicone socks for their hot end cartridges.

According to a brief internet search, it seems the ignition temperature of silicone is surprisingly low - around 450 °C. This surprised me because I was under the impression silicone would just burn  / evaporate if it were heated up to a much higher temperature.

If my thermistor/heatrod slips off, my heatrod will glow into an orange temperature during thermal runway. This only happens briefly, but its color indicates it is reaching a temperature around 790 °C.

So, are silicone socks safe? Couldn't they ignite fairly easily?

Silicone socks are safe to use, provided your printer is safely operating and you are using the silicone  socks in their operating temperature range.

Your current setup is NOT SAFE!

When the heater element falls out of the heater block (that should not happen in the first place, please secure it correctly) and heats up to about 800 °C this means that the printer has no active Thermal Runaway Protection (TRP) enabled. Basically, when the thermistor doesn't measure a temperature rise while the voltage to the heater element is being scheduled, the firmware should shut down the voltage to the heater element. When this fails, the heater element can reach dangerously high temperatures to start burning anything that can catch a flame on touch. In deliberate tests, heaters have been able to melt the aluminium of the hotend:

You should be worried at this point as you see from the link you provided what happens if the heater is not shut off when the heater element is disconnected from the heater block:

Please fix your printer ASAP by uploading a proper firmware with enabled TRP protection before proceeding to print anything or at least don't let it print without supervision and proper smoke/fire detection devices.


Anet A8 extruder motor moves back and forth This is what is happening to my motor. Any suggestions would help.
1. I have tried adjusting the trimpot.
2. Rewire the connector to match the one on the motherboard.
3. Anything else I found on the internet.

Check the continuity of the wires on the cable. Sometimes, they are not crimped correctly. Another common fault is crossed wires. In either case, the easiest diagnostic test is to substitute another cable, but please note the color coding of this replacement wire to match the cable you replace.


Is there any better way to make this transparent dome? As part of a larger project, i'm trying to print a translucent green dome.  I set it up as follows:

In Blender, create an icosphere of the maximum allowed complexity. Cut it in half and throw away one of the hemispheres.
Duplicate the hemisphere. Move the second one down slightly and use Subtract, to hollow it out.  Clean up the vertex garbage left behind.
Export the model.  Import it in the slicer, scale to the proper size, and export as gcode.
Print the model with translucent green filament at 100% solid infill.

I ended up with a beautifully rounded dome that doesn't feel at all like a polyhedron, so that worked out fine.  The only problem is, it's solid green.  The filament seems to lose its translucency past a certain thickness, and the fact that my "solid" print is actually made up of thousands of tiny strings pressed up against each other probably doesn't help.

I tried reprinting it in Spiral Vase mode, and while the print turned out to be transparent, it was also extremely thin and fragile, and it failed anyway because of lack of support once the dome's angle got bad enough.

I've been trying to think of how to print this properly, but nothing I think of will work:

Scaling can make the walls thinner, but only by reducing the size of the model.  Its basic dimensions need to remain unchanged.
Doing the same trick again that I used to create the dome, subtracting a copy of itself moved down slightly, would lead to non-uniform thickness in the model.  (Which I already have some of.  But when the thickness is directly correlated to the degree of transparency, this is problematic.)

Does anyone know of any tricks I can use to get it to come out properly?  For reference, I'm using Blender as my 3D software, IdeaMaker as my slicer, and printing on a Raise3D N2 Plus printer.

The filament seems to lose its translucency past a certain thickness

That's exactly the point. Think of translucency as a percentage of light being allowed through, per amount of material. 2x the material means 1/2 the light. You need either less material (which becomes brittle as you saw), or a more translucent material. I think it has little to do with the model itself.

Also - check out OnShape. One of the features it has is a "shell" function, that does what you're describing - takes a single 3D feature and creates a shell out of it of consistent thickness.


Calculating extruder motor steps for 1 mm I would like to calculate the amount of steps to turn the motor to have 1 mm of the filament.

I did the following (using approximate values):

The gear on the outside of the teeth as a diameter of 11mm.
Therefore the circumference is 34.56mm. Divided into one degree i get 0.096mm / degree. The stepper does 1.8 degree per step which results in 0.1728mm per step.

To get 1mm of filament pushed into the extruder I will have to do 5.787 steps.

The same extruder is in a Geeetech i3. The firmware there is configured to do 93 steps per millimeter.

I don't have any experience in working with stepper motors but in theory, this would be my approach with a huge difference to an existing firmware.

Where is my mistake?

Microstepping. Your board likely has 16x microstepping, so that each step is divided up into 16 parts. Your 5.787 figure, when multiplied by 16, comes out to 92.6 steps/mm - matching the value in your firmware.


How can I avoid that a small bit of filament sticks out of the nozzle during heating? So when my Prusa I3 is heating up, a small bit of filament is coming out of the nozzle, forming a small string at.

When the printing starts, this results in a small plastic ball on the bed, impacting the overall printing process.

How can I avoid this?

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


Getting precise measurement of a complex rod I'm trying to build a headrest for my Sayl office chair. For that, I'm designing a 3d-printed part that's going to fit on one of the existing rods of the chair.

Check out this picture:

How would you go about in getting the exact measurements of that white rod? I tried a caliper, and I'm able to get the width and depth, and I can just assume that the rod's profile is a perfect ellipse, which is probably a close estimate. But say that I want to get a more precise measurement. Is there any technique to do that?

You need to disasemble the part and measure it with special equipment, a caliper can help but only as reference since the part has an angled shape.

I recommend to use an optical comparator (base shadows) with this you can have X and Y data to calculate the angle and curves. If you want more precise measurements you can try an Optical Measurement Device (based camera), this also can give you Z but X and Y will help you a lot. Both equipments use a system called Quadra Chek many industries has at least one of this to assure his quality due meets all requirements for Ford GDT guides (geometric dimensional tolerances). no matter the manufacturer brand.

I´ve tried to measure with the phone or table application but is hardly to calibrate on each required dimension. I had to buy an optical comparator.


How long will my print take? If I have a stl file is there a good way to estimate how long it will take to print on a given printer? I know there are a lot of things that go into print speed, such as the speed of the printer, the size of the print, etc. I was wondering if anyone knows of perhaps an application that you could enter your printer's specifications and the stl that you want to print, and it could calculate the print time?

The duration of a print is affected by the print properties. Speed, nozzle diameter (or line width), layer height,  amount of perimeters, infill percentage, combing, support structures to name a few important parameters.

So, the only way to tell how long the printer will be printing a certain STL is by loading the STL file into a slicer and slice the model with those settings. The most common free slicers are Ultimaker Cura, Slic3r and payed slicer Simplify3D. Alternatively, when you already have G-code files and do not have the STL anymore or don't want to slice it again (e.g. because you cannot remember which settings you used), you could upload your G-code here and it will calculate it approximately for you (as it does not know the dynamics of the printer).

Note that these times are approximations of the real time it takes to print the object as it integrates the tool path and speed to get the time. Sometimes these calculations are off as the actual printer may behave differently than projected by the slicer. From experience I can tell that the Ultimaker Cura slicer predicts fairly accurate print times for the Ultimaker 3, so they have tuned their slicer software to their machines. For your own build or other brands this may result in different/inaccurate print time estimations.


Can leaving the nozzle at 160 °C continuously on in between prints affect the viscosity of the prints? We're printing on a WASP 3MT pellet extruder with PLA. To save time, we're leaving the hotend at 160 °C between prints but realized that the print quality varies, from one print to the another, when using the same G-code file.

Could it be that leaving the temperature at 160 °C constantly creates more fluid PLA and therefore affects the following print?

PLA starts to change its properties at above its glass transition temperature of 60-65 °C, if stored there too long. Keeping it at 160°C, close to the melting temperature (173-178 °C) can degrade the material relatively rapidly. During an extrusion, this is usually mitigated by filling fresh material into the melt while the older material gets extruded, but keeping the machine stagnant at the high temperature has not only creep the heat up from the designated melt zone (thus preheating material that should not be preheated yet) but also can damage the material deep in the melt zone. Together with this possible material degradation, the preheated material melts faster and might overshoot the aimed at print temperature until the normal temperature is reached again. Both effects can lead to reduced print quality in the lower layers.

The time saving from keeping the filament heated up for an extended period of time is, in my opinion, not worth the quality reduction that can come from using non-uniform material. You pay more in lost prints than you save in time for heating up the head.

If it is impossible to not keep the hotend heated between prints, it might be advisable try these:

Starting every print with a larger purging operation might get rid of degraded material. It would be as simple as extruding some quantity of material before starting the actual print at the edge of the build plate.
Aside from purging, it might be a good idea to reduce the hold temperature from 160 °C to a lower temperature, allowing the melt to partly solidify and keep the heat creep in check.


Success metrics for 3D prints I'm doing some testing for objects in 3D printing for a report. I'm trying to get success metrics for it but a bit unsure of what else I could do since would ideally like hard values for it. For example, I have:

Filament needed
Volume
Ease of removal
Weight
Time of print

Would anyone know anything else?

The success metrics are entirely up to you, the user of the printed part. For example, the strength of the part under the load it's desgined for will be critical for an end-use part (such as as hook), but doesn't matter at all for a fit or appearance prototype. Conversely, the dimensional accuracy is very important for a fit model prototyping a complex assembly, but might be unimportant for an appearance prototype or for some kinds of end-use parts.

Because there's a wide range of uses for printed parts, there's a wide range of possible metrics. Mostly they depend on the original design, the print options chosen (e.g. infill style), the material chosen, and the capabilities of the printer. Here are a few:

Dimensional accuracy (of the part compared to the design)
Dimensional stability (does the part warp or shrink afterwards)
Total time to print + finish
Material cost of print (build materials and other consumables)
Weight of printed part
Labour of operating the printer and any post-processing
Surface appearance/smoothness (different for horizontal, vertical, angled, and curved surfaces)
Surface friction
Surface hardness (can you scratch it easily)
Colour accuracy (of the part compared to the design, for colour printing processes)
Colour stability (do they fade over time)
Colour resolution (are colour changes sharp or blurred)
Rigidity (different in different axes)
Failure load (different in different axes)
Non-adhesion across small gaps (as in a tolerance test)
Porosity (e.g. if printing a container for liquids or gases)

A big cross-cutting metric is repeatability. If you make the same print again the next day and repeat any of these measurements, how different a result do you get?

There are also some metrics that are more about the material choice than the way it's printed:

Outgassing
Flammability
Toxicity


What resolution (pixels/mm) should I use in SVG for CNC? I am planning a mechanical 40% keyboard build and are coincidentally on the home stretch of a homemade CNC project.

The only thing the CNC needs to do for the keyboard project is to drill 7*48 holes. So what I need to do now is layout those holes in SVG. Therein lies the question. What resolution should I use for the SVG? I want to space the center of the keyboard switches 19 mm apart. An online pixel to mm converter suggested that 72 pixels is exactly 19.05 mm (which actually is what Cherry MX says should be their spacing).

Now, I do understand that this really doesn't matter, but I am curious as I am new on CNCs and was suspecting that there is a number that will "just work".

EDIT:
For example, if I where to print the template (SVG) on a regular printer, what pixel to mm ratio should I use so that it would come out the size I want?

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

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

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

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

EDIT:

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

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

Much simpler to use mm as units right away


Access Temperature sensor data of 3D printer via Serial connection I want to access the bed and nozzle temperature sensor data of a 3D printer via serial connection. Could someone please guide me in the right direction?

Thanks!

Edit: Response from printer:

Connecting to printer...
Connection response from printer:
6R7�P)��h>L�JO� � ��V�\��`�r��T �� SK�<ʪ� �>�Vw^$���|���R n�I, o�!����H>�
                                                                          mx�}M#
                                                                                �LYԣPh���^@ ��rp � TP�j�~1�� V6     6 � f� 6�k#���&�H".��k K2���ek�(��&��^K�k2����Ul�(� ���~N�ʈ*.�>Z��k#d$�����(� ��
��(� ��� v��
���
Asking for temperatures (M105)...
Temperature response from printer:
^CTraceback (most recent call last):
  File "printer_files/serialaccess.py", line 15, in <module>
    response = ser_printer.readline()
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 446, in read
    ready,_,_ = select.select([self.fd],[],[], self._timeout)
KeyboardInterrupt

After the code asks the printer for temperature values, there is no output on the terminal anymore. I waited for a while and then killed it using control+c. It is clear that the printer is responding to the connection response but I am not sure why it is not returning the temperature values. Again, thanks a lot for your help, Demetris!

Assuming your printer accepts conventional G-code flavor, extruder and bed temperature can be retrieved by sending M105 through the serial port. The printer will respond with ok T:XXX.X B:XXX.X where T is the nozzle temperature and B is the bed temperature.

You can read more about the specific G-code in the RepRap wiki.

EDIT:
I am editing the answer to include information for connecting to the printer using a simple python script.

The following script, first opens a serial connection to the printer. For Marlin firmware, when you first connect to the printer, it needs some time to initialize and respond back. That is why some delay is needed before reading the response. After printing the response, the script sends the M105 command, waits for 100ms, then reads the response of the serial buffer and prints it on the screen.

Note /dev/ttyUSB0 is the serial port name and in your case it may be different. Also 250000 is the baud rate of the connection; 250000 is the default value of my printer so you need to replace this with the baud rate that your printer uses.

import serial
import time

ser_printer = serial.Serial('/dev/ttyUSB0', 250000)
print "Connecting to printer..."
time.sleep(30)  # Allow time for response
buffer_bytes = ser_printer.inWaiting()
response = ser_printer.read(buffer_bytes)  # Read data in the buffer
print "Connection response from printer:"
print response
print "Asking for temperatures (M105)..."
ser_printer.write('M105\n')
time.sleep(0.1)  # Allow time for response
print "Temperature response from printer:"
response = ser_printer.readline()
print response


How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis In a previous question, I have modified the Z-axis-height of my Prusa Mk3 from 250 mm to 350 mm.
Prior to the MMU2 upgrade, I changed the code in my printer to accept the new height the following way:  I changed Arduino → Configuration_prusa.h → Axis settings → line 54 to  #define Z_MAX_POS 210 (it worked perfectly).
However, the layout is different for the new firmware v. 3.4.1, and I have no idea where the Z axis settings have gone, if they are even still there.
Can anyone point me in the right direction to find the Z MAX POS settings, please?
Obviously, I'm not very good with coding, but it looks like the entire code layout has changed for the v. 3.4.1
Firmware
Prusa MK3 (firmware 3.4.1) MMU2 (firmware 1.0.1). The source code on Github is found here.

Basically, the answer on your previous question is still valid, but your specific questions will be addressed below.

To answer where the setting has gone by answering:

  However, the layout is different for the new firmware v. 3.4.1, and I
  have no idea where the Z axis settings have gone, if they are even
  still there. Can anyone point me in the right direction to find the Z
  MAX POS settings, please?

To find where the setting is, you need to go to the source code repository of Prusa firmware (which is based on Marlin firmware) or download the zip file with the sources and use a "grep" search utility to search in files.

The setting Z_MAX_POS is located in the board configuration file (so in 1_75mm_MK3-EINSy10a-E3Dv6full.h if you have the MK3). This can be found in the online sources (the github page). The online repository is located here. Using the search functionality to search within the source code files on that page you are able to find any setting you need to find. If you type in "Z_MAX_POS" and scroll down till you see

#define Z_MAX_POS 210

You have found what you where looking for if you located the MK3 board.

To solve your problem by answering:

  How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis?

Prusa development team has got rid of Configuration_prusa.h, you will not find this file in the repository anymore!

Instead, it is you that has to rename one of the board variant files (from the "Firmware/variants" folder) corresponding to the machine you have to "Configuration_prusa.h" and place it in the "Firmware" folder prior to compiling (note that these are simple actions that you can do on any operating system; i.e. copy file, paste file, rename file).  Before you compile the sources, you need to change the value of Z_MAX_POS 210 to Z_MAX_POS 350. Please read the README file as this describes exactly in more detail than worded above what you need to do (e.g. use the correct Arduino IDE, e.g. 1.6.9  as this is used by Prusa development team themselves).

Quoting from the README file:

section describing the renaming of the file:

  in the subdirectory "Firmware/variants/" select the configuration file
  (.h) corresponding to your printer model, make copy named
  "Configuration_prusa.h" (or make simple renaming) and copy them into
  "Firmware/" directory

section describing the compiling:

  run "Arduino IDE"; select the file "Firmware.ino" from the
  subdirectory "Firmware/" at the location, where you placed the source
  codes File->Open make the desired code customizations; all changes are
  on your own risk!

  select the target board "RAMBo" Tools->Board->RAMBo note: it is not
  possible to use any of the variants "Arduino Mega …", even though it
  is the same MCU

  run the compilation Sketch->Verify/Compile

  upload the result code into the connected printer Sketch->Upload

  or you can also save the output code to the file (in so called
  HEX-format) "Firmware.ino.rambo.hex": Sketch->ExportCompiledBinary and
  then upload it to the printer using the program "FirmwareUpdater"
  note: this file is created in the directory "Firmware/"

  To compile the sources correctly please take care in using the correct
  software versions and libraries (Arduino IDE 1.6.9, RepRap
  Arduino-compatible Mother Board RAMBo by Ultimachine v. 1.0.1, Arduino
  AVR Boards Built-in by Arduino updated to v.1.6.23)

Sidenote:

A little more in depth for those who are interested to know (and have some programming skills) why you need to change the name of one of the variants configuration files. Basically, Prusa uses different boards with different settings for the different printers they sell. All the settings for these printer variations are stored in the Firmware/variants folder. When you rename the variant file and put it a folder layer higher to Configuration_prusa.h (e.g.Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.htoFirmware/Configuration_prusa.h), these specific printer and board settings are included into the Configuration.h file (line 43 to be precise) by the C-code include statement:

#include "Configuration_prusa.h"

This include statement will basically insert (like copy in memory) the statements from the Configuration_prusa.h file and thus set important constants like:

#define MOTHERBOARD BOARD_EINSY_1_0a

and many more.


Stepper motor for CR10-S5 Y-axis I need to replace this stepper motor with the following product identification:

It’s a Y-axis for CR10-S5 and labeled as JD42HS60-1500A-02F. What type of stepper motor is this?

This is a NEMA 17 motor. It is virtually identical to the NEMA 17 motors Creality uses in most of their 12V products.

In contrast to other companies, Creality uses a different connector with a flat ribbon cable instead of color-coded wires.

The upper line of the label identifies it more clearly:

JD Identifies the factory/manufacturer
42 identifies the faceplate size as 42mm square, so a NEMA17
HS identifies how the holes are shaped
60 is the height of the motor as 60 mm.
1500 identifies how much power is OK for it, here: 1500mA = 1.5A
A specifies our motor has a maximum safe temperature of 104°C
- gives us no voltage for this motor, but as you have a CR10, it should be 12V
02F is supposed to tell us something about the wiring and steps per rotation, but I can't find out what.

Side Note: the Creality Ender3 uses 34mm high stepper motors.


MakerFlex Spool has bubbles? I ordered a 0.5 KG spool of Makerflex Glow in the Dark filament from Makergeeks. I ordered Clear and Opaque PLA with it. The Makerflex plastic is called TPEE. The entire spool of it seems to have small bubbles in it. I even confirmed this by cutting one of the bubbles, and I could fit a small piece of metal inside, so it is not just a funky coloring. Does anyone know if this is normal? I can't get in touch with Makergeeks themselves. Will it damage my printer? I have a stock Tevo Tarantula.

Bubbles are a defect.  Two problems can occur:

The air in the bubble will be under pressure when heated and can cause a little blow-out when the plastic sides of the bubble are soft enough that they can no longer contain the pressure.  Depending on where this happens, it can either result in little spatters of filament being spit through the nozzle at the printed object, expanded craters which could increase the diameter of the filament and make extrusion more difficult, or, if at the end of a print job, the expanded filament may cool and be too large diameter to feed for the next print job.
If the air escapes without causing any other problem or it was created by cavitation, the volume of the bubble causes under extrusion, since it represents missing plastic.  The extrusion volume is controlled by driving a specific linear distance of filament and assuming a specific filament diameter and 100% plastic.  Underextrusion hurts print quality, print strength, and surface finish.

Bubbles in the filament indicate a failure in the filament manufactury.  As @Granny said in the comment, this is defective filament which should be returned for a refund.  If you use it, understand that it will not give results that are the best your printer can deliver.


Bed leveling method not working with Repetier firmware 0.92.9? I homebuilt a delta 3D printer (like Kossel mini) with a Z probe near the hotend with manual deploy and RAMPS 1.4 board:

I configured the Repetier firmware with the online tool;
All my endstops (included the Z probe endstop) work in reverse mode, so I reversed the endstops triggering option;
I enabled Z-probing and set the BED_LEVELING_METHOD to 1 (n*n grid);
I set Z_PROBE_REPETITIONS to 3, and;
Finally I downloaded it and uploaded to my Mega 2560.

Then I tested it inside Repetier-Host and all seems to work well (homing, moving, extruding) except for the Autobed leveling method.

Specifically, it always starts measurement of 3 Points (with 3 probe repetition each) even if I change the type of measurement.
It never does a grid measurement or a 2 points mirror measurement.

I also tried to re-upload the firmware with EEPROM_MODE to 0 but didn't work.

Does anyone have the same issue, or can explain to me why this happens?

As a guess, you are using the wrong command. If set for n x n grid, you get 3 point measurement with G29, but that is not auto leveling, it is just setting Z height - based on average height at 3 points.

What you need is G32 S2 with S2 to store result in EEPROM (and therefore you should have EEPROM enabled with auto leveling. It is also used to store endstop offsets).


Why the Ender 5 Pro can't remember the axis position or cant move back to home anymore? I am completely new to 3D Printing. I got my first printer a Creality Ender 5 Pro yesterday.
My problem
I did shutdown the printer without the axis being in home position (X: 0, Y: 0, Z: 320 instead of X: 0, Y: 0, Z: 0). I thought this should be no problem but after turning the printer on again the info screen showed the axis as 0, 0, 0 again...
So I can't move the Z axis up again because the printer thinks its already at 0.
NOTE: On the Ender 5 the bed is lowering for the value of the Z so 320 is the lowest and 0 the highest. The motor works because it tries to go down further if i increase Z position but I am scared of damaging the motor because it can't move further but it tries to (judging by that weird sound).
My question
Is this a normal behavior that the printer axis cant remember its position? Because I think as I built the printer the axis were also not at the 0, 0, 0 position and on the first start they moved back without any problems.
Has someone any ideas how to solve this? Or is this a broken printer?
PS: I could replicate this behavior on X and Y as well (moving them with prepare->move axis and then shutdown the printer) but here for I can easily disable the motors and move them manually back to 0, 0 which isn't the case for the Z Axis.
I hope I could explain that understandably.

Once you pull the plug or disable power to the stepper motors, the printer forgets its location. That is perfectly normal and exactly how it is supposed to work.
The printer knows where the printer volume is once you have "homed" the printer. Homing is done prior to printing with G-code G28 which should be present in your start G-code script of your slicer. Once homed, the offsets from the endstops determine where the origin of the printer is and the maximum dimensions determine the build volume.
After you switched on the printer, the printer doesn't know where the origin is and movement is limited. E.g. when the following constant is defined: #define NO_MOTION_BEFORE_HOMING no movement at all is possible before the printer is homed, this can help prevent destroying the printer.


What grease to use for linear rails? What grease to use on linear rails to make them stick as little as possible? I've tried so far:

WD40 (let’s not start a discussion about that please),
silicon spray and
some bearing grease called ‘motorex’,

but with all of them the rails stick quite much and don’t slide as easily as I’d hope.

Can someone recommend some good grease for linear rails (specifically the hiwin type, 12-15mm)?

Don't use grease, it is better to use a light oil to lubricate the rods.  A light oil will help flush out any dust and filament debris, grease will trap it.

I've used both light machine oil (like used for sewing machines) and PTFE based spray (Teflon). Grease is thick and will collect and trap dust and particles more easily than light machine oil.

Even high-end consumer printers use light machine oil, e.g. the Ultimaker 3 Extended I got came with a bottle of light machine oil for the linear guide rails. Their advice is to regularly add a drop of oil on each shaft once in a while (how frequent depends on how much your printer prints).


Slicer is adding additional floor bed I'm trying to print an architectural model of a house with 2 floors and a room on the roof. It was designed in SketchUp by a friend. I removed inner walls and floors to print it upside down to get just the outer look of that building. All is good in SketchUp and in Meshlab (converted .skp to .3ds) and even after exporting it to .stl  format. But when I slice it and select preview, it is adding a floor on its own. Please take a look at the attached screenshots to get a better idea of what I am referring to. Any idea what's causing this and how it can be solved?

(Using Ultimaker Cura 4.1.0 for slicing at 0.2 mm layer height)

SketchUp has a problem with generating the normals of an STL in the right way. As you see in the slicer, the model claims, that the "tops" are overhangs, which means that the whole model is "inside out" with the normals.
To fix that, you'd need to open the file in a program that can fix that by recalculating the normals. I suggest blender:

Open Blender
Delete the cube by clicking on it and pressing the delete button
Import the STL via Drag & Drop or the menu
Change to edit mode in the top left corner
A to select everything
Ctrl + N to recalculate normals
N then under Mesh Display > Normals hook Faces

Now, your model should look like a hedgehog, each face having a blue line poking out.
It also should show if there are any faces remaining, which can be selected and deleted manually by clicking it, so that only it is highlighted, and then pressing delete


How to reduce +/- 5 degree temp swings of hotend (after PID tuning) I have a Monoprice Maker Ultimate 3D printer (a rebranded Wanhao Duplicator 6) and out of the box the hotend temps when set to 200 would vary between 190 and 210. I used repetier-host to run PID tuning and stored the last set of values it gave when it finished, however I'm still seeing around 5 degree temp swings.

Here's a screenshot of the temp during a Benchy print from Octoprint:

I tried PID tuning again, which gave different values, but basically the same results. Is there anything I can do to improve this? The Maker Select Plus I had only seemed to vary +/- 1 degree so I'm assuming this is more than expected. (I don't actually know what the implications are, so I don't know whether it is/will affect my print quality).

Is there another way of tuning (I don't fancy manually tweaking numbers and testing for hours), or if I do more than 8 cycles (the default on the Wiki page linked above) would that improve the accuracy?

If you are sure that PID is enabled (and not using bang-bang heating, as this gives a very similar heating profile) and did not fix the fluctuations, the best guess for this phenomenon is that the printer board has incorrect capacitors installed on the printer board. This is not very uncommon and can be found on the internet. You should at least show the graph to the vendor and ask for support.

If incorrect or faulty capacitors are the cause it requires desoldering, and resoldering new ones. If this is out of your comfort zone, it is better to steer your communication with the vendor to replacing the board.


Bed Adhesion materials There are all sorts of stories of what to put on your printer bed to make your part not come loose when it is printing but can be removed after it is done without requiring a hammer and chisel.

Is there anything out there that shows an analytical comparison?

My biggest interest is PLA on a heated glass base.

I use a product called 3DLAC but I suppose it's regular hairspray. Makes my PLA stick to the heated bed like a charm. After cooling down the print can be removed from the bed with ease.

Only today, after a few thousand prints the glass bed of my printer broke. But I suppose this is because we didn't have enough patience to let the bed cool down to room temperature before removing the printed piece.


How to use a 3.8V stepper with Marlin / RAMPS? I recently purchased a small stepper motor  with a hollow shaft, without realizing it ran at 3.8V.  I'm looking for the easiest way to integrate it with the ecosystem around the 12V steppers used in 3d printing, including control by Marlin firmware, and also compatibility with mainstream printer boards.

The rated specs are as follows:

    2 phase 4 wires
    1.8 step angle
    Rated Voltage: 3.8V
    Rated Current: 0.8A
    Body Length: 30mm
    Shaft Diameter: 5mm

I have only A4988 drivers, and I was under the impression that those drivers could only work at 12V. I have two spare DC-DC buck converters that could drop a 12V output from something to 3.8V. But I'm not sure what wires to do that for.

I know that motors have "A" and "B" coils for movement. Do I just use two DC-DC bucks off an A4988 driver to power this thing? So, after the output from the A4988 driver, I would connect 1A and 1B to IN+ and IN- on the DC-DC buck, and 2A 2B on IN+ IN- on the second DC-DC buck.

Is there a better way to integrate this motor into an existing 3D printer board based on RAMPS? I'm using MKS Gen and MKS Sgen boards

Using the pins before the driver might not be such a good idea if 800 mA is needed to run the printer. I don't know whether those pins connect to 12V or to the microcontroller output.

The 3.8 V rating does not mean what you think it does. "Rated voltage" has a very specific technical meaning. For a 3D stepper motor to work properly, the rated voltage of the stepper motors actually needs to be significantly lower than the supply voltage of the stepper drivers.

These steppers are perfectly compatible with a standard 12V RAMPS setup with A4988 system. You do not need to and should not mess around with buck converters. All you need to do is adjust the potentiometer on your stepper drivers to limit the current to at most 0.8 A.

The rated voltage in some sense refers to the average voltage the stepper motor should see, but to actually run them at reasonable speeds you need to supply short bursts of higher voltage. A stepper driver and motor actually form a sort of buck converter themselves, and in some sense do the conversion from 12V to the rated voltage for you.


Alternating number of lines for the shell between layers Is is possible to have alternating numbers of lines for the outer wall between each layer? So, say, one layer will have 3 lines for the wall, the next layer, 2, then the next layer 3, then 2 again, and so on? Even better, if I could group them in twos: two layers with 3 lines, two layers with 2 lines, repeat until done.

I use Cura, but if other slicers can do this I'd like to hear about it, too.

It is possible to get an alternate extra wall in Ultimaker Cura, the option is called Alternate extra wall. It can be used to catch the infill more firmly, strengthening the print.

From Ultimaker support:

  Alternate extra wall

  This setting adds an extra wall every other layer. This way the infill gets caught between the walls, resulting in stronger prints. For example, if you set the wall line count to two walls and enable alternate extra wall, it will print two walls on even numbered layers and three walls on odd numbered layers.

I've used this option frequently, but I'm not aware of any option that you can change the amount of layers alternating. You can do that probably with the option to set different options for different sections of the model, see e.g. "Different infill in the same part".


Monoprice select mini V2 displaying '999' degrees for build plate temp I have a monoprice select mini v2, and it has worked well up until now. It currently displays 999 degrees for the build plate temperature. This is a glitch, and I don't know how to fix it. Since it thinks the temperature is so high, it thinks that the build plate does not need to be heated. Because of this, many of my prints turn out warped. Is there a way to fix this?

You get this temperature reading when there is broken wire. Not owning this printer type, can't you switch out the bed thermistor for a new one? Or alternatively check if a connection is loose.


Ultimaker Cura is adding redundant top/bottom layers I'm trying to print a supporting base which will house the spindle for an electrostatic rotor. It's basically just a truncated cone with a hole down it's center to house the spindle.

For reasons that I cannot fathom, Ultimaker Cura keeps on adding an unrequested top/bottom layer (color-coded yellow in the screenshots) inside this hole, so instead of a single hollow cylinder of 10 mm depth, the result is a hole only a few millimeters deep with another hollow cylinder behind it.

Here is the intended model, note the open space for the hole at the top.

Here is the inner view of the hole being printed as expected:

Finally, here is a layer view of the print a few millimeters from the final top layer with the unrequested top/bottom layer that covers the spindle hole:

The STL file is on Github (with a built-in viewer).

Can anyone help me understand why this is happening?

It would appear that your model does not conform properly to STL standards. I base this conclusion on a couple of factors. When I loaded the model into Simplify3D slicer, it displayed fine, but when sliced, displayed nothing. Using the onboard repair feature, it presented the entire model as being composed of non-manifold surfaces.

Meshmixer's Analysis/Inspector feature also highlighted the entire model as flawed.

Another observation is that there is an extraordinary amount of facets/triangles/faces to this model. Nearly three-quarters of a million triangles for something that should be much simpler.

The most recent version of Prusa Slicer 2.0 presents an error message indicating that no layers were detected. This is peculiar indeed.

All of the above points to a problem with the source file or the software used to create it.

Please consider to add to your post the program you used or the source of the model.