commit 3be3086e6415112680990bc41640bae128aa4ba7 Author: Nick Date: Sat Feb 15 10:39:18 2025 -0800 Autocommit from 2025-02-15 10:39:18 Klipper version: v0.12.0-432-gfec3e685c Moonraker version: v0.9.3-36-g1117890 Mainsail version: v2.13.2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab01e66 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +saved_variables.cfg +adx1_results/belts/*.csv +adx1_results/vibrations/*.tar.gz diff --git a/.moonraker.conf.bkp b/.moonraker.conf.bkp new file mode 100644 index 0000000..6413a3c --- /dev/null +++ b/.moonraker.conf.bkp @@ -0,0 +1,68 @@ +[server] +host = 0.0.0.0 +port = 7125 +klippy_uds_address = /home/nixolas/printer_data/comms/klippy.sock + +[authorization] +trusted_clients = + 10.0.0.0/16 + 10.0.0.0/8 + 100.64.0.0/24 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 +cors_domains = + *.lan + *.local + *.nickiel.net + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel = dev +refresh_interval = 168 + +[update_manager mainsail-config] +type = git_repo +primary_branch = master +path = ~/mainsail-config +origin = https://github.com/mainsail-crew/mainsail-config.git +managed_services = klipper + +[update_manager mainsail] +type = web +channel = stable +repo = mainsail-crew/mainsail +path = ~/mainsail + +[update_manager crowsnest] +type = git_repo +path = ~/crowsnest +origin = https://github.com/mainsail-crew/crowsnest.git +managed_services = crowsnest +install_script = tools/pkglist.sh + +[update_manager octoapp] +type = git_repo +channel = beta +path = /home/nixolas/octoapp +origin = https://github.com/crysxd/OctoApp-Plugin.git +env = /home/nixolas/octoapp-env/bin/python +requirements = requirements.txt +install_script = install.sh +managed_services = + octoapp + +[announcements] +subscriptions = + octoapp. + diff --git a/.theme b/.theme new file mode 160000 index 0000000..bf97e2d --- /dev/null +++ b/.theme @@ -0,0 +1 @@ +Subproject commit bf97e2d38853675fc6def4dff5d19accce980dc5 diff --git a/README.md b/README.md new file mode 100644 index 0000000..5b7e3c5 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ + +Install Raspbian lite on the raspberry pi. Boot and login, and install `git`. + +### Install klipper on the pi +Visit (kiauh)[https://github.com/dw-0/kiauh] and then run the `.sh` file at `./kiauh/kiauh.sh` and go through the menus. Don't use an experiemental version, and install everything. + +Go through the installation steps for everything, setting up one printer. Make sure to add tailscale to the list of trusted ip addresses at `~/printer_data/config/moonraker.config`. + +### Get the Klipper firmware file +Git clone the (klippy repo)[https://github.com/Klipper3d/klipper/] + + +Once you have a local klipper git, you want to run `make menuconfig` in the klipper repo. Choose these settings: +```sh +[*] Enable extra low-level configuration options + Micro-controller Architecture (STMicroelectronics STM32) ---> + Processor model (STM32F103) ---> +[ ] Only 10KiB of RAM (for rare stm32f103x6 variant) +[ ] Disable SWD at startup (for GigaDevice stm32f103 clones) + Bootloader offset (28KiB bootloader) ---> + Clock Reference (8 MHz crystal) ---> + Communication interface (Serial (on USART3 PB11/PB10)) ---> +(250000) Baud rate for serial port +(!PC6, !PD13) GPIO pins to set at micro-controller startup +``` + +Then exit while saving, and run `make`. Once that has compiled, you want to run: +`sudo ~/klipper/scripts/update_mks_robin.py ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano43.bin` +(see (here)[https://github.com/JhonasBarchechen/Klipper-Bluer/blob/main/mks%20nano%20firmware%20build%20commands.txt]) +which will make the firmware file for the printer. Now load that onto an SD card, and put that into the printer, and turn the printer on to reflash the firmware. diff --git a/adxlmcu.cfg b/adxlmcu.cfg new file mode 100644 index 0000000..84dac8f --- /dev/null +++ b/adxlmcu.cfg @@ -0,0 +1,17 @@ +[mcu adxl] +serial: /dev/serial/by-id/usb-Anchor_Rampon-if00 + +[adxl345] +cs_pin: adxl:CS + +[resonance_tester] +accel_chip: adxl345 +probe_points: + 150,150,20 +# Edit the above line with the correct probe points location. I recommend the center of your bed for X & Y, 20 for Z. +# For 350 mm printers: 175,175,20 +# For 300 mm printers: 150,150,20 +# For 250 mm printers: 125,125,20 +# For 120 mm printers: 60,60,20 + +# More info: https://www.klipper3d.org/Config_Reference.html#adxl345 diff --git a/autocommit.sh b/autocommit.sh new file mode 100755 index 0000000..34f0b17 --- /dev/null +++ b/autocommit.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +####################################################################### +## NOTE: This script originates from here but I tweaked the pull ## +## command, changed default location for backup, and added a comment ## +## for reference later. ## +####################################################################### + +##################################################################### +### Please set the paths accordingly. In case you don't have all ### +### the listed folders, just keep that line commented out. ### +##################################################################### +### Path to your config folder you want to backup +config_folder=~/printer_data/config + +# NOTE: The above should work for just about everyone, but a somewhat +# recent update to moonraker changed paths, etc. You can run the +# provided moonraker script 'data-path-fix.sh' to fix/update +# older installs + +### Path to your Klipper folder, by default that is '~/klipper' +klipper_folder=~/klipper + +### Path to your Moonraker folder, by default that is '~/moonraker' +moonraker_folder=~/moonraker + +### Path to your Mainsail folder, by default that is '~/mainsail' +mainsail_folder=~/mainsail + +### Path to your Fluidd folder, by default that is '~/fluidd' +#fluidd_folder=~/fluidd + +### The branch of the repository that you want to save your config +### By default that is 'main' +branch=main + +db_file=~/printer_data/database/moonraker-sql.db + +##################################################################### +##################################################################### + + + +##################################################################### +################ !!! DO NOT EDIT BELOW THIS LINE !!! ################ +##################################################################### +grab_version(){ + if [ ! -z "$klipper_folder" ]; then + klipper_commit=$(git -C $klipper_folder describe --always --tags --long | awk '{gsub(/^ +| +$/,"")} {print $0}') + m1="Klipper version: $klipper_commit" + fi + if [ ! -z "$moonraker_folder" ]; then + moonraker_commit=$(git -C $moonraker_folder describe --always --tags --long | awk '{gsub(/^ +| +$/,"")} {print $0}') + m2="Moonraker version: $moonraker_commit" + fi + if [ ! -z "$mainsail_folder" ]; then + mainsail_ver=$(head -n 1 $mainsail_folder/.version) + m3="Mainsail version: $mainsail_ver" + fi + if [ ! -z "$fluidd_folder" ]; then + fluidd_ver=$(head -n 1 $fluidd_folder/.version) + m4="Fluidd version: $fluidd_ver" + fi +} + +# Here we copy the sqlite database for backup +# To RESTORE the database, stop moonraker, then use the following command: +# cp ~/printer_data/config/moonraker-sql.db ~/printer_data/database/ +# Finally, restart moonraker + +if [ -f $db_file ]; then + echo "sqlite based history database found! Copying..." + cp ~/printer_data/database/moonraker-sql.db ~/printer_data/config/ +else + echo "sqlite based history database not found" +fi + +# To fully automate this and not have to deal with auth issues, generate a legacy token on Github +# then update the command below to use the token. Run the command in your base directory and it will +# handle auth. This should just be executed in your shell and not committed to any files or +# Github will revoke the token. =) +# git remote set-url origin https://XXXXXXXXXXX@github.com/EricZimmerman/Voron24Configs.git/ +# Note that that format is for changing things after the repository is in use, vs initially + +push_config(){ + cd $config_folder + git pull origin $branch --no-rebase + git add . + current_date=$(date +"%Y-%m-%d %T") + git commit -m "Autocommit from $current_date" -m "$m1" -m "$m2" -m "$m3" -m "$m4" + git push origin $branch +} + +grab_version +push_config diff --git a/crowsnest.conf b/crowsnest.conf new file mode 100644 index 0000000..7fc9284 --- /dev/null +++ b/crowsnest.conf @@ -0,0 +1,47 @@ +#### crowsnest.conf +#### This is a typical default config. +#### Also used as default in mainsail / MainsailOS +#### See: +#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md +#### for details to configure to your needs. + + +##################################################################### +#### ##### +#### Information about ports and according URL's ##### +#### ##### +##################################################################### +#### ##### +#### Port 8080 equals /webcam/?action=[stream/snapshot] ##### +#### Port 8081 equals /webcam2/?action=[stream/snapshot] ##### +#### Port 8082 equals /webcam3/?action=[stream/snapshot] ##### +#### Port 8083 equals /webcam4/?action=[stream/snapshot] ##### +#### ##### +#### Note: These ports are default for most Mainsail ##### +#### installations. To use any other port would involve ##### +#### changing the proxy configuration or using directly ##### +#### http://:/?action=[stream/snapshot] ##### +#### ##### +##################################################################### +#### RTSP Stream URL: ( if enabled and supported ) ##### +#### rtsp://:/stream.h264 ##### +##################################################################### + + +[crowsnest] +log_path: /home/nixolas/printer_data/logs/crowsnest.log +log_level: verbose # Valid Options are quiet/verbose/debug +delete_log: false # Deletes log on every restart, if set to true +no_proxy: false + +[cam 1] +mode: ustreamer # ustreamer - Provides mjpg and snapshots. (All devices) + # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only) +enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server +rtsp_port: 8554 # Set different ports for each device! +port: 8080 # HTTP/MJPG Stream/Snapshot Port +device: /dev/video0 # See Log for available ... +resolution: 640x480 # widthxheight format +max_fps: 15 # If Hardware Supports this it will be forced, otherwise ignored/coerced. +#custom_flags: # You can run the Stream Services with custom flags. +#v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of. diff --git a/mainsail.cfg b/mainsail.cfg new file mode 120000 index 0000000..42d7935 --- /dev/null +++ b/mainsail.cfg @@ -0,0 +1 @@ +/home/nixolas/mainsail-config/client.cfg \ No newline at end of file diff --git a/moonraker-sql.db b/moonraker-sql.db new file mode 100644 index 0000000..10ea42a Binary files /dev/null and b/moonraker-sql.db differ diff --git a/moonraker.conf b/moonraker.conf new file mode 100644 index 0000000..f62fc4a --- /dev/null +++ b/moonraker.conf @@ -0,0 +1,55 @@ +[server] +host: 0.0.0.0 +port: 7125 +klippy_uds_address: /home/nixolas/printer_data/comms/klippy.sock + +[authorization] +trusted_clients: + 10.0.0.0/16 + 10.0.0.0/8 + 100.64.0.0/24 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 +cors_domains: + *.lan + *.local + *.nickiel.net + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel: dev +refresh_interval: 168 + +[update_manager mainsail-config] +type: git_repo +primary_branch: master +path: ~/mainsail-config +origin: https://github.com/mainsail-crew/mainsail-config.git +managed_services: klipper + +[update_manager mainsail] +type: web +channel: stable +repo: mainsail-crew/mainsail +path: ~/mainsail + +# Crowsnest update_manager entry +[update_manager crowsnest] +type: git_repo +path: ~/crowsnest +origin: https://github.com/mainsail-crew/crowsnest.git +managed_services: crowsnest +install_script: tools/pkglist.sh + +[include octoapp-system.cfg] diff --git a/moonraker.conf.backup b/moonraker.conf.backup new file mode 100644 index 0000000..975f2f5 --- /dev/null +++ b/moonraker.conf.backup @@ -0,0 +1,43 @@ +[server] +host: 0.0.0.0 +port: 7125 +klippy_uds_address: /home/nixolas/printer_data/comms/klippy.sock + +[authorization] +trusted_clients: + 10.0.0.0/16 + 10.0.0.0/8 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 +cors_domains: + *.lan + *.local + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel: dev +refresh_interval: 168 + +[update_manager mainsail-config] +type: git_repo +primary_branch: master +path: ~/mainsail-config +origin: https://github.com/mainsail-crew/mainsail-config.git +managed_services: klipper + +[update_manager mainsail] +type: web +channel: stable +repo: mainsail-crew/mainsail +path: ~/mainsail diff --git a/octoapp-system.cfg b/octoapp-system.cfg new file mode 100644 index 0000000..ee1f0c7 --- /dev/null +++ b/octoapp-system.cfg @@ -0,0 +1,16 @@ +[update_manager octoapp] +type: git_repo +# Using `channel: beta` makes moonraker only update to the lasted tagged commit on the branch. Which lets us control releases. +channel: beta +path: /home/nixolas/octoapp +origin: https://github.com/crysxd/OctoApp-Plugin.git +env: /home/nixolas/octoapp-env/bin/python +requirements: requirements.txt +install_script: install.sh +managed_services: + octoapp + +# This allows users of OctoApp to get announcements from the system. +[announcements] +subscriptions: + octoapp. diff --git a/octoapp.conf b/octoapp.conf new file mode 100644 index 0000000..d2c943a --- /dev/null +++ b/octoapp.conf @@ -0,0 +1,21 @@ +[relay] +frontend_port = 80 +frontend_type_hint = Mainsail + +[logging] +# The active logging level. Valid values include: DEBUG, INFO, WARNING, or ERROR. +log_level = INFO +max_file_size_mb = 5 +max_file_count = 3 + +[server] + +[webcam] +webcam_name_to_use_as_primary = Default +auto_settings_detection = True +stream_url = /webcam/?action=stream +snapshot_url = /webcam/?action=snapshot +flip_horizontally = False +flip_vertically = False +rotate = 0 + diff --git a/printer-20250210_192123.cfg b/printer-20250210_192123.cfg new file mode 100644 index 0000000..56647b9 --- /dev/null +++ b/printer-20250210_192123.cfg @@ -0,0 +1,279 @@ +[include mainsail.cfg] +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 + +[virtual_sdcard] +path: /home/nixolas/printer_data/gcodes +on_error_gcode: CANCEL_PRINT + +#Klipper config for Bluer Direct Drive - Robin Nano v2, TMC2209 in UART Mode + + +# This file contains common pin mappings for MKS Robin Nano V2 +# boards. To use this config, the firmware should be compiled for the +# STM32F103. When running "make menuconfig", enable "extra low-level +# configuration setup", select the 28KiB bootloader, and serial (on +# USART3 PB11/PB10) communication. + +# Note that the "make flash" command does not work with MKS Robin +# boards. After running "make", run the following command: +# ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin +# Copy the file out/Robin_nano35.bin to an SD card and then restart the +# printer with that SD card. + +# ls /dev/serial/by-id/* + +# See docs/Config_Reference.md for a description of parameters. + + +[pause_resume] + +[display_status] + + +[printer] +kinematics = cartesian +max_velocity = 500 +max_accel = 3500 +max_z_velocity = 25 #10 +max_z_accel = 100 + +[stepper_x] +step_pin = PE3 +dir_pin = PE2 +enable_pin = !PE4 +endstop_pin = !PA15 + +microsteps = 16 #32 +rotation_distance = 40 # rotation_distance = 400 * 32 / 160 +full_steps_per_rotation = 400 + +position_max = 300 +position_endstop = -5 +position_min = -5 +homing_speed = 50 + + + +[stepper_y] +step_pin = PE0 +dir_pin = !PB9 +enable_pin = !PE1 +endstop_pin = !PA12 + +microsteps = 16 # 16 #32 +rotation_distance = 40 # * / +full_steps_per_rotation = 400 # 0.9 degrees per step + +position_endstop = -15 +position_min = -15 +position_max = 280 +homing_speed = 50 + + + +[stepper_z] +step_pin = PB5 +dir_pin = !PB4 +enable_pin = !PB8 + +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + +position_max = 400 +position_min = -4 +endstop_pin = probe:z_virtual_endstop + + +[stepper_z1] +step_pin = PD15 +dir_pin = !PA1 +enable_pin = !PA3 +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + + +[extruder] +step_pin = PD6 +dir_pin = !PD3 +enable_pin = !PB3 +microsteps = 16 +rotation_distance = 7.93 +nozzle_diameter = 0.600 +filament_diameter = 1.750 +heater_pin = PC3 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC1 +control = pid +pid_kp = 31.087 +pid_ki = 1.712 +pid_kd = 141.059 +min_temp = 0 +max_temp = 255 +max_extrude_only_distance = 240 + #pressure_advance = 0.0953 + + +[heater_bed] +heater_pin = PA0 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC0 +control = pid +pid_Kp = 58.992 +pid_Ki = 0.917 +pid_Kd = 949.030 +min_temp = 0 +max_temp = 120 + +[verify_heater extruder] +max_error = 150 + + +## FANS +[fan] # part colling fans +pin = PB1 + +[heater_fan HeatSink] +pin: PB0 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + + +[bltouch] +sensor_pin = ^PA11 +control_pin = PA8 +x_offset = 40.50 +y_offset = 8.70 +z_offset = 2.425 +pin_move_time = 0.4 +speed = 10 #5 +stow_on_each_sample = FALSE +#position_min: -3 enable this for z-offset callibration + +[bed_mesh] +speed = 120 #120 +horizontal_move_z = 7 #8 +mesh_min = 42,42 +mesh_max = 290,270 +probe_count = 4,4 #6,6 +# mesh_pps: 5,3 +algorithm = bicubic +# bicubic_tension: 0.2 + + +[safe_z_home] +home_xy_position = 160, 140 +speed = 50 +z_hop = 8 +z_hop_speed = 5 + + +[screws_tilt_adjust] +screw1: 1.30,24.20 +screw1_name: Front Left +screw2: 166.30,24.20 +screw2_name: Front Right +screw3: 166.30,194.20 +screw3_name: Rear Right +screw4: 1.30,194.20 +screw4_name: Rear Left +horizontal_move_z: 10. +speed: 80 +screw_thread: CW-M4 + + + +[temperature_sensor pi] +sensor_type: temperature_host +min_temp: 10 +max_temp: 100 + +[temperature_sensor mcu] +sensor_type: temperature_mcu +min_temp: 0 +max_temp: 100 + + +[gcode_macro CALIBRATE_BED] +gcode: + G28 X0 Y0 + G28 Z0 + G90 + bed_mesh_calibrate profile=bluey method=automatic + + +[gcode_macro FILAMENT_LOAD] +gcode: + M83 + G92 E0.0 + G1 E480 F350 + G92 E0.0 + M82 + +[gcode_macro FILAMENT_UNLOAD] +gcode: + M83 + G92 E0.0 + G1 E-480 F350 + G92 E0.0 + M82 + + +[z_tilt] +z_positions: + 0,117.5 + 180,117.5 +points: + 5,117.5 + 180,117.5 +horizontal_move_z: 10 +retries: 10 +retry_tolerance: 0.02 + + +[respond] + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.025000, 0.042500, 0.025000, -0.052500 +#*# -0.025000, 0.007500, -0.017500, -0.095000 +#*# -0.020000, 0.015000, -0.020000, -0.097500 +#*# 0.060000, 0.082500, 0.055000, -0.015000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 219.99 +#*# mesh_x_pps = 2 +#*# max_x = 219.99 +#*# +#*# [bltouch] +#*# +#*# [bed_mesh bluey] +#*# version = 1 +#*# points = +#*# 0.320000, 0.235000, 0.192500, 0.237500 +#*# 0.082500, 0.040000, -0.010000, 0.085000 +#*# 0.100000, 0.020000, -0.005000, 0.035000 +#*# 0.355000, 0.195000, 0.115000, 0.100000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 270.0 +#*# mesh_x_pps = 2 +#*# max_x = 289.98 + diff --git a/printer-20250212_182626.cfg b/printer-20250212_182626.cfg new file mode 100644 index 0000000..35afd4d --- /dev/null +++ b/printer-20250212_182626.cfg @@ -0,0 +1,279 @@ +[include mainsail.cfg] +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 + +[virtual_sdcard] +path: /home/nixolas/printer_data/gcodes +on_error_gcode: CANCEL_PRINT + +#Klipper config for Bluer Direct Drive - Robin Nano v2, TMC2209 in UART Mode + + +# This file contains common pin mappings for MKS Robin Nano V2 +# boards. To use this config, the firmware should be compiled for the +# STM32F103. When running "make menuconfig", enable "extra low-level +# configuration setup", select the 28KiB bootloader, and serial (on +# USART3 PB11/PB10) communication. + +# Note that the "make flash" command does not work with MKS Robin +# boards. After running "make", run the following command: +# ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin +# Copy the file out/Robin_nano35.bin to an SD card and then restart the +# printer with that SD card. + +# ls /dev/serial/by-id/* + +# See docs/Config_Reference.md for a description of parameters. + + +[pause_resume] + +[display_status] + + +[printer] +kinematics = cartesian +max_velocity = 500 +max_accel = 3500 +max_z_velocity = 25 #10 +max_z_accel = 100 + +[stepper_x] +step_pin = PE3 +dir_pin = PE2 +enable_pin = !PE4 +endstop_pin = !PA15 + +microsteps = 16 #32 +rotation_distance = 40 # rotation_distance = 400 * 32 / 160 +full_steps_per_rotation = 400 + +position_max = 300 +position_endstop = -5 +position_min = -5 +homing_speed = 50 + + + +[stepper_y] +step_pin = PE0 +dir_pin = !PB9 +enable_pin = !PE1 +endstop_pin = !PA12 + +microsteps = 16 # 16 #32 +rotation_distance = 40 # * / +full_steps_per_rotation = 400 # 0.9 degrees per step + +position_endstop = -15 +position_min = -15 +position_max = 280 +homing_speed = 50 + + + +[stepper_z] +step_pin = PB5 +dir_pin = !PB4 +enable_pin = !PB8 + +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + +position_max = 400 +position_min = -4 +endstop_pin = probe:z_virtual_endstop + + +[stepper_z1] +step_pin = PD15 +dir_pin = !PA1 +enable_pin = !PA3 +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + + +[extruder] +step_pin = PD6 +dir_pin = !PD3 +enable_pin = !PB3 +microsteps = 16 +rotation_distance = 7.93 +nozzle_diameter = 0.600 +filament_diameter = 1.750 +heater_pin = PC3 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC1 +control = pid +pid_kp = 31.087 +pid_ki = 1.712 +pid_kd = 141.059 +min_temp = 0 +max_temp = 255 +max_extrude_only_distance = 240 + #pressure_advance = 0.0953 + + +[heater_bed] +heater_pin = PA0 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC0 +control = pid +pid_Kp = 58.992 +pid_Ki = 0.917 +pid_Kd = 949.030 +min_temp = 0 +max_temp = 120 + +[verify_heater extruder] +max_error = 150 + + +## FANS +[fan] # part colling fans +pin = PB1 + +[heater_fan HeatSink] +pin: PB0 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + + +[bltouch] +sensor_pin = ^PA11 +control_pin = PA8 +x_offset = 19.1 +y_offset = 31.1 +#z_offset = 2.425 +pin_move_time = 0.4 +speed = 10 #5 +stow_on_each_sample = FALSE +#position_min: -3 enable this for z-offset callibration + +[bed_mesh] +speed = 120 #120 +horizontal_move_z = 7 #8 +mesh_min = 42,42 +mesh_max = 290,270 +probe_count = 4,4 #6,6 +# mesh_pps: 5,3 +algorithm = bicubic +# bicubic_tension: 0.2 + + +[safe_z_home] +home_xy_position = 160, 140 +speed = 50 +z_hop = 8 +z_hop_speed = 5 + + +[screws_tilt_adjust] +screw1: 1.30,24.20 +screw1_name: Front Left +screw2: 166.30,24.20 +screw2_name: Front Right +screw3: 166.30,194.20 +screw3_name: Rear Right +screw4: 1.30,194.20 +screw4_name: Rear Left +horizontal_move_z: 10. +speed: 80 +screw_thread: CW-M4 + + + +[temperature_sensor pi] +sensor_type: temperature_host +min_temp: 10 +max_temp: 100 + +[temperature_sensor mcu] +sensor_type: temperature_mcu +min_temp: 0 +max_temp: 100 + + +[gcode_macro CALIBRATE_BED] +gcode: + G28 X0 Y0 + G28 Z0 + G90 + bed_mesh_calibrate profile=bluey method=automatic + + +[gcode_macro FILAMENT_LOAD] +gcode: + M83 + G92 E0.0 + G1 E480 F350 + G92 E0.0 + M82 + +[gcode_macro FILAMENT_UNLOAD] +gcode: + M83 + G92 E0.0 + G1 E-480 F350 + G92 E0.0 + M82 + + +[z_tilt] +z_positions: + 0,117.5 + 180,117.5 +points: + 5,117.5 + 180,117.5 +horizontal_move_z: 10 +retries: 10 +retry_tolerance: 0.02 + + +[respond] + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.025000, 0.042500, 0.025000, -0.052500 +#*# -0.025000, 0.007500, -0.017500, -0.095000 +#*# -0.020000, 0.015000, -0.020000, -0.097500 +#*# 0.060000, 0.082500, 0.055000, -0.015000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 219.99 +#*# mesh_x_pps = 2 +#*# max_x = 219.99 +#*# +#*# [bltouch] +#*# z_offset = 2.280 +#*# +#*# [bed_mesh bluey] +#*# version = 1 +#*# points = +#*# 0.320000, 0.235000, 0.192500, 0.237500 +#*# 0.082500, 0.040000, -0.010000, 0.085000 +#*# 0.100000, 0.020000, -0.005000, 0.035000 +#*# 0.355000, 0.195000, 0.115000, 0.100000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 270.0 +#*# mesh_x_pps = 2 +#*# max_x = 289.98 diff --git a/printer-20250212_202503.cfg b/printer-20250212_202503.cfg new file mode 100644 index 0000000..86a8a2c --- /dev/null +++ b/printer-20250212_202503.cfg @@ -0,0 +1,286 @@ +[include mainsail.cfg] +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 + +[virtual_sdcard] +path: /home/nixolas/printer_data/gcodes +on_error_gcode: CANCEL_PRINT + +#Klipper config for Bluer Direct Drive - Robin Nano v2, TMC2209 in UART Mode + +# [include adxlmcu.cfg] + +# This file contains common pin mappings for MKS Robin Nano V2 +# boards. To use this config, the firmware should be compiled for the +# STM32F103. When running "make menuconfig", enable "extra low-level +# configuration setup", select the 28KiB bootloader, and serial (on +# USART3 PB11/PB10) communication. + +# Note that the "make flash" command does not work with MKS Robin +# boards. After running "make", run the following command: +# ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin +# Copy the file out/Robin_nano35.bin to an SD card and then restart the +# printer with that SD card. + +# ls /dev/serial/by-id/* + +# See docs/Config_Reference.md for a description of parameters. + + +[pause_resume] + +[display_status] + + +[printer] +kinematics = cartesian +max_velocity = 500 +max_accel = 2500 +max_z_velocity = 25 #10 +max_z_accel = 100 + +[stepper_x] +step_pin = PE3 +dir_pin = PE2 +enable_pin = !PE4 +endstop_pin = !PA15 + +microsteps = 16 #32 +rotation_distance = 40 # rotation_distance = 400 * 32 / 160 +full_steps_per_rotation = 400 + +position_max = 300 +position_endstop = -5 +position_min = -5 +homing_speed = 50 + + + +[stepper_y] +step_pin = PE0 +dir_pin = !PB9 +enable_pin = !PE1 +endstop_pin = !PA12 + +microsteps = 16 # 16 #32 +rotation_distance = 40 # * / +full_steps_per_rotation = 400 # 0.9 degrees per step + +position_endstop = -15 +position_min = -15 +position_max = 280 +homing_speed = 50 + + + +[stepper_z] +step_pin = PB5 +dir_pin = !PB4 +enable_pin = !PB8 + +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + +position_max = 400 +position_min = -4 +endstop_pin = probe:z_virtual_endstop + + +[stepper_z1] +step_pin = PD15 +dir_pin = !PA1 +enable_pin = !PA3 +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + + +[extruder] +step_pin = PD6 +dir_pin = !PD3 +enable_pin = !PB3 +microsteps = 16 +rotation_distance = 7.93 +nozzle_diameter = 0.600 +filament_diameter = 1.750 +heater_pin = PC3 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC1 +control = pid +pid_kp = 31.087 +pid_ki = 1.712 +pid_kd = 141.059 +min_temp = 0 +max_temp = 255 +max_extrude_only_distance = 240 + #pressure_advance = 0.0953 + + +[heater_bed] +heater_pin = PA0 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC0 +control = pid +pid_Kp = 58.992 +pid_Ki = 0.917 +pid_Kd = 949.030 +min_temp = 0 +max_temp = 120 + +[verify_heater extruder] +max_error = 150 + + +## FANS +[fan] # part colling fans +pin = PB1 + +[heater_fan HeatSink] +pin: PB0 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + + +[bltouch] +sensor_pin = ^PA11 +control_pin = PA8 +x_offset = 19.1 +y_offset = 31.1 +#z_offset = 2.425 +pin_move_time = 0.4 +speed = 10 #5 +stow_on_each_sample = FALSE +#position_min: -3 enable this for z-offset callibration + +[bed_mesh] +speed = 120 #120 +horizontal_move_z = 7 #8 +mesh_min = 42,42 +mesh_max = 290,270 +probe_count = 6,6 +# mesh_pps: 5,3 +algorithm = bicubic +# bicubic_tension: 0.2 + + +[safe_z_home] +home_xy_position = 160, 140 +speed = 50 +z_hop = 8 +z_hop_speed = 5 + +[input_shaper] +shaper_freq_y: 29.1 +shaper_type_y: mzv +shaper_freq_x: 71.4 +shaper_type_x: mzv + + +[screws_tilt_adjust] +screw1: 1.30,24.20 +screw1_name: Front Left +screw2: 166.30,24.20 +screw2_name: Front Right +screw3: 166.30,194.20 +screw3_name: Rear Right +screw4: 1.30,194.20 +screw4_name: Rear Left +horizontal_move_z: 10. +speed: 80 +screw_thread: CW-M4 + + + +[temperature_sensor pi] +sensor_type: temperature_host +min_temp: 10 +max_temp: 100 + +[temperature_sensor mcu] +sensor_type: temperature_mcu +min_temp: 0 +max_temp: 100 + + +[gcode_macro CALIBRATE_BED] +gcode: + G28 X0 Y0 + G28 Z0 + G90 + bed_mesh_calibrate profile=bluey method=automatic + + +[gcode_macro FILAMENT_LOAD] +gcode: + M83 + G92 E0.0 + G1 E480 F350 + G92 E0.0 + M82 + +[gcode_macro FILAMENT_UNLOAD] +gcode: + M83 + G92 E0.0 + G1 E-480 F350 + G92 E0.0 + M82 + + +[z_tilt] +z_positions: + 0,117.5 + 180,117.5 +points: + 5,117.5 + 180,117.5 +horizontal_move_z: 10 +retries: 10 +retry_tolerance: 0.02 + + +[respond] + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.025000, 0.042500, 0.025000, -0.052500 +#*# -0.025000, 0.007500, -0.017500, -0.095000 +#*# -0.020000, 0.015000, -0.020000, -0.097500 +#*# 0.060000, 0.082500, 0.055000, -0.015000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 219.99 +#*# mesh_x_pps = 2 +#*# max_x = 219.99 +#*# +#*# [bltouch] +#*# z_offset = 2.910 +#*# +#*# [bed_mesh bluey] +#*# version = 1 +#*# points = +#*# 0.320000, 0.235000, 0.192500, 0.237500 +#*# 0.082500, 0.040000, -0.010000, 0.085000 +#*# 0.100000, 0.020000, -0.005000, 0.035000 +#*# 0.355000, 0.195000, 0.115000, 0.100000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 4 +#*# max_y = 270.0 +#*# mesh_x_pps = 2 +#*# max_x = 289.98 diff --git a/printer.cfg b/printer.cfg new file mode 100644 index 0000000..b554e50 --- /dev/null +++ b/printer.cfg @@ -0,0 +1,274 @@ +[include mainsail.cfg] +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 + +[virtual_sdcard] +path: /home/nixolas/printer_data/gcodes +on_error_gcode: CANCEL_PRINT + +#Klipper config for Bluer Direct Drive - Robin Nano v2, TMC2209 in UART Mode + +# [include adxlmcu.cfg] + +# This file contains common pin mappings for MKS Robin Nano V2 +# boards. To use this config, the firmware should be compiled for the +# STM32F103. When running "make menuconfig", enable "extra low-level +# configuration setup", select the 28KiB bootloader, and serial (on +# USART3 PB11/PB10) communication. + +# Note that the "make flash" command does not work with MKS Robin +# boards. After running "make", run the following command: +# ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin +# Copy the file out/Robin_nano35.bin to an SD card and then restart the +# printer with that SD card. + +# ls /dev/serial/by-id/* + +# See docs/Config_Reference.md for a description of parameters. + + +[pause_resume] + +[display_status] + + +[printer] +kinematics = cartesian +max_velocity = 500 +max_accel = 2500 +max_z_velocity = 25 #10 +max_z_accel = 100 + +[stepper_x] +step_pin = PE3 +dir_pin = PE2 +enable_pin = !PE4 +endstop_pin = !PA15 + +microsteps = 16 #32 +rotation_distance = 40 # rotation_distance = 400 * 32 / 160 +full_steps_per_rotation = 400 + +position_max = 300 +position_endstop = -5 +position_min = -5 +homing_speed = 50 + + + +[stepper_y] +step_pin = PE0 +dir_pin = !PB9 +enable_pin = !PE1 +endstop_pin = !PA12 + +microsteps = 16 # 16 #32 +rotation_distance = 40 # * / +full_steps_per_rotation = 400 # 0.9 degrees per step + +position_endstop = 0 +position_min = 0 +position_max = 300 +homing_speed = 50 + + + +[stepper_z] +step_pin = PB5 +dir_pin = !PB4 +enable_pin = !PB8 + +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + +position_max = 400 +position_min = -4 +endstop_pin = probe:z_virtual_endstop + + +[stepper_z1] +step_pin = PD15 +dir_pin = !PA1 +enable_pin = !PA3 +microsteps = 16 #16 +rotation_distance = 8 +full_steps_per_rotation = 200 + + +[extruder] +step_pin = PD6 +dir_pin = !PD3 +enable_pin = !PB3 +microsteps = 16 +rotation_distance = 7.93 +nozzle_diameter = 0.600 +filament_diameter = 1.750 +heater_pin = PC3 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC1 +control = pid +pid_kp = 31.087 +pid_ki = 1.712 +pid_kd = 141.059 +min_temp = 0 +max_temp = 255 +max_extrude_only_distance = 240 + #pressure_advance = 0.0953 + +# enables G10 to retract filament +[firmware_retraction] +retract_length = 6 +unretract_extra_length = 0 + +[heater_bed] +heater_pin = PA0 +sensor_type = EPCOS 100K B57560G104F +sensor_pin = PC0 +control = pid +pid_Kp = 58.992 +pid_Ki = 0.917 +pid_Kd = 949.030 +min_temp = 0 +max_temp = 120 + +[verify_heater extruder] +max_error = 150 + + +## FANS +[fan] # part colling fans +pin = PB1 + +[heater_fan HeatSink] +pin: PB0 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + + +[bltouch] +sensor_pin = ^PA11 +control_pin = PA8 +x_offset = 19.1 +y_offset = 31.1 +#z_offset = 2.425 +pin_move_time = 0.4 +speed = 10 #5 +stow_on_each_sample = FALSE +#position_min: -3 enable this for z-offset callibration + +[bed_mesh] +speed = 120 #120 +horizontal_move_z = 7 #8 +mesh_min = 42,42 +mesh_max = 290,270 +probe_count = 6,6 +# mesh_pps: 5,3 +algorithm = bicubic +# bicubic_tension: 0.2 + + +[safe_z_home] +home_xy_position = 160, 140 +speed = 50 +z_hop = 8 +z_hop_speed = 5 + +[input_shaper] +shaper_freq_y: 29.1 +shaper_type_y: mzv +shaper_freq_x: 71.4 +shaper_type_x: mzv + + +[screws_tilt_adjust] +screw1: 1.30,24.20 +screw1_name: Front Left +screw2: 166.30,24.20 +screw2_name: Front Right +screw3: 166.30,194.20 +screw3_name: Rear Right +screw4: 1.30,194.20 +screw4_name: Rear Left +horizontal_move_z: 10. +speed: 80 +screw_thread: CW-M4 + + + +[temperature_sensor pi] +sensor_type: temperature_host +min_temp: 10 +max_temp: 100 + +[temperature_sensor mcu] +sensor_type: temperature_mcu +min_temp: 0 +max_temp: 100 + + +[gcode_macro CALIBRATE_BED] +gcode: + G28 X0 Y0 + G28 Z0 + G90 + bed_mesh_calibrate profile=bluey method=automatic + + +[gcode_macro FILAMENT_LOAD] +gcode: + M83 + G92 E0.0 + G1 E480 F350 + G92 E0.0 + M82 + +[gcode_macro FILAMENT_UNLOAD] +gcode: + M83 + G92 E0.0 + G1 E-480 F350 + G92 E0.0 + M82 + + +[z_tilt] +z_positions: + 0,117.5 + 180,117.5 +points: + 5,117.5 + 180,117.5 +horizontal_move_z: 10 +retries: 10 +retry_tolerance: 0.02 + + +[respond] + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.160000, 0.150000, 0.130000, 0.207500, 0.177500, 0.202500 +#*# 0.070000, 0.020000, -0.015000, 0.015000, 0.015000, 0.055000 +#*# -0.005000, -0.032500, -0.042500, -0.025000, -0.035000, 0.067500 +#*# 0.037500, -0.057500, -0.007500, -0.032500, -0.012500, 0.025000 +#*# 0.090000, 0.080000, 0.052500, 0.002500, 0.025000, 0.110000 +#*# 0.272500, 0.197500, 0.162500, 0.175000, 0.147500, 0.150000 +#*# tension = 0.2 +#*# min_x = 42.0 +#*# algo = bicubic +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# min_y = 42.0 +#*# x_count = 6 +#*# max_y = 270.0 +#*# mesh_x_pps = 2 +#*# max_x = 290.0 +#*# +#*# [bltouch] +#*# z_offset = 2.910