I’ve had my 3d Printer for some time now, considering the hotend sits at around 250 degrees Celsius I’m hesitant to leave the house while its printing. I had an extra RasPi laying around so I figured I would put it to good use.
A few things will be needed:
– RasPi with OctoPi image installed:
– Compatible Wifi dongle if you dont have Ethernet within reach (Edimax_EW-7811Un is what I use)
– A powered usb hub, the RasPi only supports 100ma per port, we will need more power than that so a powered up is recommend for stable use.
Im not going to go into how to set it up from scratch in this post, Ill save that for a later time. Lets focus on the adjustments we need to make for OctoPrint to work with an Ultimaker. Considering you have an Ultimaker you are most likely using Cura, if you are using Cura you are most likely using Ultigcode which is a flavor of gcode. Unfortunately OctoPrint does not support Ultigcode, but it does support Marlin gcode. In Cura go to: Machine -> Machine Settings. Under GCode Flavor change this to “RepRap (Marlin/Sprinter). You will notice a handful of new options appear.
Under the “Basic” tab, change your Print Temp and Bed Temp to zero. I choose to set this within the start gcode rather than have Cura insert it. Set your filament diameter to 2.85 and flow to 100%. All other settings should have moved over automatically but it might be a good idea to double check.
You will notice that by default the printer doesnt really do what its supposed to do if you try a print right now. We basically need to alter what the slicer adds for start up and shut down, to fix this go to the “Start/End-GCode” Tab, you will see two files. Click “Start.gcode” and enter the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
;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} G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 ;Home all G1 F12000 X5 Y10 ;move hotend to front left M190 S70 ;add your own bed temperature line M109 S245 ;add your own temperature line G1 Z15.0 F{travel_speed} ;move the platform down 15mm G92 E0 ;zero the extruded length G1 F200 E5 ;extrude 5mm of feed stock FAST G1 F50 E15 ;extrude 15mm of feed stock SLOW G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing... |
Next click on “end.gcode” and enter the following:
1 2 3 4 5 6 7 8 9 10 |
;End GCode M104 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string} |
The code is commented to explain what each command does, i’ve done my best to duplicate exactly what Cura does with Ultigcode enabled. You can tune this to your liking as needed. Notice commands M190 and M109, this is where the hotend and bed temps are set.
In a future post I will talk about some of the tweaks I made, as well as streaming a live feed of your printer remotely.
Hope this helps!