Connecting BTT SKR E3 V3 mini running Klipper with TFT35-E3 V3.0

Hi, im fairly new to making my own printer and with a friend’s advice I bought the card SKR E3 V3 mini, i was happy with the results i was getting and wanted to upgrade to klipper, but the screen i bought with the board was working with Marlin only. Ive searched up many of the forums and repo’s to find a solution to my problem.

Since i am not really in the community of customizing hardware of 3d printers I couldnt figure out how to get this working, i found a config on a github repo like this:

[display]
lcd_type: emulated_st7920
spi_software_miso_pin: EXP2_1
spi_software_mosi_pin: EXP1_3
spi_software_sclk_pin: EXP1_5
en_pin: EXP1_4
encoder_pins: ^EXP2_3, ^EXP2_5
click_pin: ^!EXP1_2

ive tried using the same display config but it gave me an error, tried different ones like

[display]
lcd_type: st7920
cs_pin: EXP1_7
sclk_pin: EXP1_6
sid_pin: EXP1_8
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2

[output_pin beeper]
pin: EXP1_1

or the one in the original BTT github page, i am very lost here could anyone help me?

Welcome to V1 @berksk Its been a long time since I have tried to use a screen like that on klipper. I use Klipper Screen on all of mine now (Much better IMO).

Did some quick checking around and I looks like your config is correct assuming you are using the right pins and connectors. Are you using marlin mode or touchscreen mode on the screen? I know that type will only work with Klipper in marlin mode (hold the button on the screen for about 3 seconds and it will pop up for you to select marlin or tft mode, click on marlin)

Thanks Jonathan, I do aggree a native klipper screen would be 100x better than a TFT one, in the future I definitely will be moving to that, just for now though I wanna be able to use this screen for now.

Ive tried using the marlin mode but it gives me a black screen with a text on top saying “Marlin Mode”, i assume this means my connection isnt established. Just to clarift my connections though, Im plugging the 5 pin jumper connector to the RS232 slot on the screen and TFT slot on the board; and plugging the 10 pin connector to the EXP1 slot on the screen and the only EXP slot on the board.

When i try to use te Touchscreen Mode with this configuration the screen says “No printer attached!”, in marlin mode i get a black screen with a text on top saying “Marlin Mode”. I assume this means that my screen doesnt see the board.

Also just checked moonraker and it seem like i can use the “reset” button on my screen and it does reset my system but also completely shuts down the mcu, i have to do a firmware restart after i do that. Just wanted to point out if it indicates anything.

Yeah you wont get anything in TFT mode for sure. But you should get something in Marlin mode. Do you have the 2 gray cables hooked up? well that board may only use one, but still make sure it is hooked up and to the correct spot on the screen. Also check your pinout and make sure that is correct as well.

You might try adding this to your config…

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PB5,  EXP1_3=PA9,   EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
    EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9,  EXP1_8=PD6, EXP1_10=<5V>

That is from the example config found here

I do have 2 gray cables but my board only has one slot for it, and yeah im sure it is plugged in right but i dont get anything on marlin mode sadly, i figured it might be because of my config.

Heres my full config if you could help me:

[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999

[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
stealthchop_threshold: 999999

[stepper_z]
step_pin: PB0
dir_pin: PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2
position_endstop: 0.0
position_max: 250

[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999

[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650

[extruder]
step_pin: PB3
dir_pin: !PB4
enable_pin: !PD1
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: -200
max_temp: 250

[heater_bed]
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: -200
max_temp: 130

[heater_fan heatbreak_cooling_fan]
pin: PC7

[heater_fan controller_fan]
pin: PB15

[fan]
pin: PC6

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4F0013000E50415833323520-if00

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PB5,  EXP1_3=PA9,   EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
    EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9,  EXP1_8=PD6, EXP1_10=<5V>

# See the sample-lcd.cfg file for definitions of common LCD displays.

[display]
lcd_type: st7920
cs_pin: EXP1_7
sclk_pin: EXP1_6
sid_pin: EXP1_8
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2

[output_pin beeper]
pin: EXP1_1

Dont worry about the weird values i just used a default config for testing.

1 Like

I found this video that might help, different screen but same concept.

my only concern there is if the pins on the screen you have are different. But I will see what I can find for that. Everything I see says the screen you have should act just like that one when its all working.

Have you tried updating the firmware on the screen its self? I will see if I can find a new one for it.

Looks like there is a way to get it to work in touch screen mode as well…

Now I have not tried this, but a few comments on redit say it works good

Ive updated the firmware before anything else, it was actually on the same version as i bought it but either way wanted to make sure. Seems like the pins do change on the screen to the board which i will check the datasheet for it tomorrow and see if its mixed up.

1 Like

Well this seems really interesting because this article directly connects to raspberry pi, will definitely check that out too!

I bet this is where you will find the answer.

Seemed interesting but I know nothing about it, so proceed with caution lol