Ultimaker 2 + Discov3ry Integration Wiki & Discussion Thread


#1

This is a wiki post, meaning any user trust level 1 or higher can contribute.

If you are not yet tl1 or have a question/comment/concern, please post below.

##PREPARE THE ULTIMAKER 2

  1. Manually raise the bed of the printer.
  2. Flip the Ultimaker 2 on its side and remove the two screws
    highlighted in Figure 1 and the cover to expose the electronics.

##WIRING THE DISCOV3RY

  1. For this step you will need a 2.5mm connector housing such as this
    one from Digi-Key displayed in Figure 2. Crimp Discov3ry wires. A
    tutorial on crimping can be found here.

  2. Insert them into the connector housing in the following order: Left
    to right - Black, Green, Red, Blue

  3. Plug the connector housing into the Extruder Port 1 highlighted in
    Figure 3

  1. Return enclosure and screws

If you’re in a hurry and do not have a connector, you can bypass this step by splicing into the existing wiring directly. Cut and strip wires from existing plastic extruder. Match together Discov3ry and Ultimaker 2 wires. Twist and cover with electric tape.

##MOUNTING THE DISCOV3RY TIP

Locate the secondary extruder mount. The hole size is perfect for the Discov3ry nozzle; all you need to do is add a little bit of tape around the luer lock to make it fit snugly. When setting up your own tubing, attempt to minimize the amount of tubing used. About a foot and a half works well.

##BED LEVELLING

  1. Turn the Ultimaker right side up and power it with the provided
    adapter.
  2. Pull the preinstalled syringe tip from the head of the printer. This
    is to prevent it from crashing into the bed when the Ultimaker
    homes. See the below picture.
  3. From the LCD menu, select “Maintenance” then select “Build Plate”
    then “Continue”.
  4. The bed will raise to close to the nozzle level. Lower the bed
    approximately 5 cm and reinstall the syringe tip. Proceed to follow
    the on-screen bed levelling wizard. I find a business card
    thickness works well with most pastes.
  5. The setting will be saved until the next time you run the wizard,
    restore factory defaults, or unplug the UM2.

##BED PREPARATION

  1. Cut a piece of wax paper to 7 inches by 8 inches.
  2. Using tape, attach to the bed. See the below picture for how it is
    normally done.

##FIRMWARE/GCODE UPDATES

###Cura
I have successfully printed using Cura on the Ultimaker using the Discov3ry. The big change that is required is to add a RepRap profile. This allows you to now modify the start and end gcode.

To add a new profile for Discov3ry:

  1. Machine > Add New Machine
  2. Enter the following settings:


I added 2 lines there (M302 and M92):

;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}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21        ;metric values
G90        ;absolute positioning
M82        ;set extruder to absolute mode
M107       ;start with the fan off
G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops
G1 Z15.0 F{travel_speed} ;move the platform down 15mm
M302
M92 E12000
G92 E0                  ;zero the extruded length
G1 F200 E3              ;extrude 3mm of feed stock
G92 E0                  ;zero the extruded length again
G1 F{travel_speed}
;Put printing message on LCD screen
M117 Printing...

Here are the other settings I have used for printing Nutella from the Green tip:
#####Basic:


#####Advanced:

#####Start / End Gcode:

#####Expert Config (under Expert > Open Expert Settings):

###Slic3r

M302 and M92 E10000 are added to the GCODE to disable heating alarms and increase the extruder steps per mm (amount extruded per mm of print).

#####Example Slic3r configs we use for printing single perimeters of 3D designs. Great for printing logos and letters on cookies, cakes, pancakes, etc.

# generated by Slic3r 1.2.5 on Mon Jun  1 21:08:27 2015
avoid_crossing_perimeters = 0
bed_shape = 0x0,250x0,250x250,0x250
bed_temperature = 0
bottom_solid_layers = 0
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 10
brim_width = 0
complete_objects = 0
cooling = 1
default_acceleration = 0
disable_fan_first_layers = 1
dont_support_bridges = 1
duplicate_distance = 6
end_gcode = M104 S0 ; turn off temperature\nG28 X0  ; home X axis\nM84     ; disable motors\n
external_fill_pattern = rectilinear
external_perimeter_extrusion_width = 0
external_perimeter_speed = 30
external_perimeters_first = 1
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 3
extrusion_width = 0
fan_always_on = 0
fan_below_layer_time = 60
filament_diameter = 3.125
fill_angle = 45
fill_density = 0%
fill_pattern = rectilinear
first_layer_acceleration = 0
first_layer_bed_temperature = 0
first_layer_extrusion_width = 100%
first_layer_height = 100%
first_layer_speed = 100%
first_layer_temperature = 30
gap_fill_speed = 10
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0
infill_first = 0
infill_only_where_needed = 0
infill_speed = 10
interface_shells = 0
layer_gcode = 
layer_height = 0.8
max_fan_speed = 100
min_fan_speed = 35
min_print_speed = 10
min_skirt_length = 0
notes = 
nozzle_diameter = 1.54
octoprint_apikey = 
octoprint_host = 
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0
perimeter_speed = 30
perimeters = 1
post_process = 
pressure_advance = 0
raft_layers = 0
resolution = 0
retract_before_travel = 2
retract_layer_change = 1
retract_length = 0
retract_length_toolchange = 10
retract_lift = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 30
seam_position = random
skirt_distance = 6
skirt_height = 1
skirts = 0
slowdown_below_layer_time = 30
small_perimeter_speed = 30
solid_infill_below_area = 70
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0
solid_infill_speed = 10
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\nM302\nM92 E10000\nM500\nM501\nG1 E100
support_material = 0
support_material_angle = 0
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = pillars
support_material_spacing = 2.5
support_material_speed = 7
support_material_threshold = 0
temperature = 30
thin_walls = 1
threads = 2
toolchange_gcode = 
top_infill_extrusion_width = 0
top_solid_infill_speed = 10
top_solid_layers = 0
travel_speed = 150
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
vibration_limit = 0
wipe = 0
xy_size_compensation = 0
z_offset = 0

#####Slic3r Config for printing with RTV Silicone

# generated by Slic3r 1.2.5 on Mon Jun  1 21:12:48 2015
avoid_crossing_perimeters = 0
bed_shape = 0x0,250x0,250x250,0x250
bed_temperature = 0
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 10
brim_width = 0
complete_objects = 0
cooling = 1
default_acceleration = 0
disable_fan_first_layers = 1
dont_support_bridges = 1
duplicate_distance = 6
end_gcode = M104 S0 ; turn off temperature\nG28 X0  ; home X axis\nM84     ; disable motors\n
external_fill_pattern = rectilinear
external_perimeter_extrusion_width = 0
external_perimeter_speed = 70%
external_perimeters_first = 0
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 3
extrusion_width = 0
fan_always_on = 0
fan_below_layer_time = 60
filament_diameter = 3.125
fill_angle = 45
fill_density = 100%
fill_pattern = rectilinear
first_layer_acceleration = 0
first_layer_bed_temperature = 0
first_layer_extrusion_width = 200%
first_layer_height = 100%
first_layer_speed = 70%
first_layer_temperature = 30
gap_fill_speed = 10
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0
infill_first = 0
infill_only_where_needed = 0
infill_speed = 10
interface_shells = 0
layer_gcode = 
layer_height = 0.3
max_fan_speed = 100
min_fan_speed = 35
min_print_speed = 10
min_skirt_length = 0
notes = 
nozzle_diameter = 1.54
octoprint_apikey = 
octoprint_host = 
only_retract_when_crossing_perimeters = 1
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0
perimeter_speed = 10
perimeters = 2
post_process = 
pressure_advance = 0
raft_layers = 0
resolution = 0
retract_before_travel = 2
retract_layer_change = 1
retract_length = 0
retract_length_toolchange = 10
retract_lift = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 30
seam_position = random
skirt_distance = 6
skirt_height = 0
skirts = 2
slowdown_below_layer_time = 30
small_perimeter_speed = 10
solid_infill_below_area = 70
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0
solid_infill_speed = 10
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\nM302\nM92 E10000\nM500\nM501\nG1 E100
support_material = 0
support_material_angle = 0
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = pillars
support_material_spacing = 2.5
support_material_speed = 10
support_material_threshold = 0
temperature = 30
thin_walls = 1
threads = 1
toolchange_gcode = 
top_infill_extrusion_width = 0
top_solid_infill_speed = 10
top_solid_layers = 3
travel_speed = 130
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
vibration_limit = 0
wipe = 0
xy_size_compensation = 0
z_offset = 0

#####Slic3r Config for Nutella Solid

# generated by Slic3r 1.2.5 on Mon Jun  1 21:14:53 2015
avoid_crossing_perimeters = 1
bed_shape = 0x0,250x0,250x250,0x250
bed_temperature = 0
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 10
brim_width = 0
complete_objects = 0
cooling = 1
default_acceleration = 0
disable_fan_first_layers = 1
dont_support_bridges = 1
duplicate_distance = 6
end_gcode = M104 S0 ; turn off temperature\nG28 X0  ; home X axis\nM84     ; disable motors\n
external_fill_pattern = rectilinear
external_perimeter_extrusion_width = 0
external_perimeter_speed = 70%
external_perimeters_first = 1
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 3
extrusion_width = 0
fan_always_on = 0
fan_below_layer_time = 60
filament_diameter = 3.125
fill_angle = 45
fill_density = 100%
fill_pattern = rectilinear
first_layer_acceleration = 0
first_layer_bed_temperature = 0
first_layer_extrusion_width = 150%
first_layer_height = 100%
first_layer_speed = 100%
first_layer_temperature = 30
gap_fill_speed = 10
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0
infill_first = 0
infill_only_where_needed = 0
infill_speed = 10
interface_shells = 0
layer_gcode = 
layer_height = 0.3
max_fan_speed = 100
min_fan_speed = 35
min_print_speed = 10
min_skirt_length = 0
notes = 
nozzle_diameter = 1.54
octoprint_apikey = 
octoprint_host = 
only_retract_when_crossing_perimeters = 1
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0
perimeter_speed = 10
perimeters = 1
post_process = 
pressure_advance = 0
raft_layers = 0
resolution = 0
retract_before_travel = 2
retract_layer_change = 1
retract_length = 0
retract_length_toolchange = 10
retract_lift = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 30
seam_position = random
skirt_distance = 6
skirt_height = 1
skirts = 0
slowdown_below_layer_time = 30
small_perimeter_speed = 70%
solid_infill_below_area = 70
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0
solid_infill_speed = 10
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\nM302\nM92 E10000\nM500\nM501\nG1 E100
support_material = 0
support_material_angle = 0
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = pillars
support_material_spacing = 2.5
support_material_speed = 7
support_material_threshold = 0
temperature = 30
thin_walls = 1
threads = 2
toolchange_gcode = 
top_infill_extrusion_width = 0
top_solid_infill_speed = 10
top_solid_layers = 3
travel_speed = 130
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
vibration_limit = 0
wipe = 0
xy_size_compensation = 0
z_offset = 0

##TESTING DISCOV3RY

Print! Using the LCD, select “print” then choose the file to be printed.

##FINAL PICTURES

[Img Gallery] Successful prints – test prints or otherwise.
[Img] Printer and Discov3ry integrated together

##LINKS


World Nutella Day 2016
About the Ultimaker category
Ultimaker Original Plus + Discov3ry Integration Wiki & Discussion Thread
#2

#3

So right now I have an Ultimaker 2 with a Discov3ry Extruder and a regular heated extruder working on the same machine. However I need to set the feedrates at different speeds, because if i put M92 E15000 into the G-code it will set that feedrate for both extruders, which is problematic for the heated extruder. Does anyone know how to set individual feedrates for each extruder?


#4

You just specify the T parameter for the M92 command, T0 being extruder nr1 and T1 being extruder nr2…

M92 E15000 T1

#5

Does someone have step-by-step instructions to setup the Discov3ry Paste extruder to an Ultimaker 2 3D Printer using Repetier host? I am unable to manually control the motors after entering the command M92 E(10000) which i believe should have allowed the motors to spin at a faster rate compared to the default. If you are able to send screenshots of the process that would be much appreciated.


#6

Update: Ok I managed to get the motor on the Discov3ry Extruder to turn at the custom speed, but now how am I able to get it to print while using the Ultimaker 2? Whenever i try to print an object sliced with Slic3r it still ends up waiting to heat the extruder head even after entering the code M302 to disable heating of the head.


#7

Try setting your temperature settings in Slic3r to zero, then reslice and see how that goes.


#8

On occasion, when I didn’t chance settings in the g-code, I would go into the menus on the Ultimaker 2 and set the temperature of the build plate & print head below the ambient temperature.


#9

Hello!

We recently received our UM2 printer along with the Discov3ry. I have finally gotten my hands on some DAP Silicone Plus and want to start printing with the extruder however, I am having quite a few issues with it - sorry, 3D printing beginner.

  1. I have tried to integrate the extruder following the pamphlet as best as I can with the printer. Nevertheless, I cannot get the wrench back into it’s proper insertion point within the extruder. Also, I was not given a gcode to push the silicone up so, when I tried to go print, the silicone would not even move up the tube let alone come out.
  2. After e-mailing someone at structur3D, I was told that the ideal speed is about 10 mm/s with a layer height of 0.2mm for this type of silicone. I put this into the Cura software for a model but, why do the nozzle and bed for the UM2 still heat up if I am now using the Discov3ry?
  3. I followed all the instructions with the bed plate settings and my green tip broke because it was being smashed into the glass. It was properly secured into the second nozzle point so, should I just try to reset this or does something seem off?

If someone could please get back to me in regards to all this, I would greatly appreciate! Thank you!

(PS - you may see this post on another forum category because I’m not sure exactly what topic all this would fall under - sorry about that!)


#10
  1. Does the video in Mounting the Tip address your issue? Also, I have been seeing some problems with the extrude gcode we have shared. I will try to analyze this soon.
  2. See the Cura section above.
  3. Now addressed in Bed Levelling.

#12

Hmmm. I too I have been having trouble with manual control using Repetier with our Felix 3.0. My solution for now is Prontrface. If I remember correctly it will work with UM2.


#13

Hi all,

I just wired up my Discov3ry to my Ultimaker 2 using the conventional wiring standards (black to black, blue to blue, etc.). I am using Cura for my slicing software and am trying to load my gcode via the SD card (the printer is not connected to a computer at the moment). Using the gcode output from Cura, I do not see any movement from the Discov3ry at all. I don’t know what I am doing wrong (and am new to the whole 3D printing thing).

Does anyone have any advice on how I should edit my gcode to get it to run on my UM2? Or should I just break down and connect a Repetier-Host to my printer?

Many thanks.


#14

Nevermind, I’m an idiot. Turns out that I missed appending some of the code when I initially edited my G-code.

The additional coding I added was the following:

At the start of the file, before the ;TYPE:SKIRT:
M302 ;Allow cold extrusion
M92 E10000 ;Increases extruder steps (required to turn Discov3ry)
M500 ;Store new temporary M92 settings
M501 ;Set temporary parameters to current M92 settings

At the end of the file, just before the M25 command:
M502 ;restore printer to default M92 settings


#15

Fantastic! Glad you got it figured out, and thank you for sharing with the community!


#16

Hi,

I am also trying to get the Discov3ry to work with an U2.

Can you please share what else you changed in Cura to get it working? Huge thanks in advance!


#17

I didn’t change anything in Cura to get it working, rather I did some modifications to the output file after using Cura. Note I have not gotten the file to restore the original steper settings properly yet. I thought that M502 would suffice but it does not.

I also tried
M502\nM501
But that also does not work.

I suspect that
M502\nM500\nM501
Will do the trick but have not tested it yet though.


#18

Not sure if this is of help, but here is our rudimentary guide to connecting the Discov3ry to the U2

http://www.structur3d.io/how-to-connect-to-an-ultimaker-2

It looks like someone also answered the Cura modification questions.

Best


#19

Thanks! Do you which command to use to put the new stepper motor into idle mode so it can be turned by hand?


#20

@Peter_Parnes The command you are looking for might be this one here. M84 - stop idle hold. You can also shut off the unit to turn the lead screw safely. All you need to do is take out the Allen Key and turn the leadscrew from the bottom.

Hope this helps!


#21

Hello,
I have the same problem with my Ultimaker 2, I followed the tutorial here: http://www.structur3d.io/how-to-connect-to-an-ultimaker-2 and I modified the GCode following the instructions here Connecting the Discov3ry Extruder to an Ultimaker 2
Basically I modified the line star_gcode and it looks like this:

; start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\nM302\nM92 E10000\nM500\nM501\nG1 E100

I set the temperature at 0 on Slic3r too.

The discov3ry is not moving at all and I do not hear the motor.
Did I miss something in the process?

Thank you for helping me.