How to setup Bi-Linear leveling for Pulse

NOTE:  These setup instructions are meant for informational purposes only, and must be carefully followed to avoid causing damage to your Pulse.  By performing the following steps, you are proceeding at your own risk. MatterHackers is not liable for any damages that may occur.
Early-model E-Series Pulse printers were configured with UBL (Unified Bed Leveling) enabled in the Marlin firmware.  Later-model E-Series Pulse printers were configured with standard Bi-Linear leveling enabled. If your Pulse is configured with UBL, see  this guide.

If you wish to set up multiple Pulse printers to share a single printer profile, or use your Pulse with a third-party slicer, please follow this guide to configure this firmware feature. If opting for this approach, you will need to disable the software leveling within MatterControl, since this will now be controlled via the printer firmware. To do this, please perform the following:

Preparation:

In MatterControl:

  • Navigate to Printer > Features > Probe > Probe Offset and record the Z value.
  • IMPORTANT: Navigate to Printer > Hardware > Has Hardware Leveling and enable it.  This will disable software leveling in MatterControl if you plan to continue using this slicer.

Z Offset Configuration:

Connect your Pulse to MatterControl and navigate to the Terminal tab, then enter the following commands in the input field at the bottom of the tab:
Enter each command individually; do not type anything following the semicolon.
M503        ; This will view your current EEPROM settings

M851 Z{recorded offset value}  ; This will adjust the Z offset; enter the Z offset value that you recorded earlier (example: M851 Z-1.34)

M500        ; Save configuration

Gcode Setup:

Bi-Linear leveling will allow you to print from third-party slicers which do not store, nor apply any leveling data (such as Cura or PrusaSlicer). You will need to setup the proper Printer Settings, Start and End Gcode for each, respectively.  Below are the general Printer Settings that you will need to configure a custom profile in your new slicer.

X(Width): 250.0mm
Y(Depth): 220.0mm
Z(Height):  215.0mm

Origin: X0, Y0
Nozzle Size: 0.40mm
Material Diameter: 1.75mm

Heated Bed: Yes
Build Plate Shape: Rectangular
G-code Flavor: Marlin
Note: The following Gcode does not distinguish between different removeable build surfaces. If switching between build surfaces (ie. BuildTak > Powder-coated PEI) you will need to reconfigure your Z Offset.

For Cura, the Start Gcode should resemble something like this:

G28 ; Home all axes
G29 ; Run firmware leveling
M190 S{material_bed_temperature_layer_0} ; Wait for bed temp
M109 S{material_print_temperature_layer_0} ; Wait for nozzle temp

G92 E0 ; Reset extruder
G1 X5 Y5 Z0.8 F4800 ; Move to X5 Y5 Z0.8
G1 X100 Z0.4 E30 F1000 ; Extrude line while gradually getting closer to bed
G92 E0 ; Reset extruder
G1 E-2 F3600 ; Retract filament

For PrusaSlicer, the Start Gcode should resemble something like this:

G28 ; Home all axes
G29 ; Run firmware leveling
M190 S[first_layer_bed_temperature] ; Wait for bed temp
M109 S[first_layer_temperature] ; Wait for nozzle temp

G92 E0 ; Reset extruder
G1 X5 Y5 Z0.8 F4800 ; Move to X5 Y5 Z0.8
G1 X100 Z0.4 E30 F1000 ; Extrude line while gradually getting closer to bed
G92 E0 ; Reset extruder
G1 E-2 F3600 ; Retract filament

The End Gcode should resemble something like this for most slicers:

G91  ; Set relative positioning
G1 E-2 F2400  ; Retract filament
G1 Z5  ; Move nozzle up
G90  ; Set absolute positioning
G0 X5 Y215 F3000  ; Move to the back
G28 Z0  ; Home Z axis

M104 S0  ; Turn off nozzle temp
M140 S0  ; Turn off bed temp
M107  ; Turn off fan
M84  ; Disable motors

Still need help? Contact Us Contact Us