text:
Monoprice Select IIIP Plus - Best speed settings and speeding up prints
How do I speed up prints for the Monoprice Select IIIP Plus printer?
The manual shows [Cura] examples of:

Print speed: 50mm/s
Travel Speed: 80mm/s
Bottom Layer Speed: 20mm/s
Infill Speed: 50mm/s
Outer shell speed: 15mm/s
Inner shell speed: 30mm/s

However, this doesn’t line up with their advertisements online of a 150mm/s printing speed.
Are there better settings to use, especially ones which can speed up printing time? Or are there any other measures which I can take in order to reduce printing time in general?

What do you mean by "best"? Best for what? Print speed, or print quality? Or somewhere in the middle?

Somewhere in the middle?

@iAdjunct, your original question was very close to what would normally closed as "too opinionated". Therefore I made some slight changes to your question so that it has a more general application and is more objective. Good luck!

In my experience a print speed of 50-70mm/s is ideal. Even if you set the speed to 150mm/s the print head still changes directions often and rarely will have enough time to accelerate from 0->150 before changing direction again.
Some more effective ways of speeding up prints is to adjust

Layer height
Infill percentage (15-25% for regular prints, more if they need to be more sound)
Supports
Number of shells, etc

Thanks for your reply. (1) what speed is that? There are six different speeds... (2) how do I pick a good/better layer height?

I’ve found that 20% fill and 2 shells (or whatever the default is) to be what I need for most things. Supports I decide on a case-by-case basis. The problem is that even relatively simple prints become 36-hour monstrosities (24 as estimated by Cura, which is always an under-estimate by a good margin)

@iAdjunct, could you send an example to a 'simple' print that's taking longer than you expected? 36 hours is a very long print unless you're printing something huge.

For the plus the layer height should be multiples of 0.04. How low you go depends on you preferences and the model. 0.12mm will give you fine detail but will be mind-numbingly slow. This article might be helpful.

@iAdjunct there are 6 different speeds which are all for different processes.  If you really want to go faster then you can change the speeds and see how it prints.  Quality usually drops as the speed is increased.

I was using Cura's default settings for a Prusa I3 on my MonoPrice Select V2 (model #13860), and got horrible results frequently. Then I used the settings you list, and got very nice results. Compare the below images for the bottom layer of 4 benchys, with adhesion brim.
I'm using PLA, 0.4mm nozzle, 60C for bed, 200C for extruder, 1.75mm filament from Hatchbox.
Default Cura Settings

Listed Settings

Settings breakdown
Setting            Cura default    Recommended
Print Speed        60              50
Outer Wall Speed   30              15
Inner Wall Speed   60              30
Top/Bottom Speed   30              20
Travel Speed       120             80

Symptoms of my printer being told to print too fast:
Material would not adhere properly to the print bed, and would start making clumps. These would rest either on the bed, or on the nozzle itself. The ones on the bed would grow taller than layer height, making the next pass of the nozzle bump against it, further depositing material on it. The clumps on the nozzle would drop at other points, leaving stringing filament all over, and further compromising the next pass of the head.
This might seem like a bed adhesion problem, but the prints were very well attached to the bed; I had to apply a lot of force to remove a 15*15cm square from the bed.
Increasing the hot-end temperature seemed to help; at some point we were printing at 230C, well beyond Hatchbox' extrusion temperature range (range is listed as 180C-210C for this PLA batch).
Ultimately, reducing print speed to the settings listed helped us increase print quality back to acceptable levels.

Please note that answers to questions should answer the question.  You appear to have taken the original post as them giving settings for you to use when they are actually asking how they can increase the speed at which they print.  Stack Exchange sites are not discussion boards so I have flagged this as "not an answer".

Is this a related question, or an answer?


text:
Why isn't any color showing up in my .3mf file in Windows 10 3D Builder
So, I made a 3D picture of a cute mouse using Microsoft Paint 3D and exported it as a .3mf.
Why didn't the colors match when I opened the file in Microsoft 3D Builder?

How did you make a "3D picture"?

I used Paint 3D. Forgot to mention it ;p

Can you add a screen shot of how the mouse looks in each application or point us to a place where we could find the "cute mouse"?

Per the 3MF Specification, colors in the .3mf files are sRGB.
If you are looking at gross color defects, I would look a the raw codes generated in the 3mf to make sure they make sense.
If you are talking about subtle color differences, that is much more complicated.
Color have always been a tough thing to define as it is affected by whether the it is emissive (like displayed on a screen) or reflective (like a physical object).  The way it is perceived is affected by ambient light, surface texture and more.  I worked on a project once where Marketing wanted all the colors to match (on the screen, on paper, on plastic, on on fabric) and it was a mess.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
How to thin UV sensitive resin
I have some older resin that got a bit thick. I was thinking I could use some paint thinner to thin it a bit and restore it. My thoughts are the paint thinner is made of terpene oils so should be compatible with the resin.
To test, I went ahead and mixed a half capful of paint thinner with about a cup of resin. I mixed it thoroughly and it seemed to mix well and restored proper viscosity. I then filtered it through a paper coffee filter twice. The results were very nice and smooth resin. I did a UV hardening test with a few drops on a strip and into the UV lamp. It still hardens.
Any thoughts, suggestions or OMGs! before I try this in my printer? It's a Pegasus Touch SLA.

You've covered a couple of concerns "outside the box," but the real tests will come when you pour some of the resin into the vat.
If you don't get a reaction with the release layer, score one for your side. The release layer is a silicone kind of compound, which typically is un-reactive to most substances, but that's not to say the thinner qualifies in that respect.
To be cautious, you could dab a bit on the corner of the vat, especially out of the usual scan area or off the build plate contact surface. If it sits without clouding the release layer, the next test would be a layer test.
You could even remove the build plate, pour the modified resin in the vat and run a model comprised of only one layer, perhaps two. You'd be able to carefully pull the cured resin off the release layer and make a preliminary determination.
If all is well by this point, it's time to create a model, yes?
I hope you'll report back on your results. My Pegasus is still in the box from Kickstarter days. I'm sure my resin is well beyond the "sell-by" date!

Very good point about the possible interaction with the release layer. I am using the "SuperVAT" (not actually super at all), so it doesnt have a release layer as such. I threw my regular vat out as the resin in there actually ate through it!

Back when I first got the Pegasus Touch, it had gone though a number of iterations of improvement, a firmware upgrade, some minor hardware and then the supervat. I figured I better jump on that, but it's still in the box. For your sake, I hope the chemical combination works out for you. It's a shame to toss out all that liquid gold.

I had the part get stuck on the supervat and pick it up and spill the goo all over the Pegasus innards. You can see videos on youtube of supervat doing this. Took 2 days to completely dissassemble the machine and clean everything down to the galvos. FYI I also discovered the control board heat sinks lying on the bottom (melted adhesive stickers) so something not right there but easy fix with proper adhesive.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Slic3r not interpreting STL correctly
I'm very new to 3D printing, I purchased a Monoprice Maker Select Plus last week and I'm just getting started with printing my own models.
I can create fairly simple models in Sketchup without a problem, export in .obj, then using Slic3r, covert the STL into G-code. This method worked fairly well for some simple cubic bearing holders I was printing, however when I tried to slice a complex shape (a wheel), the slicer shows an incomplete version of the .obj file, missing faces and transparent from some angles.

Here is now what the wheel looked like on the slicer

There is obviously something I'm doing wrong in Sketchup, maybe I have to put it through some filters in MeshLab? Or I'm not constructing the model properly?

Sketchup is notorious for creating non-manifold models for 3D printing. The first recommendation would be to consider using a different resource for your models. I'm not a big fan of TinkerCAD, but it is similar in operation to many features of Sketchup. I've used it on a couple occasions where it was the fastest simplest way to create a particular model.
There are other programs that are more complex in the learning curve. Meshmixer is good for more organic shapes, although it will perform reasonably well for engineering-type models such as yours.
Blender is a great piece of free software with an extremely steep learning curve, but again, better suited to organics.
I'm quite a fan of OpenSCAD which is script/text based and quite well suited to creating engineering-type models, especially if you need parametric modeling. The model you have in your pictures would be an easy build, perhaps twenty minutes creation time, a few dozen lines of text. I see two cylinders, some boolean subtraction and some radial primitives. If the code is clean (easy to do), the result is a manifold object.
On the even more challenging level, there are programs such as SolidWorks but the learning curve there is steep too. In the same ballpark would be Autodesk Fusion 360, for which a free hobbyist version exists.
Of course, with all of the above, there are YouTube tutorials to assist your learning process.
More to the point, one can use an online 3D model repair service. I've attempted to use a couple with mixed results.
Netfabb is a commonly recommended online repair service. I've not used that one, or if I have, the results were poor. A bad model (your example) will likely fail with most services.
I've used MakePrintable in the past as well. Again, a bad model will fail and Sketchup is the culprit here.
You can use Meshmixer in Analysis mode to find the errors and use Auto Repair All, but the results aren't going to be pretty!

Thanks for the help! For now I think I'll use tinkerCAD, my models aren't very complex yet and I don't really have the time to dive into a complex program. I've used blender in the past for modeling faces and characters, so I'll maybe pick that up again if there is a need.

You should look at OpenSCAD. It's a useful tool to have at your disposal.

@Mick alright thanks, I'll take that one into consideration too


text:
Help with Repetier firmware variables (Dimension Dual Delta - J Group Robotics)
So I'm finally building a new firmware (Repetier) since my current one can't be edited. It is a Delta printer and is explained in detail here: Help with Repetier firmware (probably locked and licensed)
There are many variables that I couldn't find in the EEPROM. Can someone please explain those to me (listed below)? I've listed only the ones I feel are the most important for now.
General and Dimensions:

KILL_METHOD
STARTUP_GCODE
DELTA_FLOOR_SAFETY_MARGIN_MM
Max. horizontal radius (DELTA_MAX_RADIUS): I have "max printable
radius" and "delta radius" A(0), B(0) & C(0) each.
Radius error column A/B/C (DELTA_RADIUS_CORRECTION_A/B/C): Could
this be the delta radii A(0), B(0) & C(0)?

Z-correction (distortion correction)

Full correction until (FC) or DISTORTION_START_DEGRADE
Reduce correction to zero at (RZ) or DISTORTION_END_HEIGHT
Correction radius (DISTORTION_CORRECTION_R)
Update every x computations (DISTORTION_UPDATE_FREQUENCY)

I have the following in EEPROM:

Z-probe height [mm]
Max. z-probe - bed dist. [mm]
Z-probe speed [mm/s]
Z-probe x-y-speed [mm/s]
Z-probe offset x [mm]
Z-probe offset y [mm]
Z-probe X1 [mm]
Z-probe Y1 [mm]
Z-probe X2 [mm]
Z-probe Y2 [mm]
Z-probe X3 [mm]
Z-probe Y3 [mm]
Z-probe bending correction A [mm]
Z-probe bending correction B [mm]
Z-probe bending correction C [mm]

Stepper

ENABLE_BACKLASH_COMPENSATION
ALLOW_QUADSTEPPING

Endstops

ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING
ENDSTOP_PULLUP_Y_MIN/ENDSTOP_Y_MIN_INVERTING
ENDSTOP_PULLUP_Z_MIN/ENDSTOP_Z_MIN_INVERTING
ENDSTOP_PULLUP_X_MAX/ENDSTOP_X_MAX_INVERTING
ENDSTOP_PULLUP_Y_MAX/ENDSTOP_Y_MAX_INVERTING
ENDSTOP_PULLUP_Z_MAX/ENDSTOP_Z_MAX_INVERTING

Fused Filament Fabrication

EXTRUDER_SWITCH_XY_SPEED

Also, how do I find out which temperature sensors are being used for the extruders? Where are they located?
Here's the EEPROM data:
<Repetier-Firmware-EEPROM>
<epr pos="1028" type="0" value="0">Language</epr>
<epr pos="75" type="2" value="115200">Baudrate</epr>
<epr pos="129" type="3" value="32.752">Filament printed [m]</epr>
<epr pos="125" type="2" value="21644">Printer active [s]</epr>
<epr pos="79" type="2" value="0">Max. inactive time [ms,0=off]</epr>
<epr pos="83" type="2" value="360000">Stop stepper after inactivity [ms,0=off]</epr>
<epr pos="11" type="3" value="80.0000">Steps per mm</epr>
<epr pos="23" type="3" value="200.000">Max. feedrate [mm/s]</epr>
<epr pos="35" type="3" value="20.000">Homing feedrate [mm/s]</epr>
<epr pos="39" type="3" value="10.000">Max. jerk [mm/s]</epr>
<epr pos="133" type="3" value="-140.000">X min pos [mm]</epr>
<epr pos="137" type="3" value="-140.000">Y min pos [mm]</epr>
<epr pos="141" type="3" value="0.000">Z min pos [mm]</epr>
<epr pos="145" type="3" value="140.000">X max length [mm]</epr>
<epr pos="149" type="3" value="140.000">Y max length [mm]</epr>
<epr pos="153" type="3" value="313.280">Z max length [mm]</epr>
<epr pos="59" type="3" value="2000.000">Acceleration [mm/s^2]</epr>
<epr pos="71" type="3" value="2000.000">Travel acceleration [mm/s^2]</epr>
<epr pos="881" type="3" value="355.200">Diagonal rod length [mm]</epr>
<epr pos="885" type="3" value="186.990">Horizontal rod radius at 0,0 [mm]</epr>
<epr pos="925" type="3" value="140.000">Max printable radius [mm]</epr>
<epr pos="891" type="1" value="70">Segments/s for travel</epr>
<epr pos="889" type="1" value="180">Segments/s for printing</epr>
<epr pos="893" type="1" value="0">Tower X endstop offset [steps]</epr>
<epr pos="895" type="1" value="0">Tower Y endstop offset [steps]</epr>
<epr pos="897" type="1" value="0">Tower Z endstop offset [steps]</epr>
<epr pos="901" type="3" value="210.000">Alpha A(210):</epr>
<epr pos="905" type="3" value="330.000">Alpha B(330):</epr>
<epr pos="909" type="3" value="90.000">Alpha C(90):</epr>
<epr pos="913" type="3" value="0.000">Delta Radius A(0):</epr>
<epr pos="917" type="3" value="0.000">Delta Radius B(0):</epr>
<epr pos="921" type="3" value="0.000">Delta Radius C(0):</epr>
<epr pos="933" type="3" value="0.000">Corr. diagonal A [mm]</epr>
<epr pos="937" type="3" value="0.000">Corr. diagonal B [mm]</epr>
<epr pos="941" type="3" value="0.000">Corr. diagonal C [mm]</epr>
<epr pos="1024" type="3" value="1.000">Coating thickness [mm]</epr>
<epr pos="808" type="3" value="0.800">Z-probe height [mm]</epr>
<epr pos="929" type="3" value="10.000">Max. z-probe - bed dist. [mm]</epr>
<epr pos="812" type="3" value="5.000">Z-probe speed [mm/s]</epr>
<epr pos="840" type="3" value="70.000">Z-probe x-y-speed [mm/s]</epr>
<epr pos="800" type="3" value="0.000">Z-probe offset x [mm]</epr>
<epr pos="804" type="3" value="0.000">Z-probe offset y [mm]</epr>
<epr pos="816" type="3" value="-95.260">Z-probe X1 [mm]</epr>
<epr pos="820" type="3" value="-55.000">Z-probe Y1 [mm]</epr>
<epr pos="824" type="3" value="95.260">Z-probe X2 [mm]</epr>
<epr pos="828" type="3" value="-55.000">Z-probe Y2 [mm]</epr>
<epr pos="832" type="3" value="0.000">Z-probe X3 [mm]</epr>
<epr pos="836" type="3" value="110.000">Z-probe Y3 [mm]</epr>
<epr pos="1036" type="3" value="0.000">Z-probe bending correction A [mm]</epr>
<epr pos="1040" type="3" value="0.000">Z-probe bending correction B [mm]</epr>
<epr pos="1044" type="3" value="0.000">Z-probe bending correction C [mm]</epr>
<epr pos="880" type="0" value="1">Autolevel active (1/0)</epr>
<epr pos="106" type="0" value="1">Bed Heat Manager [0-3]</epr>
<epr pos="107" type="0" value="255">Bed PID drive max</epr>
<epr pos="124" type="0" value="80">Bed PID drive min</epr>
<epr pos="108" type="3" value="196.000">Bed PID P-gain</epr>
<epr pos="112" type="3" value="33.000">Bed PID I-gain</epr>
<epr pos="116" type="3" value="290.000">Bed PID D-gain</epr>
<epr pos="120" type="0" value="255">Bed PID max value [0-255]</epr>
<epr pos="1020" type="0" value="0">Enable retraction conversion [0/1]</epr>
<epr pos="992" type="3" value="3.000">Retraction length [mm]</epr>
<epr pos="996" type="3" value="13.000">Retraction length extruder switch [mm]</epr>
<epr pos="1000" type="3" value="40.000">Retraction speed [mm/s]</epr>
<epr pos="1004" type="3" value="0.000">Retraction z-lift [mm]</epr>
<epr pos="1008" type="3" value="0.000">Extra extrusion on undo retract [mm]</epr>
<epr pos="1012" type="3" value="0.000">Extra extrusion on undo switch retract [mm]</epr>
<epr pos="1016" type="3" value="20.000">Retraction undo speed</epr>
<epr pos="200" type="3" value="93.000">Extr.1 steps per mm</epr>
<epr pos="204" type="3" value="150.000">Extr.1 max. feedrate [mm/s]</epr>
<epr pos="208" type="3" value="20.000">Extr.1 start feedrate [mm/s]</epr>
<epr pos="212" type="3" value="5000.000">Extr.1 acceleration [mm/s^2]</epr>
<epr pos="216" type="0" value="3">Extr.1 heat manager [0-3]</epr>
<epr pos="217" type="0" value="230">Extr.1 PID drive max</epr>
<epr pos="245" type="0" value="40">Extr.1 PID drive min</epr>
<epr pos="218" type="3" value="7.0000">Extr.1 PID P-gain/dead-time</epr>
<epr pos="222" type="3" value="2.0000">Extr.1 PID I-gain</epr>
<epr pos="226" type="3" value="40.0000">Extr.1 PID D-gain</epr>
<epr pos="230" type="0" value="255">Extr.1 PID max value [0-255]</epr>
<epr pos="231" type="2" value="0">Extr.1 X-offset [steps]</epr>
<epr pos="235" type="2" value="0">Extr.1 Y-offset [steps]</epr>
<epr pos="290" type="2" value="0">Extr.1 Z-offset [steps]</epr>
<epr pos="239" type="1" value="1">Extr.1 temp. stabilize time [s]</epr>
<epr pos="250" type="1" value="150">Extr.1 temp. for retraction when heating [C]</epr>
<epr pos="252" type="1" value="0">Extr.1 distance to retract when heating [mm]</epr>
<epr pos="254" type="0" value="255">Extr.1 extruder cooler speed [0-255]</epr>
<epr pos="300" type="3" value="93.000">Extr.2 steps per mm</epr>
<epr pos="304" type="3" value="150.000">Extr.2 max. feedrate [mm/s]</epr>
<epr pos="308" type="3" value="20.000">Extr.2 start feedrate [mm/s]</epr>
<epr pos="312" type="3" value="5000.000">Extr.2 acceleration [mm/s^2]</epr>
<epr pos="316" type="0" value="3">Extr.2 heat manager [0-3]</epr>
<epr pos="317" type="0" value="230">Extr.2 PID drive max</epr>
<epr pos="345" type="0" value="40">Extr.2 PID drive min</epr>
<epr pos="318" type="3" value="7.0000">Extr.2 PID P-gain/dead-time</epr>
<epr pos="322" type="3" value="2.0000">Extr.2 PID I-gain</epr>
<epr pos="326" type="3" value="40.0000">Extr.2 PID D-gain</epr>
<epr pos="330" type="0" value="255">Extr.2 PID max value [0-255]</epr>
<epr pos="331" type="2" value="0">Extr.2 X-offset [steps]</epr>
<epr pos="335" type="2" value="0">Extr.2 Y-offset [steps]</epr>
<epr pos="390" type="2" value="0">Extr.2 Z-offset [steps]</epr>
<epr pos="339" type="1" value="1">Extr.2 temp. stabilize time [s]</epr>
<epr pos="350" type="1" value="150">Extr.2 temp. for retraction when heating [C]</epr>
<epr pos="352" type="1" value="0">Extr.2 distance to retract when heating [mm]</epr>
<epr pos="354" type="0" value="255">Extr.2 extruder cooler speed [0-255]</epr>

Sorry for the long, detailed and potentially frustrating question. I'm really new to this.
Edit: To be more comprehensive, I'm including pictures of the controller boards.

Also, I've traced the printer down to a Taiwanese manufacturer: http://d-force.tw/
There are a few parts available: Hot-end PCB, Main controller board & Servo motor for calibration (Z-probe).
I haven't been able to find the other board (with the HRD12008 SMPS on it and placed just beside the main controller board), yet.
Does this change things? If yes then how?
I'm going ahead with burning a new firmware on the current board only because changing the board and shield combo seems too complicated to me. Is it though?

It might be worth just restating the make and model of your printer, in this question, to save people having to click the link to your previous question :-)

@Greenonline please have a look at the firmware downloaded from repetier website. Its asking for pins used for z-probe etc while compiling. The link is: https://drive.google.com/drive/folders/0Bwypz0ZN4X9RUXBhcjBRVUVDTWM?usp=sharing

@Greenonline thank you so much :) The printer does have a z-probe. I've edited my question. Please let me know how it changes things.

@Greenonline sure. I too agree that these questions have been branching out a lot. As soon as I get enough clarity regarding firmware variables, calibration and controller boards I will consolidate all info contained in the comments of those respective questions. I've asked a new question here: https://3dprinting.stackexchange.com/questions/4213/building-new-repetier-firmware-for-a-delta-printer-d-force

Each of the settings have informative comments written just before the setting's #define, so reading those can point you in the right direction - if the required value doesn't jump out at you from your EEPROM settings.
Taking an educated guess (and I could be wrong), and after looking at the comments, I would imagine that:

General and Dimensions:

KILL_METHOD. From Repetier firmware configuration questions (prusa mendel)

I would select the second kill method since it allows to continue with your printer after a crash.

So, you want to have
#define KILL_METHOD 1

No idea, at the moment
You can either measure the height the carriage is from the floor, when the rod(s) is(are) horizontal, or just use the default 15 to be safe - it is probably best to double check this and physically measure it, to prevent any damage:
// Margin (mm) to avoid above tower minimum (xMin xMinsteps)
// If your printer can put its carriage low enough the rod is horizontal without hitting the floor
// set this to zero. Otherwise, measure how high the carriage is from horizontal rod
// Also, movement speeds are 10x to 20x cartesian speeds at tower bottom.
// You may need to leave a few mm for safety.
// Hitting floor at high speed can damage your printer (motors, drives, etc)
// THIS MAY NEED UPDATING IF THE HOT END HEIGHT CHANGES!
#define DELTA_FLOOR_SAFETY_MARGIN_MM 15

DELTA_MAX_RADIUS use Max printable radius [mm].
The values you have for Alpha A(210), Alpha B(330) & Alpha C(90) each, would be for:
#define DELTA_ALPHA_A 210
#define DELTA_ALPHA_B 330
#define DELTA_ALPHA_C 90

The correction radii should be 0 and are the values you have for Delta Radius A(0), Delta Radius B(0) & Delta Radius C(0):
/** Correct radius by this value for each column.
    Perfect builds have 0 everywhere. */
#define DELTA_RADIUS_CORRECTION_A 0
#define DELTA_RADIUS_CORRECTION_B 0
#define DELTA_RADIUS_CORRECTION_C 0

Likewise, given your EEPROM settings that you have listed the values you have for Corr. diagonal A[mm], Corr. diagonal B[mm] & Corr. diagonal C[mm]:
/** Correction of the default diagonal size. Value gets added.*/
#define DELTA_DIAGONAL_CORRECTION_A 0
#define DELTA_DIAGONAL_CORRECTION_B 0
#define DELTA_DIAGONAL_CORRECTION_C 0

Z-correction (distortion correction)

DISTORTION_START_DEGRADE - Initially, I would leave this at default. You can always tweak it at a later stage.
/** z distortion degrades to 0 from this height on. You should start after the first layer to get
best bonding with surface. */
#define DISTORTION_START_DEGRADE 0.5

DISTORTION_END_HEIGHT - Initially, I would leave this at default. You can always tweak it at a later stage.
/** z distortion correction gets down to 0 at this height. */
#define DISTORTION_END_HEIGHT 1.5

DISTORTION_CORRECTION_R - Initially, I would leave this at default. You can always tweak it at a later stage.
/* For delta printers you simply define the measured radius around origin */
#define DISTORTION_CORRECTION_R       80

DISTORTION_UPDATE_FREQUENCY - For the moment, I would leave this at default. As the comments remark, this is computationally intensive, and will use a lot of processing power - power that you want to keep for controlling the motors. SO, it is best to not make this frequency too high.
/** Correction computation is not a cheap operation and changes are only small. So it
is not necessary to update it for every sub-line computed. For example lets take DELTA_SEGMENTS_PER_SECOND_PRINT = 150
and fastest print speed 100 mm/s. So we have a maximum segment length of 100/150 = 0.66 mm.
Now lats say our point field is 200 x 200 mm with 9 x 9 points. So between 2 points we have
200 / (9-1) = 25 mm. So we need at least 25 / 0.66 = 37 lines to move to the next measuring
point. So updating correction every 15 calls gives us at least 2 updates between the
measured points.
NOTE: Explicit z changes will always trigger an update!
*/
#define DISTORTION_UPDATE_FREQUENCY   15

Stepper

ENABLE_BACKLASH_COMPENSATION - As stated, it is rarely needed, so leave it set to 0
/* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's
own weight, so this is nearly never needed. */
#define ENABLE_BACKLASH_COMPENSATION 0

ALLOW_QUADSTEPPING - Do you need high frequencies? This could be a case of leaving set to the default of 1, and if you experience stalling then set to 0 to see if it cures the stalling
/** If you need frequencies off more then 30000 you definitely need to enable this. If you have only 1/8 stepping
enabling this may cause to stall your moves when 20000Hz is reached.
*/
#define ALLOW_QUADSTEPPING 1

Endstops

ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING - these are relatively easy.  From the comment for ENDSTOP_X_MIN_INVERTING
/* By default all endstops are pulled up to HIGH. You need a pull-up if you
use a mechanical endstop connected with GND. Set value to false for no pull-up
on this endstop.
*/

A pullup refers to a pull-up resistor. This is, in this case, a piece of circuitry in the MicroController Unit (MCU) (i.e. the Arduino chip[ATmega 2560] on the controller board. This #define allows you to enable, or disable, it for each input connected to an endstop. Basically, they stop short circuits between the power supply and ground - they do more than that but... You probably need the MAX endstops enabled, where you actually have an endstop. If there are no MIN endstops, i.e. at the bottom of the rails, then these can be set to false.
#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true

ENDSTOP_X_MIN_INVERTING this merely allows you to invert the input from the endstop. For example, if the endstop is triggered by a vertical carriage, then the switch will "close". If, instead, the code is actually looking for an "open" switch, rather than a "closed" switch, when the endstop switch is being triggered by the vertical carriage hitting it, then you simply need to invert it.
//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING true
#define ENDSTOP_Y_MIN_INVERTING true
#define ENDSTOP_Z_MIN_INVERTING true
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

Fused Filament Fabrication

EXTRUDER_SWITCH_XY_SPEED - Probably best to leave as default, 100, and tweak later, if need be
/* Speed in mm/s for extruder moves fom internal commands, e.g. switching extruder. */
#define EXTRUDER_SWITCH_XY_SPEED 100

With respect to the temperature sensor settings on the extruder (read: hotend), from Repetier-Firmware Documentation:

#define EXT0_TEMPSENSOR_TYPE 5

What temperature sensor are you using in the extruder. The configuration file lists possible values
  and meanings.
#define EXT0_TEMPSENSOR_PIN 0

This parameter is tricky and often causes wrong configurations. For historical reasons it is named PIN
  but it IS NOT A PIN NUMBER. It is the position in an array of analog
  input sources. In this array, the real pin number is stored. In 99.9%
  0 is the correct answer here.
#define EXT0_HEATER_PIN HEATER_0_PIN

Which pin enables the heater block. It works with any pin. PWM capability is not required to use
  PID on an output.

For EXT0_TEMPSENSOR_TYPE, the temperature sensor is "buried' inside the hotend heater block, and as such it is probably not going to be easy, nor desirable, to remove and examine - although it is certainly possible to do so, if you feel up to the job. If could be just a question of trial-and-error. You have eight, or so, to choose from. However, the 100k thermistor is one of the most common types, and so 1 would seem like a good setting to choose, initially:
// What type of sensor is used?
// 0 is no thermistor/temperature control
// 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other)
// 2 is 200k thermistor
// 3 is mendel-parts thermistor (EPCOS G550)
// 4 is 10k thermistor
// 8 is ATC Semitec 104GT-2
// 12 is 100k RS thermistor 198-961
// 13 is PT100 for E3D/Ultimaker
// 14 is 100K NTC 3950
// 5 is userdefined thermistor table 0
// 6 is userdefined thermistor table 1
// 7 is userdefined thermistor table 2
// 50 is userdefined thermistor table 0 for PTC thermistors
// 51 is userdefined thermistor table 0 for PTC thermistors
// 52 is userdefined thermistor table 0 for PTC thermistors
// 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package)
// 61 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1.25 Vref offset like adafruit breakout)
// 97 Generic thermistor table 1
// 98 Generic thermistor table 2
// 99 Generic thermistor table 3
// 100 is AD595
// 101 is MAX6675
// 102 is MAX31855
#define EXT0_TEMPSENSOR_TYPE 1

As the Repetier documentation states, in 99.9% of the cases, for EXT0_TEMPSENSOR_PIN a value of 0 will probably work. If it does not, then you may need to change this to some other value.
For EXT0_HEATER_PIN HEATER_0_PIN, just follow the wiring of your printer, and see which pin the heater is connected to.

Where and how to change the settings
You are probably aware of this already, but in case you aren't...
Once you have downloaded Repetier-Firmware-master.zip from Github.com: repetier/Repetier-Firmware, and unzipped it, then you will need to edit the files in Configuration.h in the src/ArduinoAVR/Repetier directory. Note that the ArduinoAVR directory is used for the Arduino Mega 2560 board, and its derivatives.
Open Repetier.ino in the Arduino IDE, and edit Configuration.h in the Arduino IDE. You could also edit Configuration.h in your favourite plain text editor, if need be, but it is probably easier, and simpler to do everything in the Arduino IDE.
Once you have edited the settings that you require, as I described in Help with Repetier firmware (probably locked and licensed), compile and upload the firmware to your board. Then run a print. If something seems to be incorrectly set, stop the print. Then re-tweak your settings ad compile and upload again, and then run another test print. Ad infinitum...
After a few iterations, you should be quite comfortable with this process, and end up with a well calibrated printer.

authors: Игорь Троценко


text:
How to slice this wing so it has a smooth infill like perimeters
I have this wing design that I want to print:

You can notice that its walls have a thickness, which is 1.0 mm.
I want to print it so that the perimeters are inside that thickness.
Here is the wing sliced with 1 perimeter and 0% infill:

You can notice a gap between the perimeters. That gap is what I want filled and not the perimeters in the image. With 0 perimeters and 100% infill I got this zig-zagged line:

I want the gap to be filled; but, I don't want it to be zig-zagged like in the image. I want it to be smooth like the perimeters in the other image.
Basically I want a smooth infill that goes around the curves just like the perimeters. The reason why I don't want to print both the perimeters and the infill is because I want to save as much weight a possible as this is a wing of a model plane that must fly, so the lighter it is the more efficient it will be.
Any ideas how I can slice this?
The images are screenshots in Slic3r, but I can use Cura as well.
This is just a test slice. The wing model is not finished yet.

I found a great solution!
In Cura, there is a setting under Shell called Horizontal Expansion. What this does is it controls the distance between the two perimeters. A negative value in this field will make them come closer together, thus removing the gap between them.

I found that -0.1 is the perfect value for 1 mm thick walls like the ones in my design. So I set it to -0.1, then set the infill to 100% because in some spots the thickness is a little bit more than 1 mm, so the infill closes the gaps in those places. Here is the result:

You can see the perimeters are now sticking to each other and there is no gap between them. The result estimated weight is 71 g, which is a quite good reduction from the estimated 92 g when not using horizontal expansion.

What you're doing here is in effect asking for a 0.8mm wall thickness. The other variable you can adjust is the extruder width you provide to cura (so you might achieve 3 lines making 1mm - but possibly with worse adhesion, since you're under-extruding)

Consider to create a test print using the settings you've presented in the sliced output rendering. It could be something as small as a 4 or 5 mm tall cross section, enough to get clear of the bed and establish a stable base. You may find that your goal is achieved.
Also consider that a common nozzle diameter is 0.4 mm and with an extrusion multiplier, you may not reach a clean integer combination. That is to say, a 0.4 mm nozzle and a 1.05 extrusion factor results in (theoretically) a build thickness of 0.42 mm. Take two of those and you have 0.84, but three of them are 1.26 mm.
You can increase number of wall thicknesses or reduce them as needed to avoid infill or the attempt by the printer to create infill. It may be necessary to adjust your model parameters to achieve a clean combination.
I know that Slic3r supports concentric infill, which will effectively trace the walls rather than turn them into zig-zag shapes. On a base layer, having such a pattern may make for a weaker layer, but you can adjust so many things in that respect that you should be able to accomplish your objective.
Experimentation is useful in a situation such as this. What Slic3r shows you isn't necessarily what will hit the bed.

still a small gap, even if not visible in the print, might make the 2 perimeters not join well together thus making the part less strong. Also increasing the extrusion multiplier will result in more material extruded, resulting in more weight, so just using both infill and perimeters might result in a final part that is a little bit heavier but much stronger than a part with just the perimeters and a higher extrusion multiplier.

You will always have a "gap" in the sliced rendering. The gap is to distinguish one perimeter from another. As noted in the answer, what you see on the screen isn't what you'll get on the print bed. Granted, the zig-zag lines will likely be created as an infill, but if the rendering shows two perimeters and no infill, that's what will print. The print settings will determine how well one perimeter joins another. There are a number of 3D printed RC planes "out there" which means others have been successful. If extreme light weight is your goal, your tools may not be well chosen.

Oh, yeah, it may be necessary to adjust your inside rib thickness in order to prevent infill and to turn that part of the model into perimeters, but the original suggestion of experimentation applies. Such changes would not likely be easily accomplished within the printer slicer settings, as those changes apply to the entire model and not a particular segment. If you have wing skins of 1.26 mm, three perimeters should meet that specification, but an inner rib of 1.00 mm will fail for the aforementioned reasons.

Thanks for the explanation. Now I have a better understanding of what you mean. I will perform 1 or more small print tests and report the results.

There is definitely a gap between the perimeters in the 3D print. The render is accurate because I have already set the extruder width in Slic3r to match my printer's, which is 0.4 mm. Concentric infill works well for a cylinder, but not for my wing design.


text:
How to carve a hollow cylinder along the curved surface in Fusion 360
Let me start with a disclaimer: I'm new to 3D design, to design in general and specifically brand new to Fusion 360. This is my first project.
I started by creating a hollow cylinder, with the one end open and the other end closed. For example a hollow cylinder with the bottom closed and the top open.
I was able to create such hollow cylinder using the cylinder and shell tools.
Now, I wish to carve / engrave a pattern on the shell. I may want this carving to go all the way through the shell (practically making a hole the shape of my pattern); or,I may just want to engrave on part of the shell, but not cut all the way though.
My pattern is a sound wave. I have a 2D black and white image of this sound wave. I may want to carve it onto the curved shell, so that it curves around the cylinder.
I hope my description is clear. Another way to describe what I'm looking for, is to imagine cutting the sound wave pattern though a 2D rectangle, and then curl this rectangle along its width into a cylinder.
How can I do something like that?

I found this video from a quick search, but it only seems to show how to lay a 2d image onto a 3D surface from one direction. Could it perhaps be useful for you too? :-)

A couple a limitations of the technique @TormodHaugene described.  1) It requires a vector (svg) image - you cannot use a bitmap/raster image (like bmp or jpg) 2) It etches the lines vertically (not perpendicular to the surface).  It may be possible to use the technique to etch a flat plate that you then bend to a cylinder so the resulting etch would be perpendicular to the surface.

Until recently, this was not possible with Fusion 360. If you have a flat sketch, operations such as extrude can only linearly project it to a curved surface, and not wrap it around. However, I have seen mention where people have been able to trick the new sheetmetal features to accomplish a wrapped shape, then join to other objects. This tutorial may help. I have not tried this myself yet.

If you want it to be engraved, then sketch out the sound wave on the center plane. When you go to extrude, click "extrude from", and then click "from object". Click on the plane you want to extrude from, and then 2xtrude however for you would like to. Another way to do this would be to project the sketch onto the surface, and then extrude the projection.


text:
Laser engraving software for Boxzy 3D printer
I have a laser-engraving "head" for one of my 3D printers (a Boxzy, so it's designed for it, not just strapping a random laser onto something), and I'd like to try using it to, well, engrave something. So:

Can anyone point me to some control software for this?

The Boxzy came with a license to Fusion360, but I found that nearly impossible to use (or maybe understand), and it wasn't clear how to apply it to engraving anyway (as opposed to milling or regular FDM printing).
I suppose I could just sketch out a thin 3D extrusion of the text or design, and print it in the usual way, setting the layer-height and/or scaling so it only "prints" one or 2 layers. I guess turning the laser on and off counts as turning the extruder motor on and off... But that's clearly a hack. Any "real" software for this sort of thing?
Any other hints are also welcome.
I'm thinking of writing my own software to generate G-code for this, though rasterizing fonts sounds painful in something like OpenScad... Must be a better way...

Autodesk must have been reading your mind.
A brand new video just got posted today from Autodesk on how to do this in F360.

Thanks! Maybe they even have somebody reading this forum. :)  Will check it out (though will have to renew my license to use it....)

Or you could help mentor a First Robotics Team and get to use it for free (non-commercially)

Mind to elaborate on this a little as the link might die in the future, orphaning this answer?


text:
Is the Prometheus system compatible with Wanhao Duplicator i3 Plus?
I'm trying to figure out whether the Wanhao Duplicator i3 Plus can easily be extended to print with two separate filaments using the Prometheus System by DisTech Automation using a single hotend (NOT with two separate hot ends/nozzles).
According to DisTech, the Prometheus System is compatible with 3D printers that support the following:

Dual extruder stepper motors on the controller board
CURA slicer engine (Simplify3D support is in development)
Marlin/Repetier based firmware (this includes almost all desktop 3D printers)

As I'm not an expert on 3D printing and don't own the Duplicator yet (making up purchase decision right now), I'd appreciate if you could help me with your past experience with Duplicator and/or Prometheus.

the Wanhao shop is down. I had to change to the manual of the printer.

The Prometheus system is pretty much a Y-coupler and two extruders. So, you need your Wanhao Duplicator i3 Plus to have the connection points for two extruders and the axis, which means you need one free, 4 wire connection slot from a stepper driver. So, let's look what kind of board is in there...

This Melzi Hypbrid is the mainboard the Duplicator uses, similar to a lot of other Melzi derivates (itself as it seems a Sanguino Derivate). The green 4-pin terminal is the extruder. There is only one of these. So it is not useable with Prometheus. You would need to get a mainboard that is able to run dual extruders.

Also note that although this board shows 2 connectors for the Z axis (Z1 and Z2), a connector cannot be sourced from here as they are controlled by the same stepper driver (they are connected in series).

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Aluminium cube - fan and hotend mount - is it worth it?
Has anyone used one of these aluminium cubes?

It is used to mount the fan for the hotend, when used on a delta effector, like so:

Are they a good idea?
Without actually buying one and trying it, compared to the traditional fan mount, I imagine the pros are

Additional heatsink surface area

and that is it, I could think of only one tenuous advantage...
However, I would imagine that the cons are:

Additional weight on the effector1, for the push rods to move around, i.e. slightly higher inertia;
Probably restricted air flow, and;
Unnecessary additional cost

Therefore, as the cons appears to outweigh the pros, are they worth upgrading to from, say, a typical plastic fan mount:

Does anyone have first hand experience? Are there any other additional benefits, and/or is heat dissipation that much better?

1 Of course, the lightest solution is with the fan mounted, such that it hangs off the top of the effector, but with no air flow guide and hence less effective heat dissipation.

I think its only advantage is that it serves to move money from the folks who buy it to the folks that sell it, and that's an advantage purely for the folks that sell it.
"Additional heatsink surface area" is quite doubtful - it would have poor coupling to the actual heatsink. If the actual heatsink is correctly designed, there's no need for additional area, anyway. This design clearly does limit airflow to the top and bottom fins - the bottom one, in particular, is not a good place to limit airflow for best function, and yet it's severely occluded by the design of this block.
Save your money.
Edit - I think the plastic one shown is also less than ideal - the close coupling to the edges of the heatsink reduces the effectiveness of the heatsink, which would otherwise be dumping heat into the airflow past those edges. A better design (IMHO, gut engineering) would be spaced off the ends/edges of the fins about as much as the space between fins, not touching them. Axial fans perform poorly with backpressure, and that would also reduce backpressure.

Well put and it corresponds with my doubts. It seems to be more eye candy than handy...


text:
What do I do when I have a little filament left?
I just printed my first thing, now there's very little filament left in my Monoprice Select Mini v2.
What do I do about it? Yank it out? Try to print out what's left of it and hope it all extrudes safely?
I'm not sure what my next move here is. Is doing either, dangerous to the safety of my machine? I haven't seen any guides or information on this and I'm afraid I'm going to break something.

This doesn't really answer the question (hence just a comment), but it does complement the process... I keep a couple small prints around (a few different sized small lego bricks - a 1x1 plate takes very little filament) that only use a couple feet of a filament, and will print one of those when a spool is low, to avoid as much waste as possible.

Heat the extruder up first, then remove the filament. You can remove the filament either by reversing the extruder using a command such as G1 E-100 F200, by using your printer's controls/LCD (if it has one) or simply pull the filament out by hand. To this end, most extruders have a lever that you can push to disengage the drive gear to make it easier to pull the filament out.
You can just heat the extruder up to printing temperature, but a perhaps better approach is a cold-pull, where you heat the extruder up just barely enough to be able to remove the filament (to, say, 120-180°C) and then pull the filament out. This has the advantage of removing more of the old filament and perhaps also taking some debris that may be stuck in the nozzle with it.
Trying to print it all out won't work because once the last bit of filament goes past the drive gear, you won't be able to extrude the rest of it. Feeding in a new bit of filament might push the old filament out, but it could just as easily get jammed.

Thank You :) I just pulled it out and it looks like there was some threading on the filament, but it made sense after you explained it. Just gotta figure out how to clean out the machine now.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Anet A8 right Z drops 2 mm during print
I've noticed that after my Anet A8 completes a print, the right hand Z mount ends up 1-2 mm lower than the left, even though I make sure both the left and right hand Z mounts of the X-axis are at the same height before switching on the printer.
Does anyone know what the cause of this might be?
I'm guessing something is causing the right hand Z to skip steps. I can't see or hear any obvious mechanical issues. I checked all guide and threaded rods were straight before assembly.
Could it be a faulty stepper or control electronics?

Try reuploading a firmware of your choice ( I prefer Marlin SkyNet3D version because it is preconfigured for the Anet A8).

Duplicate of the other z-axis questions.

Possible duplicate of Alignment of dual Z-axis steppers

@SeanHoulihane - Hmmm, I thought this sounded familiar, when I reviewed it. However, your question is about the possibility of out-of-sync happening, and the answer offers no solution to this OP's issue (apart from the "levelling"). This question is looking for the cause, and, I guess, a definitive solution.

This is one of the threads binding, due to bad alignment. Maybe I linked the wrong Q, there were 2 active when I experienced this.

this one https://3dprinting.stackexchange.com/questions/3065

It does sound like a binding issue.  Go into the control menu and manually drive the Z-axis up and down -- look for stickiness, 'bad' sounds, and so on.  Make sure the tops of both Z screws aren't hitting anything.

@Andrew Ebling, You have the Anet 8? I know its a little off topic but other than the issue you have how are you liking the printer?

@Ljk2000 with an upgraded 30A PSU, mosfets, re-soldered heat bed, drylin bearings and decent GT2 belts, it becomes a decent printer. I’m also looking at the AM8 metal frame upgrade.
It’s good enough to get me hooked on 3D printing, for sure.

@AndrewEbling With all those upgrades it sounds like you could have gotten a $200+ printer. I have heard some scary things about the power supply that comes with it though, Did the bearing improve the accuracy along with the GT2 belts?

My guess is your Z guides are not strictly parallel because there's no instruction how to install X guides correctly. When you install X guides, you can easily make horizontal distance between two Z-mounts either too small or too large, which puts extra stress on one of the Z motors. Move your extruder to home position, measure distance between bottom ends of Z threaded rods and between top ends, and try to adjust right Z-mount position on X guides so that these two distances become equal. Use hammer, but be accurate with plastic.

Try winding the Z axis all the up and down a few times using the front panel controls. Does it still go out of alignment? Is it out of alignment at the top? Does it come back into alignment when you wind it back down?
The principle is: if you have a dodgy motor drive chip, or a mechanical fault, it will skip some steps on the way up and the two motors will be out of synch. Then, on the way back down, it will skip an (approximately equal) number of steps and the motors will return to something resembling similar places.


text:
Printrun doesn't connect when 12 V is on
I'm able to connect to Arduino+RAMPS through USB. I can even check end stops with M119. However, if I plug it to the power supply, my MacBook goes crazy and restart itself! Things I have tried:

Uninstalled OSX, installed Ubuntu, I get readiness error when PSU is connected.
Bought a new pair of RAMPS + Arduino.
Run RAMPS all naked without anything on it.
Measured PSU output, 12.2 V is stable.

I'm at a point I started to think my MacBook's USB ports are messed up. It is a 2008 model, do you think that would be right to blame?
Update
Tried a new and a very short USB cable: It worked for the first time and I'm able to home all axes, but laptop's trackpad gets very hard to control for some reason. I can only use an external mouse.

It seems like your update could be posted as an answer, i.e. the solution, to your issue. It sounds a bit like you are having (additional) grounding issues. Are your MacBook and the RAMPS using the same ground, i.e. are they using the same mains circuit?

I don't have any grounding other than the PSU itself which is using a grounded plug. Is there anything else I should connect from RAMPS to PSU for e.g.? All my devices are connected to the same powerstrip which has a current protection.

Sounds ok them, if you are using the same power strip, although, is the PSU on the printer correctly grounded (at the bottom of the unit)? See Upgrading the large delta printer - Power supply output grounding

@Greenonline First time I see this, I don't have that small wire between earth and V-, definitely will try!

@Greenonline you made my day!! It worked and now I'm able to use the longer cable & trackpad jiggering is gone! Please add that as an answer and I would be happy if you share how you discovered PSU wasn't grounded internally as expected.

It sounds a bit like you are having (additional) grounding issues1. Are your MacBook and the RAMPS using the same ground, i.e. are they using the same mains circuit?
If you are using the same power strip, then the next thing to check would be that the PSU on the printer correctly grounded (at the bottom of the unit).
From David Crocker's superlative blog, see Upgrading the large delta printer - Power supply output grounding:

Power supply output grounding
While taking some measurements on my machine, I discovered that the
negative side of the output of the 12V LED power supply I am using was
not connected to ground inside the power supply as I expected. This
presents a safety hazard. So I added an additional wire from ground to
the spare negative output terminal of the power supply.

1 Why do I think this? Three reasons:

Because grounding issues is one of the most common, and over-looked, problems, in circuit design;
I have often had peripheral devices, that use a separate additional power supply, cause a PC laptop to go "haywire" (or worse, die) once connected via RS232/USB (especially charge sensitive devices on the laptop, such as the track pad), due to different, or floating, grounds, and;
I had recently read the blog and made special note to check all of my power supplies as they are all terrible, cheap, Chinese knockoffs, and grounding circuits in Thailand are usually non-existant, or, at best, poorly wired up.

Thank you for the rare knowledge, it really fixed all of my issues! Today's computers may have better USB ports but all they are doing is hiding the problem! This should certainly go to reprap wiki.

About grounding circuits in Thailand are usually non-existant, that seems true for a lot of countries. For example, Vietnam doesn't have 3-pin plugs even for heavy duty home electrical equipment like refrigerators and airconditioners, and the grounding hole in home and office sockets is usually just a dummy to accommodate grounding pins rather than provide grounding.


text:
Can cheap hotend parts sourced from China actually produce good prints?
TL;DR
Is it possible to build a hotend, using separate parts, sourced on eBay, from China, and still achieve a high quality print?

In my opinion, the E3D V6 hotend is rather expensive, at $/£70, especially to those building to a tight budget. Now, obviously/presumably, there is some quite rigorous QA and testing of the build, and they have to pay for their research costs and initial machining set ups and this is reflected in the high cost. Also, the expression, you get what you pay for, springs to mind.
However, I wondered if I sourced the individual parts from China, for a dollar apiece, that is to say the:

Throat (with Teflon lining)
Heating block
Heatsink
Nozzle
Pneumatic connector (PC4-05/PC4-M06)
Heater
Thermistor

could I too, end up with a hotend, that performs as well as, or even out performs, an E3D hotend, or am I living in cloud cuckoo land?
After all, let's not forget that most, if not, all of the parts used in a E3D hotend probably come from China anyway, these days, as most production facilites have moved from the US/EU to the cheaper manufacturing bases and machining shops, in SE Asia.
I have read so many times that people were experiencing extrusion problems, shoddy prints, etc, from their cheap printer, until they finally shelled out the cash and upgraded to a genuine E3D hotend. After that the prints were much improved. I have read this countless times, in blogs, threads, etc., so I presume that it is not possible.
I realise that if the parts are not finished correctly, and end up with burring on the inside of the throat, nozzle, etc., then the filament will not extrude correctly. See tbm0115's answer to How long is an extruder's/nozzle's life? However, assuming that the parts that I receive are machined, and finished, correctly then there should not be a problem, right?
Has anyone actually done this? Is tinkering with hotends a done thing? Does anyone have any good pointers and/or tips?
NOTE: This question is not really after opinionated answers, in order to stay within SE rules - although opinions are always welcome - but I just want to know if anyone has first hand (positive or negative) experience of this.

Hard to say for sure - my whole printer is cheap parts bought as a kit in China by a Chinese student who abandoned it in the US (I resurrected it after it was abandoned.) It includes all the parts you list, and I think we finally sorted out what the thermistor actually is so the temperatures are more accurate now.
It prints.
Could it print better? - Probably, but at some point replacing all the various cheap parts starts to look foolish .vs. just build a new printer with better parts all around, leaving the original functional. I doubt I've ever met a "E3D V6" and I'd have to google it to see what sort of paragon of printing it's supposed to be. The only thing I'm actually considering replacing is the nozzle itself, partly because I'm just guessing what size it is (mostly based on the way it prints when set to various sizes.) I'm also contemplating adding some sort of insulation for the heater block, having squnched some aluminum foil around it as a first stop-gap.
Likewise, if your concern is with burrs, etc. a degree of fettling by you can sort that sort of thing out, if you know to do it and how to do it (i.e. you need to be somewhat mechanically ept.) But of course "parts from China" are not a monolithic entity - there are good parts and bad parts that both come from China - given the state of internet sales, you may well have (unknown to you) the choice of parts that passed quality control, parts that failed quality control, and parts that quality control never looked at (some of which might pass, some of which might fail), from the same production facility, available to you from various vendors at various price points. And then there are many different production facilities as well.
Production in the US or Europe is no magic bullet either - competing with imports on price is difficult, so one hopes that superior quality is on offer, but it may or may not actually be from a given vendor, or a given batch of parts.

Sorry for digging up the topic, but I'd like to share my experience with cheap Chinese parts obtained from those obvious auction sites.

For my Hypercube Evolution I have ordered all parts from Chinese suppliers except for the Aluminium extrusion profiles. This includes belts, screws, nuts, electric cables, printer board, steppers and drivers, hotend parts, you name it.
I do not own, or have ever owned, an official E3D hotend, so I cannot compare the clone E3D hotends to the official directly. However, I do own an Ultimaker 3 Extended (UM3E) that I manage for a group of printing enthusiasts to promote building your own printer and produce spare parts that are not sold commercially or sold at ridiculous prices. The quality of the products produced by the UM3E are very good, as expected from this quality brand, so I can compare the products from my own printer with the ones from the UM3E.
It is often said by others that the prints I have created with my HyperCube Evolution are at least as good as the products produced on the UM3E, or sometimes even better. In that respect, it is very hard to see any differences in the products. The UM3E is known for the simplicity of use and it's relative low need to tinker to get or keep it working, but my own creation does not require a lot of tinkering either. E.g. I have never had any clogs (several kilometers of 2.85 mm filament printed) while I use a relative high retraction length (the same as on the UM3E as default in Cura). In this respect I have never had the need to upgrade to an official E3D hotend, and most likely will never do need to.
So to answer your question if it is possible to build a hotend, using separate parts, sourced from China, to achieve a high quality print (while maintaining a low need for tinkering), I can vouch that it is indeed possible.

Sidemark:
Note that if you source your materials locally, e.g. local webshops, you probably also end up with imported Chinese parts! (usually at much higher costs; but at least they arrive sooner!)

I do sometimes source chinesium parts via amazon from local sellers due to time constraints - if something breaks I simply don't have weeks to wait for the parts.


text:
Building new Repetier firmware for a delta printer (D-force)
So my printer's calibration got screwed after a sudden reboot and since the current firmware (0.92.6) is licensed, I cannot edit it. So I'm building a new one.
These are the controller boards of my printer:
1. Main controller board:

The black board is a MKS Base v1.3
The other green board beside it has a DC to DC SMPS (HRD12008) on it, along with Z-min, X-min, T0, Fan-, D11 and a flat ribbon wire connector (can be seen in the picture).
The other box with an acrylic top is a solid state relay.

2. Cooling fan and Z-probe PCB:

The brand on all these boards is "D-force". I've traced the printer down to a Taiwanese manufacturer: D-FORCE.TW - 3D Printer.
There are a few parts available:

Fan & Z-probe PCB;
Main controller board, and;
Servo motor for calibration (Z-probe).

I haven't been able to find the other green board (with the HRD12008 SMPS on it), yet.
I've downloaded a new firmware from Repetier website. It can be found here, Repetier-Firmware-2017-06-09.
Now, while compiling the firmware, I need to specify the Z-probe pin. I'm unable to do so because it's not plugged into the main board.
Here is a close-up of the Z-probe & the servo motor that pins it down.

Any help would be appreciated here. On the web these printers are known as "D-force printers".
Edit1: I found this on the manufacturer's Facebook group:

Please note that this is v1.1 and my printer has v1.3 although I haven't found any difference between the two, yet. I'll update on that if I find any. Hope this helps.
Edit2: The Y-min pin on the main controller board is empty. The X-min and Z-min are connected to the X-min and Z-min on the additional green board respectively. Also, there is a T0 on the additional board which is connected to A13 of the main controller.

@Greenonline the Z-probe is not directly connected to the controller board but indirectly via the "Cooling fan & Z-probe PCB" that I've mentioned in the question. This is how my printer has been, from the start. I haven't changed anything. It is the black top-right connector.

@Greenonline I can't find any chip on the PCB, just a series of pins and connectors. Its almost identical to (perhaps a revision of) this: http://www.icshop.com.tw/product_info.php/products_id/23999 The 10 wire grey ribbon cable runs from the Z-probe PCB to the 2nd green PCB (beside the controller board). Also, I've added the controller board schema(?) to the question.

@Greenonline I've added info regarding min endstop pins in the question. I guess one is used for the Z-probe and one for the servo arm that actuates it? Correct me if I'm wrong. But how do I find out which is used for what? Is a multimeter the only option?

@Greenonline correct me if I'm wrong but I think the ribbon cable will carry the signals from the additional board to the Z-probe PCB. So I guess tracing visually will not be possible for me. I guess multimeter is the way to go and I'll buy one ASAP. In the meanwhile I will take the 50-50 chance to see what works. Speaking of which, how dangerous is this process? If I get it wrong (or any other pin that the compiler might ask me for) can it damage the board etc?

That, my friend, is the million dollar question ;-)  Don't risk it, be patient, and get a multimeter... You should have one anyway... :-)

You, obviously, do actually have a Z-probe, but in case another user does not, or you decide not to use yours, I will cover both cases (with and without a Z-probe).
Z-probe not present
If not, then in configuration.h set the FEATURE_Z_PROBE to false, like this:
#define FEATURE_Z_PROBE false

or
#define FEATURE_Z_PROBE 0.

Then you also need to set
#define DISTORTION_CORRECTION 0

as this requires the FEATURE_Z_PROBE if otherwise set to 1 or true. However, thereafter, upon recompilation, I then get a lot of other errors...  but these seem to be more to do with selecting the correct board, #define MOTHERBOARD, in pins.h, than the disabling of the Z-probe. This error:
fastio.h:29: error: 'DIOORIG_FAN2_PIN_WPORT' was not declared in this scope

is due to, from Can't compile firmware:

You are using ORIG_FAN2_PIN in your configuration but apparently your boards pin definition does not define that pin. In that case check board description and use the digital pin number instead for that function.

Actually that is not entirely true1.
NOTE: It might be easier to just define Z_PROBE_PIN to something other than -1, which is what it is defaulting to, as set in configuration.h:
#define Z_PROBE_PIN -1

Z-probe present
If you do have a Z-probe, then trace the wires to see where they go on the controller board, determine that pin number on the board and then enter that pin number into configuration.h. For example, if it is connected to pin 63, then:
#define Z_PROBE_PIN 63

and leave DISTORTION_CORRECTION untouched.
Where to plug the Z-probe in
If your Z-probe has become unplugged, then you need to choose a pin to connect it to. This is easy... you simply connect it to any free pin. Now, you probably only have three end stops, at the top of the delta frame. These are the MAX end stops. So, you can simply connect the Z-probe to any of the three MIN end stop pins, on the board. Obviously, you will leave the three #defines for the MIN end stop, in Configuration.h, un-configured, and then specify the pin, that you did use, in
#define Z_PROBE_PIN <your pin>

See Is there a complete step by step manual for building Z probe - comment 1950

Put the zprobe on any free pin you have but do NOT set it in endstops. It is not a endstop it is a zprobe.
Then set it in zprobe section with pullup enabled so it is drawn to high internally until you connect the pin with gnd. Then G31 should also be consistent. I guess you missed the pullup part making it a random result.

and Is there a complete step by step manual for building Z probe - Comment_1952

Not sure why this is a problem. You have 6 endstop pins and need 3 for
  endstops + 1 for zprobe = 4 pins. Still 2 endstop pins free.
When I said not in endstops I meant not in the endstop configuration.
  There you only put switches that work as endstop.

Highlighting the connections
The green PCB, for the fan and Z-probe, does not appear to have any logic on it (I can't see any), so it is just a collection of tracks (i.e. wires). As there are no logic chips on it, you can trace the circuit from the Z-probe to the controller (either visually, or using a multimeter set on continuity check). I assume that the PCB is connected to the controller board somewhere/somehow... Via the 10 wire grey ribbon cable that goes to the second green PCB next to the main board, next to LED3, as shown in the first photo? This ribbon cable transfers signals to/from the Z-probe/fan PCB to the secondary PCB, which appears to be a power related PCB (i.e. heaters). Somehow the secondary, power, PCB then connects to the main controller board.
One of the three unused MINIMUM end stop pins should be used for the Z-probe. This is assuming that:

you only have three physical end stops (at the top of the three axes) and;
they are connected to the MAXIMUM end stop pins.

If you have six end stops, (one at the top and one at the bottom), then that changes things drastically. Assuming that you only have three, then the three unused MINIMUM pins will be used for some other purposes (Z-probe, servo arm, something else?).
You need to confirm that you only have end stops at the top of the printer and not the bottom, i.e. only MAX_ENDSTOP (or X+, Y+ and Z+) pins. If so, then you should have three (sets of) (MIN_ENDSTOP) pins with nothing connected to them (in theory). So, one of those three MIN_ENDSTOP pins will have the Z-probe connected to it. If you are having trouble locating the MIN_ENDSTOP pins, trace where the 3 physical (MAX) end stops are connected to, those will be the MAX_ENDSTOP pins. Then from that, the MIN_ENDSTOP pins should be relatively easy to identify. Hopefully that makes sense.
Looking at the schema then it becomes obvious. You see X+, X-, Y+, Y-, Z+ and Z-. The physical endstops should be connected to the three + connectors. The three - connectors: two of them are hopefully not connected. The one that is should be the Z-probe. Looking at the photo, unfortunately, it seems as if all six (or just five?) are populated.
Personally, to save time, I would get a multimeter, unplug the X, Y, Z +/- connectors (actually only the - connectors) in turn and test each one, to see which is connected to the Z-probe.
To check the correct pin is used, you really only have two (sensible) options: either visually, or; multimeter. Multimeter would be best, and the most certain. However, there are two other options open to you (one risky, and one laborious):

As we have whittled it down to two connectors (X-min and Z-min, there are only two pins (for the Z-probe and servo) to worry about, you only have a 50-50 chance of getting it wrong, so you could guess, code it up and see if it works - if it doesn't, then change the pin defined, and recompile...
IMPORTANT: After a rethink, it is best not to just take the 50-50 chance, as the servo pin is probably configured as an output and the Z-probe pin will be an input. You could end up damaging the control board.
Finally, you could, in theory, test it programmatically, but that would require writing some test code for the controller, which (as we are having enough trouble as it is with the configuration.h file) would be a nightmare, to put it bluntly.

Schema

Photo of control board

It is probably a good idea to read this, lengthly, article: Repetier - Z-probing.

Footnotes
1 I have finally managed to get Repetier.ino to compile. The problem lay with the Configuration.h file that came with the googledrive download, that you provided. Trying to either manually configure Configuration.h, or pre-loading it into Repetier's configuration tool, always resulted in the same compilation error, see DIOORIG_FAN2_PIN_WPORT error. The simplest solution is to create a Configuration.h file from new, using the Configuration tool. When you do that, it will compile ok.
Or, if you really want to do it manually, either:

Set NUM_EXTRUDER to 1 and not 2 as the FAN2 compile error comes from the second extruder's set of #defines, or;
More precisely, if you do have two extruders, then change the line #define EXT1_EXTRUDER_COOLER_PIN ORIG_FAN2_PIN and specify a pin, i.e. 65, en lieu of using ORIG_FAN2_PIN.

thanks again for the detailed info. I verified with a mutimeter, the Z-probe is connected to the Z- pin and the servo motor is connected to the X- pin. But now I have 2 questions. What are the numeric values for the Z- and X- pins? also, the servo motor pin was already defined in configuration.h as #define SERVO0_PIN 11. should I use that or replace it with whatever is the correct value for the X- pin?

Excellent, I had been wondering what had happened about the multimeter...   Might be worth asking these new points as two new questions, just in case someone else has some ideas... :-) Here is a quick answer though (I'll look into it more later, kinda busy at the moment, will have more time next week):

Already defined... which configuration.h? The downloaded one, or the one from your original setup? I guess you don't have the latter, as you had to extract the values from the EEPROM, and as for that downloaded config file from the google drive, I personally would discard that completely (or use only as a reference), as it caused me nothing but headaches, and create a new one from scratch, using the config tool link, and plug in the values from the EEPROM the best you can, and then take it from there, and see what's missing.

@OjasviSrivastava - You can see the pin numbers in the schematic above, where I have circled it in red. X- and Z- are D3 and D18 respectively

Oh okay. So pin numbers can be alphanumeric too? I was not sure about that. The config in the google drive is the one I made from the Repetier-Firmware Config tool. I guess I wasn't careful enough while doing that. I will do that again, now that I can find out which pins are used for what. Thanks again for the save here :) It'd be great if you can tell me where all I went wrong with the previous config. I read your FAN2_PIN_WPORT error article and after configuring for a single extruder it did compile with a low memory warning. I guess I'll worry about extruder2 later. Baby steps

@OjasviSrivastava - Not sure about the alphanumeric, maybe just pin 3 and 18. Ah, you made that config file..? ok. Not sure about what was wrong with the previous config, yet, I'll have another look. Yes, the low memory warning is odd, I'm not sure why that happens exactly. I think that the second extruder is ok, if you don't select FAN2 and use an actual pin number instead, see How to compile Repetier with two extruders

but in the schema I can see D14, D15 and also A14, A15. So if I ignore the alphabets won't there be a conflict?

@OjasviSrivastava - The config tool has in its menu for the z-probe, amongst the many options, Digital Pin nn (i.e.  Digital Pin 3 ). Use that for D3. Likewise for an analogue pin, such as, A14, use Analogue Pin 14. This really merits a separate (short) question, you know? :-)

ah, makes sense. Sorry I thought it was too small a doubt. Moving forward I'll keep a better track of side questions


text:
Z-axis not moving up
I'm near the end of the build of a i3 MK2 clone and have run into a problem with the Z-axis motors. Specifically, the Z-axis will move down (and trigger the endstop) but it will only make a quick noise if I try to move it up.
M119 shows all endstops open.  Min software stops are currently disabled, as I try to set the printer up. Using Marlin 1.1.3 with a RAMPS 1.4. Both motors turn and I've even uncoupled the entire X-axis carriage.
Additional test: reversed the z-axis motor wires and they only go up. Inverted the motor direction in software and they also only go up.
Any advice? I've definitely done a few searches but haven't solved the problem.
Config.h is as follows (clipped due to posting restrictions):
//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

// coarse Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  //#define ENDSTOPPULLUP_XMIN
  //#define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE

//=============================================================================
//============================== Movement Settings ============================
//=============================================================================
// @section motion

/**
 * Default Settings
 *
 * These settings can be reset by M502
 *
 * Note that if EEPROM is enabled, saved values will override these.
 */

/**
 * With this option each E stepper can have its own factors for the
 * following movement settings. If fewer factors are given than the
 * total number of extruders, the last value applies to the rest.
 */
//#define DISTINCT_E_FACTORS

/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 4000, 120 }

/**
 * Default Max Feed Rate (mm/s)
 * Override with M203
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_MAX_FEEDRATE          { 200, 200, 3, 25 }

/**
 * Default Max Acceleration (change/s) change = mm/s
 * (Maximum start speed for accelerated moves)
 * Override with M201
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

/**
 * Default Acceleration (change/s) change = mm/s
 * Override with M204
 *
 *   M204 P    Acceleration
 *   M204 R    Retract Acceleration
 *   M204 T    Travel Acceleration
 */
#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves

/**
 * Default Jerk (mm/s)
 * Override with M205 X Y Z E
 *
 * "Jerk" specifies the minimum speed change that requires acceleration.
 * When changing speed and direction, if the difference is less than the
 * value set here, it may happen instantaneously.
 */
#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  0.4
#define DEFAULT_EJERK                  2.0

//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// @section probes

//
// See http://marlinfw.org/configuration/probes.html
//

/**
 * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
 *
 * Enable this option for a probe connected to the Z Min endstop pin.
 */
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

/**
 * Z_MIN_PROBE_ENDSTOP
 *
 * Enable this option for a probe connected to any pin except Z-Min.
 * (By default Marlin assumes the Z-Max endstop pin.)
 * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below.
 *
 *  - The simplest option is to use a free endstop connector.
 *  - Use 5V for powered (usually inductive) sensors.
 *
 *  - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin:
 *    - For simple switches connect...
 *      - normally-closed switches to GND and D32.
 *      - normally-open switches to 5V and D32.
 *
 * WARNING: Setting the wrong pin may have unexpected and potentially
 * disastrous consequences. Use with caution and do your homework.
 *
 */
//#define Z_MIN_PROBE_ENDSTOP
//#define Z_MIN_PROBE_PIN Z_MAX_PIN

/**
 * Probe Type
 *
 * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 * You must activate one of these to use Auto Bed Leveling below.
 */

/**
 * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 * Use G29 repeatedly, adjusting the Z height at each point with movement commands
 * or (with LCD_BED_LEVELING) the LCD controller.
 */
//#define PROBE_MANUALLY

/**
 * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 *   (e.g., an inductive probe or a nozzle-based probe-switch.)
 */
#define FIX_MOUNTED_PROBE

/**
 * Z Servo Probe, such as an endstop switch on a rotating arm.
 */
//#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles

/**
 * The BLTouch probe uses a Hall effect sensor and emulates a servo.
 */
//#define BLTOUCH
#if ENABLED(BLTOUCH)
  //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
#endif

/**
 * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
 * options selected below - will be disabled during probing so as to minimize
 * potential EM interference by quieting/silencing the source of the 'noise' (the change
 * in current flowing through the wires).  This is likely most useful to users of the
 * BLTouch probe, but may also help those with inductive or other probe types.
 */
//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
//#define PROBING_FANS_OFF          // Turn fans off when probing

// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
//#define SOLENOID_PROBE

// A sled-mounted probe like those designed by Charles Bell.
//#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

//
// For Z_PROBE_ALLEN_KEY see the Delta example configurations.
//

/**
 *   Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 *   X and Y offsets must be integers.
 *
 *   In the following example the X and Y offsets are both positive:
 *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 *
 *      +-- BACK ---+
 *      |           |
 *    L |    (+) P  | R <-- probe (20,20)
 *    E |           | I
 *    F | (-) N (+) | G <-- nozzle (10,10)
 *    T |           | H
 *      |    (-)    | T
 *      |           |
 *      O-- FRONT --+
 *    (0,0)
 */
#define X_PROBE_OFFSET_FROM_EXTRUDER 22  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 12  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000

// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z

// Speed for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)

// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH

/**
 * Z probes require clearance when deploying, stowing, and moving between
 * probe points to avoid hitting the bed and other hardware.
 * Servo-mounted probes require extra space for the arm to rotate.
 * Inductive probes need space to keep from triggering early.
 *
 * Use these settings to specify the distance (mm) to raise the probe (or
 * lower the bed). The values set here apply over and above any (negative)
 * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
 * Only integer values >= 1 are valid here.
 *
 * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
 *     But: `M851 Z+1` with a CLEARANCE of 2  =>  2mm from bed to nozzle.
 */
#define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points

// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
// Warn on display about possibly reduced accuracy
//#define DISABLE_REDUCED_ACCURACY_WARNING

// @section extruder

#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled.

// @section machine

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

// Enable this option for Toshiba stepper drivers
//#define CONFIG_STEPPERS_TOSHIBA

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

// @section homing

//#define Z_HOMING_HEIGHT 4  // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
                             // Be sure you have this distance over your Z_MAX_POS in case.

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

// @section machine

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 230
#define Y_MAX_POS 200
#define Z_MAX_POS 200

// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
//#define MAX_SOFTWARE_ENDSTOPS

/**
 * Filament Runout Sensor
 * A mechanical or opto endstop is used to check for the presence of filament.
 *
 * RAMPS-based boards use SERVO3_PIN.
 * For other boards you may need to define FIL_RUNOUT_PIN.
 * By default the firmware assumes HIGH = has filament, LOW = ran out
 */
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
  #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
  #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
  #define FILAMENT_RUNOUT_SCRIPT "M600"
#endif

UPDATE:  Turns out to have been a faulty RAMPS.  Replaced the card and made NO changes; z-axis is now behaving properly.  Thank you all.

This sounds similar to Prusa i3 Z axis only goes down (even on up command) and My Prusa i3's z-axis will only go up. Please check the answers to those questions.
The usual cause of your problem is that you need to:

install/configure the end stops, and;
home the Z-axis.

You say that you have already installed ad configured the end stops. Have you homed it yet, though?
However, check your wiring first as it could just be a simple case of a loose or misplaced connection.
Also, something else to consider, if your stepper is making a grunting noise, and trying to move but can not, then maybe your stepper driver is not supplying enough current, or maybe too much. See my answer to Extruder stepper motor problem, what can be wrong?. Yes, the answer is for an extruder, but all steppers drivers can suffer the same mis-configuration.

Thanks Greenonline.  Yes, I've homed the system.  Proterface even counts up mm in the z-axis when I try to move it, but it does not physically move. When I reversed the z-axis direction in software, the carriage DOES move up, but not down; so it does not seem to be a too little current issue.

If the carriage is moving in one direction but not the other is seems like a stepper driver problem to me. Or possibly a electrical contact problem as the stepper drvers have one pin each (pin DIR) to control the direction of the stepper.
Have you tried to change the drivers on your RAMPS 1.4? I suggest you temporarily change the stepper driver with an axis you know functions.

Thanks, Axel.  Sure have tried swapping the drivers.  I'm beginning to suspect that it could just as easily be the RAMPS.


text:
Enclosure, things to pay attention to?
I got an Anet A8 and want to build an enclosure for it. Since I'm currently only printing PLA, I would do it mainly for noise cancelling, because I have to run it in my room. I however want to have the possibility to upgrade it later with, say, an air filter etc., for example for ABS.

What do I have to pay attention to?
Do I need ventilation slits?
Would you put the filament inside or run it through a small hole from the top?
Any tips for making it especially noise cancelling?
Is wood the right material?

Sort of related, see the answers to:

Commercially available 3D printer fume and UFP extractor, and;
What are the best air filtration options for enclosures?

Addressing your points in turn:

Ventilation - Probably not, as you want to keep the print warm. However, when printing with filaments where well ventilated conditions are recommended1, to prevent the build up of noxious fumes, from ABS for example, you would need (active) filtration, see this answer.
Filament Placement - I have seen printers fully enclosed, including the filament. However, there is the potential issue, especially if using PLA, that if the temperature inside the enclosure reaches temperatures approaching those of a closed car, on a hot day, then the PLA filament could become damaged/melt, and not roll of the spool correctly. In that case, you could place the reel on to of the enclosure and feed it through a (small) hole in the top. Feeding it through the side, could add additional resistance to it being pulled from the reel, depending upon placement.
Noise cancellation - Line the enclosure with non-flammable foam, or some other non-flammable noise cancelling lining
Material - As Mark states in his answer, be extra careful of thermal runaway, as 3D printers run hot, and an enclosed printer, even hotter. Wood is the sort of material you probably want to avoid. Whilst it is cheap, and would probably work fine in most situations, in the case of an emergency (read, fire), then you are merely providing additional combustable material. It would be advisable to stick with an aluminium frame (non-combustable) and glass (non-combustable and insulating).

Additonal Points:

Electronics - You may want to consider placing the electronics (i.e. controller board) outside the enclosure, as the RAMPS board generally likes to be kept as cool as possible (especially the stepper drivers).
Display/Control - Along with the electronics, it could be a good idea to also place the LCD display, and conjoint control panel, outside the enclosure, so as to provide ease of access. You don't really want to have to keep removing/opening the enclosure to change a minor setting.
Access - Do you want a lift-off type enclosure, or have an access door? The latter is certainly more user friendly, or convenient.
Sturdiness - Do you want a light weight (flimsy?) enclosure, or a heavier, more robust, enclosure?
Safety - An air-tight fire box could be worth considering.

Note: After having stated that wood is not the best idea, it seems that IKEA tables are sometimes used, by stacking two on top of each other: New IKEA hack lets you create a 3D printer enclosure for cheap

A safer bet is this delta printer enclosure, which is, essentially, a larger delta frame, made from aluminium extrusion and acrylic, enclosing a smaller delta printer:
4 Simple Steps to Build Your Own 3D Printer Enclosure

For an example of a cheap, yet extremely flammable enclosure, made from plastic sheeting and piping, see How to build an enclosure for your 3D printer

1 See Davo's comment.

Make sure and pay attention to safety.
I have heard of more than one report of a RepRap printer going up in flames.  On example of that is if the thermistor fails, or gets disconnected, and the controller puts the bed, or extruder, into thermal runaway.
Make you make the enclosure out of a non-combustible material, so you don't add any fuel to the fire.

For ABS, if you are using an air filter, you do NOT want ventilation, because ABS prints are better quality if the ambient temperature is up at 50°C (or even warmer), and ventilation will reduce your chamber temperature. Whatever has been helping for noise cancelling now should work in the future.

Do i need ventilation for PLA? I don't have an enclosure yet, so I don't know what's working for noise cancelling and I'm asking if you know something that works good

Ah, I misunderstood your line Since i'm currently only printing PLA, i do it mainly for noise cancelling to mean that you already had an enclosure, but I see now that you do not. As every filament manufacturer uses a different (and unpublished) combination of chemicals, filtration or ventilation is always recommended, even if it is not needed. Some people will claim that it is needed, and others will claim that it is not. I can't speak about the noise, as my printers are actually rather quiet.