text:
Sharing a printer over a network
I have a Tronxy X3 (i3 Clone) running Repetier firmware on a Melzi board.
I would like to share the printer over my home network so that:

Both my boys and I can use the printer. (We have separate Windows 10 PCs)
I can initiate a print from my computer upstairs
I can monitor the print progress remotely

I have (and could use)

A RAMPS board set that I could use to run Marlin.
A Raspberrry Pi 1B
An idle laptop I (might) be willing to use

What I want to know:

Are you sharing your printer on a network, and if so, how long
What Hardware and Software are you using
What do you like most
What do you find most annoying
What do you want to change
What is the interface (web interface, print driver, etc.)
What services are provided (printing, slicing, monitoring, etc.)
Can two computers access it at the same time
Ex: To monitor, or still print if my sons forgot to disconnect
What sort of monitoring is supported? Ex: camera?
What runs the print job (G-code)

NOTE: This is not from personal experience, but I thought it was worth mentioning:
Microsoft
You've probably seen this already - I am not a fan at all of M$, but... Microsoft Plus Raspberry Pi Equals Network 3D Printer.
Here is another link to the same, Network 3D Printer with Windows 10 IoT Core, but, unfortunately, your printer is apparently not supported.
OctoPi
However, closed source M$ seem to be playing catch up, whilst the Open Source OctoPi has been about for a while, indeed there have been a few questions on SE 3D Printing about it. From the blurb:

OctoPi is a Raspberry Pi distribution for 3d printers. Out of the box it includes:

the OctoPrint host software including all its dependencies and preconfigured with webcam and slicing support,

mjpg-streamer for live viewing of prints and timelapse video creation with support for USB webcams and the Raspberry Pi camera and

CuraEngine 15.04 for direct slicing on your Raspberry Pi.

See How to Install and Set Up Octopi for Remote Raspberry Pi 3D Printer Control with Octoprint.
A few of its features:

It also supports monitoring via a camera.
The G-code is sent over the serial to the printer.
You can use OctoPi to control multiple printers as well, as it isn't particularly resource intensive, see Control Multiple 3D Printers Using A Single Raspberry Pi and Octoprint].
You can configure access control for multiple users, or for a better presented version, see Access control.

As an aside, you could put Pronterface on the Pi too: How to Install Pronterface on Raspberry Pi - Instructables. I wasn't aware of this.

OctoPi works well. Network access out of the box was tricky for me (channel13). I also have it send me PushBullet notifications of print progress (which might be handy for sharing). I'm single user, but it does things like let you upload g-code from a PC, and then action a print later (using any browser).

I have heard comments that it is not as reliable as printing on a file on SD Card (application sometimes locks up).  Having developed a lot of long running apps, I am aware that this is an inherent risk of running an application under an OS rather than on an embedded uC.

Thanks for the M$ link.  I looked it up and M$ has an SDK, I am going to look into creating a generic Repetier and/or Marlin driver.

OctoPi works well. Network access out of the box was tricky for me (my router was using channel 13 so the script based config didn't work).
I have octopi send me PushBullet notifications of print progress (which might be handy for sharing). This is handy since it can traverse firewalls more easily than me connecting direct to my Pi from outside my home network.
I'm single user, but it does things like let you upload g-code from a PC, and then action a print later (using any browser). I've not had any problems with stability, although using the serial port does increase the processor loading of the printer a little (so theoretically might have an impact on print quality). My R-Pi 3 onboard wifi did die, but it was replaced with a USB one, and all still works.
There are lots of plugins for octoprint, including some for cloud access to the printer I think, and development seems quite active.

To add to the answer, I'm running OctoPrint on a Raspberry Pi 2B for about 1.5 years, I only had to switch to another Pi because the processor heatsink fell off and caused a short destroying the network communication, but never had a problem with instability for instance. New one is running as a charm! Note that you can add menu items in the GUI of OctoPrint, I can switch the mains voltage on and off, the annoying  extruder fan and LED lighting. With plugins I have custom G-codes that enable or disable the extruder fan by injecting G-code scripts. Very good , stable and customizable software!

This has been converted from comment to answer. It adds some extra information to the answer of @SeanHoulihane.
I'm running OctoPrint on a Raspberry Pi (RPi) 2B for about 1.5 years, I only had to switch to another Pi because the copper processor heatsink fell off and caused a short circuit destroying the network communication, but never had a problem with instability for instance. New RPi 2B is running like a charm.
Note that OctoPrint it highly customizable, you have lots of plugins to choose from and you can change/add things yourself. E.g. you can add menu items in the GUI of OctoPrint. This can be used to run shell scripts that control the GPIO of the RPi. With these scripts you can e.g. switch the mains voltage on and off, the annoying extruder fan on/off and e.g. LED lighting.
With plugins I have custom G-codes that enable or disable the extruder fan by injecting G-code scripts with specific, self defined, G-code commands like e.g. OCTO100, OCTO110 (to respectively enable or disable the fan, see some details here).

If you set up OctoPrint or Klipper, you can then use a tool like OctoEverywhere to get remote access and share it. OctoEverywhere has a feature called Shared Connections that lets you share printer access with anyone over the internet.

You can use Windows IoT Core to do it, see -
https://developer.microsoft.com/en-us/windows/iot/docs/3dprintserver

Thanks for your answer but we are looking for comprehensive answers that provide some explanation and context. Very short answers cannot do this, so please [edit] your answer to explain why it is right. Additionally, we prefer answers to be self contained where possible. link only answers are frowned upon (as links tend to rot) & will be rendered useless if the linked-to content disappears. If you add more context and detail from the link, it is more likely that people will find your answer useful.

This was already mentioned in the accepted solution.
Windows IoT is very limited and previously did not support i3 Clones.  If you feel it is an good solution please provide more than a link.


text:
Lack of isolation between axes
Sometimes I notice that if I manually command a single axis movement (typically Z, when I want better access to the extruder), I observe that several channels move together (and they maybe move slower than I expect). After one 'coupled' movement, subsequent commands have the result I'm expecting.
What happens is as well as the Z-axis moving up, the bed moves forward, and the extruder moves to the right. I have no auto-leveling or anything else non-standard on this printer (dual Z steppers, X, Y, extruder, bed, extruder heat).
It even happens if I simply extrude some of the time (e.g. changing filament after warming up, retract gave me some X movement)
Printer is an ANET-A8, I'm using mainly OctoPrint, but I think I've also observed this with other PC software manual controls.
It doesn't happen often enough for me to have identified any pattern - maybe it only happens if I've not homed first after turning the printer on, but I suspect not.
It's not so much of a problem, as just a question for interest. Also not sure how to tag.

What do you mean by "several channels move together"? The X and Y axes also move when you move Z? Are you perhaps seeing the effects of auto-bed leveling?

How are you "manually moving" your printer? Are you using some control software or writing in actual G-code commands?

control software, I've not tried using gcode directly since it's not been trivial to reproduce.

If it is truly only the very first command, my guess is that the micro doesn't boot up with clean buffers, so the first "execute the stack" command reads whatever cruft is in there.  After that all the motor command stacks are properly reset.

My best guess based on the answers and comments so far is that there is a minor firmware bug and some poorly initialised state. This occurs at start-up, or after a print has finished, but only once (till presumably the idle state is reached again).
See the image below, captured after the power went off during a print. Heated the extruder, and did Z -10, got this. Both x and Y moved, but in about a 10:1 ratio. The length of the track is about 10mm. Interestingly, during this movement, there was no Z movement.

This is easily explained - it's the stepper motors getting powered up. Stepper motors even if not moving are constantly powered up and actively hold the position they are in exactly at the stepping point where they are.
If you power down the machine or if the board disables the stepper drivers to save energy or because the power is offline then the stepper motors can get in between steps. When powering on then the movement is  quite noticeable on some cheaper motors where the inrushing current can kick the motor over multiple steps before it locks down into position.
You can test this, try to move one of the axis manually by hand (not too fast to not damage the board by providing it too much current) if the printer is powered of it does move pretty easily. Then power the printer on, it should still move pretty easily by hand. Now execute one move command on the axis via the printer board. Afterwards you should not be able to move the axis by hand anymore (or at least not without unnecessarily excessive force).

Dubious. The 'odd' behavour is not skipping a few steps, its many mm of travel along the axes, and persists for several seconds. I've not determined if it only occurs when the steppers transition from disabled to move.

Well one of the stepper motor cables in my CTC failed a while ago and had a bad connection. It bumped the axis about 10cm along when it got powered up and then printed "normally" except for some erratic movement sometimes until the cable totally failed. With new cables this only is about 1mm tops on the cheap motors and only noticeable as a slight shake and no move on my prusa with high quality motors. But it's definitely there every time the steppers engage.

But persisting over multiple seconds is strange, it should only be one shake and subsequently slowing down movement.

Why would "cheaper motors" suffer more from inrush current than expensive motors? They're just some coils of wire, and given the same resistance/reactance you're going to get the same inrush current.

My guess is cheaper material on the coils, higher resistance and a slower buildup of the magnetic field. On the other hand it could as well be the cheaper stepper drivers that are overcurrenting or the wires not beeing beefy enough to handle the inrush on the cheaper machine, so you're correct, it's not necessarily the motors themselves. But nonetheless on the cheaper built machine the movement from enabling steppers is extremely more pronounced.

I don't know details of your printer, the motor drivers, the firmware, or the wiring harness.  I only have looked photos at the ANET-A8.
Your question has ruled out a complex-axis movement caused by auto-leveling.
Printers that are not based on simple cartesian actuators, such as delta or core-xy machines use multiple actuators to make what results in a simple, single axis head movement.  Your printer is not based on one of these mechanisms, but if the printer were temporarily misconfigured, it may move unexpectedly.
On the hardware side, some stepper drivers work with "step" and "direction" inputs.  If there is a problem with signal integrity on these signals as referenced to the stepper driver's ground, you may be introducing an unintended step pulse.  Stepper drivers typically use pulse-width-modulation (PWM) to set the power through each of the two motor windings (coils), and generate noise that depends on too many factors to list.  Check that you have a direct ground wire from the stepper drivers to the controller board.  If the drivers are integral with the controller board, one would hope the PCB was well designed.
It is possible the motion is caused by some force causing unpowered stepper motors to move, although most unpowered motors will still have a bit of detent torque resisting motion.  This would require that Z-axis movement was causing some force on the other axes.  For the ANET-A8, the filament could apply side-to-side force to the extruder when moved up or down, but it is difficult to see how it could cause front-to-back movement of the bed.
Your code may allow you to set the idle motor current as well as the active current.  If so, you could try setting the idle current at, say, 80% of the idle current.  Your motors will be hotter when idle, but should not overheat.

The idea of a bad mode configuration out of reset seems plausible. It's not a problem, just an oddity...

source: Stack Exchange

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

sort: votes


text:
Troubleshooting printing layer squashing?
I am having a strange intermittent printing error specific to one particular object I'm trying to print.

My printer is a BCN3D Sigma R17. I am printing a thin wall (0.6mm) cup object. I'm using:

Simplify3D with Sigma Progen profiles
0.6mm brass nozzle (w/thermal paste)
0.1mm layer height
Spiral (vase mode)
Filaform PLA.

As you can see in the images, the first few layers print ok, but then the nozzle seems to collide/penetrate the previous layer and grinds against it as it moves around in a circle. The result is a combination of rough textured surface and good quality surface. One half of the print also seems to be thicker, presumably from the increased extrusion width caused by squashing layers in the z-axis. I’ve tried

changing model's wall thickness,
disabling spiral mode
increasing layer height
changing filament
upgrading printer (latest stepper drivers)
changing extrusion width
performing full calibration

All without success. You can view the gcode and S3D fff profile here:
https://drive.google.com/drive/folders/0B6SnaYyiYI7vcGU1U3Uxb0RrX3M?usp=sharing
The image shows some filament left hanging from a stopped print. It seemed to be squeezed out from excess pressure, as if it was being blocked during the print due to being pushed against the layers.

Perhaps your Z moves are too fast, and some of them stall. Have you noticed anything like this? If you move the bed down 100mm with small moves, and then up 100mm with one large move, does t return to the same location?

Well, for a 0.6 wall thickness using a 0.6 nozzle you should have one line for the whole wall. But I´m seeing in your prints walls of 0.1 and 0.4 as infill, Why?
I´m using simplify3D and I can see the results about walls and infill prior to send to the printer. On this kind of parts avoid infill and give priority to walls.
So the main problem with your gcode is that wall thickness, is too much difference between the filament extrusion 0.6 vs 0.1 this is 16.6% of the printing flow, so you need to set print flow to 16.6% or 20%, not 80%.
You must need to use retraction to avoid blobs and set a lower temperature.
I saw this video to control Coast issues, but is explained how to set settings on Simplify3D; I hope you can visualize your issues before printing.
https://www.youtube.com/watch?v=WWpdGY0V-gM

Although this reply is pretty late, there are some issues I would like to point out:

In the cup.gcode file there seems to be an issue with the layer height. The height for the second layer is larger than the third layer!
If you see that the cup prints good on one side (also thicker on one side), this is a good indication of a bed leveling issue. Although you indicate you did a full calibration, I would still re-check the bed leveling. The extruder head movement in the X-Y should be as closely parallel to the bed as possible.
The cooling settings in your Simplify3D profile are low. I would bump up the fan speed to ensure that the strand being laid down is sufficiently cooled to prevent overheating from subsequent loops.
Try slowing down the Z-axis speed. Stepping too quickly can cause skipped steps depending on the acceleration settings and mass/inertia of the head.

I'd suggest you change the Flow (%).
It is usually at 100%, but can be adjusted.
I'd suggest printing at 80%, and adjusting from there.
Layer height, printing speed or other configurations always change the Extrusion Rate with it, because for example higher layers always require more material extruded at the same printing speed.
How it is done with your specific software, I cannot tell.

you shouldn't need to change the flow rate for layer height, the slicer calculate that for you.  only if the filament diameter isn't 100%, which you can also input the diameter and it will try and calculate it.

@EricKelly That is true, but obviously the calculation is incorrect, way to much material is being extruded. Adjusting the flow rate is crucial to optimal prints.

if something strange appears after few layers/some time it's usually the issue of overheating steppers
if this is the case i suggest to

tune up Z stepper current
add cooling fan which blows on your steppers

see also: this and this

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


text:
How can I charge an Android phone while it's controlling my 3D printer?
I am writing a G-code sender for Android, but I have hit a snag.
How can I prevent the phone from discharging while it sending G-code to the printer?
I have several Android phones and tablets and they have a micro USB OTG connector, which I can connect to my 3D printer using an adapter.
But it looks like OTG has this limitation - it can either accept power when in Device mode, or it can provide power in Host mode.  So, while in Host mode the phone can't be charged, so I can't do long prints, which seems like an unreasonable limitation.
Any ideas on how to solve this?

This question isn't really about 3D printing. The 3D printer isn't relevant to the question, it's just a question of whether a smartphone can charge while in USB OTG mode. Moreover, the specific phone in question is probably quite important to the answer.

I think this problem is specific to 3D printing, because it's a very unique use case.  3D printer must be connected to the phone for several hours.  In other use cases a person can transfer a file to a USB flash drive in just a few minutes, so a battery charging is not an issue.  Also it's not specific to the phone.  Every phone and tablet I have behaves the same for this matter.

The answer might be specific to the phone/tablet. Maybe some support it, maybe some don't,...

Ah, I see.  But even if there is only one phone that "support it" - that would be a solution.  I'll just buy that exact phone.  Thanks.

This can be Android device specific.  Can you edit your question to list the devices you have tried this on?

It looks like this special cable doesn't work on any of my OTG devices: Dragon Touch Y88X Plus, LenoTab, Kindle Fire 7" model SV98LN, KOSLAM 10 inch tablet.

P.S. But I have heard that it works for some other devices: Samsung i9300 Galaxy S 3, Nexus 4, Nexus 5, Nexus 6, Nexus 10.  I wonder if anyone have made a complete list?  Or is there an online database of devices that implement OTG standard properly?

See elsewhere on StackExchange:

Electronics:

Can an Android tablet serve as USB Host and be charged simultaneously through a single port?

Android Enthusiasts

Using an OTG cable while charging
USB charging in host mode [duplicate]

You certainly can charge whilst in host mode, but some re-wiring will be required.
From the SE.Electronics link

Apparently it is possible to charge the Host-Device! -->
  http://en.wikipedia.org/wiki/USB_On-The-Go
Under "OTG Micro Plugs" it says that a USB OTG cable with a 36.5 kΩ
  resistor between Pin 4 (I suppose its pin 4) and Pin 5 allows you to
  connect a B-Device (Slave) and (!) a Charger to the Smartphone/Tablet.
  The Phone and the B-Device can be supplied by the external power
  source.
USB-Power Specifications:
  http://www.usb.org/developers/devclass_docs/batt_charging_1_1.zip

and

I just sifted through the docs because I didn't trust Wikipedia's implicit data on which of the three resistances I should use. Here you can find the official Battery Charging v1.2 Spec and Adopters Agreement: usb.org/developers/docs/devclass_docs In this case you want 124kΩ, because you want the OTG device (=tablet) to be the A device (=host).

Here are the schematics:

@Sergey - Welcome. Your app sounds interesting, btw.

Note that this can be device specific.  Not all android devices implement USB OTG and charging the same way.


text:
Z axis OK during calibration, but WAY off on prints
I have Anet A8 where I have changed the controller from the original to RAMPS 1.4 running Marlin 1.1.1 and ran into some strange issues with my Z axis.
Doing calibration (10 mm cube, 10x10x20 mm, 10x10x30 mm) I am dead on the mm on the Z axis. (10 mm, 20 mm, 30 mm)
But when I print a part that is supposed to be 24 mm high, it comes out 27 mm high.
Went back to print calibration 10x10x30, and Z axis is dead on 30 mm again.
Also printed a bracket that was supposed to be 240 mm high, ended up close to 270 mm.
I am doing the same layer heights for all the prints (calibration cubes and otherwise). Starting with a 0.2 mm first layer and then 0.1 mm on all other layers. Using RepetierHost v. 1.6.2 with Slic3r v. 1.2.9
Anyone experienced something like this?

Are you using the same layer heights for all prints, or do you have a different height for the calibration cubes and for the other prints? Perhaps your Z axis is having trouble stepping accurately with a different layer height.

This was a comment from the OP, which effectively answers their own question:
After:

Installing new Marlin 1.1.3;
Changing the Maximum Acceleration on Z down to 20, and;
Changing Acceleration and Retract Acceleration down to 1000.

I have now a printout that measures 24.65 mm (0.65 mm higher than it should) and good enough for me to say, this is OK.

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


text:
What's smoother? Acetone treated PLA or ABS
From my understanding, both PLA and ABS can be treated with acetone to make them smoother. So when they are treated with acetone, which is smother PLA or ABS or are they about the same?
When I search online, all I find is how to treat the objects.

PLA is not soluble in Acetone.

@tjb1 That is not quite true. I have noticed that a PLA part (which I used as a stand when smoothing ABS parts) did get noticeably smoother after a few uses. I'm not sure if that's due to the PLA being impure, but I'm not convinced PLA is entirely insoluble in acetone.

@TomvanderZanden soluble would indicate that the material dissolves in the liquid.  I've never seen any of the PLA I have dissolve in Acetone and I've not found anything online that shows it dissolving or changing the color of the Acetone.  I have found references to PLA swelling in Acetone but not dissolving.

Just to clarify, you say When I search online, all I find is how to treat the objects. - by objects, do you mean the finished printed items? Do you want to smooth the printed items, or something else (i.e the filament itself)? Or are you saying that the articles that you found only describe how to treat the prints, but they do not compare the smoothness of treated PLA and ABS? I guess you mean the latter. This article Acetone Finishing on PLA has some good points raised in the comments about whether PLA can be treated

@TomvanderZanden Most PLA filament has additives, sometimes including ABS, sometimes just dye. Often, those additives dissolve in acetone. I have never been happier with the result after trying to smooth PLA with acetone than I was before I started. Usually, it just seems to permanently soften and become porous, which is not a good look.

ABS filaments will smooth well with using acetone, it's been used for a while now.
For PLA filaments it's a different story, pure PLA will not smooth out in acetone and it will likely only cause structural failure of the product.
However most PLA filaments aren't pure PLA, they contain additives including ABS that react differently when exposed to acetone and the reaction will really depend on the manufacturer of the filament, only a few PLA filaments are known to smooth like ABS when in an acetone vapor bath, it is the case for ColorFabb PLA filaments and it is absolutely not the case for bq PLA filaments that only soften and break when exposed to acetone.
You'll have to make small tests with different brands of filament to see which smooth well and which don't but if you want to go fast either go with ABS or use other smoothing techniques such as sanding + 3D print Smooth On epoxy.

authors: เป็นหยัง เป็นหยัง


text:
First layer eventually sticks to the hotend and tears
I am at my wits end with this problem. I start a print and the skirt goes down fine, then the outline of the parts go down fine (usually) and then when it goes to fill in the first layer, it will always get stuck to the hotend at some point and rip apart the layer.
Any ideas on how to solve this?

Printing PLA at 210°C;
First layer temp is 225°C;
Bed temp at 60°C;
1.75 mm filament, and;
0.4 mm nozzle.

Maker Select V2.1, using Cura to slice.

Step Zero: is always to check/adjust the bed level - if the height over the bed varies while putting down the first layer, it's hard to ever get first layer settings that work.
Step One: is to adjust your first layer settings - height, temperature, extrusion width until you find a set that work for your setup (knowing that they may change somewhat when you change filament.) Some folks find more success with thin first layers, others with a thicker first layer to pump more plastic, still others use the same layer height but increase the width to pump more plastic, and others combine these approaches. Increasing the temperature is common, though in my case I found that the "usual" +5°C was not enough for the present setup.
You can change one setting at a time and have an idea of what works better or worse in each case, or you can change lots of settings and hope you get lucky. I prefer the tedious approach, it's less maddening.
Are you using any surface treatment on the bed? A bit of gluestick or hairspray may help you stick.

Thank you.  Is the proper z height a pice of normal printer paper with slight drag? Can you help me understand extrusion width? I think in Cura it's defaulted to my nozzle width of .4mm.
For bed adhesion, I am using blue tape.
I'm just having a real hard grasping why the skirt and perimeter goes down fine but the solid bottom layer is getting torn up.

I assume it must be there somewhere in cura - in slic3r there are defaults, but you can tweak/adjust them and I certainly have. Extrusion width is just what it sounds like - the slicer feeds more plastic at a certain height so that the nozzle flat end forces it to squish out wider than the hole in the nozzle. Another thing might b

I suppose your right that I jumped the gun a bit.... I measured my paper that I was setting the nozzle height with and its a bit less than .1mm. I'm wondering what a normal height to set the nozzle is. I also measured my filament and from the sections I measured its mostly 1.72mm vs 1.75. Could that be an issue? So I'm going to level the bed, set the first layer height to .2mm and .4mm extrusion width (that's my nozzle width) and the temp to 205. I will tweak one thing at a time and write it down . does that sound like the right way to go?

The solution was moving to a glass bed with AquaNet for adhesion, and discovered a partial clog that was causing under extrusion.

Check if you have fan turned on for 1st layers. Cooling fan must be turned off for initial layers. That's a mistake I've made.

I would ramp back on both temperatures.  My personal "sweet point" is closer to 50° bed and 195° hotend for PLA.  Typically the problem of extruded material getting stuck to the hotend occurs because the extruded material is not adhering well to the bed.  In your case it may simply be, as Ecnerwal suggests, nonoptimal Z-height adjustment.  Or it may be that the PLA isn't cooling quickly enough to adhere well, and thus is being "dragged" along with the extruded feed.

This is interesting. The fan is off at the first layer. Maybe I need to turn it on. I will try lower temps tonight. Thanks.

Try lowering your first layer temp to 205°C, and apply a gluestick to the bed before you print anything. By lowering the temp, this allows th plastic to cool faster, and doesn't risk the plastic sticking to the nozzle as much. Applying the glue stick will help the print to stick to the buildplate better, lowering the risk of it getting stuck to the nozzle. You might also want to try using a raft, as this will provide more surface area for the print to stick to the bed with, and lower the chances of it attaching to the nozzle.

Please expand upon your answer, as it stands your answer is very terse, and may be deleted. For example, please explain why would this two things help?


text:
Z axis issue with Ramps 1.4
I just installed a Ramps 1.4 board on to my Anet A8. Everything worked as it should except for the Z axis motors. The Ramps board I have contains two headers for each Z axis motor.
When both motors are connected, one of the motors squeals like something awful. When I disconnect one motor it turns smooth as butter. I have tried this for both motors and when only one is connected it works as it should but does not with both.
Has anyone experienced this? Is there a simple remedy for this issue? Any help is appreciated.

Did you orient the plug correctly?  Flipping the plug of a correctly wired motor will reverse the direction on RAMPS.  It may be that you had them fighting each other or the current isn't high enough on the driver.

The plugs are oriented properly. The threaded rods are also removed so the motors shouldn't be interacting with each other. I even swapped out the driver board with another and I still get the grinding sound from the servos when they are both connected. Does the potentiometer on the driver raise/lower the current?

Found the issue. The steps were set way to high. I lowered my steps to 500 and the steppers seem to perform as they should.


text:
Upscaling a reprap
I've been 3D printing for almost 4 years. Now that I have an M180, my RepRapPro Huxley is collecting dust as I only use it for flexible prints and ABS prints as it handles them better than the M180 does.
I was wondering, since everything is open source in it and hardware-wise most open style Y carriage bed 3D printers are the same, would it be possible to make a 500 * 500 * 300 printer using the hardware from this printer?
Since the carriage system isn't that good, I would replace it with solid machined aluminium rails and the heat bed would be made out of four Prusa I3 HB, which would only require me to add a PC PSU to power the whole thing and some MOSFETs to handle the load. I would be salvaging the board, the steppers, the endstops and extruder assembly basically.
Would such a setup be worth it?
Would the steppers have to handle more load?

I am seeing two (or three) questions in one here. One that is clearly unsuitable for stackexchange (whether it is worth it is entirely up to you and your preferences, and is not objectively answerable), and one which might be reasonable (about whether the steppers can handle the load, but this should be asked as a separate question). I am therefore voting to close this question as too broad. Right now you're just asking us to brainstorm about a hypothetical printer build.

To your three questions:

".. would it be possible to make a 500 * 500 * 300 printer using the hardware from this printer?" - YES
"Would such a setup be worth it?" - Only you could determine that.  It would quite a bit of work; but, if you enjoy making things it would likely be a fun accomplishment.
"Would the steppers have to handle more load?" - X and Y axis don't fight gravity so the the only force you fight is friction and accel/decel.  If you keep with a low friction design then you will just need to limit the accel and decel to what the motors can handle.  Regarding Z, this depends on your design, if you stick with the standard lead screw approach then the motor power required really isn't affected by the height.

Two thing to note about larger printers:

It takes a LONG time to make a large object.  Make sure you consider this in the design as you probably won't be able to be there the whole time.  Design with fire prevention in mind.
Tall lead screws increase the risk of Z-axis wobble.  Make sure your consider this.  You will need VERY strait lead screws.  If you are going to capture both ends of the lead screw, use flex couplings.

Thanks With that in mind I think that it wouldn't be sustainable to do that, I'll make an mpcnc with an extrusion head attachement instead


text:
Why do I have to lower my Z axis steps per mm?
First, X and Y axis works perfectly, I measured well. I have plugged all jumpers, and use a very standard ramps 1.4 setup with standard Nema 17 200rev 1.8 motors and A4988 drivers.
For Z axis, I have leadscrew with 8mm diameter and 2mm pitch.
I calculated it should be 1600 steps per mm.
Problem is when I call G1 Z5 it goes to 2 cm. So I lowered my setting to 400 steps per mm and problem solved.
I don't understand what I'm missing here. I have used this calculator to find 1600.
Where I'm wrong on the math then?

Your leadscrew probably is a 2 mm pitch, 4-start leadscrew. This means that there are actually 4 separate grooves on the leadscrew, each with a pitch of 8 mm. Confusingly, this makes the total pitch 2 mm, since the distance from one groove to the next is 8mm divided by 4 grooves. However, one revolution of the leadscrew will still move the nut by 8 mm. Thus, in the Prusa calculator, you should enter a pitch of 8 mm/revolution. Since you entered a pitch of 2 mm, you ended up with a figure that is 4 times too large.
The reason leadscrews are made like this is that if you just had a single groove with an 8 mm pitch, the nut would need to be made very long to enable it to make contact with a sufficiently long portion of thread. By increasing the number of grooves, you can get away with a shorter nut. With lower pitch (lead-)screws you don't need multiple starts, since the lower pitch means the same length of nut is in contact with more thread.

For the relative advantages and disadvantages of the various leads (8/4/2 mm), as opposed to pitches, see also Would using a leadscrew with 1 or 2 mm lead, en lieu of 8 mm, result in a better printer?

Thank you for the hint, here is a what I have bought, I will study your answer shortly.

You are just amazing! I feel real guilty just reading 2mm pitch in the product description and verifying by looking at the lead teeth. Indeed, product title says 8mm screw pitch. TIL nut matters! Thank you!


text:
Nozzle jumps off the bed when using Marlin Mesh Bed Leveling
I am using Marlin firmware with a RAMPS board on an Anet A8 printer.
The bed size for the printer is 220 x 220 mm and that is stated in the configuration.h file. When using mesh bed leveling, the nozzle jumps to the first corner on the bed perfectly after setting the x-min to 5.0 but the next two points are off the end of the bed. Here are my settings:
// Travel limits after homing (units are in mm)

 #define X_MIN_POS 5.0
 #define Y_MIN_POS 0.0
 #define Z_MIN_POS 0
 #define X_MAX_POS 220
 #define Y_MAX_POS 220
 #define Z_MAX_POS 240

What could be my issue?

The settings you posted don't have much to do with bed leveling. They're just the movement limits for normal operation. You should post the probe offsets configured and the probing positions (e.g., LEFT_PROBE_BED_POSITION or UBL_PROBE_PT_1_X, depending on your configuration).

@TomvanderZanden Too bad the OP did not answer on your comment, you were the only to understand that the wrong constants have been used in the Q (and A)!

None of the answers address your question to solve it! The only sensible contribution comes from a comment of @TomvanderZanden.

For the sensor to stay within the limits of the bed (considering the offset of the sensor and the size of the hotend carriage) you need to define where the sensor (plus carriage) may go to (to keep the sensor also on the bed, you also need to define the sensor limits). The suggested constants are important in defining the size of the bed and the build volume, but changing them does in fact do not solve your problem. Your problem is that you need to address where the sensor may probe within that specified volume i.e. the sensor probing area.
I use ABL (Auto Bel Leveling) on my Anet A8 using a left-front mounted sensor at position (x = -26 mm; y = -40 mm seen from the nozzle center). In order to have the sensor on the bed area without running into the limits of the carriage, you have to calculate (yourself!) what the dimension of the auto bed leveling area is. This is because the sensor is off set from the nozzle. If the sensor reaches for the whole bed, you need extra space on the axis. To explain this, if your sensor is at the left front, as in my case, the amount of extra space you have left on the right side of the X carriage will determine how far the carriage may go and thus limits the right probe position. If there is no extra space on the carriage (the safest assumption) you just need to add the sensor offset to the maximum bed size (what the nozzle can reach). E.g. my probe X offset is -26 mm. The maximum probe distance is therefore -26 mm + 220 mm = 194 mm.
This means that you need to set the following constants (amongst the settings to enable ABL; the probe and the type of leveling...) in the configuration.h of your Marlin Firmware installation:
#define X_PROBE_OFFSET_FROM_EXTRUDER -26   // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -40   // Y offset: -front +behind [the nozzle]

// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION (0 + 10)         // 10
#define RIGHT_PROBE_BED_POSITION (220 - 26 - 10) // 184
#define BACK_PROBE_BED_POSITION (220 - 40 - 10)  // 170
#define FRONT_PROBE_BED_POSITION (0 + 10)        // 10

Furthermore the settings you do mention need to be:
// The size of the print bed
#define X_BED_SIZE 220
#define Y_BED_SIZE 220

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -33 // Distance from end switch to X = 0 of origin
#define Y_MIN_POS -10 // Distance from end switch to Y = 0 of origin
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240

The -33 and the -10  define how much the nozzle needs to travel from the endstop position to the print origin! This is not necessary to change when using ABL with a sensor (unless you are using a different print head carriage with a different center of the nozzle). Why these values are -33 and -10 (or values close to this; e.g. for my printer they are -36 and -8) is explained in this answer.

The problem is in the code.
Please use these:
// The size of the print bed
#define X_BED_SIZE 220
#define Y_BED_SIZE 220

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 5
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240

Your problem will be ok.

You need to explain why these changes are valid - particularly in case someone else looks at this answer in the future with a similar question.

Actually, these are the wrong constants to change for this specific problem, these only define the nozzle offset from endstops to origin and max bed positions, this has nothing to do with the probe limit locations. The problem is indeed in the code, but not the code you addressed in your answer!

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


text:
Magnetic field around the printer
I'm using a low voltage active screwdriver that is sensitive to magnetic fields.
It is weird, even I put a metal piece on the glass over the heated bed and check it with the pen, it lights fully. If I hold the pen on air anywhere nearby, it is weak but still lights a bit.
My cards and PSU are not mounted on the case. I also grounded my PSU with a small cable from G to V-. So, what could be the reason? Is that normal for such complicated devices? Just curious.

What is a "low voltage active control pen"?

I will replace 'pen' with 'screwdriver'. It is simply a screwdriver with voltage detector for DC, much like the one here

If it's detecting DC voltage, that is not being sensitive to a magnetic field.  If it truly detects magnetic fields, I'd suspect the perms in the motors.

It is possible I might be overreacting this as well. Those screwdrivers are too sensitive after all.

The heated bed is a big PCB whose traces can act like a coil since heating the bed makes current flow through these traces.
By placing a metal object over it, you encounter a phenomenon called induction which will heat up the metal object (that can be the screwdriver tip) because the magnetic field generated by the "coil" of the heat bed.
Since these screwdrivers can be pretty sensitive the electrical current transferred from the heat bed to the metal bit may turn on the screwdriver LED
Also, stepper motors contain magnets and electromagnets which produce an alternating magnetic field when turned on which, by induction, can produce a little current in the spring inside the screwdriver which would act like a receiving coil thus turning on the led hooked up to it.
Try this with your printer on: put the tip of your screwdriver on your tongue (which will effectively ground it with your body) and put the handle over stepper motors or the heat bed and see if it lights brighter.

I will stay away from the printer for a while due vacation, but my best guess is that a small circuit from stepper motors are reaching to every other part. I doubt that is an issue with ramps circuit design.


text:
How can I add auto bed leveling before print?
I want to add auto bed leveling before each print. When I enable auto bed level in configuration.h, it only shows auto bed in menu. I found this code in cardreader.cpp
void CardReader::openAndPrintFile(const char *name) {
    char cmd[4 + strlen(name) + 1]; // Room for "M23 ", filename, and null
    sprintf_P(cmd, PSTR("M23 %s"), name);
    for (char *c = &cmd[4]; *c; c++) *c = tolower(*c);
    enqueue_and_echo_command(cmd);
    enqueue_and_echo_commands_P(PSTR("M24"));
}

and changed it to
void CardReader::openAndPrintFile(const char *name) {
    char cmd[4 + strlen(name) + 1]; // Room for "M23 ", filename, and null
    sprintf_P(cmd, PSTR("M23 %s"), name);
    for (char *c = &cmd[4]; *c; c++) *c = tolower(*c);
    enqueue_and_echo_command("G28");
    enqueue_and_echo_command("G29");
    enqueue_and_echo_command(cmd);
    enqueue_and_echo_commands_P(PSTR("M24"));
}

Now before each print, the printer does auto bedding two times but when print starts the auto bedding is ignored and printer acts like before doing auto bed.
Please help me solve this.
I'm using Marlin Firmware 1.1.0.

Why don't you just add the auto leveling commands to your start G-code (in your slicer)?

I want it to be automatic, some times I only have g-code file and it's not possible to edit all of them

@HadiBarak If configured correctly, you will have an option to auto level the bed before manually starting a print. This will be under Prepare -> bed leveling (or whatever the option is called). Adding it to the start G-code is the best solution. But make sure you put it after G28 (auto homing) You are not able to automatically run the command when printing something because this is controlled by the starting G-code.

@HadiBarak you can edit Gcode with any TXT editor, is just needed to add G29 after G28.

Rather than modifying the firmware to handle this, have you considered a pre-processing script on your computer, greping for a G29 in the G-code, then adding a G28/G29 pair at the start of the file if no G29 is found?

After re-reading the question, it seems this is maybe the only way to solve the problems in this case, unless Octoprint can do the same as a preprocess.

@SeanHoulihane I've added an answer that describes how to do that with the use of OctoPrint

Another answer that does exactly what you want involves the use of a print server. A print server is an application that runs the instructions to the printer over a USB connection from another device, this can be your computer/laptop, or a dedicated Raspberry Pi (a small and affordable computer). One such application described here further is OctoPrint (this may very well be done with other applications, but this needs to be checked first!), this print server application allows integration of many third party plug-ins next to the extensive feature set it already has out-of-the-box. One such feature is GCODE scripts (intently spelled this way to match the option in the Octoprint settings menu); this screenshot shows some details:

As can be seen from the image, there are specific "events" available to process G-code commands at specific event occurences like e.g. just before the print starts. You could use that envent to insert your leveling commands.

Please note that in the image you will find strange G-code commands like OCTO100 and OCTO110 which is a feature of the plugin called "GCODE System Commands" which allows running shell scripts to schedule the fan. I just kill the power to the fan when the printer is idle to get rid of the noise when the printer is just idling, the fan is only needed when the hotend is at elevated temperature.

With Marlin 1.1.0, you can automatically run a G-Code file when powering on the printer with a SD card already present.
Add a file named auto0.g at the root of your card, containing the following G-Code:
G28 ;Auto-homing
G29 ;Bed leveling

Normally the bed leveling map should be reused for all subsequent prints, until the printer is turned off.
It is possible to provide up to 10 files, from auto0.g to auto9.g.

Would you like to post this (or a derivative thereof) as an answer to the question Can G-code scripts be run automatically on inserting an SD card when using Marlin Firmware?

Rather than placing the G28 (Home) and G29 (bed level) in the configuration, I would place it in the G-code generating slicer as pre-print code. This will automatically add this to the start of any G-code sliced, enforcing the homing and leveling whenever the G-code is run.

I'm not that fluent in G-code, but at Modern Machine Shop: Understanding G27, G28, G29 and G30 I found these descriptions of the G28 and G29 codes you added:

G28: For any axis letter addresses included in the G28 command, the machine first will move (at rapid) to an intermediate position in those axes. Then, it will rapid to the zero return position in the commanded axes.
G29: G29 is also a two-step command. First, it causes the machine to move (in the axes commanded) to the intermediate position used in the most recent G28 command. Second, it causes the machine to move to the position included in the G29 command.

So it sounds to me like you only need one of those two commands. It seems that the code you modified runs separately on startup, rather than for each separate print. I would first try your modification with each G command separately, so you can see exactly what the difference is on your hardware.
I don't know my way around the code involved, but it looks like you'd need to make the modification in another place, such as just before whatever loop sends successive commands to the printer.
Hope that's helpful despite my limited fluency...

These descriptions you found relate to the G28/G29 commands on professional CNC machines. In 3D printer firmware, they have been (mis-)appropriated for other uses. G28 performs a homing sequence to the endstops (this kind of - but not really - corresponds to your description), while G29 initiates auto-bed leveling.


text:
Can I print in wax?
I'd like to start 3d printing in wax.
Is there a reasonably priced 3d printer that is capable of it?
Am I right in assuming that all I need is to make my own filament and set extruder temperature correctly, or do I miss something?

In theory, yes.  Drawbacks: wax is much softer than filament, so the feed gear may not work;  melted wax is very runny, so probably won't deposit correctly either.

If you want to print with wax for lost wax casting, there have been multiple (successful) lost PLA  casting experiments.

Yes, you can. But no, you don't need to make your own filament for it, there is one called Print2Cast that you can buy for about 50$/kg.
This filament has the following recommended slicing settings:

Extrusion temperature: 140°C-150°C
Bed temperature: 80°-90°C
Shells: 2-3 (for most models)
Print speed: 20 to 70mm/s

There are, however, a few more things to look out for when printing with wax, as it is very soft.
The most important issue is the grip of the extruder wheel. See if other people have used your printer/extruder with flexible filaments. If they were successful in doing that, there's a high chance a wax print will succeed as well.
Bed adhesion might also be an issue. MachinableWax.com recommend 6 coats of hair spray on a glass bed, letting each of them dry before adding the next.
Cooling is also important, as with many filaments. You'll probably have to experiment with that a little as either too much or too little can ruin your print.

Yes, with the proper equipment.
Printing wax filament (at 51 seconds): https://youtu.be/tibkVZB_n9c?t=51s
There are also options for melting wax, filling a heated reservoir head, and printing with that. I recommend doing this with a cold ambient temperature, so that the wax solidifies quickly. There's no point in just printing a puddle. :)

Should be easy to do it in low temperatures, also check for moldlay filament.
Wax is indeed useful for lost-wax casting method.

One of the applications of 3d printing with wax is when making jewellery using the lost-wax casting process.
I don't know if there are 'cheap' 3d printers for wax. One brand of 3d printers for wax is Solid-Scape.

Just make a silicone mold of any of your prints and pour you wax in the silicone,you silicone putty is pretty cheap so is wax ,no need to break the bank as printers have become less expensive and can do a pretty good job

Making a silicone mold is good for repeated production of cold materials, but Wax or waxlike materials are used for one-off objects usually. There are printers out there that print special wax materials for such things. They reduce the cost in comparison to plastic print, smoothing, molding, casting wax, making plaster or clay molds a lot by simply reducing the need for two intermediate processes and much less time consumption.

authors: Индиеца Бонбон


text:
Auto leveling with Marlin and RAMPS 1.4 does not work
I configured Marlin 1.1.3 for auto-leveling with a fix mounted sensor connected to the Z end-stop pin.
I have the following settings in my config:
#define X_PROBE_OFFSET_FROM_EXTRUDER 25
#define Y_PROBE_OFFSET_FROM_EXTRUDER 20
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

#define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points

#define AUTO_BED_LEVELING_BILINEAR

#define GRID_MAX_POINTS_X 7
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// The Z probe minimum outer margin (to validate G29 parameters).
#define MIN_PROBE_EDGE 10

// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 25
#define RIGHT_PROBE_BED_POSITION 150
#define FRONT_PROBE_BED_POSITION 30
#define BACK_PROBE_BED_POSITION 180

I enter M111 S38 to enable LEVELING+INFO+ERROR debugging.
Then I enter G28 to home all axes and then enter G29 to start auto-leveling.
The auto-leveling starts successfully and after finishing I see the scan grid in console:
12:41:35.983 : Bilinear Leveling Grid:
12:41:35.983 : 0      1      2      3      4      5      6
12:41:35.983 : 0 -3.127 -3.405 -3.405 -3.292 -3.595 -3.487 -3.537
12:41:35.983 : 1 -3.110 -3.367 -3.337 -3.220 -3.470 -3.350 -3.365
12:41:35.983 : 2 -3.138 -3.367 -3.330 -3.215 -3.442 -3.345 -3.385
12:41:35.984 : 3 -3.013 -3.225 -3.182 -3.047 -3.225 -3.132 -3.150
12:41:35.984 : 4 -2.970 -3.165 -3.097 -2.972 -3.160 -3.045 -3.065
12:41:35.984 : 5 -2.875 -3.075 -3.005 -2.847 -2.990 -2.872 -2.875
12:41:35.984 : 6 -2.680 -2.845 -2.755 -2.615 -2.753 -2.617 -2.622
12:41:35.985 : G29 uncorrected Z:10.00
12:41:35.985 : corrected Z:12.85
12:41:35.985 : <<< gcode_G29
12:41:35.985 : X:120.00 Y:160.00 Z:12.85 E:0.00 Count X:9600 Y:12800 Z:4000
12:41:35.985 : current_position=(120.00, 160.00, 12.85) : sync_plan_position

So the auto-leveling scanning seems to be successful.
Here is a visual of the leveling grid (but upside down to make it easier to view):

Naturally I DO NOT enter G28 after the scanning.
I enter G0 Z1 to down nozzle almost to table. But when I enter for example G0 X25 Y30 and look at level and then I enter G0 X150 Y150 I see the big difference between nozzle levels relatively to table. So it seems that height compensation does not work. I expect that Z axis would lift up or down depending on auto-leveling results but Z motor do not work when I move X/Y.
By the way I tried 3 point autoleveling. It was pretty rough but Z axis corrected it's level when I moved axes using G0 commands.
And to avoid questions "why my table is inclined so much?" I deliberately inclined the table to be sure that auto leveling works. By the way, I tried different Z_PROBE_OFFSET_FROM_EXTRUDER so the current 0 setting is not actual but situation is the same with any value of this option.
What I am doing wrong?

I plotted your leveling grid and the axis that is opposite your incline is going up and down quite a bit.  Could your table be wobbling/rocking and this is throwing off the auto-level?

hmm, i didn' thought abot it, will check

btw what software did you use to visualize the mesh?

I created the visualization using Excel.

Bed leveling is disabled by default. So the mesh was scanned but is not apllied after G29 command. To apply the mesh we need to enable bed leveling using
M420 S1

command

In additional to Sergey's answer M420 S1 should be put into custom start G-code. By default Marlin disables autobed after G28 unless specifically configured otherwise
/**
* Normally G28 leaves leveling disabled on completion. Enable
* this option to have G28 restore the prior leveling state.
*/
#define RESTORE_LEVELING_AFTER_G28


text:
Using a MakerBot Replicator 1 dual (or clone like FlashForge Creator) with Cura
I have a Monoprice architect which is a barebones clone of the FlashForge Creator Pro, or Replicator 1 Dual. I have upgraded the power supply and added a heated bed and, after getting fed up with MakerBot software, I've started using Cura to slice then post process with GPX.
I did a lot of searching and finally found someone who posted their start and end G-code for this particular printer. The only catch is that his code only works on version 15.04.
Don't get me wrong, 15.04 is a huge upgrade compared to MakerWare. But, I would really like to start using a newer version like 2.5 or anything relatively new.
Here is the start code I found. I have tried it in 2.5 with error in post processing. Any help is appreciated!!
; -- START GCODE --
M136 ; start build
M73 P0
G90 ; absolute coordinates
;
; set temperatures and assert Vref
M140 S{print_bed_temperature}
M104 S{print_temperature} T0
G130 X118 Y118 A118 B118 ; set stepper motor Vref to defaults
; let the Z stepper vref stay at eeprom level (probably 40)
;
; home and recall eeprom home position
T0 ; home on the right nozzle
G28 X Y Z ; home all axes at homing speed
G92 X0 Y0 Z0 A0 B0 ; set all coords to 0 for now
G1 Z5 F500 ; move Z 5mm away so we can carefully hit the limit switch
G161 Z F100 ; home Z slowly
M132 X Y Z ; recall stored home offsets for XYZ axes
;
; wait for heat up
G1 X110 Y-72 Z30 F3300 ; move to waiting position
M116 ; wait for temps
;
; purge and wipe
G92 E0 ; set current extruder position as 0 so that E15 below makes sense
G1 X110 Y-70 Z0.2 F2400.0 ; move to just on the bed
G1 X110 Y70 E15 F1200.000 ; extrude a line of filament along the right edge of the bed
G92 E0 ; set E to 0 again because the slicer's next extrusion is relative to this 0
;
; Sliced at: {day} {date} {time}
; Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
; Print time: {print_time}
; Filament used: {filament_amount}m {filament_weight}g
; Filament cost: {filament_cost}
; -- end of START GCODE --

Thanks for everyone's help. So after playing around with the G-Code and trying to set the temperatures manually, I came across a post by a user who said that Cura will automatically include code for the temperatures regardless of your g-code. So I deleted the m140 and m104 lines and now it works great!
I am also going to take a second to rant about how difficult it is to find information on this g-code business. It seems that the language, which should be standardized, is different depending on the slicer that you use. What is the deal?

There is a standard for G-Code - ISO 6983 but the only place G-Code is really used is in manufacturing on lathes, mills, etc, and commercial printers don't show G-Code to operators so it doesn't really matter.  The lines you are talking about, M140 and M104, are "standard" for 3D printing, the extra stuff on that line is used to take information from the slicer and put it in the output.  The firmware dictates which codes exist and what they do, not the slicer.

Why not download Flashprint by Flashforge and try using it with your printer?
Flashprint by Flashforge creates X3G files, therefore not requiring the conversion from GPX to X3G.

Look at the Cura error log file for why Cura doesn't like your startup code.  The log file is located at $User/AppData/Local/cura/cura.log.
The problem may be that one the the parameters included in startup code (the names included in '{}') is no longer available in the newer Cura or the name has changed.  Hopefully the error log will lead you to the specific issue.
If that doesn't help, try cutting out 1/2 the code and retrying until you can figure what line Cura doesn't like.  Crude but effective.

Edit:  After looking at GPX more I'm not sure what you are doing?  Are you trying to slice something in Cura and use GPX to make the X3G file or use the starting g-code from Cura in Makerware?  The code you posted above is used in Cura to generate the g-code and it appears you should be giving GPX the g-code file made by Cura.
You didn't specify which error you are getting or where but if I had to guess it's from the information in the curly braces. Everything in curly braces "{}" is a variable in the slicer used to generate the g-code.
All the information below is useless to the printer and I would start by removing it to see if you still get an error.
; Sliced at: {day} {date} {time}
; Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
; Print time: {print_time}
; Filament used: {filament_amount}m {filament_weight}g
; Filament cost: {filament_cost}

If you still have an issue after removing that then you could remove {print_bed_temperature} and {print_temperature} and hardcode those values to something to see if the process completes.
If it's successful at that point then look at a different starting g-code and find those variable names and replace them.

Let me clarify:
I am using Cura to slice and then GPX to convert to X3G so I can print it.  Here  is the post where I got the code from. The code only works on Cura version 15.04. I would like to use a newer version of Cura like 2.5

@AndrewMarzban so at this point the issue is with Cura and nothing to do with GPX?

That is correct. The issue is with the start G-Code. I have also tried printing on another makerbot clone (flashforge) and had success provided that I use Cura 15.04 with the above code.

@AndrewMarzban follow my steps about removing the sections covered by "{}" and see what happens if you hard code them.


text:
Scale down SketchUp live size object does not render completely
I got a life size model of a signaling post (trains) where I scale it down to 1/87 model (in SketchUp). When I send the model to my 3D printer (with Cura 2.4) some parts of the model are lost in translation even when their dimensions exceed the printer minimal dimension of 0.7 mm.
Is this a known problem of Cura or is something else at hand?

You will indeed have difficulties with scaling a model to the point that individual components become smaller than the tolerances of your printer.
It is more likely a problem with your model, having been created in SketchUp. If you use an online model repair service, it will almost certainly return an indication that the model was flawed. Unfortunately, those repair services are not a good choice for repairing a SketchUp model, as the fail points are usually beyond the capability of the software.
Another option would be to load the model into MeshMixer and use Analysis/Inspector to reveal the flaws, but again, the automatic repair feature would likely destroy the model.
Even a program as simplistic as TinkerCAD will do a better job of creating a 3D printable model.
Consider to begin learning a different, perhaps more challenging program such as OpenSCAD or Solvespace, or even more challenging than those, Fusion 360. All of the above are free, while Fusion 360 has the requirement of non-commercial/hobbyist use to remain free.

If he's lucky,  loading into MeshMixer,  enlarging by 300%, selecting re-mesh option(s) might produce a better,if smoothed object.

I don't think Cura is really the problem.
I have heard a lot of comments that Sketchup often produces stl files that do no slice well (do to geometry errors).  Scaling the model (especially by a huge factor like 1/87 is going to exacerbate that problem.
There are several things you can do to reduce the problem.  Here is an article on how to 3D Printing with SketchUp  Itt has some really good pointers.  Remember that if you are scaling down, the minimums it mentioned will need to be much larger to account for the scaling.
You could also try using MeshMixer to fix and scale the stl file before importing it into Cura.
As @fred_dot_u indicated, the better option would be to move from Sketchup to a CAD program that works better with 3D printing.  I use Fustion360 (and so does my 15yo son who learned it really quickly from YouTube videos.
If you decide to go that route, here is an article on how to Import your Sketchup Model into Fusion 360.


text:
Which 3D printer should I use to make custom miniatures for a tabletop game?
I would also be curious on how I could get the best results with these printers. I am in a situation where I have cheap access to a:
Fortus 250mc, which prints in ABS and has a minimum resolution of 0.007mm (but that can be raised as high as 0.013mm to print faster), and has a "Soluble Support System" which enables printing overhangs.
Form 2, which prints with Photosensitive Resin, has a resolution of .05mm, and can also print overhangs.
Stratasys Dimension SST1200es, prints in "ABSplus" (whatever that is), has a resolution of .254 mm, and can indeed print overhangs. As far as I can tell the main advantage of this one over the Fortus is that the supports can be immediately removed after printing and don't need to be dissolved first.
I am okay with processing or finishing the miniatures later so long as it's not too time consuming (such as by running an acetone vapor bath), but I'm curious when I would use each printer and how I could get the most out of both.
P.S. Also the Stratasys is more expensive for me to print on than any of the others so please keep that in mind when answering :)

The Fortus can print 0.007 inch layers, not 0.007 mm. The smallest layer height it can do is 0.178mm.

@TomvanderZanden thanks, I thought .007mm seemed a little bit too fine, if that's the case the site I was reading the information from was wrong :)

The Form 2 will definitely give the best results for your application.
Both the Fortus and the Dimension use FDM, which builds the model up using a bead of molten plastic. Because this bead is typically 0.5mm in diameter, this strongly limits the details you can print.
The Form 2 uses liquid resin, that is cured by scanning it with a laser. This process is called SLA. The laser produces a 0.14mm dot, and so you can produce much finer details. The Form 2 can also use much thinner layers (down to 0.025mm v.s. the 0.178mm of the Fortus) so the models will be much smoother.
To make small miniatures SLA is much more suitable than FDM.

Thanks! Will the Form 2 have those little ridges around the edges of the model that are distinctive of 3D prints?

Yes, but very much less so than an FDM print.


text:
3D printing bed size and selecting models
I was thinking of getting the MonoPrice Mini 3D v2 printer.   I know the bed is kind of small.
How would I know what I could print from Thingiverse?  They don't really state what the bed size should be.
Does the software fix this for you?  Do you scale it?

Yes, objects in thingiverse usually doesn't include their size and this can require extra effort to obtain.
There are several options to scale objects to fit your printer.  You can often do that in the slicer or using a separate program like meshmixer.
The bed size is not the only (or maybe even primary) limitation you will need to consider when printing an object.  You also need to think of your max height, nozzle size and for your choice of material your will need to consider things like you max extruder and bed temperatures (or even have a heated bed), nozzle type, etc.
You should be able to print just about anything on thingiverse; but, the limitations of your printer will affect HOW you will have to print it and whether you will be happy with the final product.

I have heard of plenty of people the have smaller printers and it was the right place for them to start.  Having a smaller printer that performs well for you will be a much better experience than a larger printer that performs poorly.
Whether the Monoprice Mini 3D v2 printer is the best printer is something only you can decide.  Read and watch the reviews, they can be a great source of "perspective". I know we all have limited budgets and there are certainly way more things you can print with a printer than you can without one.


text:
How do I get a replacement PTFE tube to fit inside my nozzle?
I have been getting clogs and believe that it may be due to a damaged PTFE tube inside my hot end.  I have a replacement (it came with my printer), but I can't seem to fit the tube into the nozzle.
I also tried to turn the original PTFE tube around, and I can't get the other end to fit into the nozzle either.
Is there a trick to it?

pictures would be helpful.

Please add some more details to this question, such as what nozzle/hotend you have, and what PTFE tube you are trying to use as a replacement (which printer did it come with? what is the diameter?). For now, I am voting to close this question as "unclear what you're asking". Even though you have provided a self-answer, that self-answer isn't useful to anyone without the question being clearly specified.

This unanswered question has been bumped to the homepage. Could you mark one of the answers (presumably your own) as accepted, to remove this question from the Unanswered Question list. We are still in Beta, and need to keep our stats up. Also, as the comments say, if you could expand upon the question and answer that would be most helpful. Thanks.

In the end, I was able to get the tube in the nozzle.
It took a lot of patience, and it seems to help if the nozzle is warm as well.

If the nozzle (or throat) is warm, then it will have expanded, thus making it easier, in the same way if one warms a pickle jar lid, it will come off much easier.

Neither this nor the original question contain any quantifiable information

What kind of printer do you have? Is it a FlashForge? They sell replacement PTFE tubes on their website, and you can also buy them on Amazon. Just be careful you are buying the correct tube for the correct printer. For example, the Flashforge Finder does not use the same size PTFE tube as the Flashforge Creator Pro or Flashforge Dreamer.
If you had trouble once, you can bet you will probably have trouble again. You should probably buy the part now before you need it. I tell you this as I sit without a working printer (and I have three) while I wait for parts.
Just be sure you buy the correct size tubing.

Welcome to the group.  On answering a question like this, it is better to make the Answer more general as opposed to proposing a solution for a specific printer (unless the OP says he has that printer).  You could use your specific printers as an example; but, describe the solution more generally. Adding how to measure the tube to find the correct size would be a nice touch.

@markshancock Unfortunately, the OP didn't specify the printer they were working with and this type of part can be specific to the machine (depending on the extruder assembly). Also note that Janice has a low reputation and therefore cannot create comments. I feel that this answer provides adequate details on how to solve a problem given the provided information.

For the sake of the few pennies, I'd buy the threaded tube with the PTFE already in from any internet auction site.


text:
Why is the bottom of my part not smooth
I printed Planetary Gears and the top looks great
but the bottom doesn't
I am printing on a TronXY X3 (Prusa i3 metal frame clone) using eSun PLA+ and sliced using Cura 2.4.  I print on glass and do manual leveling (sheet of paper to set gap).
What could be causing this?
It almost looks like a raft; but, I selected to print with a Brim not a Raft.
I have seen this on some other prints so I suspect it is a slicer setting.
Note: Bed adhesion seemed great.  First adhered well and part popped off with very little effort.

How is the part popping off with "very little effort" consistent with "great bed adhesion"? You got extremely lucky that this part stayed on the bed for the entire print.  A properly adhered first layer, especially PLA on glass, will be very hard to remove (and if your adherence is too good, chips of glass might end up stuck to the PLA).

"great bed adhesion" because the initial layers seem to stick well to the bed and the part never rocked.  "very little effort" because I didn't have to do anything special to remove the print.  I just twisted the part and it came off.

@TomvanderZanden I noticed when watching the print run on the printer that it was starting at z0.3.  Looking at the g-code, just before it starts the skirt it does a G0 F3600 X76.789 Y75.642 Z0.3 Why?  I have "Initial Layer Height" set to 0.3.  Maybe I am misunderstanding what that means.

Initial Layer Height is the height of the first layer. If you set it to 0.3mm, the printer moves the head up to 0.3mm for the first layer. This is normal. It is presumed that Z=0 means the nozzle is touching the bed, so it has to move up slightly to allow the plastic for the first layer somewhere to go. If you use the paper test this means that the nozzle will be slightly above the bed when Z=0. Having slightly more space between the nozzle and the bed than the first layer height is often desirable, but in this case you have a bit too much.

This reminds me of a thing I had happening that appears to be a bug, albeit with different software. Are you looking at the first layer as it's printed? https://3dprinting.stackexchange.com/a/4192/6853 I was getting no extrusion until the second layer until I figured that bug out - it made for some parts not unlike yours.

Your nozzle is too far from your bed. The first layer isn't squished down sufficiently, resulting in these gaps. If your first layer looks like this, you should cancel your print and adjust the bed. Alternatively, you can adjust the initial height of the Z-axis in G-code (for instance, G0 Z-0.1 followed by G92 Z0, which should be appended to your start G-code).
You can also try increasing the first layer height or the first layer extrusion multiplier. If you increase the first layer height, you will probably still have to adjust the bed slightly to bring the nozzle closer, but the thicker your first layer the larger the window where you get a good first layer.
Increasing the extrusion multiplier will effectively stretch the first layer to be thicker (and thus the model will come out slightly too high) and thus isn't necessarily a good idea, though some people find that a slight increase (to for instance, 110%) makes the first layer slightly more forgiving (but this also increases adherence, making parts harder to remove - there is a very fine line between getting good first layers and having your prints stuck permanently to the bed).

@TomvanderZanden was correct
My nozzle was too far from your bed (sort of)
Since my printer is manually leveled I have to use a sheet of paper to check each leveling point.  This means the nozzle is about 0.1mm off the bed at home.  In Cura, I had Initial Layer Height=0.3mm BUT this is supposed to be 0.3mm above the bed and my home will be already 0.1mm the bed; so, I really needed Initial Layer Height=0.2mm!
After doing that, the first layer laid down really nicely and all the lines got properly smooshed together.

So I'm curious - can you actually get this to move, if all the parts are printed together like this? Seems to me there's going to be a fair degree of adhesion between gears, postulating a real printer rather than an ideal/perfect printer.

There was a little bit of adhesion but not too much and most of it seemed to be on the first layer.  The hex in the middle makes it easy to do shear any contact with the twist of an allen wench.  Once that is done, the part moves freely.

In my case, the build plate adhesion type was set to raft in the cura software settings which is why a base will be printed first before printing the object on it. Hence, the bottom of the printed object will look rough because it needs to be easily separable from the initially  printed base. Build plate adhesion type should be set to brim, skirt or none, the bottom print should be smooth. That was what worked for me.


text:
Convert an STL model to a two-extruder model
I have an STL file from thingiverse. The model is of a rectangular lid with an engraving. I would like to print it using two different colors, so that the engraving would be in a different color than the lid base. In the model description, the creator explained that he simply switched the material mid printing.
However, I have a two-extruder printer, and I'd like to utilize it for this printing. What's the easiest way (tool) to select a part of the model and define that it should be printed using a different color?

What slicer are you using?

After a bit tinkering, I finally managed to split the model to two STL files, then used Cura to print them each in its own color. I decided to post here the steps I followed, as simply as I could, hoping that it would help other beginners.
The procedure was quite simple, even though it took a while for me to figure it out:
Following the advice of this video, I used MeshMixer to edit the STL file I downloaded from thingiverse. I:

Selected the areas I wanted to separate using the select tool (I had to change the tool "radius" so that it won't keep selecting unwanted faces of the model).
In the same tool, I used the "Separate" command to create two objects from the one I had before. This showed the "object explorer" window.
I clicked each of the parts in the object explorer window and exported them separately to STL files.

Then, using Cura, I followed this site, and performed the following:

Loaded both models to Cura (order doesn't matter).
Picked Print Core 1 for the first part and Core 2 for the second part.
Selected both models (using the Shift key), then right-clicked and chose "Merge Models"
Profit!

How did you learn that Meshmixer would accomplish your objective?

You can also preview the gcode rendering layer by layer (if your software allows this), and insert a toolchange command at the layer where you want to switch colors.

One method is to use meshmixer to select the faces to be created in the second color and "detach" them without removing them from the model. Keeping the detached faces in place provides the appropriate alignment when brought into the slicer. When exporting the model for printing, check your preferences to ensure both segments are exported at the same time. The preferences (file) default to separate exports based on selection.
Some manipulation will be required with the extracted segments, as typically one is removing a zero-thickness surface from a manifold object. The videos I've seen usually create an extrusion towards the inner body to create a dimensional model from the extracted skin.
Even if you are not familiar with Meshmixer, there are a number of videos and tutorials explaining this feature. If you use the terms "meshmixer dual extrusion" you'll get loads of links in return. I narrowed it by adding "Maker's Muse" to the search, as his explanations are clearer than others.
I know that Slic3r and Simplify3D will support the correct positioning when importing the model, other slicers may require additional research to accomplish this objective. My search also appears to indicate that Cura will support such processing.

The rabbit in this image was being prepared for two colors. I've seen the video but cannot recall why this image was presented, as the other pieces were eventually incorporated during one print. It's possible this image represents a single color print, based on the supports, but it is indicative of a partial process during the creation of a dual extrusion print.

With OpenScad i would take the stl, and cut half of it off, but subtracting a block.  That result I would save to a.stl.   Then i would move the block to the other side of the model and subtract that piece off.  The result i would save as b.stl.
My slicer is RepG.   It has an option for merging two stl files and printing them dual.


text:
"Tac Tac" sound when printing with ABS
My 3D printer makes weird sounds. When it's at >75% printing speed the extruder motor makes a "tac tac" sound and it goes backwards, pushing the filament back, for a small interval of time. I have tried changing the nozzle temperature and I'm unable to work this out alone.
Has someone had the same problem?
This is the 3D printer: Geeetech High Quality Wood Geeetech Prusa I3 Pro W 3D Printer Kit.

Maybe the extruder slipping: https://3dprinting.stackexchange.com/questions/3398

Related: If anyone hears this sound on the first layer or the skirt, the nozzle is too close to the build plate and the goo can't get out.  Same result: stepper slips.

@Ecnerwal is right: that noise you hear is the extruder not being able to push the filament, and the stepper can't push any harder. When the extruder tries to push harder than it can, it gives up, and the "spring" tension it created in the filament forces it to go backwards a tiny bit. Then it tries again.
Possible causes/fixes:

Temperature too low -- this makes the filament not liquid enough to push through the nozzle easily. For ABS, you should be in the 230-240 range.
Clogged nozzle -- take the nozzle off (while hot) and try heating it with a torch to burn out anything that might be in there.
Bad filament -- If the filament has contamination in it, or is too large to fit through the hot end in places (I.E. it gets up to 1.9mm instead of 1.75mm)
Stepper current too low -- I'm not sure if you can adjust the current that is sent to your stepper motors, but if it is too low, the stepper can not provide enough torque to push the filament through. I don't see the stepper drivers on the site, so I don't know if you can adjust them or not.

Indeed, I have had this problem with my i2 Prusa, and increasing the stepper current did the trick.

I agree "tac tac" is likely the sound of missing steps.  That would indicate either 1) the printer was trying to push filament faster than the extruder can extrude it or 2) the motor isn't getting enough current to do its job.

Other possible causes/fixes: reduce printing speed; reduce friction along filament delivery route.

You are extruding (rather, attempting to extrude) faster than the hotend/nozzle can melt & pump plastic. Eventually something's got to give, and it's usually the grip on the filament by the extruder gear (or the torque available is exceeded.)
You either need to limit the speed you extrude at, or change other print settings (temperature) to melt faster. You are not going 75% - you're trying to go more than 100% (in real terms of what the printer can actually do.)

I have noticed that the stepper motor giving up causes this sound. If the grip on the filament gives, the gear will carve away at the filament.

A possible problem could be with the filament itself. If the filament is significantly out of round, then it's possible that the thinner radius of the filament is too small for the extruder and the gear can't get a good bite to push it through.
I had a similar problem with a Monoprice Select v2 (Prusa i3 clone) and it turned out that my 1.75mm filament was an ellipse of 1.85mm x 1.60mm. I too only noticed it when the printer was running at higher speeds.

It could be a result of filament building up around the drive gear.

disassemble your extruder to expose the drive gear (the gear that drives the filament down to the heat element).
clean any filament build-up out of the the teeth.

Filament can sometimes build up around the gear over time when the extruder temp is not high enough to efficiently melt the filament. This occurs more commonly with ABS I've noticed, probably partly due to its higher heat resistance. However, this affect is ultimately an issue of poor quality filament (aka cheap).

I had this problem since last week. It is definitely choked nuzzle. You have to clean your nozzle, some dirt, dust or too much burned Pla could restrict PLA flow, and exc. motor pushes it with tac tac sound. I have cleaned 2 hours ago and everything works perfectly.


text:
How do I modify Cura's code generation?
Cura is generating temperature commands in the wrong order.  I need to swap lines 6 and 7 below so that both the printhead and bed can begin to heat at the same time.
Is this code generation configurable in Cura?
5 ;Generated with Cura_SteamEngine 2.5.0
6 M190 S60    ; set bed and block
7 M104 S215   ; set printhead, don't block
8 M109 S215   ; set printhead, block

You can do so by placing this at the top of the start code under machine settings (tested on 2.6.1).
M104 S{material_print_temperature}
M190 S{material_bed_temperature}


text:
Printed part problem, distortion on upper section containing hole
I cannot generate the upper part of the solid properly which contain a hole (as in the picture).  The solid part (bottom section) printed well.

What should I change to print the part with hole properly?
Is it a problem with machine or the design?
I am using Hydra 3D printer.

Please edit the title of your question to be more specific. The current question is extremely generic and could be used for just about any question on this site.

It would be helpful have a design photo (from CAD or slicer) to see what the part is supposed to look like.  Also how is the part oriented on the print bed?  It is same as the orientation shown in the design photo?

Do any of the answers helped you to get an answer on your question or helped you come to your own conclusions then please do vote and accept an answer. This helps us reduce the unanswered questions list. Found an other answer (then the already posted) yourself? Please add that answer (and accept after 48 hours) to share your experience with the community. If you have not been able to address the problem please update your question.

It appears that the upper part of your print contains less plastic than the lower. This would mean that as the printer begins to operate in that area, the previously deposited plastic has less time to cool.
The distortions are difficult to see from the distortions of the photograph, but I've experienced similar upper, smaller section failures.
You could consider to print more than one copy of the item on the bed, which will require the nozzle to move away from each layer, allowing more cooling time, or add a throw-away model.
I've also added an ooze shield using Simplify3D to create a single wall around the part, providing the same cooling time concept.
If you try these options and still experience a problem, please consider editing your post with material used (PLA, ABS, PETG, etc) as well as temperatures and speeds used for this print.
Your slicer is not likely the problem, but is often useful information. Printer name is sometimes helpful, but I think it's not critical in this circumstance.
It's also useful to orient the part in the photograph to match that of the print. It's apparent in this case that the top of the print is to the right and bottom is to the left. If that is not correct, please advise in edit.

This can be a product of poor overhang profiles and bridging. Issues with overhanging features can most easily be fixed by:

applying active cooling (for PLA)
slowing down your feedrate on outer shells
or adjusting some of the more advanced slicing settings related to bridging/overhanging such as:

anchors
widths
feedrates
active cooling speeds
etc.


text:
Ramps 1.4 1.8 stepper motor extrusion calculation
I have Ramps 1.4 and would like to get answer on extrusion in Marlin firmware. I have NEMA 17 stepper motor 1.8 deg, set to 1/16 step. Mk7 direct drive.
38 teeth in extruder drive gear. I bought it from this website.
Here are my current settings:
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80,80, 4000, 180 }
#define DEFAULT_MAX_FEEDRATE          { 500, 500, 3, 45 }
#define DEFAULT_MAX_ACCELERATION      { 9000, 9000, 100, 300 }

I am using ABS 1.75 filament and a 0.4 nozzle.

According to the description, the drive gear you have has a 10.8mm diameter. This means that (in the ideal case) one full rotation of the drive gear will advance a length of filament equal to its circumference, which is pi x 10.8mm or approximately 33.93mm.
Your motor rotates 1.8 degrees per step, so it takes 360 / 1.8 = 200 steps for a full rotation. Since you are using 16x microstepping, this is multiplied to 200 x 16 = 3200 steps.
You thus end up with a steps per mm value of 3200 / 33.93 = 94.31 steps/mm.
You might need to calibrate this further, for instance by extruding a set length of filament (e.g. 100mm) and measuring how much is actually extruded, and then compensating the steps/mm value to get you closer to the desired 100mm. A simple way to measure this is to put a mark on your filament at 150mm from the extruder, and then (after extruding 100mm) measure how close the mark is to the extruder (which should be 50mm) However, this theoretically computed value should be a good starting point. Note that the speed you do this test at should be close to your normal printing speed, since extruding at a much higher (resp. lower) speed will falsely lead you to believe you are underextruding (resp. overextruding).

Thank you so what i do understand is following in my marlin firmware.
define DEFAULT_AXIS_STEPS_PER_UNIT { 80,80, 4000,  94.31 }
define DEFAULT_MAX_FEEDRATE { 500, 500, 3,  94.31 }
define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 3200 }
Is this correct. I made printer called graber i3 and got code from GitHub my exstruder are different from the one they using.
Regards
Gerhard

You only need to change the steps per unit. It doesn't make sense to change the max feedrate to the steps per mm value.

Simplest way to calculate your extrusion is:
Set your number of perimeters walls 1
top and bottom layer 0
infill 0%
and print simple 20x20x20 cube
look at the wall thickness with caliper and compare your extrusion width value on your slicer software


text:
How do I decrypt messages on my Repetier firmware?
I need to send a complex password to my machine. The machine needs to decrypt it and run it. I have not found enough resources for such an operation.
More detailed description:
I am developing a new feature for my 3D printer which runs on Repetier. (It may be on a different firmware that I can do this job).
I want to change my 3D printer so it can understand special encrypted G-codes alongside normal g-codes. Lets describe it with an example:
Normally, 3D printers can read and apply standard g-code files like:
G28
G0 X10 Y20 E30
.
.
.
etc.

But I am developing a g-code encryption method which encrypts any g-code and turns it into a text like:

M999 !4#^
M999 ^s+.&&/..* ….
.
.
etc.

I want to change the firmware for my printer so it understands if the related g-code is encrypted by checking every line if it stars with M999 (or starts with some other pattern character which I will decide later).
To do is, I need to understand how Repetier works, especially how command debug  works and how I can parse my encrypted code from my encrypted g-code file.
I could not understand how repetier.h / command.cpp works and how it parses the line and redirects to functional cases.

Looking through the source I found Commands.cpp that has a loop.
void Commands::commandLoop() {
    while(true) {
        ...
        Commands::executeGCode(code);
    }
}

If we find the executeGCode method, we see that it calls:
processMCode(com);

And finding the processMCode method, we have the switch case you can add your own logic to.
void Commands::processMCode(GCode *com) {
    switch( com->M ) {
        case 3: // Spindle/laser on
            ...

        case 999: // Your custom logic

After decoding your encrypted string, I think it would be best to call back into the first method mentioned, and let the process start from the top with the unencrypted command.
case 999:

    // Custom logic
    executeGCode(unencrypted);
    break;

Thanks for the answer, Sorry for waiting for reply, I tried your suggestion, but when I send the code to the Repetier host I get the Wrong checksum and Unknown command warnings as a return, I think that when we send the code to the machine, we do a check before we do the work we want, how can we disable it?

authors: ชาคริส ฉิมคล้าย


text:
How to print a two color part with only one extruder
I'm planning my first project. I want to print an iPhone case with a flush letter on the back, but I want the letter in a different color (single extruder printer). The thing is the two colors will be on the same level. Do I create two separate models, import them to a single model, mesh the parts and somehow specify which one to start on, then just change the filament when it's done with the first section? Will the letter be loose fitting in the cut out? Or will I need to print them separately and glue them together?
What is a good slicing software to accomplish this?

Greetings Joe and welcome the the 3D Printing community (both here and generally).  I submitted an edit to your post to clarify the subject and remove the salutation.  If you wonder why, look at https://stackoverflow.com/help/behavior.

Good question! I've been 3D printing for about six months, and my first reaction was that it was not possible. However, it is indeed possible, as shown in the answer from @fred_dot_u. I have also found a technique where the model is designed and sliced for a multiple-extruder printer, but the gcode is modified to replace tool changes with pauses, and manual filament swaps. I haven't seen a clear writeup or tried it myself, but I want to try it and will post an answer myself if I can figure it out.

What you ask may be easier than you think. The slicing software is unimportant, generally speaking. Consider especially that your requirements fit the solution spot on.
Take a look at this thingiverse snowman.

Each of the colors is a separate model. Each of the colors is only one layer thick (0.200 mm). Each of the colors is placed with zero overlap to the adjacent colors, as the extrusion multiplier will allow enough "squish" to cause a bond to its neighbor.
You would create a model with the necessary shape for your lettering and insert the appropriate color for them. Print that model but leave it on the bed. If the bed is heated, all the better, but don't let it cool to the point of release. If it's not heated, the adhesive should hold it until project completion.
For the main background color, your model would be normal but with a single layer subtracted at the base. The subtraction would have to be the shape of the lettering. Consider that you're creating indented or recessed lettering. Use appropriate modeling techniques to perform this action.
Keep in mind that you'll want the lettering to be mirrored, as you're printing it "upside down" on the build plate.
Swap out the filament to the main color and print.
You are color limited only by your determination and patience, as you have to swap out filament and also have to create appropriate models with recesses to take the first layer, of which you'll also have to create models.
I've created at least one of the snowman pictured and it came out quite good. The layman will not be as astonished as someone familiar with 3D modeling and printing, however. You get a better appreciation when you know what goes into the project to get this result.
EDIT to add more info, rather than fill the comments:
The above method works only because the inlay is a single layer deep. If your slicer supports changing layer thickness during a print, you could print the first layer at the max for your nozzle, say 0.3 mm then set layer 2 and upwards to the resolution you desire for the majority of your print. I use Simplify3D which supports such actions. I'm not sure of the others.
Relevant to the questions posed in the comments, your modeling software may be a factor in this process. The modeling software will create/assign a pivot point or some other name to a location of reference in the model. The slicer will use that to position the model on the bed.
Here's a concept I would use to perform this task. Start with your single layer lettering, ensuring that the thickness of the letters will match your first layer height. Save the model as an STL file. Leave the lettering on the screen in your modeling software.
Create or import the case file. Position it as you wish relative to the letters. Of course, both models will be flat on the build plane or all bets are off. Use the lettering in a boolean subtraction to remove the shapes from the phone case model.
If the above does not remove the lettering model, delete that and you have the recess. Save this model in STL.
When you load the models in the slicer, they should drop into the same location relative to each other.
When you print the letters, they will be on layer one. When you print the remaining model, the cut-out portion will be on layer one, while the rest is placed atop the two color portion. The print head will move up one layer to adjust for the extra depth.
If you require the letters to be thicker than a single layer, one of the options you have is also in your question. Create the letters in the thickness you wish, use them to create the recess in the case and print separately. In so doing, you will be counting on the printer's ability to make clean bridges. The letters may fit cleanly, may have some play or slop, or be too large to fit easily. It would behoove you to make a test piece or two, perhaps a simple slab with one or two letters to see how that concept works in the real world. I was pleasantly surprised to see how well the public library's genuine Prusa i3 MK2S performed a challenging bridging operation.
I apologize for overlooking the reference to first project. With that in mind, I would consider that this is a slightly advanced project. Your modeling software and modeling software skills will obviously come into play here and is a separate subject/question/topic for discussion.

Fantastic answer, thank you! Let see if I have the idea down. I am printing an iphone case and I want the letter to be flush on the back. I simply do an extrude cut with the letter on the iphone case lets say 3 layers deep. Then add a 3 layer thick solid letter body to that recessed area. When I go to print, I print the letters first, change filaments, then print the case. Do I use two separate models?

If, so how do I make sure they are lined up correctly? I'm very worried the second model might print like on a 90 degree rotation. Remember, I've never printed anything before. I'm using a Makerbot Replicator 2 so I think it has a heated bed.

But how can I program the printer to print on top of the letters?

@JoeBlow The "inset" colors should only be one layer deep. Otherwise when going back and printing the body, the print nozzle is likely to move into them and mess something up. The alignment would be critical. If you look at the snowman example, the STL files have boxes around them to help ensure alignment (most slicers will attempt to center the model), and act as a skirt to prime the extruder after swapping colors.

@mbmcavoy How do you design a part that is exactly one layer thick in CAD software?

Decide what layer thickness you want to use. 0.200 mm is common for "blocky" or ordinary models with minimum details. The lettering you would create would then be set to 0.200 mm tall, presuming you're using an extrusion feature of your modeling software. Additionally 0.200 mm will not be as transparent as thinner layers for some colors. You may be able to go as high as 0.300 mm for your first layer and back to 0.200 mm for the remainder, if your slicer permits.  Please tell us your choice of modeling and slicing software.

J.B., please also note I added an edit to my answer to cover some of your new questions.

Great answer!. I see recently Make Anything has posted a video about this. https://youtu.be/KV2AjyowXX4