In this posting I will be discussing an installation of the Discov3ry extruder with a Felix 3.0 from Felix Robotics. There are 3 critical steps required to get your pastruder up and running properly:
- connecting the wiring;
- making necessary firmware adjustments.
- mounting the extruder tip; and
The instructions shown here are specific to the Felix 3.0, but a very similar procedure will be used for most Discov3ry integrations.
We have also summarized the instructions in this short 3 minute tutorial video.
#1. Connecting the electrical components
The Discov3ry extruder is based off a stepper motor based drive system, thus the Discov3ry extruder can be “plugged into” any stepper motor driver/controller on the microcontroller electronics board. The Felix 3.0 uses their own FELIXprinters electronics based off the open standard arduino and RAMPs electronics.
When we purchased our Felix, we chose the single extruder model as we wanted to be able to add our Discov3ry prototype as a second extruder. Both the single and dual extruder Felix’s use the same electronics, so we knew there would be a free extruder port on the electronics to use.
Access to the electronics will vary from printer to printer, with some allowing easy access and some more difficult. The Felix has a very open design, and access to the electronics just requires removing 4 screws.
NOTE: REMEMBER TO UNPLUG ALL ELECTRICAL CONNECTIONS (USB, POWER, etc) BEFORE OPENING ELECTRONICS.
Connecting the Discov3ry wiring is simple and requires a small eyeglass screwdriver to loosen the electrical connector connector. Here you will need to locate the 2nd extruder port typically labelled E1 (extruder 1 is usually E0) and loosen the 4 screws. Make sure your wires are stripped and twisted to make a clean contact and slide them in in the same color arrangement as the other motors in your printer. If the motor is installed backwards at the moment, don’t worry, this can be fixed easily with a software modification. Tighten the wires and cover the electronics back up.
#2. Adjusting the firmware
A few simple modifications are needed in the printer’s firmware; which is the software in the 3D printer microcontroller. “Adjusting firmware” sounds like an intimidating process, but really all it involves is making a slight change to a simple text file.
There are a few modifications that will need to be made to the printers firmware, the software in the 3D printer microcontroller. This includes turning off the temperature control for the extruders since the Discov3ry extruder does not have heating capabilities. Some 3D printers may have a temperature failsafe, to prevent cold plastic extrusion, since we are printing cold pastes, we must turn off this setting in the printer.
The Felix electronics we have can run any of the RAMPs compatible firmware including Sprinter, Marlin, and Repetier. We have chosen to use the Repetier firmware as it is the most supported in the Felix community. I will show this specific use case but, again, the process will be very similar for other RAMPs based 3D printers.
The first thing required is to download the firmware and Arduino IDE control software to your computer. The Arduino control software will allow your computer to interface with the electronics board of the 3D printer. The Arduino IDE software can be downloaded from here for Windows, Mac, and Linux. Felix provides their own instances of Marlin and Repetier firmware, and your 3D printer manufacturer should too, download this file as well. If it is not available you can download the generic firmware here: Sprinter, Marlin, and Repetier.
Connect your computer to the USB port on your 3D printer electronics. Next open the Arduino IDE program and select Tools > Board > and Arduino Mega 2560 (or other if your printer is based off another Arduino microcontroller). Next, select Tools > Serial Port > and then choose the option labelled USB TTY. Finally, open the firmware.INO or firmware.PDE from the folder we just downloaded, Repetier.INO in our case.
Now to make the necessary modification in the firmware code. Go to the tab titled configuration.h (same for all firmwares) and find the line of code (use the find and replace tool):
#define MIN_EXTRUDER_TEMP 170
This command tells the 3D printer not to operate unless the extruder has reached at least 170 degrees, which would disable any room temperature printing of pastes. We need to change 170 to 0.
#define MIN_EXTRUDER_TEMP 0
In repetier there is also a user interface minimum that can be changed but not necessary:
#define UI_SET_MIN_EXTRUDER_TEMP 0
These are the only changes to the firmware necessary to get the Discov3ry and 3D printer to work together. If you are using a RepRap or other printer using the generic firmwares (i.e. you did not download from your manufacturer) then it may require other printer specific modifications. This is why it is recommended to use the firmware that comes with your printer to start with. Now click the Verify/Compile button and if it is successful, then click the Upload button. Save the INO file on your computer as backup and future reference.
The printer electronics are now ready to extrude paste.
#3. Mounting the extruder tip
This is the last step to get the Discov3ry ready to print soft materials - it is also the most arbitrary - mounting the tip. We think we have made this as simple and universal as possible by keeping the material cartridge remote and requiring only a tube the size of a pencil to be mounted to your printer. This mounting can be as simple as using a zip tie or if you have the skills you could model your own custom 3D printable mount for your printer of choice. A few of our mounting implementations can be seen here.
If you are using a dual extruder 3D printer you will need to define the offset between E0 and E1 in the firmware. Follow the steps outlined earlier and add the measurements in tenths of a millimeter (ie. 1219 = 12.19mm). The lines of code that you will need to modify for the offset in X and Y are:
#define EXT1_X_OFFSET -1219 #define EXT1_Y_OFFSET 0
One final note, if your extrusion seems to be working backwards, extruding will cause retraction and vice versa, you will need to change the line:
#define EXT1_INVERSE 1 to #define EXT1_INVERSE 0 (or 0 to 1)
We would love to hear how you are going to mount your tip, there may even be the possibility to share your mounting 3D designs for popular 3D printers.