Ultimaker Original config - need help

Hello, I am trying to make the config file for an Ultimaker with the 1.5.7 board. I have found this on Github hey guys i have ultimaker 1.5.7 board, can i use this klipper firmware? · Issue #722 · KevinOConnor/klipper · GitHub , but it is from 2018 and there was no outcome reported.

So if I understand correctly, I take the file “example-cartesian.cfg”

and replace the pins with the ones found here:

prefixed with “ar”.

Is this generally correct? Anything else I should pay attention to?

Ok, so this is what I got so far. All axes and endstops are ok. Extruder moves ok. Fan comes on. However, the extruder temp is off by about 40 to 60 deg C (reading too low). I tried to do a [thermistor my_thermistor] block (as per these instructions), but then I receive this error:
Recv: // Internal error during connect: math domain error

This is the file so far with the my_thermistor is commented out and set to AD597 (which I can read on the chip) . Sorry, it is messy as the info from Marlin and some of my own comments are still in there … Again, any help would be appreciated. :blush:

# This file contains common pin mappings for the Ultimaker Original
# v1.5.7 PCB. To use this config, the firmware should be compiled
# for the AVR atmega2560.

# See docs/Config_Reference.md for a description of parameters and
# config/sample-aliases.cfg for a descritption of Arduino aliases.

[stepper_x]
step_pin: PA3
dir_pin: !PA1
enable_pin: !PA5
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PA0
position_endstop: 0
position_max: 200


#define X_STEP_PIN         25	>	ar25=PA3
#define X_DIR_PIN          23	>	ar23=PA1
#define X_ENABLE_PIN       27	>	ar27=PA5
#define X_MIN_PIN          22	>	ar22=PA0
#define X_MAX_PIN          24	>	given in mm


[stepper_y]
step_pin: PC6
dir_pin: PC4
enable_pin: !PA7
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PA4
position_endstop: 0
position_max: 200


#define Y_STEP_PIN         31	>	ar31=PC6
#define Y_DIR_PIN          33	>	ar33=PC4
#define Y_ENABLE_PIN       29	>	ar29=PA7
#define Y_MIN_PIN          26	>	ar26=PA4
#define Y_MAX_PIN          28	>	given in mm

[stepper_z]
step_pin: PC0
dir_pin: !PG2
enable_pin: !PC2
microsteps: 8
rotation_distance: 8
endstop_pin: ^!PC7
position_endstop: 0.5
position_max: 210


#define Z_STEP_PIN         37	>	ar37=PC0
#define Z_DIR_PIN          39	>	ar39=PG2
#define Z_ENABLE_PIN       35	>	ar35=PC2
#define Z_MIN_PIN          30	>	ar30=PC7
#define Z_MAX_PIN          32	>	given in mm

#[thermistor my_thermistor]
#temperature1: 139
#was set to 180
#resistance1: 2649.026
#temperature2: 167
#was set to 220
#resistance2: 3676.481
#temperature3: 197.5
#was set to 260
#resistance3: 5072.561
 

[extruder]
step_pin: PL6
dir_pin: PL4
enable_pin: !PG0
microsteps: 16
rotation_distance: 33.500
gear_ratio: 10:1
nozzle_diameter: 0.400
filament_diameter: 2.850
heater_pin: PE4
sensor_type: AD597
#sensor_type: my_thermistor
sensor_pin: PK0
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
min_temp: 0
max_temp: 270

#define E0_STEP_PIN        43	>	ar43=PL6
#define E0_DIR_PIN         45	>	ar45=PL4
#define E0_ENABLE_PIN      41	>	ar41=PG0
#define TEMP_0_PIN          8   // Analog Input		>	analog8=PK0
#define HEATER_0_PIN        2	>	ar2=PE4

#define E1_STEP_PIN        49
#define E1_DIR_PIN         47
#define E1_ENABLE_PIN      48
#define TEMP_1_PIN          9   // Analog Input
#define HEATER_1_PIN        3


#[heater_bed]
#heater_pin: PG5
#sensor_type: NTC 100K beta 3950
#sensor_pin: PK2
#control: watermark
#min_temp: 0
#max_temp: 110

#define HEATER_BED_PIN      4	>	ar4=PG5
#define TEMP_BED_PIN       10   // Analog Input		>	analog10=PK2


[mcu]
serial: /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_95238343234351600270-if00
#https://github.com/KevinOConnor/klipper/blob/master/docs/FAQ.md#wheres-my-serial-port
restart_method: command

[fan]
pin: PH4

#define FAN_PIN           7	>	ar7=PH4

#[output_pin case_light]
#pin: PH5
#static_value: 1.0
#define CASE_LIGHT_PIN      8	>	ar8=PH5

# Misc. Functions

#define SDSS               53
#define LED_PIN            13
#define PS_ON_PIN          12
#define SUICIDE_PIN        54   // PIN that has to be turned on right after start, to keep power flowing.
#define BEEPER_PIN 18

#// M3/M4/M5 - Spindle/Laser Control

#define SPINDLE_LASER_PWM_PIN     9   // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 10   // Pin should have a pullup!
#define SPINDLE_DIR_PIN          11   // use the EXP3 PWM header


  #if ENABLED(NEWPANEL)

    #define LCD_PINS_RS    20
    #define LCD_PINS_ENABLE 17
    #define LCD_PINS_D4    16
    #define LCD_PINS_D5    21
    #define LCD_PINS_D6     5
    #define LCD_PINS_D7     6

    #buttons are directly attached
    #define BTN_EN1 40
    #define BTN_EN2 42
    #define BTN_ENC 19

    #define SD_DETECT_PIN 38

  #else // !NEWPANEL - Old style panel with shift register

    #buttons are attached to a shift register
    #define SHIFT_CLK 38
    #define SHIFT_LD 42
    #define SHIFT_OUT 40
    #define SHIFT_EN 17

    #define LCD_PINS_RS 16
    #define LCD_PINS_ENABLE 5
    #define LCD_PINS_D4 6
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 20
    #define LCD_PINS_D7 19

    #define SD_DETECT_PIN -1

  #endif // !NEWPANEL

#endif // ULTRA_LCD


#define SERVO0_PIN         11




# Z Probe (when not Z_MIN_PIN)

#ifndef Z_MIN_PROBE_PIN
  #define Z_MIN_PROBE_PIN  32
#endif


[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 3000
max_z_velocity: 25
max_z_accel: 30

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 26.029
#*# pid_ki = 1.045
#*# pid_kd = 162.032

Also tried a custom adc sensor, but readings are way too high using this:

#[adc_temperature my_sensor]
#temperature1: 120
#voltage1: 0.321359
#temperature2: 138
#voltage2: 0.360704
#temperature3: 155
#voltage3: 0.399804
#temperature4: 170
#voltage4: 0.438905
#temperature5: 186
#voltage5: 0.478372
#temperature6: 196
#voltage6: 0.518573

Заставил работать дисплей

[display]
lcd_type: hd44780
#   Set to "hd44780" for hd44780 displays.
rs_pin: PD1
e_pin: PH0
d4_pin: PH1
d5_pin: PD0
d6_pin: PE3
d7_pin: PH3
#   The pins connected to an hd44780 type lcd. These parameters must
#   be provided.
hd44780_protocol_init: True
#   Perform 8-bit/4-bit protocol initialization on an hd44780 display.
#   This is necessary on real hd44780 devices. However, one may need
#   to disable this on some "clone" devices. The default is True.
line_length: 20
#   Set the number of characters per line for an hd44780 type lcd.
#   Possible values are 20 (default) and 16. The number of lines is
#   fixed to 4.

Отлично! Спасибо вам за это!

Я попробую это в следующий раз, когда у меня будет время поработать над этим.
(DeepL translation)

Great! Thank you for this!

I will try it the next time I have time to work on it.

У меня все еще есть проблемы. Не могли бы вы опубликовать свой файл конфигурации полностью?

I am still having problems. Could you please post your whole config file?

Это работает. Но мне все равно было бы интересно посмотреть на ваш конфигурационный файл :slight_smile:

It works. But I still would be interested to see your config file :slight_smile:

# This file contains common pin mappings for the Ultimaker Original
# v1.5.7 PCB. To use this config, the firmware should be compiled
# for the AVR atmega2560.

# See docs/Config_Reference.md for a description of parameters and
# config/sample-aliases.cfg for a descritption of Arduino aliases.

[stepper_x]
step_pin: PA3
dir_pin: !PA1
enable_pin: !PA5
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PA0
position_endstop: 0
position_max: 200
homing_speed: 30
homing_retract_dist: 5
second_homing_speed: 10

#define X_STEP_PIN         25	>	ar25=PA3
#define X_DIR_PIN          23	>	ar23=PA1
#define X_ENABLE_PIN       27	>	ar27=PA5
#define X_MIN_PIN          22	>	ar22=PA0
#define X_MAX_PIN          24	>	given in mm


[stepper_y]
step_pin: PC6
dir_pin: PC4
enable_pin: !PA7
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PA4
position_endstop: 0
position_max: 195
homing_speed: 30
homing_retract_dist: 5
second_homing_speed: 10

#define Y_STEP_PIN         31	>	ar31=PC6
#define Y_DIR_PIN          33	>	ar33=PC4
#define Y_ENABLE_PIN       29	>	ar29=PA7
#define Y_MIN_PIN          26	>	ar26=PA4
#define Y_MAX_PIN          28	>	given in mm

[stepper_z]
step_pin: PC0
dir_pin: !PG2
enable_pin: !PC2
microsteps: 16
rotation_distance: 4
endstop_pin: ^!PC7
position_endstop: 0.2
position_max: 130
homing_speed: 5
homing_retract_dist: 5
second_homing_speed: 2

#microsteps: 8
#rotation_distance: 8

#define Z_STEP_PIN         37	>	ar37=PC0
#define Z_DIR_PIN          39	>	ar39=PG2
#define Z_ENABLE_PIN       35	>	ar35=PC2
#define Z_MIN_PIN          30	>	ar30=PC7
#define Z_MAX_PIN          32	>	given in mm

#[thermistor my_thermistor]
#temperature1: 139
#was set to 180
#resistance1: 2649.026
#temperature2: 167
#was set to 220
#resistance2: 3676.481
#temperature3: 197.5
#was set to 260
#resistance3: 5072.561
 

[extruder]
step_pin: PL6 #1
dir_pin: !PL4  #1
enable_pin: !PG0 #1
microsteps: 16 #1
rotation_distance: 46.6 #(подсчет идет вверх, чем больше тем короче)стар.пар диаметр колеса толкающего филамент * 3.14 = 37,68
gear_ratio: 3:1 # 
nozzle_diameter: 0.600
filament_diameter: 1.750
instantaneous_corner_velocity: 0.8 # рывок экструдера можно поднять при желании
max_extrude_only_distance: 500
max_extrude_only_velocity: 50
max_extrude_only_accel: 1000
pressure_advance: 0.4  #как LA нужно в прошивке писать (всегда включено)
pressure_advance_smooth_time: 0.2 #как LA нужно в прошивке писать (всегда включено)
heater_pin: PE4
max_power: 0.4
smooth_time: 2
sensor_type: AD595
#sensor_type: my_thermistor
sensor_pin: PK0
control: pid
pid_Kp: 8.236
pid_Ki: 0.426
pid_Kd: 39.842
min_temp: 0
max_temp: 330
min_extrude_temp: 0

#define E0_STEP_PIN        43	>	ar43=PL6
#define E0_DIR_PIN         45	>	ar45=PL4
#define E0_ENABLE_PIN      41	>	ar41=PG0
#define TEMP_0_PIN          8   // Analog Input		>	analog8=PK0
#define HEATER_0_PIN        2	>	ar2=PE4

#define E1_STEP_PIN        49
#define E1_DIR_PIN         47
#define E1_ENABLE_PIN      48
#define TEMP_1_PIN          9   // Analog Input
#define HEATER_1_PIN        3


[heater_bed]
heater_pin: PG5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK2
control: watermark
min_temp: 0
max_temp: 100


#define HEATER_BED_PIN      4	>	ar4=PG5
#define TEMP_BED_PIN       10   // Analog Input		>	analog10=PK2

#[safe_z_home]
#home_xy_position: 100,100
#z_hop: 5

[pause_resume]
recover_velocity: 50

[firmware_retraction]
retract_length: 2.5
retract_speed: 30
unretract_extra_length: 0
unretract_speed: 30

[input_shaper]
#shaper_freq_x: 0
#shaper_freq_y: 0
#shaper_tupe_x: mzv
#shaper_tupe_y: mzv

[skew_correction]  # компенсация размеров (подробнее в dock / skew corr

#[verify_heater extruder]
#hysteresis: 5
#max_error: 120
#heating_gain: 2
#check_gain_time: 30

[mcu]
serial: /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55332333230351712162-if00

#https://github.com/KevinOConnor/klipper/blob/master/docs/FAQ.md#wheres-my-serial-port
restart_method: arduino

[fan]
pin: PH4
max_power: 1
shutdown_speed: 0.0
kick_start_time: 0.1
off_below: 0.1
#define FAN_PIN           7	>	ar7=PH4

#[gcode_macro M900]
#default_parameter_K:0
#gcode:
# SET_PRESSURE_ADVANCE ADVANCE={K}

#[gcode_macro M9011]
#default_parameter_K:0
#gcode:
#SET_PRESSURE_ADVANCE SMOOTH_TIME={K}

#[output_pin case_light]
#pin: PH5
#static_value: 1.0
#define CASE_LIGHT_PIN      8	>	ar8=PH5

# Misc. Functions

#define SDSS               53
#define LED_PIN            13
#define PS_ON_PIN          12
#define SUICIDE_PIN        54   // PIN that has to be turned on right after start, to keep power flowing.
#define BEEPER_PIN 18

[display]
lcd_type: hd44780
rs_pin: PD1
e_pin: PH0
d4_pin: PH1
d5_pin: PD0
d6_pin: PE3
d7_pin: PH3
hd44780_protocol_init: True
line_length: 20
encoder_pins: ^PG1, ^PL7
click_pin: ^!PD2

  ##// buttons are directly attached
    #define BTN_EN1 40    ar40=PG1
    #define BTN_EN2 42    ar42=PL7
    #define BTN_ENC 19    ar19=PD2

    #define SD_DETECT_PIN 38   ar38=PD7

# Z Probe (when not Z_MIN_PIN)

#ifndef Z_MIN_PROBE_PIN
  #define Z_MIN_PROBE_PIN  32
#endif


[printer]
kinematics: cartesian
max_velocity: 150
max_accel: 4000
max_z_velocity: 10
max_z_accel: 200
max_accel_to_decel: 2000 # аналог ускорений от 50% от макс ускорения и более
square_corner_velocity: 10   # рывок настраивается по при калибровке

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 26.029
#*# pid_ki = 1.045
#*# pid_kd = 162.032

Конфигурация на данный момент:
Ultimaker, BMG 1/3, E3D Volcano, 0.6 nozzle.

Откалиброван : PRESSURE_ADVANCE и PRESSURE_ADVANCE SMOOTH_TIME
Хорошего качества поверхности удается добиться вплоть до:
accel:4000
square_corner_velocity:10
Speed perimeter: 80
layer : 0.4

Температуру так и не удалось решить -40 градусов примерно.
Просто ставлю +40 к этому виду пластика
PETG = должно быть 220 , я ставлю 260

Я доволен работает все хорошо.

Я рад, что это работает для вас!

Смещение температуры - моя главная проблема. Думаю, мне придется сделать то же самое. Я попробовал датчик, подключенный к RaspberryPi, но у главной платы Ultimaker, похоже, есть функция безопасности. Нет входа датчика на главную плату → нет нагрева.

I am glad it works for you!

The temperature offset is my main problem. I think I will have to do the same. I tried a sensor that is connected to the RaspberryPi, but the Ultimaker main board seems to have a safety function. No sensor input to the main board → no heating.

Hi, did you upgraded it from marlin to klipper and got it working in the end? I am considering doing the same, I currently use octoprint + marlin and I was planing on going to klipper + mainsail

I have the UMO with unofficial heated bed, 1.5.7 board, and a raspberry pi 3b+