Skip to content

Commit e18bb83

Browse files
committed
Initial support for multiple printer models with the Kobra 2 Pro
1 parent bcb46b8 commit e18bb83

File tree

8 files changed

+378
-44
lines changed

8 files changed

+378
-44
lines changed

LICENSE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,5 @@ All existing code / binaries / projects are provided here under their own licens
2929
- files/2-external/usr/share/fluidd/* > https://github.com/fluidd-core/fluidd/blob/master/LICENSE
3030
- files/2-external/usr/share/mainsail/* > https://github.com/mainsail-crew/mainsail/blob/master/LICENSE
3131
- files/2-external/usr/share/moonraker/* > https://github.com/utkabobr/moonraker/blob/master/LICENSE
32-
- files/2-external/usr/share/octoapp/* > https://github.com/crysxd/OctoApp-Plugin/blob/release/LICENSE
3332
- files/3-python/usr/lib/python*/site-packages/* > Corresponding module licenses
3433
- icon.png > https://www.flaticon.com/free-icons/snake

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@
66
77
# Rinkhals
88

9-
Rinkhals is a custom firmware for the Anycubic Kobra 3 3D printer. The goal of this project is to create a simple and safe overlay for the Kobra 3 firmware, adding some usefule features.
9+
Rinkhals is a custom firmware for the Anycubic Kobra series of 3D printers. The goal of this project is to create a simple and safe overlay for the Kobra firmware, adding some usefule features.
1010
This firmware will likely not support all use cases, like running vanilla Klipper or your specific feature / plugin.
1111

12+
For now the following printers and firmwares are supported:
13+
- Kobra 3 (+ combo) with firmware 2.3.5.3
14+
- Kobra 2 Pro with firmware 3.1.2.3
15+
1216
Here are some of the features I added:
1317
- Mainsail, Fluidd and Moonraker (using nginx)
1418
- USB camera support through Fluidd and Moonraker (mjpg-streamer)
1519
- Print from Moonraker will show the print screen (moonraker-proxy)
1620
- Access using SSH and ADB
1721

18-
This project is named after rinkhals. They are a sub-species of Cobras ... Kobra 3 ... Rinkhals 👏
22+
This project is named after rinkhals. They are a sub-species of Cobras ... Kobra ... Rinkhals 👏
1923

2024
The stock firmwares are available on a separate branch: https://github.com/jbatonnet/Rinkhals/tree/stock-firmwares
2125

@@ -28,6 +32,8 @@ If you are interested in development anf/or testing, join me on Discord: https:/
2832

2933
## Touch UI
3034

35+
_(Exclusive to Kobra 3 for now)_
36+
3137
After installation, Rinkhals provides a touch UI accessible from the printer screen when you tap the Settings icon, then tap Rinkhals.
3238

3339
This UI allows you to stop or disable Rinkhals, and to control what feature and or app is enabled. This will allow you to customize your experience and keep the printer memory as low as needed based on your situation.
@@ -50,13 +56,13 @@ Instructions on how to install or develop apps are on the other repo as well.
5056

5157
You can install Rinkhals on top of other custom firmwares. Rinkhals only appends its loader to **start.sh**, so if it's the last instruction, it will start no matter what firmware you are using.
5258

53-
- Make sure your printer uses firmware 2.3.5.3 ([how to install firmware](https://github.com/jbatonnet/Rinkhals/wiki/Firmware#how-to-install-a-firmware))
59+
- Make sure your printer uses one of the supported firmwares ([how to install firmware](https://github.com/jbatonnet/Rinkhals/wiki/Firmware#how-to-install-a-firmware))
5460
- Installation will simply fail without touching your printer if you are using some other version
5561
- Format a USB drive as FAT32
5662
- Create a directory named **aGVscF9zb3Nf**
5763
- Download the version of Rinkhals you want to install
5864
- Copy the **update.swu** file in the **aGVscF9zb3Nf** directory
59-
- Plug the USB drive in the Kobra 3
65+
- Plug the USB drive in the printer
6066
- You should hear a beep, meaning the printer detected the update file
6167
- After about 20 seconds (the time for the printer to prepare the update), you will see a progress bar on the screen
6268
- If the progress bar turns green and you ear 2 beeps, the pritner reboots and Rinkhals is installed
@@ -151,3 +157,4 @@ Thanks to the following projects/persons:
151157
- systemik (https://github.com/systemik/Kobra3-Firmware)
152158
- Anycubic for the cool printer and the few OSS items (https://github.com/ANYCUBIC-3D/Kobra)
153159
- Icon created by Freepik - Flaticon (https://www.flaticon.com/free-icons/snake)
160+
- moosbewohner for Kobra 2 Pro support (https://github.com/moosbewohner/Rinkhals)
Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
[virtual_sdcard]
2+
path: /useremain/app/gk/gcodes/
3+
4+
[mcu]
5+
serial : /dev/ttyS3
6+
restart_method : command
7+
baud : 576000
8+
9+
[printer]
10+
kinematics : cartesian
11+
max_velocity:500
12+
max_accel:20000
13+
max_accel_to_decel:20000
14+
square_corner_velocity:20.0
15+
max_z_velocity:16
16+
max_z_accel:5000
17+
device_type: Anycubic Kobra 2 Pro
18+
print_size: 220*220*250mm
19+
20+
[stepper_x]
21+
step_pin : PA5
22+
dir_pin : PA4
23+
enable_pin : !PC3
24+
microsteps : 16
25+
full_steps_per_rotation:200
26+
rotation_distance :32
27+
position_endstop :-5
28+
position_min : -5
29+
position_max : 230
30+
homing_speed : 30
31+
homing_retract_dist:10
32+
second_homing_speed:15
33+
endstop_pin : ^!PA6
34+
35+
[stepper_y]
36+
step_pin : PC4
37+
dir_pin : !PA7
38+
enable_pin : !PC3
39+
microsteps : 16
40+
full_steps_per_rotation:200
41+
rotation_distance :32
42+
position_endstop : -8
43+
position_min : -8
44+
position_max : 230
45+
homing_speed : 30
46+
homing_retract_dist:10
47+
second_homing_speed:15
48+
endstop_pin : ^!PC5
49+
50+
[stepper_z]
51+
step_pin : PC9
52+
dir_pin : !PC6
53+
enable_pin : !PC3
54+
microsteps : 16
55+
rotation_distance :8
56+
full_steps_per_rotation:200
57+
endstop_pin : probe:z_virtual_endstop
58+
position_min :-12
59+
position_max : 252
60+
homing_speed: 8
61+
homing_retract_dist:8
62+
second_homing_speed: 4
63+
64+
[extruder]
65+
max_extrude_only_distance : 100.0
66+
step_pin : PC14
67+
dir_pin : PC15
68+
enable_pin : !PC3
69+
microsteps : 16
70+
full_steps_per_rotation:200
71+
rotation_distance :6.848
72+
nozzle_diameter : 0.400
73+
filament_diameter : 1.750
74+
max_extrude_cross_section:50
75+
heater_pin : PA1
76+
sensor_type : NTC 100K MGB18-104F39050L32
77+
sensor_pin : PC1
78+
control : pid
79+
pid_Kp : 12.206120
80+
pid_Ki : 0.517208
81+
pid_Kd : 72.016108
82+
min_temp : -200
83+
min_safe_temp : 185
84+
min_extrude_temp : 170
85+
max_safe_temp : 260
86+
max_temp : 275
87+
pressure_advance: 0.02
88+
89+
[heater_bed]
90+
heater_pin : PA0
91+
sensor_type : NTC 100K MGB18-104F39050L32
92+
sensor_pin : PC0
93+
control : pid
94+
pid_Kp : 54.027
95+
pid_Ki : 0.770
96+
pid_Kd : 248.182
97+
min_temp : -200
98+
min_safe_temp : 45
99+
max_safe_temp : 110
100+
max_temp : 120
101+
102+
[tmc2209 stepper_x]
103+
uart_pin : PA3
104+
uart_address : 3
105+
run_current : 1.4
106+
hold_current:0.7
107+
sense_resistor: 0.0750
108+
stealthchop_threshold :0
109+
interpolate : True
110+
111+
[tmc2209 stepper_y]
112+
uart_pin : PA3
113+
uart_address : 1
114+
run_current : 1.5
115+
hold_current:0.8
116+
sense_resistor: 0.075
117+
stealthchop_threshold :0
118+
interpolate : True
119+
120+
[tmc2209 stepper_z]
121+
uart_pin : PA3
122+
uart_address : 2
123+
run_current : 1.2
124+
hold_current:0.7
125+
sense_resistor: 0.0750
126+
stealthchop_threshold : 99999
127+
interpolate : True
128+
129+
[tmc2209 extruder]
130+
uart_pin : PA3
131+
uart_address : 0
132+
run_current : 0.8
133+
hold_current:0.4
134+
sense_resistor: 0.0750
135+
stealthchop_threshold : 99999
136+
interpolate : True
137+
138+
[probe]
139+
pin : PB8
140+
x_offset:24.0
141+
y_offset:13.35
142+
speed : 4.0
143+
final_speed : 4.0
144+
lift_speed : 8.0
145+
samples: 2
146+
sample_retract_dist: 15
147+
samples_result: weighted
148+
samples_tolerance: 0.1
149+
samples_tolerance_retries:2
150+
151+
[bed_mesh]
152+
speed: 60
153+
horizontal_move_z:15
154+
mesh_min: 19,19
155+
mesh_max: 205,210
156+
probe_count: 5,5
157+
mesh_pps: 3,3
158+
algorithm: lagrange
159+
160+
[safe_z_home]
161+
home_xy_position: 40,207
162+
speed: 150
163+
z_hop: 5
164+
z_hop_speed: 8.0
165+
166+
[verify_heater extruder]
167+
max_error: 120
168+
check_gain_time:30
169+
hysteresis: 5
170+
heating_gain:1
171+
172+
[verify_heater heater_bed]
173+
max_error: 120
174+
check_gain_time:300
175+
hysteresis: 5
176+
heating_gain:1
177+
178+
[controller_fan controller_fan]
179+
pin : PB10
180+
fan_speed : 1
181+
182+
[heater_fan extruder_fan]
183+
pin : PB2
184+
185+
[custom_temperture_fan]
186+
187+
[fan]
188+
pin : PB1
189+
190+
[output_pin power_pin]
191+
pin:PB4
192+
value:1
193+
shutdown_value:0
194+
195+
[pid_calibrate]
196+
homing_first: 1
197+
move_xy_position: 50,50
198+
move_z_up: 5
199+
fan_speed : 1
200+
201+
[lis2dw12]
202+
spi_speed: 5000000
203+
cs_pin: PB12
204+
spi_software_sclk_pin:PB13
205+
spi_software_mosi_pin:PB15
206+
spi_software_miso_pin:PB14
207+
rate:400
208+
axes_map: z,x,y
209+
210+
[lis2dw12 bed]
211+
spi_speed: 5000000
212+
cs_pin: PD2
213+
spi_software_sclk_pin:PC12
214+
spi_software_mosi_pin:PC10
215+
spi_software_miso_pin:PC11
216+
rate:400
217+
axes_map: x,y,z
218+
219+
[resonance_tester]
220+
accel_chip_x: lis2dw12
221+
accel_chip_y: lis2dw12 bed
222+
probe_points:110, 110, 20
223+
min_freq : 1
224+
max_freq : 140
225+
accel_per_hz : 150
226+
test_freq_start: 70
227+
test_freq_end: 80
228+
229+
[pause_resume]
230+
pause_position: 200,200
231+
z_up: 10
232+
233+
[filament_switch_sensor filament_sensor]
234+
pause_on_runout: False
235+
switch_pin: ^!PC13
236+
[buttons]
237+
238+
[leviQ2]
239+
base_button_position: 60,240
240+
wiping_position: 20.0,-5.0
241+
button_push_down_count: 2
242+
platform_offset: 25
243+
bed_temp: 60
244+
extru_temp: 210
245+
extru_end_temp: 140
246+
to_zero_speed: 100
247+
extru_out: 50
248+
extru_out_speed: 3
249+
extru_in: 5
250+
extru_in_speed: 10
251+
button_push_down: 5
252+
calibration: 0
253+
z_up: 15
254+
z_offset_factor: 0.13
255+
leviQ2_pin: PA8
256+
257+
[ota]
258+
fw_max_size: 40960
259+
fw_sector_size: 8192
260+
fw_ota_sector_offset: 22
261+
262+
[gcode_arcs]
263+
resolution:1.0
264+
265+
[input_shaper]
266+
shaper_freq_x: 72.2
267+
shaper_freq_y: 58.0
268+
shaper_type_x: mzv
269+
shaper_type_y: 2hump_ei
270+
271+
272+
273+
[display_status]
274+
275+
[gcode_macro CANCEL_PRINT]
276+
rename_existing: CANCEL_PRINT_BASE
277+
gcode:
278+
CANCEL_PRINT_BASE
279+
280+
281+
#*# <---------------------- SAVE_CONFIG ---------------------->
282+
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
283+
#*#
284+
285+
#*# [leviQ2 default]
286+
#*# button_position = 63.200000,241.100000
287+
#*# calibration = 0.100
288+
289+

0 commit comments

Comments
 (0)