The Kingroon KP3S Pro V2 and KLP1 3D printers actually give you full SSH access to the system, some of you have already find that out. If any system failure happens and you are not able to fix it, or you are just doing some test, this article will show you how to flash the EMMC to fix it.
Before start, we must warn you, messing up with the system or flashing EMMC have some risks that may cause system failure or warranty loss.
- Prepare
- Tools you need.
Before starting, you need to get a SD card reader. Try get a good one with high performance, or it may not able to white the EMMC moudle.
After that, find the EMMC adapter form the package.
- Files you need
After that, go to https://kingroon.com/blogs/downloads and searching for the system image. We will release new versions soon. If your printer works fine and no actually features shows on the download page, please do not flash it.
And here are the files for the stock system image:
armbian-KP3S Pro V2-20230322(Beta)(no screen):
https://1drv.ms/f/s!AmGcVrncIH3ZjBYprzZurjFIEcmr?e=c5gmTx
armbian-KP3S Pro V2-20230606(Latest)(with screen):
https://drive.google.com/file/d/1Bs7II2rqlCsdqx6EUUGfDOED4BwqQK0y/view?usp=sharing
KINGROON-KLP1-coreXY-20230515:
https://drive.google.com/file/d/1C5kIKfGm6xnehemHGuAyQrxUx7w2vPPi/view?usp=share_link
Screen Version:
KINGROON-KLP1 V2.2-coreXY-20230725:
https://drive.google.com/drive/folders/1t7L45IEp-WOa_zcLiVOOfZC0nxFAs2o5?usp=sharing
KINGROON-KP3S Pro V2 V2.2-20230804:
https://drive.google.com/drive/folders/1ermJnHsMkG-9iVIGMbNGu-Zq0Qh6P_-C?usp=sharing
KINGROON-KLP1V2.4-coreXY-20230817:
https://drive.google.com/drive/folders/13ZEHYivSC4YdXk3IAL9DQA8HWnkc0uQQ?usp=sharing
KINGROON-KP3S Pro V2 V2.4-20230818:
https://drive.google.com/drive/folders/1wjrAW_0z4VPqusYHxfMArWVRWgY23m98?usp=sharing
KINGROON-KLP1V2.1-coreXY-20230918:
https://drive.google.com/drive/folders/1tXjE3U574BQ5OFfaUwFP1oQ4xEVa0r1D?usp=sharing
KINGROON-KP3S Pro V2-V2.0-20240321((Latest version of KP3S Pro V2 with 2.0 mainboard): https://drive.google.com/file/d/1StPZqIn3N5Qloqd7HJPDFZ7VfDtYES2A/view?usp=sharing
KINGROON-KLP1V2.0-coreXY-20231020(Latest version of KLP1 210 with 2.0 mainboard): https://drive.google.com/file/d/1cJB7AU4iowYgr20hjs6jawbwsyRwVVjH/view?usp=sharing
---------The Above For KINGROON KP Cheetah V1.0/V2.0 Mainboard Only-------
KINGROON-KLP1 V2.2-coreXY-20231125(Latest version of KLP1 210 with 2.2 mainboard):
https://drive.google.com/file/d/1SB7F3LaVyQQ2gvTTbQyuneyH84fIihx0/view?usp=sharing
KINGROON-KLP1-230V2.2-20240407(Latest version of KLP1 230 with 2.2 mainboard): https://drive.google.com/file/d/1cDz876cO1dv9EgavekbBTjZuBd9cunup/view?usp=sharing
KINGROON-KP3S Pro V2 V2.2-20240401((Latest version of KP3S Pro V2 with 2.2 mainboard): https://drive.google.com/file/d/1i1LwhEw6YGrZrN2pRjbk0f1u3h9PuOc6/view?usp=sharing
---------The Above For KINGROON KP Cheetah V2.2 and Newer Mainboard Only-------
- Software you need
Go to https://etcher.balena.io/ and download balenaEtcher. If you are Windows user who’s already get used to Win32DiskImager, it is also fine.
Prepare the EMMC Module
1.Get the EMMC module
Remove the bottom cover of the KINGROON KP3S Pro V2 printer, then you are able to see the EMMC module.
Loose the screws on it, remove the module carefully.
2.Get everything connected
Connect the module to the EMMC adapter and SD card reader, as the photo shows. Be careful with the directions. Then you are ready for the next step.
Flash the EMMC Module
1.Setup balenaEtcher
Connect the SD card reader to your PC or Mac, you should be able to see a disk named “boot”, that’s the EMMC module. If not, please check the connection and make sure the direction is correct.
Open the balenaEtcher, choose the image file you just downloaded, and click flash. Please double check the disk you choose, in case you lost any data.
If the disk disconnected in the middle or the flash failed, please use a different SD card reader.
Once the flashing finished, you are all set. Just put everything back, reboot your printer, and enjoy the 3D printing.
How to flash klipper firmware to mcu and thr modules?
Hello. Why does the speed control not work in KP3SPro-V2 with a screen. A value less than M106 S255 disables the cooler
Hello. Why does the speed control not work in KP3SPro-V2 with a screen. A value less than M106 S255 disables the cooler
Kingroon KP3S Pro V2 : >I’ve done all the settings, but there is no output. In the equipment, only reading is displayed, and in the clipper, only “waiting for output” is displayed. What should I do. The EMMC chip was processed 3 times by Falsh.
boards. To use this config, the firmware should be compiled for the stm32f407. When running “make menuconfig”, select the 48KiB bootloader, and enable “Serial for communication” and select the “on USART1 PA10/PA9” The “make flash” command does not work on the MKS SKIPR. Instead, after running “make”, copy the generated “out/klipper.bin” file to a file named “mks_skipr.bin” on an SD card and then restart the MKS SKIPR with that SD card. See docs/Config_Reference.md for a description of parameters.[[PTINTER.CFG]]
This file contains common pin mappings for MKS SKIPR
[include MKS_THR.cfg]
[mcu] The hardware use USART1 PA10/PA9 connect to RK3328
#serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_4D0045001850314335393520-if00
serial: /dev/ttyS0
restart_method: command
[stepper_x]
Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) (+) value = endstop above Z0, (-) value = endstop belowstep_pin:PC14
dir_pin:PC13
enable_pin:!PC15
microsteps: 16
rotation_distance: 40
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin:tmc2209_stepper_x:virtual_endstop
position_min: 0
position_endstop:0
position_max: 200
homing_speed:30
homing_retract_dist:0
homing_positive_dir:false
step_pulse_duration:0.000002
[stepper_y]
step_pin:PE5
dir_pin:PE4
enable_pin:!PD14
microsteps:16
rotation_distance: 40
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin:tmc2209_stepper_y:virtual_endstop
position_min: 0
position_endstop:0
position_max:200
homing_speed:30
homing_retract_dist:0
homing_positive_dir:false
step_pulse_duration:0.000002
[stepper_z]
step_pin:PE1
dir_pin:PE0
enable_pin:!PE2
microsteps: 16
rotation_distance:8
full_steps_per_rotation: 200
endstop_pin:probe:z_virtual_endstop ## PB12 for Z-max; endstop have’!’ is NO
## Increasing position_endstop brings nozzle closer to the bed After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
#position_endstop:-5
position_max: 200
position_min: -5
homing_speed:8
second_homing_speed: 3
homing_positive_dir:false
step_pulse_duration:0.000002
[heater_bed]
heater_pin: PA0
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC0
max_power: 1.0
control = pid
pid_kp = 71.039
pid_ki = 2.223
pid_kd = 567.421
min_temp: 0
max_temp: 200
#fan for printed model FAN0
#[fan]
#pin: MKS_THR:gpio2
####################################################################
[safe_z_home] home_xy_position: 100.5,100.5 # Change coordinates to the center of your print bed speed:50 z_hop:0 # Move up 10mm z_hop_speed: 5# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 3600
#####################################################################
Probe####################################################################
[printer]
LED Controlkinematics:cartesian
max_velocity: 500
max_accel: 12000
max_accel_to_decel: 5000
max_z_velocity: 15
max_z_accel: 100
square_corner_velocity: 15.0
#####################################################################
#####################################################################
#[output_pin caselight ](Use PA9)
Chamber Lighting – In 5V-RGB Position#pin: PC5
#pwm: true
#shutdown_value: 0
#value:100
#cycle_time: 0.01
########################################
TMC UART configuration########################################
[tmc2209 stepper_x]
uart_pin: PE6
run_current: 1.2
hold_current: 1.2
interpolate: True
stealthchop_threshold: 99999
diag_pin:^PA14
driver_SGTHRS: 90
[tmc2209 stepper_y]
uart_pin: PE3
run_current: 1.1
hold_current: 1.1
interpolate: True
stealthchop_threshold: 99999
diag_pin:^PA15
driver_SGTHRS:90
[tmc2209 stepper_z]
uart_pin: PB7
run_current: 1.2
hold_current: 1.2
interpolate: True
stealthchop_threshold: 99999
[resonance_tester]
accel_chip: adxl345
probe_points:
100, 100, 20 # an example
accel_per_hz: 300
[homing_override]
Set current for sensorless homingset_position_z:0
gcode:
G91
G1 Z5 F100
{% set HOME_CUR = 0.500 }
{ set driver_config = printer.configfile.settings[‘tmc2209 stepper_x’] }
{ set RUN_CUR = driver_config.run_current %}
SET_VELOCITY_LIMIT ACCEL=500
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
{% if params.X is defined }
G28 X F100
G1 X2 F1000
{ endif }
{ if params.Y is defined }
G28 Y F100
G1 Y2 F1000
{ endif }
{ if params.Z is defined }
G28 Z F100
{ endif }
{ if params.X is undefined }
{ if params.Y is undefined }
{ if params.Z is undefined %} G28 Z F100 G9 Z10 F100
#G28 Z F100
#G0 Z10 F100
G28 X F100
G1 X2 F1000
G28 Y F100
G1 Y2 F1000
G28 Z F100
{% endif }
{ endif }
{ endif %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CUR}
SET_VELOCITY_LIMIT ACCEL=7000
G90
[input_shaper]
#shaper_freq_x: 55.6
#shaper_type_x: 2hump_ei
#shaper_freq_y: 146.0
#shaper_type_y: zv
[virtual_sdcard]
#path:/home/mks/uploads
path: /home/mks/printer_data/gcodes
[pause_resume]
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
[gcode_macro G40]
gcode:
ACCELEROMETER_QUERY
SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0
G28
#G1 X100 Y100 Z10 F300
M106 S255
SHAPER_CALIBRATE
SAVE_CONFIG
[gcode_macro G29]
gcode:
ABORT
G28
G0 Z10 F1000
G1 X110 Y100 F1000
PROBE_CALIBRATE
[gcode_macro G30]
gcode:
BED_MESH_CLEAR #清除调平数据
G28
BED_MESH_CALIBRATE #自动调平
BED_MESH_PROFILE SAVE=“name” #保存调平数据
SAVE_CONFIG
BED_MESH_PROFILE LOAD=“name” #加载调平数据
[gcode_macro G31]
gcode:
TESTZ Z=-1
[gcode_macro G32]
gcode:
TESTZ Z=-0.5
[gcode_macro G33]
gcode:
TESTZ Z=-0.1
[gcode_macro G34]
gcode:
TESTZ Z=0.1
[gcode_macro G35]
gcode:
TESTZ Z=0.5
[gcode_macro G36]
gcode:
TESTZ Z=1
[display_status]
[verify_heater extruder]
max_error: 120
check_gain_time:120
hysteresis: 10
heating_gain: 2
[verify_heater heater_bed]
max_error: 120
check_gain_time:120
hysteresis: 10
heating_gain: 2
[probe]
z_offset: 0pin:!MKS_THR:gpio21
x_offset: -10
y_offset: 0
speed:5
samples:3
samples_result:median
sample_retract_dist: 1.2
samples_tolerance: 0.05
samples_tolerance_retries: 3
[probe]
<——————————— SAVE_CONFIG -—————————→ DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.#z_offset: 0
[gcode_macro SHAPER_CALIBRATE]
rename_existing: RESHAPER_CALIBRATE
gcode:
RESHAPER_CALIBRATE FREQ_START=5 FREQ_END=100
#*# [probe] z_offset = -0.075
#*# [bed_mesh default] version = 1 points = -0.005000, 0.142500, 0.272500, 0.352500, 0.532500 -0.142500, 0.020000, 0.220000, 0.320000, 0.527500 -0.285000, -0.135000, 0.040000, 0.200000, 0.482500 -0.522500, -0.287500, -0.127500, 0.040000, 0.350000 -0.842500, -0.532500, -0.315000, -0.105000, 0.165000 tension = 0.2 min_x = 5.0 algo = lagrange y_count = 5 mesh_y_pps = 2 min_y = 5.0 x_count = 5 max_y = 190.0 mesh_x_pps = 2 max_x = 190.0
#*# [bed_mesh name] version = 1 points = -0.005000, 0.142500, 0.272500, 0.352500, 0.532500 -0.142500, 0.020000, 0.220000, 0.320000, 0.527500 -0.285000, -0.135000, 0.040000, 0.200000, 0.482500 -0.522500, -0.287500, -0.127500, 0.040000, 0.350000 -0.842500, -0.532500, -0.315000, -0.105000, 0.165000 tension = 0.2 min_x = 5.0 algo = lagrange y_count = 5 mesh_y_pps = 2 min_y = 5.0 x_count = 5 max_y = 190.0 mesh_x_pps = 2 max_x = 190.0
#*# [input_shaper] shaper_type_x = zv shaper_freq_x = 74.6 shaper_type_y = 2hump_ei shaper_freq_y = 44.0
!! Internal error on command:“RESHAPER_CALIBRATE”
20:58:16
!! Internal error on command:“SHAPER_CALIBRATE”
20:58:16
!! Internal error on command:“G40”
20:59:43
// Klipper state: Disconnect