OK, I was summoned this time, nobody gets to complain…
What Ryan was unaware of when he switched forum software, years ago, was that the new software came with an undocumented “feature”:
OK, I was summoned this time, nobody gets to complain…
What Ryan was unaware of when he switched forum software, years ago, was that the new software came with an undocumented “feature”:
Got a pile of parts in the mail today! Manta M8P with 2209 drivers, CB1 and heat sink, BL Touch, BTT EBB36 Can Bus tool head and my aluminum for my bed.
Also wanted to show the starting point for my Hemera to H2 adapter.
It will require some heat set inserts but I could make it with nut recesses to aleviate that.
Waiting for new parts to print and couldnt resist playing with the electronics.
I am planning on running Klipper on this. I figured that a good start for the configs would be the Voron Trident as it uses the same three point leveling.
The Manta M8P is supposed to support CAN bus operations onboard. The documentation is severely lacking but it looks like I can set the board up as a USB to CAN bridge and it will work. It changes communication within Klipper to CAN vs serial and enables the onboard CAN headers. I will be using the EBB36 as the toolhead board which seems to be well documented.
Wish me luck!
I have pretty much the same setup, Manta M8P V1.0 (No CAN) U2C and EBB42 and the H2.
I redesign the extruder carrier to accommodate the H2, and design a fan mount (2 -5015 fans) that also holds the EBB42.
I looks like we went close to the same way for the mount design!
Would you be interested in sharing your config files for Klipper?
HAHAHA I leave them all over the house for my wife to find
Yes of course, give me couple min and I will share it.
Here it is.
printer.cfg.zip (4.8 KB)
# This file contains common pin mappings for the BIGTREETECH Manta M8P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# See docs/Config_Reference.md for a description of parameters.
[virtual_sdcard]
path: /home/biqu/printer_data/gcodes
[display_status]
[pause_resume]
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_210036000C504B4633373520-if00
[mcu EBBCan]
canbus_uuid: 716f2d3151ab #c26bdd8865fb
########################################
# STEPPERS
#######################################
[stepper_x]
step_pin: PE2
dir_pin: !PB4 #add ! to invert motor
enable_pin: !PC11
microsteps: 16
rotation_distance: 32
endstop_pin: EBBCan: PB6 #^PF3
position_endstop: 0
position_max: 300
homing_speed: 50
[stepper_y]
step_pin: PF12
dir_pin: !PF11 # add ! to invert motor
enable_pin: !PB3 #Remove !
microsteps: 16
rotation_distance: 32
endstop_pin: ^PF4
position_endstop: 0
position_max: 300
homing_speed: 50
[stepper_z]
step_pin: PD7
dir_pin: PD6
enable_pin: !PF10
microsteps: 16
rotation_distance: 32
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0
position_max: 285
position_min: -5.0
homing_speed: 30
second_homing_speed: 3
homing_retract_dist: 15
[stepper_z1]
step_pin: PD3
dir_pin: PD2
enable_pin: !PD5
microsteps: 16
rotation_distance: 32
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0
[stepper_z2]
step_pin: PC9
dir_pin: !PC8
enable_pin: !PD1
microsteps: 16
rotation_distance: 32
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0
########################################
# EXTRUDER
#######################################
[extruder]
step_pin: EBBCan: PD0
dir_pin: !EBBCan: PD1
enable_pin: !EBBCan: PD2
microsteps: 16
rotation_distance: 3.484 #3.433
#gear_ratio: 7:1
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: EBBCan: PB13 #PA2 V1.1
sensor_type: Generic 3950 #EPCOS 100K B57560G104F
sensor_pin: EBBCan: PA3
#control: pid
#pid_Kp: 21.527
#pid_Ki: 1.063
#pid_Kd: 108.982
min_temp: 0
max_temp: 270
pressure_advance = 0.019
[heater_bed]
heater_pin: PB7
sensor_pin: PA0 # TB
sensor_type: EPCOS 100K B57560G104F #ATC Semitec 104GT-2
#control: watermark
min_temp: 0
max_temp: 130
########################################
# FAN
#######################################
[fan]
pin: EBBCan: PA0
[heater_fan hotend_fan]
pin: EBBCan: PA1
heater: extruder
heater_temp: 50.0
kick_start_time: 2
########################################
# PRINTER
#######################################
[printer]
kinematics: corexy
max_velocity: 800
max_accel: 10000 #4000
max_accel_to_decel: 10000 #4000
max_z_velocity: 100
max_z_accel: 200
square_corner_velocity: 5.0 #4.5
[input_shaper]
shaper_freq_x: 75.8
shaper_type_x: mzv
shaper_freq_y: 75.8
shaper_type_y: mzv
[adxl345]
cs_pin: EBBCan: PB12
spi_software_sclk_pin: EBBCan: PB10
spi_software_mosi_pin: EBBCan: PB11
spi_software_miso_pin: EBBCan: PB2
axes_map: x,y,z
[resonance_tester]
accel_chip: adxl345
probe_points: 150, 150, 30
[bltouch]
sensor_pin: ^EBBCan: PB8
control_pin: EBBCan: PB9
x_offset: 0
y_offset: -25
#z_offset: 3.35
speed: 7.5
samples: 2
sample_retract_dist: 10.0
stow_on_each_sample: False
probe_with_touch_mode: True
[safe_z_home]
home_xy_position: 150,150
speed: 50
[z_tilt]
z_positions:
0, 50
160, 300
200, 50
#center_Y186
points:
0, 50
160, 300
300, 50
speed: 150
horizontal_move_z: 10
retries: 10
retry_tolerance: 0.005
[bed_screws]
screw1: 30, 0
screw2: 30, 270
screw3: 280, 270
screw4: 280, 0
########################################
# FIRMWARE RETRACTION
########################################
[firmware_retraction]
retract_length: 0.2
retract_speed: 20
########################################
# BED MESH
########################################
[bed_mesh]
speed: 80
horizontal_move_z: 8
mesh_min: 12, 0
mesh_max: 298,273
probe_count: 5,5
algorithm: bicubic #lagrange
mesh_pps: 4, 4 #1, 1
bicubic_tension: .5 #.5
move_check_distance: 5 #10
split_delta_z: .025
fade_start: 1
fade_end: 10
fade_target: 0
########################################
# TMC2209 configuration
########################################
[tmc2209 stepper_x]
uart_pin: PC10
run_current: 1.0 #0.800
#hold_current: 0.600
interpolate: False
#stealthchop_threshold: 999999
[tmc2209 stepper_y]
uart_pin: PF13
run_current: 1.0 #0.800
#hold_current: 0.600
interpolate: False
#stealthchop_threshold: 999999
[tmc2209 stepper_z]
uart_pin: PF9
run_current: 0.60000
#hold_current: 0.500
interpolate: False
#stealthchop_threshold: 999999
[tmc2209 extruder]
uart_pin: EBBCan: PA15
run_current: 0.800
#stealthchop_threshold: 999999
[tmc2209 stepper_z1] # was z1
uart_pin: PD4
run_current: 0.600
#hold_current: 0.500
interpolate: False
#stealthchop_threshold: 999999
[tmc2209 stepper_z2] # was z2
uart_pin: PD0
run_current: 0.600
#hold_current: 0.500
interpolate: False
#stealthchop_threshold: 999999
########################################
# BOARD PINS
#######################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE9, EXP1_2=PE10,
EXP1_3=PE11, EXP1_4=PE12,
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
EXP1_7=PE15, EXP1_8=PB10,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_2=PB13,
EXP2_3=PF7, EXP2_4=PB12,
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
EXP2_7=PE8, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PC5
# See the sample-lcd.cfg file for definitions of common LCD displays.
#############################
# MACROS
#############################
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
PAUSE_BASE
_TOOLHEAD_PARK_PAUSE_CANCEL
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro #####
{% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
RESUME_BASE {get_params}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
variable_park: True
gcode:
## Move head and retract only if not already in the pause state and park set to true
{% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%}
_TOOLHEAD_PARK_PAUSE_CANCEL
{% endif %}
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_extrude: 1.0
gcode:
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
{% set z_park_delta = 2.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - z_park_delta) %}
{% set z_safe = z_park_delta %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E-{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
########################################
# Bed Leveling
########################################
[gcode_macro BED_LEVEL]
gcode:
G28 X Y
G28 Z F9000
Z_TILT_ADJUST
######################################
# Start GCode
######################################
[gcode_macro START_PRINT]
gcode:
#Get Bed and Extruder temperature from Slicer GCode
#{% set BED_TEMP = params.BED_TEMP| default|}
#{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP| defaut|}
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(205)|float %}
#Preheat nozzle and bed
M104 S{EXTRUDER_TEMP} T0
M140 S{BED_TEMP}
# Use absolute coordinates
G90
#Home
G28 X Y
G28 Z F4800
Z_TILT_ADJUST #[<probe_parameter>=<value>]
#Use defaut bed mesh
BED_MESH_PROFILE LOAD=default
#Heat nozzle and bed
M190 S{BED_TEMP}
M109 S{EXTRUDER_TEMP} T0
#Precondition extruder
G92 E0
G1 Z2.0 F600
G1 Z0.2 F600
G1 Z2.0 F600
#Prime line
PRIME_LINE
M117 Printing...
######################################
# Prime line
######################################
[gcode_macro PRIME_LINE]
gcode:
M117 Prime Line
G92 E0 ;Reset Extruder
# move z axis
G1 Z3.6 F3000 ;Move Z Axis up
# move to prime position
G1 X5 Y85 Z2 F5000.0 ;Move to start position
G1 X5 Y200.0 Z0.35 F1500.0 E15 ;Draw the first line
G1 X7 Y200.0 Z0.35 F5000.0 ;Move to side a little
G1 X7 Y85 Z0.35 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z4.0 F3000 ;Move Z Axis up
######################################
# load filament
######################################
[gcode_macro M701]
gcode:
SAVE_GCODE_STATE NAME=loading_filament
M117 Loading Filament
M83
G92 E0.0
LOW_TEMP_CHECK
G1 E50 F6000 # length of bowden tube till cold-end (~420mm)
G1 E50 F200 # some extra to prime the nozzle --> slower
G92 E0.0
RESTORE_GCODE_STATE NAME=loading_filament
######################################
# unload filament
######################################
[gcode_macro M702]
gcode:
SAVE_GCODE_STATE NAME=unloading_filament
M125 # park
M117 Unloading Filament
LOW_TEMP_CHECK
G91 # set relative
G1 E10 F100
G92 E0.0
G1 E-50 F6000 # the E is the length of the bowden tube (420mm) + 100 mm.
G92 E0.0
RESTORE_GCODE_STATE NAME=unloading_filament
######################################
# filament change
######################################
[gcode_macro M600]
gcode:
M117 Filament Change
M118 Filament Change
SAVE_GCODE_STATE NAME=filament_change
PAUSE
LOW_TEMP_CHECK
G91 # relative
G1 E-1 F300 # retract 1
M125 # park
M702 # unload
M117 New filament
M118 New filament
COUNTDOWN TIME=25 MSG="Switch"
M701
COUNTDOWN TIME=10 MSG="Clean"
RESUME
M117 Resuming
M118 Resuming
RESTORE_GCODE_STATE NAME=filament_change
M117 Printing..
M118 Printing..
#######################################
# COUNTDOWN MACRO
#######################################
[gcode_macro COUNTDOWN]
gcode:
{% set MSG = params.MSG|default("Time: ") %}
{% set TIME = params.TIME|default(10) %}
# countdown
{% for s in range(TIME|int, 0, -1) %}
# dwell 1 second
G4 P1000
# echo
M117 {params.MSG} {s}s
M118 {params.MSG} {s}s
{% endfor %}
######################################
# End Gcode
######################################
[gcode_macro END_PRINT]
gcode:
# Turn off bed, extruder, and fan
M140 S0
M104 S0
M106 S0
# Move nozzle away from print while retracting
G91
G1 E-3
# Raise nozzle by 10mm
G1 Z10 F3000
G90
G1 X298 Y298 Z284 F7000
G1 E-1 F100
#G1 X-2 Y-2 E-3 F300
# Disable steppers
M84
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.028709, 0.173709, 0.173709, 0.118709, -0.006291
#*# -0.076291, 0.043709, 0.123709, 0.043709, -0.026291
#*# -0.136291, -0.026291, -0.006291, -0.101291, -0.131291
#*# -0.146291, -0.041291, -0.011291, -0.091291, -0.196291
#*# -0.246291, -0.066291, -0.051291, -0.146291, -0.196291
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 4
#*# mesh_y_pps = 4
#*# algo = bicubic
#*# tension = 0.5
#*# min_x = 12.0
#*# max_x = 298.0
#*# min_y = 0.0
#*# max_y = 273.0
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 17.614
#*# pid_ki = 0.599
#*# pid_kd = 129.462
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 62.610
#*# pid_ki = 6.049
#*# pid_kd = 162.003
#*#
#*# [bltouch]
#*# z_offset = 1.000
Cheers for all the info sharing! Hoping to use yours/someone’s adaptors and/or carriage mods if that’s ok.
Sounds like @probrwr has BiQU H2S Revo and @gpagnozzi is using BIQU H2 V2.0?
BIQU H2 V2.0
BIQU H2 V2S REVO Manual
That is right, H2 V2.0, and the M8P V1.0 at the same time, months ago…
And yes, I will share my files once the printer is working.
I do have the REVO. As soon as i have all the bugs ironed out of the mount I will share it with you.
I used the fan shroud from another user on here. It came from @InoxDragoon from the repeat H2 Build thread. I tried the BLTouch mount but it would have interfered with the Homing so I designed one that sandwiches between the fan and heat sink. The fan mount one will work great on my Ender3 with H@ if I decide to add a BL Touch.
Working on an alternate option for bed mounting on my machine.
I made brackets for the ends that overhang the z trucks and are pinned down by springs like the standard bed to allow movement. The holes are close fit and then filleted over from the top so they give some flex space.
I plan to mount the bed on silicone deb spacers using tnuts into the extrusion.
NICE! That was actually my original plan!
Hey where did you get your 12 x 12 by quarter inch thick aluminum plate? And how much did you have to pay for it?
Appreciate this question, curious too.
Bought Alu for my LR3 XZ plates from https://www.amazon.com/gp/product/B095HBG4YF/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1, my other option was local metalsupermarkets.com
SEUNMUK 1 PCS 12 x 12 Inches… https://www.amazon.com/dp/B096W1L1WX?ref=ppx_pop_mob_ap_share
This is the bed. I expect it is not as good as a full MIC-6 plate but i am pretty impressed with the finish on this piece.
One did get lost in shipping on the way. USPS for the win.