# How do people load filament, prime the printhead, flush out the old filament when changing colors when using a standalone 3D printer?

I am wondering how people that use standalone 3D printers (printers that have the ability to print autonomously from SD Card) feed in filament, prime the printhead and/or change filaments without a laptop ?

Do the printers have a menu to arrange all these tasks ? I often only see the options to preheat the head to a certain temperature, but not to load/unload filament, extrude a small amount etc.

• I think you should reword your question to something like "How do printers print offline or from an SD card?" Feb 4 '16 at 3:43
• That's not what the OP is asking though - printing offline is all well and good - stick the file on an SD card. All the other bits like leveling the bed or changing the filament are trickier if your printer doesn't have options for that built in (as mine doesn't). Doing this without a PC is possible, but non-obvious Feb 4 '16 at 13:04
• Thanks MalphasWats, that is exactly what it is! Non-Obvious. Feb 5 '16 at 8:17
• Also what printer do you have/are you looking at? If it uses Marlin or you can load your own firmware, the LCD should have functions for that. If it's proprietary or closed-source, then you might have to write the custom gcode. Feb 5 '16 at 22:40

My printer (IdeaWerk 150) is very basic and doesn't have any options for this from the screen.

I wrote a really simple GCODE file that brings the nozzle up to temperature, then runs the extruder for a few seconds, then waits, then extrudes for a bit again. I think it does this 3 or 4 times then stops. I can put the file (when converted to .x3g!) onto an SD card and run it whenever I need it.

I have a similar file that allows me to level the bed without a computer by just moving the nozzle around to a few key points on the bed and pausing for a few seconds.

I used a GCODE file generated by my slicer in verbose mode to get started, along with a list of codes

I don't have these files to hand at the moment, but this is my start.gcode:

(**** beginning of start.txt ****)
(This file is for a WeisTek IdeaWerk 150)
(**** begin initilization commands ****)
G21 (Metric FTW)
G90 (Absolute Positioning)
M18 (This disables the stepper motors.)

G92 X0 Y0 Z0 A0 B0 (Declare the current position to be 0,0,0,0,0)
(**** end initilization commands ****)

(**** begin homing ****)
G161 Y X F2500
G92 X0 Y0 Z0 A0 B0
G1 X5.0 Y5.0 Z-5.0 F450
G162 Z F450
G161 Y X F2500 (Home X axis maximum, go until reaching the end stop.)

G92 Z142.4 ( ** Set Bed Height ** )

G92 X-75 Y-75 (set zero for X and Y)
(**** end homing ****)

M108 R8.0 (Extruder speed = max)
M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)

G1 Z10 F500 (Bring bed up)

M101 (Turn on Extruder)
G04 P8000 (Wait for 8 seconds for flow)
(**** end of start.txt ****)


If I feed just this file into my printer, it will heat up the nozzle, bring the bed up to about 10cm below printing height and once the nozzle is at temperature, it turns on the extruder for 8 seconds.

Your printer will likely be different to mine - there are a few different flavours of GCODE and you will likely have different XYZ positions, so take a look at some GCODE generated by your own slicer and identify the different parts. The principle is the same.

RepRap based printers use LCD modules with control button and SD card. You can trigger operations like

• nozzle heating (to change filament)
• extrude filament
• home axis to caliber bed level
• ...

Most used LCD modules are:

RepRap firmwares (Marlin, Repetier) are supporting it. To get better view on what is supported, take a look on Marlin language file.

There are options for tablets. They are running software (for example) on some device that has internal storage, wifi, USB connection etc. You can buy a new tablet, or reuse your old one just to be a controller.

Another great example is this app.

Apps have menus that can arrange everything for you, now it depends on what app do you use and what filament you use. It's very simple thing.

I have two different printers that can print un-tethered. The first is a Prusa inspired machine with an LCD and the second is a printrbot without an LCD.

Not all printers that have the ability to print from SD come with an LCD screen. My printrbot simple metal does not come with an LCD, it is an additional \$100.

I am too cheap to buy one so I came up with an extremely low tech way of changing filament. I turn my printer on with an SD card that has an auto0.g file (this tells the board to load and run g-code on start-up), once the printer starts to move I kill the power remove the filament and put new filament into the extruder. I then press the lever to disengage the extruder motor and force the new filament into the hot end until the old color has been purged. Please note this method only works when you are replacing materials that have the same printing temperatures.

I know that my RoBo 3D has the ability to run untethered once the gcode file is saved to the SD card attached to the ramps board. It does have to be attached to the computer to start the print at first, but can then be unplugged from your computer. Since it is just a Marlin based Ramps printer this should work for similar 3D printers.

The gcode files contain the temperature of both the nozzle and the heated bed if you have one. The Marlin firmware will prime the temperatures for you.

Changing filament you would still need to set your hot end temp to swap in the new filament with a computer over USB though.

Now I personally use something called OctoPi which is a raspberry pi distribution preconfigured with Octoprint. OctoPrint allows you to control the printer, monitor or start prints over a web interface and even stream video to watch your prints if you want. While technically you printer is still tied to a computer(raspberry pi), it does not tie up the use of your laptop/desktop while printing. Plus this would allow you to put your 3D printer in more locations in your home as well.

OctoPrint Website http://octoprint.org/

• Hi, if you name the gcode file auto0.g the printer will start printing as soon as it is turned on, letting you start a print without a computer at all. also, I got a cheap screen from aliexpress for my Robo3D and it works great
– Nir
Mar 6 '16 at 10:03

By a pretty large margin, the most popular "primary control via LCD" printers such as the FlashForge Creator line and Makerbot Replicator 1/2/2x run Sailfish firmware, which has options for all necessary control functions directly from the LCD. Preheat, load, unload, level bed, etc are all done via the LCD and seamlessly built-in scripts. There is no need to connect host software to do anything but update firmware and change rarely-adjusted settings like acceleration parameters. RepRap-style USB control of Sailfish printers is perfectly functional, but not really necessary 99.9% of the time.

This is a major reason why Sailfish printers have historically been popular for printer farms. They're designed for stand-alone operation, which is highly favorable when the printers greatly outnumber the associated computers. It's extremely rare to see a Sailfish printer from the last 5 years without a 5-button LCD panel.

The Sailfish firmware UI/UX is simply built around the LCD buttons rather than host software. This is generally more reliable and higher-performance than, say, Marlin via host because it reduces processor time spent on command transmission and eliminates all the possible failure modes in the PC and USB link.

Assuming all Sailfish printers will have LCDs with SD card support and focusing on that one interface really allowed the creation of an overall better printer. More optimization, fewer things that need to be configured by the end-user. But in exchange, you're limited in what kind of hardware Sailfish will support. It's a tradeoff.

In comparison, LCD support was more strapped onto RepRaps as an option rather than the core interface element. This tends to produce a host-driven interface design, rather than an LCD-driven interface design. Which is why operating "headless" tends to be more difficult in Marlin, Repetier, etc.

You don't need a specific menu for this (although some printers are more able than others to do the following procedure), just play with the filament loading procedure.

Although better print qualities are given by sticking (if possible) to the same color and filament, when you have to "flush out" any trace:

• get an ABS filament of the most neutral color possible, getting a spool dedicated to this task might be a good idea
• load the neutral ABS at 250 degrees (or higher) and let it extrude freely and quickly for at least 1 meter.
• if you need to clean more, extrude at least 3 meters

Note:

• if you can't get ABS (the best option) you can use PLA, but results may vary...
• if you can't get neutral color (absence or almost no color pigment), white is the best choice, otherwise black. Neutral color is best by far for obvious reasons.