SV08 Beacon/Cartographer Install Guide

This is a written guide only. Printables requires an stl to publish do not download the file.
36
34
0
2249
updated January 24, 2025

Description

PDF

EDIT 10/24: Added cartographer instructions and noted specific changes compared to beacon

This is only an installation guide. if you need a mount this is the one i used by PropFortress: https://www.printables.com/model/970499-sv08-beacon3d-rev-h-mount

This guide will be referencing the official beacon3d documentation. We will be configuring beacon contact, but if you want to just use proximity and saved z offset refer to step 7 at the very end. I'm not responsible for any damage this causes and please double check each step by referencing the official documentation.

Please keep these open in another tab as the guide references specific steps

https://docs.beacon3d.com/quickstart/

https://docs.beacon3d.com/contact/

 

Cartographer Docs: https://docs.cartographer3d.com/cartographer-probe/installation-and-setup (this will take you to the survey setup which taps to set auto z offset)

To get your device ID, SSH into the printer and run the following command: ls /dev/serial/by-id/*

Install guide:

  1. After mounting and plugging beacon into the usb on the side of the printer, complete steps 3 and 4 in the quickstart guide.
  2. Use winscp or another ftp program to hide the default sovol scripts by navigating to /klipper/klippy/extras and creating a new hidden folder called .sovol (include the . it's what makes the folder hidden)
    • put the z_offset_calibration.py and probe_pressure.py into the newly created hidden folder
  3.  Update your printer.cfg by commenting out the following
  • [safe_z_home] (we define this in the beacon section) 
    • *If using Cartographer probe you need to keep this in your config*
      • [safe_z_home]
        home_xy_position: 175,175
        # Example home_xy_position: 175,175 - This would be for a 350 * 350mm bed. 
        z_hop: 10
  • [probe]
  • [probe_pressure]
  • [homing_override]
  • [z_offset_calibration]
  • [adxl345] & accel_chip:adxl if you want to use beacon for accelerometer (rev. H only)
  1. Add the following to your printer.cfg. This is what i use for my sv08. please double check it before adding it to yours. 
  • Beacon
    • [beacon]
      serial: /dev/serial/by-id/usb-Beacon_Beacon_RevH_[replace with your own device id]-if00
      x_offset: 9 # update with offset from nozzle on your machine
      y_offset: 9 # update with offset from nozzle on your machine
      mesh_main_direction: x
      mesh_runs: 2
      contact_max_hotend_temperature: 280 # increase to probe at print temps
      home_xy_position: 175, 175 # update with your safe position
      home_z_hop: 5
      home_z_hop_speed: 30
      home_xy_move_speed: 300
      home_method: proximity # use proximity for induction homing
      home_method_when_homed: proximity # after initial calibration use induction
      home_autocalibrate: never #unhomed # contact will calibrate beacon on first home
  • Cartographer
    • [scanner]
      canbus_uuid: 820903c975bb            
      x_offset: 9.0                          
      y_offset: 9.0                        
      backlash_comp: 0.01984
      calibration_method: touch
      sensor: cartographer
      sensor_alt: carto
      mesh_runs: 2
    • [stepper_z]
      endstop_pin: probe:z_virtual_endstop # uses cartographer as virtual endstop
      homing_retract_dist: 0 # cartographer needs this to be set to 0
  • [quad_gantry_level]          
    gantry_corners:              
       -60,-10
       410,420
    points:
       50,29
       50,279
       300,279
       300,29
    speed: 300                   
    horizontal_move_z: 10       
    retry_tolerance: 0.0075      
    retries: 7                  
    max_adjust: 10
  • [bed_mesh]
    speed: 300                   
    horizontal_move_z: 5         
    #mesh_min: 40,44
    #mesh_max: 310,314 
    mesh_min: 15,15
    mesh_max: 320,320         
    probe_count: 30,30           
    algorithm: bicubic   
    bicubic_tension: 0.4
    split_delta_z: 0.016
    mesh_pps:3,3
    adaptive_margin: 5
    fade_start: 0
    fade_end: 10
    fade_target: 0
    zero_reference_position: 175, 175
  • Change Accelerometer for input shaping to cartographer/beacon 
    • BEACON
      • [resonance_tester]
        accel_chip: beacon
        probe_points: 175, 175, 30
    • CARTOGRAPHER
      • [adxl345]
        cs_pin: scanner:PA3
        spi_bus: spi1
      • [resonance_tester]
        accel_chip: adxl345
        probe_points:
          125, 125, 20
  1. Next we will need to update our print start macro in sovol-macros.cfg. I am using the better start print macro by jontek2: https://github.com/jontek2/A-better-print_start-macro and have incorporated the beacon contact workflow. I also have KAMP installed and am using the line purge from KAMP. if you do not have KAMP you can install it from here: https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging if you don't want to use KAMP you can remove the line_purge part and uncomment the purge line that's commented out. 
quad_gantry_level               # Levels the buildplate via QGL
G28 Z                           # Homes Z again after QGL
# Heating nozzle to 150 degrees. This helps with getting a correct Z-home
SET_DISPLAY_TEXT MSG="Hotend: 145c"          # Displays info
M109 S145                                    # Heats the nozzle to 145c
[gcode_macro PRINT_START]
gcode:
  # This part fetches data from your slicer. Such as bed temp, extruder temp, chamber temp and size of your printer.
  {% set target_bed = params.BED|int %}
  {% set target_extruder = params.EXTRUDER|int %}
 #{% set target_chamber = params.CHAMBER|default("40")|int %}
  {% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %}
  {% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %}

  # Homes the printer, sets absolute positioning and updates the Stealthburner leds.
  #STATUS_HOMING         # Sets SB-leds to homing-mode
  G28                   # Full home (XYZ)
  G90                   # Absolut position

  ##  Uncomment for bed mesh (1 of 2)
  BED_MESH_CLEAR       # Clears old saved bed mesh (if any)

  # Checks if the bed temp is higher than 90c - if so then trigger a heatsoak.
  {% if params.BED|int > 90 %}
    SET_DISPLAY_TEXT MSG="Bed: {target_bed}c"           # Displays info
    #STATUS_HEATING                                      # Sets SB-leds to heating-mode
    M106 S255                                           # Turns on the PT-fan

    ##  Uncomment if you have a Nevermore.
    #SET_PIN PIN=nevermore VALUE=1                      # Turns on the nevermore

    G1 X{x_wait} Y{y_wait} Z15 F9000                    # Goes to center of the bed
    M190 S{target_bed}                                  # Sets the target temp for the bed
    #SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c"  # Displays info
    #TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber}   # Waits for chamber to reach desired temp

  # If the bed temp is not over 90c, then it skips the heatsoak and just heats up to set temp with a 5min soak
  {% else %}
    SET_DISPLAY_TEXT MSG="Bed: {target_bed}c"           # Displays info
    STATUS_HEATING                                      # Sets SB-leds to heating-mode
    G1 X{x_wait} Y{y_wait} Z15 F9000                    # Goes to center of the bed
    M190 S{target_bed}                                  # Sets the target temp for the bed
    SET_DISPLAY_TEXT MSG="Soak for 5min"                # Displays info
    G4 P300000                                          # Waits 5 min for the bedtemp to stabilize
  {% endif %}

  # Heating nozzle to 150 degrees. This helps with getting a correct Z-home
  SET_DISPLAY_TEXT MSG="Hotend: 150c"          # Displays info
  M109 S150                                    # Heats the nozzle to 150c
  CLEAN_NOZZLE
  G28 Z METHOD=CONTACT CALIBRATE=1

  ##  Uncomment for Trident (Z_TILT_ADJUST)
  #SET_DISPLAY_TEXT MSG="Z-tilt adjust"     # Displays info
  #STATUS_LEVELING                          # Sets SB-leds to leveling-mode
  #Z_TILT_ADJUST                            # Levels the buildplate via z_tilt_adjust
  #G28 Z                                    # Homes Z again after z_tilt_adjust

  ##  Uncomment for V2 (Quad gantry level AKA QGL)
  SET_DISPLAY_TEXT MSG="QGL"      # Displays info
  #STATUS_LEVELING                 # Sets SB-leds to leveling-mode
  quad_gantry_level               # Levels the buildplate via QGL
  G28 Z                           # Homes Z again after QGL

  ##  Uncomment for Klicky auto-z
  #CALIBRATE_Z                                 # Calibrates Z-offset with klicky
  #SET_DISPLAY_TEXT MSG="Z-offset"             # Displays info

  ##  Uncomment for bed mesh (2 of 2)
  SET_DISPLAY_TEXT MSG="Bed mesh"    # Displays info
  #STATUS_MESHING                     # Sets SB-leds to bed mesh-mode
  bed_mesh_calibrate   adaptive=1          # Starts bed mesh

  # Heats up the nozzle up to target via data from slicer
  SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c"             # Displays info
  #STATUS_HEATING                                                # Sets SB-leds to heating-mode
  G1 X{x_wait} Y{y_wait} Z15 F9000                              # Goes to center of the bed
  M107                                                          # Turns off partcooling fan
  M109 S{target_extruder}                                       # Heats the nozzle to printing temp
  SET_GCODE_OFFSET Z=0.08     ; add a little offset for hotend thermal expansion
  # Gets ready to print by doing a purge line and updating the SB-leds
  SET_DISPLAY_TEXT MSG="Printer goes brr"          # Displays info
  #STATUS_PRINTING                                  # Sets SB-leds to printing-mode
  G0 X{x_wait - 50} Y4 F10000                      # Moves to starting point
  G0 Z0.4                                          # Raises Z to 0.4
  G91                                              # Incremental positioning 
  LINE_PURGE  #G1 X100 E20 F1000                                # Purge line
  G90                                              # Absolut position

     7. Now you're ready to start printing! with the current configuration it creates a new z offset at printing temp. If you want to use the beacon_auto_calibrate and save the mesh. comment out the below lines in the print_start macro. If doing this, make sure to run beacon_auto_calibrate at printing tempratures.

  •  CLEAN_NOZZLE
     G28 Z METHOD=CONTACT CALIBRATE=1

Tags



Model origin

The author marked this model as their own original creation.

License